国产凹凸在线-国产拗女一区二区三区-国产白白视-国产白领-国产白拍-国产白丝jk被疯狂输-国产白丝喷-国产白丝在线

金喜正规买球

甘特圖控件DHTMLX Gantt 教程:dhtmlxGantt與ASP.NET Core(上)

翻譯|使用教程|編輯:顏馨|2023-04-18 13:49:00.143|閱讀 220 次

概述:本章講述dhtmlxGantt在ASP.NET Core上的使用方法,歡迎查閱!

# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

相關鏈接:

DHTMLX甘特圖是用于跨瀏覽器和超平臺應用程序的功能齊備的甘特圖。可滿足項目管理應用程序的大部分需求,具備完善的甘特圖表庫,功能強大,價格方便,提供豐厚而靈活的JavaScript API接口,與各種服務端技術(PHP,ASP.NET,Java等)簡單集合,滿足多種定制開發需求。

DHTMLX JavaScript UI 庫所開發的 JavaScript 組合易于使用和功能豐富,非常適合結合任何領導地位和任何復合性的解決方案,能力足足夠省創造和維保業務應用程序的時間,提供高生產力。

DHTMLX 甘特圖最新下載


本教程將逐步指導您如何使用 ASP.NET Core 在服務端創建甘特圖。

第一步 創建一個項目

啟動Visual Studio 2022并創建一個新的項目。選擇:創建一個新的項目。

使用 ASP.NET Core 創建項目的 dhtmlxGantt

接下來來選擇“ASP.NET Core Web App”并命名為DHX.Gantt。

使用 ASP.NET Core 創建項目的 dhtmlxGantt

dhtmlxGantt 使用 ASP.NET Core 配置一個項目項目

dhtmlxGantt 使用 ASP.NET Core 配置一個項目項目

自此,你已經創建了一個項目,可以繼續為甘特圖添加標記和腳本。

第二步 添加甘特圖標記和JS

進入wwwroot并創建一個index.html文件。

dhtmlx甘特與ASP.NET核心2創建一個項目

dhtmlx甘特與ASP.NET核心2創建一個項目

在新創建的文件中,為甘特圖制作一個簡單的頁面。

請注意,甘特圖文件是在此演示中從 CDN 添加的。如果您有該組件的專業版本, 您需要手動將甘特圖文件添加到項目中。

<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> <link  rel="stylesheet" type="text/css" /> <script src="http://cdn.dhtmlx.com/gantt/edge/dhtmlxgantt.js"></script> <script> document.addEventListener("DOMContentLoaded", function(event) { // specifying the date format gantt.config.date_format = "%Y-%m-%d %H:%i"; // initializing gantt gantt.init("gantt_here");  // initiating data loading gantt.load("/api/data"); // initializing dataProcessor var dp = new gantt.dataProcessor("/api/"); // and attaching it to gantt dp.init(gantt); // setting the REST mode for dataProcessor dp.setTransactionMode("REST"); }); </script> </head> <body> <div id="gantt_here" style="width: 100%; height: 100vh;"></div> </body> </html>

當頁面被加載時,除了初始化甘特圖的數據加載外,還立即調用dataProcessor,所以用戶對甘特圖的所有修改都將被保存到后臺。后臺還沒有實現,所以以后會更有意義。
接下來進入Program.cs,告訴應用程序使用index.html頁面。為了做到這一點,你需要將應用程序配置為從wwwroot文件夾中提供靜態文件。為此,你需要添加app.UseDefaultFiles()方法。你可以在這里找到更多細節。

var builder = WebApplication.CreateBuilder(args);  // Add services to the container. builder.Services.AddRazorPages();  var app = builder.Build();  // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. // You may want to change this for production scenarios, // see //aka.ms/aspnetcore-hsts. app.UseHsts(); }  app.UseHttpsRedirection();  app.UseDefaultFiles();  app.UseStaticFiles();  app.UseRouting();  app.UseAuthorization();  app.MapRazorPages();  app.Run();

該方法允許提供默認文件。它將搜索wwwroot文件夾中的以下文件:app.UseDefaultFiles()

  • index.html
  • index.htm
  • default.html
  • default.htm

 因此,你可以選擇其中的任何一個,而在本教程中使用的是 "index.html"。只是一個URL-rewriter,并不實際提供文件。為此,你還需要添加文件。UseDefaultFiles()UseStaticFiles()

一旦你完成了它,當你運行應用程序時,一個空的甘特圖就會出現在頁面上。注意,右上角的 "無效數據 "標簽顯示,因為因為仍然沒有合適的后臺來提供數據,所以被調用。當控制器實現后,gantt將能夠顯示任務和鏈接。gantt.load()

dhtmlx甘特與ASP.NET核心2添加甘特圖

現在基本部分已經完成,是時候實現后端了。讓我們從實現模型類開始,之后再進行WebAPI控制器。

第三步 創建模型和數據庫

讓我們從數據模型開始。甘特的數據模型包括鏈接和任務,從.NET世界的角度來看,dhtmlxGantt對模型屬性使用非常規的名稱。有時客戶端的模型也包含一些客戶端或后端邏輯的屬性,但這些屬性不應該存儲在數據庫中。

為了處理這個問題,將使用數據傳輸對象(DTO)模式。兩種模型將被定義:

  • 領域模型類,它將被用于EF Core和應用程序內部
  • DTO類,將用于與Web API進行通信。

然后,這兩種模型之間的映射應該被實現。

模型
在項目文件夾中創建一個名為Models的新文件夾。這是實現模型類和 EF 上下文的位置。

任務模型
首先,為任務創建一個類。在Models文件夾中創建一個文件,命名為Task.cs。這可以通過調用Models文件夾的上下文菜單并選擇Add->Class來完成。

這個模型必須是這樣的:

namespace DHX.Gantt.Models { public class Task { public int Id { get; set; } public string? Text { get; set; } public DateTime StartDate { get; set; } public int Duration { get; set; } public decimal Progress { get; set; } public int? ParentId { get; set; } public string? Type { get; set; } } }

你可以查詢任務對象的所有屬性列表。

鏈接模型
再添加一個文件,為鏈接創建一個類:

namespace DHX.Gantt.Models { public class Link { public int Id { get; set; } public string? Type { get; set; } public int SourceTaskId { get; set; } public int TargetTaskId { get; set; } } }

模型已經準備好了,你可以開始配置數據庫連接。
為了配置數據庫連接,你需要采取下面列出的步驟:

安裝Entity Framework Core
Entity Framework Core將被用來管理應用程序與數據庫的通信。讓我們來安裝該框架:

  • 在項目樹中找到DHTMLX.Gantt的依賴項
  • 調用上下文菜單并選擇管理NuGet包
  • 打開瀏覽標簽并安裝Microsoft.EntityFrameworkCore.SqlServer, Microsoft.EntityFrameworkCore和Microsoft.EntityFrameworkCore.Design

或者使用軟件包管理器命令行:

PM> Install-Package Microsoft.EntityFrameworkCore.SqlServer PM> Install-Package Microsoft.EntityFrameworkCore PM> Install-Package Microsoft.EntityFrameworkCore.Design

實體框架核心將用來管理應用程序與數據庫的通信。

創建實體上下文
接下來你需要定義一個與數據庫的會話,并啟用加載和保存數據。為此,創建Context:

  • 在Models文件夾中添加GanttContext.cs文件
  • 在創建的文件中定義GanttContext類
using Microsoft.EntityFrameworkCore;  namespace DHX.Gantt.Models { public class GanttContext : DbContext { public GanttContext(DbContextOptions<GanttContext> options) : base(options) { } public DbSet<Task> Tasks { get; set; } = null; public DbSet<Link> Links { get; set; } = null;  } }

向數據庫添加第一批記錄
現在你可以向數據庫添加記錄了。讓我們創建數據庫初始化器,將任務填充到數據庫中。在Models文件夾中定義一個類,并將其稱為GanttSeeder。該類將有Seed()方法,將添加任務和鏈接到數據庫。

using Microsoft.EntityFrameworkCore;  namespace DHX.Gantt.Models { public static class GanttSeeder { public static void Seed(GanttContext context) { if (context.Tasks.Any()) { return; // DB has been seeded }  using (var transaction = context.Database.BeginTransaction()) { List<Task> tasks = new List<Task>() { new Task() { Id = 1, Text = "Project #2", StartDate = DateTime.Today.AddDays(-3), Duration = 18, Progress = 0.4m, ParentId = null }, new Task() { Id = 2, Text = "Task #1", StartDate = DateTime.Today.AddDays(-2), Duration = 8, Progress = 0.6m, ParentId = 1 }, new Task() { Id = 3, Text = "Task #2", StartDate = DateTime.Today.AddDays(-1), Duration = 8, Progress = 0.6m, ParentId = 1 } };  tasks.ForEach(s => context.Tasks.Add(s)); context.Database.ExecuteSqlRaw("SET IDENTITY_INSERT Tasks ON;"); context.SaveChanges();  context.Database.ExecuteSqlRaw("SET IDENTITY_INSERT Tasks OFF;"); List<Link> links = new List<Link>() { new Link() {Id = 1, SourceTaskId = 1, TargetTaskId = 2, Type = "1"}, new Link() {Id = 2, SourceTaskId = 2, TargetTaskId = 3, Type = "0"} };  links.ForEach(s => context.Links.Add(s)); context.Database.ExecuteSqlRaw("SET IDENTITY_INSERT Links ON;"); context.SaveChanges(); context.Database.ExecuteSqlRaw("SET IDENTITY_INSERT Links OFF;"); transaction.Commit(); } } } }

注冊數據庫
現在你應該在Program.cs中注冊數據庫。但首先你需要一個連接字符串。它將被存儲在應用程序設置的JSON文件中。創建appsettings.json文件(如果你已經有了,則打開它),并為數據庫添加一個連接字符串:

{ "ConnectionStrings": { "DefaultConnection": "Server=(localdb)\\mssqllocaldb; Database=GanttDatabase;Trusted_Connection=True;" } }

數據庫上下文將通過依賴關系注入進行注冊。
將以下命名空間添加到 Program.cs:

using Microsoft.EntityFrameworkCore; using DHX.Gantt.Models;

該聲明將看起來像這樣:

var connectionString = builder.Configuration.GetConnectionString("DefaultConnection"); builder.Services.AddDbContext<GanttContext>( options => options.UseSqlServer(connectionString));

要啟用控制器,需要調用services.AddControllers()方法:

builder.Services.AddControllers();

然后我們調用app.MapControllers()來注冊我們的控制器路線:

app.MapControllers();

下面是Program.cs的完整代碼:

using Microsoft.EntityFrameworkCore; using DHX.Gantt.Models;  var builder = WebApplication.CreateBuilder(args);  // Add services to the container. builder.Services.AddRazorPages();  var connectionString = builder.Configuration.GetConnectionString("DefaultConnection"); builder.Services.AddDbContext<GanttContext>( options => options.UseSqlServer(connectionString));  builder.Services.AddControllers();  var app = builder.Build();  // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. // You may want to change this for production scenarios, // see //aka.ms/aspnetcore-hsts. app.UseHsts(); }  app.UseHttpsRedirection();  app.UseDefaultFiles();  app.UseStaticFiles();  app.UseRouting();  app.UseAuthorization();  app.MapRazorPages();  app.MapControllers();  app.Run(); 

最后,你需要在應用啟動時初始化和播種數據庫。通常情況下,你會希望使用遷移來完成這個任務,但為了簡單起見,這里沒有使用遷移。

讓我們首先創建一個初始化的類。在Models文件夾中創建GanttInitializerExtension.cs文件:

namespace DHX.Gantt.Models { public static class GanttInitializerExtension { public static IHost InitializeDatabase(this IHost webHost) { var serviceScopeFactory = (IServiceScopeFactory?)webHost.Services.GetService(typeof(IServiceScopeFactory));  using (var scope = serviceScopeFactory!.CreateScope()) { var services = scope.ServiceProvider; var dbContext = services.GetRequiredService<GanttContext>(); dbContext.Database.EnsureDeleted(); dbContext.Database.EnsureCreated(); GanttSeeder.Seed(dbContext); }  return webHost; } } }

接下來調用InitializeDatabase():

app.InitializeDatabase();

正如上面提到的,本教程中沒有使用遷移。而是使用簡單的EnsureCreated和種子。

當前部分已經完成,讓我們回到甘特圖。

定義DTOs和映射
現在是定義將用于Web API的DTO類的時候了。讓我們從任務的DTO類開始。在Models文件夾中創建一個文件并定義WebApiTask.cs類:

namespace DHX.Gantt.Models { public class WebApiTask { public int id { get; set; } public string? text { get; set; } public string? start_date { get; set; } public int duration { get; set; } public decimal progress { get; set; } public int? parent { get; set; } public string? type { get; set; } public bool open { get { return true; } set { } }  public static explicit operator WebApiTask(Task task) { return new WebApiTask { id = task.Id, text = task.Text, start_date = task.StartDate.ToString("yyyy-MM-dd HH:mm"), duration = task.Duration, parent = task.ParentId, type = task.Type, progress = task.Progress }; }  public static explicit operator Task(WebApiTask task) { return new Task { Id = task.id, Text = task.text, StartDate = task.start_date != null ? DateTime.Parse(task.start_date, System.Globalization.CultureInfo.InvariantCulture) : new DateTime(), Duration = task.duration, ParentId = task.parent, Type = task.type, Progress = task.progress }; } } }

而這是定義在Models文件夾中名為WebApiLink.cs的文件中的Link的DTO類:

namespace DHX.Gantt.Models { public class WebApiLink { public int id { get; set; } public string? type { get; set; } public int source { get; set; } public int target { get; set; }  public static explicit operator WebApiLink(Link link) { return new WebApiLink { id = link.Id, type = link.Type, source = link.SourceTaskId, target = link.TargetTaskId }; }  public static explicit operator Link(WebApiLink link) { return new Link { Id = link.id, Type = link.type, SourceTaskId = link.source, TargetTaskId = link.target }; } } }

當你完成這一步驟時,你應該得到以下的文件夾結構:

甘特圖 ASP.NET Core 2 所有型號

現在你可以運行該應用程序,以檢查一切是否到位。如果你沒有看到一個運行時錯誤,那么一切都很好。

第四步 實現網絡API

現在是實際實現REST API的時候了。

添加控制器
創建控制器文件夾并創建三個空的API控制器:一個用于任務,另一個用于鏈接,還有一個用于整個數據集:

甘特圖 ASP.NET Core 2 添加控制器

任務控制器
讓我們為任務創建一個控制器。它將定義甘特任務的基本CRUD操作。

它是如何工作的:

在GET請求中,任務從數據庫加載,輸出是任務的數據傳輸對象;
在PUT/POST請求中,任務作為WebAPITask類來自客戶端。它們在dhtmlxGantt中以這種方式表示。因此,你應該把它們轉換為我們的EntityFramework數據模型的格式(任務類)。之后,就可以在DatabaseContext中保存更改。

using Microsoft.AspNetCore.Mvc; using DHX.Gantt.Models;  namespace DHX.Gantt.Controllers { [Produces("application/json")] [Route("api/task")] public class TaskController : Controller { private readonly GanttContext _context; public TaskController(GanttContext context) { _context = context; }  // GET api/task [HttpGet] public IEnumerable<WebApiTask> Get() { return _context.Tasks .ToList() .Select(t => (WebApiTask)t); }  // GET api/task/5 [HttpGet("{id}")] public Models.Task? Get(int id) { return _context .Tasks .Find(id); }  // POST api/task [HttpPost] public ObjectResult Post(WebApiTask apiTask) { var newTask = (Models.Task)apiTask;  _context.Tasks.Add(newTask); _context.SaveChanges();  return Ok(new { tid = newTask.Id, action = "inserted" }); }  // PUT api/task/5 [HttpPut("{id}")] public ObjectResult? Put(int id, WebApiTask apiTask) { var updatedTask = (Models.Task)apiTask; var dbTask = _context.Tasks.Find(id); if (dbTask == null) { return null; } dbTask.Text = updatedTask.Text; dbTask.StartDate = updatedTask.StartDate; dbTask.Duration = updatedTask.Duration; dbTask.ParentId = updatedTask.ParentId; dbTask.Progress = updatedTask.Progress; dbTask.Type = updatedTask.Type;  _context.SaveChanges();  return Ok(new { action = "updated" }); }  // DELETE api/task/5 [HttpDelete("{id}")] public ObjectResult DeleteTask(int id) { var task = _context.Tasks.Find(id); if (task != null) { _context.Tasks.Remove(task); _context.SaveChanges(); }  return Ok(new { action = "deleted" }); } } }

鏈接控制器
接下來你應該為鏈接創建一個控制器:

using Microsoft.EntityFrameworkCore; using Microsoft.AspNetCore.Mvc; using DHX.Gantt.Models;  namespace DHX.Gantt.Controllers { [Produces("application/json")] [Route("api/link")] public class LinkController : Controller { private readonly GanttContext _context; public LinkController(GanttContext context) { _context = context; }  // GET api/Link [HttpGet] public IEnumerable<WebApiLink> Get() { return _context.Links .ToList() .Select(t => (WebApiLink)t); }  // GET api/Link/5 [HttpGet("{id}")] public Link? Get(int id) { return _context .Links .Find(id); }  // POST api/Link [HttpPost] public ObjectResult Post(WebApiLink apiLink) { var newLink = (Link)apiLink;  _context.Links.Add(newLink); _context.SaveChanges();  return Ok(new { tid = newLink.Id, action = "inserted" }); }  // PUT api/Link/5 [HttpPut("{id}")] public ObjectResult Put(int id, WebApiLink apiLink) { var updatedLink = (Link)apiLink; updatedLink.Id = id; _context.Entry(updatedLink).State = EntityState.Modified;   _context.SaveChanges();  return Ok(new { action = "updated" }); }  // DELETE api/Link/5 [HttpDelete("{id}")] public ObjectResult DeleteLink(int id) { var Link = _context.Links.Find(id); if (Link != null) { _context.Links.Remove(Link); _context.SaveChanges(); }  return Ok(new { action = "deleted" }); } } }

數據控制器
最后,你需要為一個數據動作創建一個控制器:

using Microsoft.AspNetCore.Mvc; using DHX.Gantt.Models;  namespace DHX.Gantt.Controllers { [Produces("application/json")] [Route("api/data")] public class DataController : Controller { private readonly GanttContext _context; public DataController(GanttContext context) { _context = context; }  // GET api/data [HttpGet] public object Get() { return new { 數據 = _context.Tasks.ToList().Select(t => (WebApiTask)t), 鏈接 = _context.Links.ToList().Select(l => (WebApiLink)l)  }; }  } }

一切都準備好了。你可以運行該應用程序,看到成熟的甘特圖。

甘特圖 ASP.NET Core 甘特圖已準備就緒

你也可以在 GitHub 上查看完整的源代碼。

DHTMLX甘特圖享有超過十年的聲望,支持跨瀏覽器和跨平臺,性能比高,可滿足項目管理應用程序的所有需求,是最擅長的甘特圖表庫。


甘特圖控件交流群:764148812

歡迎加入群交流討論,獲得更多幫助請聯系


標簽:

本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn


為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
欧美日韩三区 | 国产精品香港三级国产电影 | 99精品国自产在线观看 | 欧美性生恔xxxxxdddd | 欧美午夜福利在 | 日韩a在线| 国产在线观看第50页 | 日本一区免费电影 | 日本国产网红亚洲 | 国产涩涩视频在线观看 | 日韩高清亚洲日韩精品一 | 精品视频一区二区三区四区戚 | 成人看片777c | 蜜臀98精| 在线日韩欧美一区二区三区 | 精品亚洲永久免费精品9 | 日本三级在线观看免费 | 亚洲成a人v影院 | 亚洲视频在线观看精品 | 成人精品第一区国产 | 国产玉足榨精视频在线观看 | 亚洲国产精品va在线播放 | 日韩国产一区二区网站在线看 | 午夜国产福利看片 | 精品乱码一区二区三区四区 | 亚洲精品区午夜亚洲精品区 | 精品影片在线观看的网站 | 亚洲中文字幕一二三区 | 污软件不收费软 | 精品熟女碰碰 | 国产99视频精品免视看7 | 国产普通话对白在线观看视频 | 免费人成年短视频在线观看网 | 亚洲视频福利 | 国产免费mv大全视频网站 | 午夜福利电影在线观看 | 国产日韩免| 91精品国产综 | 国产精品一区不卡在线观看 | 欧美日韩国产精品自在 | 国产日韩欧美另类在线 | 国产又爽又色又刺激视频含羞草 | 日日噜噜夜夜狠狠视频 | 日本午夜福利日韩 | 国产乱子伦精品免费高清 | 女人一区二区视频免费 | 亚洲国自| 亚洲欧美日韩另类一区二区三区 | 色午夜日本高清视频www | 污污网站免费 | 天美麻花 | 国产午夜成 | 国产老女人精品免费视频 | 精品国产日韩无影视 | 国产精品女人一区 | 宝贝腿开大点我添添公漫画 | 亚洲无线码一区国产欧美国日 | 精品三级影视在线免费观看 | 日韩v午夜视频在线观看 | 免费人成视频x8x8 | 91视频网址入口 | 日韩另类在线综合国产 | 综合精品网成人影院 | 欧美蜜桃在线一二三区 | 日韩欧美一区二区三区不卡视频 | 91偷拍精品一 | 69老司机午夜免费影院 | 免费99精品国产自在现线 | 七七影院 | 综合亚洲欧美日韩一区二区 | 美女视频免费观看18网站 | 99中文字幕精品国产 | aa视频网站 | 国产精品成人午夜欧美日韩 | 亚洲欧洲自拍图片 | 免费观看亚洲 | 精品国产福利一区二区在线 | 国产高清对白在线观看免费91 | 国产精品浪潮v一区二区 | 欧美激情在线播放 | 免费午夜美女在线视频播放 | 欧美乱子伦一区二区三区电影 | 国产精品一级国产精品片 | 亚洲清纯自偷自拍另类专区 | 国产一区二区三区在线影院 | 欧美日韩中文无限码 | 999国产| 门卫老头吮她 | 欧美乱妇高清免费96欧美乱妇高 | 国产精品v欧美精品v日韩精品 | 欧美日韩在线视频观看 | 91福利国产视频 | 欧美伦三级精品一区二区 | 美国特黄三级完整在线电 | 美女禁区a级全片免费观看 黑人巨大跨种族video | 91精品国产白丝jk在线拍 | 欧美日韩综合在线播放 | 国产在线 | 欧美日韩在线无吗一区二区三区 | 国产亚洲精品hd网站 | 一级a一片在线播放国产 | 国产成视频在线观看 | 欧美疯狂xxxxbbbb喷潮 | 亚洲国产一成久 | 色综合欧美 | 国内美女91福利在线观看 | 99偷拍视频精品一区二区 | 大片在线观看免费 | 精品国内一区二区三区免费 | 一个好妈妈3中字头强 | 国产日韩a视频在线播放视频 | 日本高清中文字幕在线观穿线视频 | 日韩制服 | 欧美精品亚洲精品日韩专 | 女人精aaa | 国产精品视频第二区第二页 | 国产又粗又黄又爽的大片 | 国产乱了真实视频 | 精品国产二区亚洲日本精品 | 92看片淫黄大片看国产片 | 精选亚洲一区二区三区 | 欧美日韩国产高清视频在线观看 | 国产在线精品洲综合网首页 | 真实的国产乱xxxx在线 | 91po国产在线高清福利 | 日本亚洲中文 | 日本熟女视频 | 国产真实乱系列视频在线观看 | 三级视频网站在线观看视频 | 极品尤物一区二区 | 日韩中文字幕在线 | 伦理片在线线手机版韩国免费6 | 国产第二区 | 天堂资源中文 | 国产一区二区三区四区五区加勒比 | 亚洲高清激情精品一区国产 | 日韩一品在线播放视频一品免费 | 日韩午夜在线一区二区三区 | 日韩欧美一二三 | 国产乱伦一区二区三区 | 日韩欧美| 亚洲国产精品第一区二区 | 午夜影视网站 | 私人影视| 免费精品国产自在在线app | 欧美性色欧美a在线在线播放 | 欧美影院一区二区在线观看 | 精品中文高清欧 | 欧美精品1卡二卡 | 亚洲精品一区二区三区四区五区 | 色综合中文字幕色综合激情 | 国产婷婷综合在 | 国语对白精品一区二区在线观看 | 欧美日韩变态另类在线观看 | 亚洲欧美日韩国产综合久 | 欧美日韩国产58香 | 国产女白丝脚交视频播放 | 91中文字幕永久在线人妖 | 国内老司机精品视频在线播出 | 国产伦精品一区 | 免费国产黄 | 91精品国产免费网站 | 国产v片在线播放免费观看大全 | 午夜丁香婷婷免费手机在线观 | 天堂а√中文在线官网 | 国产午夜专区在线观看 | 国产一区二区三区免费看视频 | 国产在线一卡2卡三卡4卡免费 | 中文字幕观看 | 国产天堂精品 | 欧美日韩乱一区二区 | 在线精品国产第一页 | 国产欧美日韩综合精品二区 | 国产不卡在线看 | 欧美日韩国产58香蕉在线视频 | 欧美交换乱理伦 | 免费高清电影影视大全 | 欧美重口另类在 | 强奷乱码中文字幕熟女导航 | 亚洲精品第一国产综合精品5 | 91福利国产在线观看网站 | 成年人午夜影院 | 成人精品日本亚洲电影院电影 | 国产一级在线视频一区 | 日韩电影手机免费在线看 | 日产无人区一线二线三线最新版 | 国产日韩亚洲欧洲一区二区三区 | 日本一二三区视频 | 欧美日韩高清精品一区二区 | 欧美一级二级三级在线观看视频 | 亚洲欧美日产在 | 强伦轩一区二区三区四区播放 | 成人午夜在线观看日韩 | 国产精品美脚玉足脚交欧美 | 日韩精品中文字幕在线 | 欧美中文字幕综合在线视频 | 国产尤物极品在线视频播放 | 99热这里只有精品18 | 二区三区在线播放 | 亚洲专区日韩专区在线观看 | 欧洲女人性开放免费网站 | 亚洲久热| 国产成年大片免费视频播放 | 国产在线高清伦免费理视频 | 国产一区二区三区四区精华 | 乱子伦精品视频 | 717影视午夜理论片大全福利 | 欧美极品video粗暴 | 欧美交换乱理伦 | a人片在线观看视频下载 | 欧美日韩亚洲精品瑜伽裤 | 成人午夜看黄在线尤物成人 | 国产亚洲精品字幕在线观看 | 日韩极品成年人在线观看高清 | 91b1国产在线观看 | 国产在线欧 | 成人国产高清在线观看 | 日韩欧美中文字幕出 | 老熟女乱一区二区三区 | 欧美日韩精 | 97人人超人人超国产免费 | 亚洲人成网址在线播放小说 | 国产aⅴ夜夜欢一区二区三区 | 国产人伦视频在线观看 | 精品厕所偷拍各类美女tp嘘嘘 | 国产女学生破女初在线观看 | 亚洲三区在 | 国产性夜夜春夜夜爽30 | 91人前露出精品国产 | 欧美贵妇办公室高跟鞋 | 中文字幕一区二区三区四区五区 | 日韩在线中文 | 国产电影在线观看播放 | 岛国大片一区二区三区 | 日本阿v视频高清在线中文 银杏影视 | 国产日韩欧美亚洲第一区 | 午夜三级福利在线观看 | 国产激情一区在线观 | 国产丰满老熟 | 欧美午夜成年片在线观看 | 国产精品合集一区二区三区 | 日本伦理电影在线观看 | 国产精品视频视 | 性爱国产精品福利在线 | 舔射插啊~在线观 | 亚洲人色大成年网站在线观看 | 丰满岳乱一区二区三区在线观看 | 欧美性视 | 国内精品日本和韩国免费不卡 | 亚洲一区二区三区不卡视频 | 产免费一区二区三区视频 | 亚洲国产网站在线观看 | 国产欧美日韩va另类影音先锋 | 精品国产国产自在线观看 | 亚洲国产日韩无在线播放 | 中文字幕在线永久 | 妺妺窝人体色www聚色窝仙踪 | 欧美成aⅴ人高清免费观看 亚洲成a人片在线v 国产日韩传媒一区二区三区四区 | 日本高清一区二区三区不卡免 | 国产手机拍视频最好的手机 | 91精品秘密秘在线观看 | 精品一区在线 | 亚洲欧美激情在线一区 | 老司机91精品网站在线观看 | 亚洲欧美日韩国产精品专区网 | 日本旅遊情報一網打盡 | 99视频在线精品免费观看6 | 亚洲欧美高清精 | 亚洲国产在线精品国自产拍 | 中文字幕一区日韩精品 | 精品国产在天天在线观看 | 精品一区二区三区四区五区六区 | 国精产品一区 | 日韩欧美综合在线 | 免费在线追剧 | 国产妇女性爽视频免费 | 国产又色又爽又黄刺激视频 | 91成人精品爽啪在 | 日本在线高清不卡免费播放 | 国产永久免费高清在线观看 | 日本动漫瀑 | 99亚洲精品高清一二区 | 精品自拍三级乱伦 | 国产亚洲aⅴ在线观看不卡 国产免费a视频网站在线观看 | 国精品午夜福 | 97国产蝌蚪视频在线观看 | 国产午夜福利a∨在线机视频 | 精品国产乱子伦一区二区三区r | 欧美日韩在线一区 | 国产精品视频视 | 日韩欧美尤物视频 | 韩国电影| 国产亚洲欧洲综合777 | 香蕉国产亚洲精品va在线观 | 欧美日韩在线一区 | 国产精品今日更新国产主播 | 国产综合有码 | 精品精品 | 日本不卡一区二区三区不卡高 | 日韩在线手机看片免费看 | 午夜国产福利在线直播 | 99精品欧美一区二区三区白人 | 九色99| 亚洲国产精品一区二区三区 | 国产人在| 国产专区免费资源网站 | 国产精品va在线观看无 | 国产亚洲欧洲精品 | 成品网站源码入口隐藏通道 | 26uuu亚洲综 欧美日韩在线一区二区免费 | 好看的剧免费在线观看 | 国产精品专区第一页在线观看 | 日本高清特黄刺激大片 | 精品推荐 | 日产精品卡二卡三卡四卡乱码视频 | 国产1卡二卡3卡四卡乱码视频 | 色一情一区二区三区 | 欧洲不卡二卡三卡四卡免费 | 亚欧国产一级在线免费 | 在线看免费看国产精品视频 | 欧美亚洲国产日韩一区二区 | 日本高清视频在线免费观看 | 国产未成女年一区二区 | 三级高清精品国产 | 天堂mv亚洲mv在线播放9蜜 | 国产精品日日做人人爱 | 精品日韩在线一区二区三区 | 欧美日韩国产一区二区 | 区一区二区三视频日韩 | 911精品中文在线播放永久 | 成年人电影在线播 | 免费的精品一区二区三区 | 国产一区二区三区a | 誠鼎影院| 美女裸身网站免费看免费网站 | 亚洲精品456人成在线 | 欧美日韩精品免费观看视频 | 欧美日韩一区二区综合 | 19禁无遮| 亚洲日韩欧美一区二区在线 | 国产精彩乱子真实视频 | 国产乱人视频在 | 国产精品熟女一区二区 | 台湾自拍偷区亚洲综合 | 欧美五月婷婷开 | 九操中文字幕在线观看 | 欧美午夜理伦三 | 日韩欧美一区二区不卡看片 | 韩国免费一级a一片 | 人人澡人摸人人添 | 麻花星空影视在线看电视免费版 | 国拍在线精品 | 日韩一区二区三区免费视频 | 亚洲+欧洲+日产 | 国产91尤物在线观看互 | 视频在线播放 | 91精品国产丝袜 | h在线观看情趣视频 | 国产中文综合乱伦 | 亚洲国产成a人v在线观看 | 亚洲日韩欧美国产高清αv 国产高清在线精品一区小说 | 日本精品a在 | 办公室撕 | 一区二区亚洲综合制服欧美 | 91精品国产午夜在线免费观看 | 中文在线а√天堂官网 | 最近在线观看免费完整版高清电影 | 丰满多毛的陰户 | 日本中文字幕一区 | 在线播放不收费 | 皮皮在线精品亚洲 | 欧美区一区二区三区在线视频 | 日韩欧美在线观看一区 | 欧美亚洲日韩国产综合视频网站 | 国产在线视频第一页 | 国内自拍第一页 | 欧美日韩在线 | 亚洲激情小说另类欧美 | 国产99精品免费视频看 | 半岛影院一级真人片 | 国产爽片大全免费在线观看 | 日韩精品一区在线 | 小草青青手机免费视频影院 | 久精品视频 | 欧美日韩国产码高清综合人成 | 国产九九自拍电影在线观看 | 高清欧美日韩一区二区三区在线 | 手机国产乱子伦精品视频 | 亚洲国产欧美在线人成 | 激情五月综合激情在线观看 | 成年人影片免费看 | 美女视频写真网站 | 日本欧美亚洲日韩国产 | 欧美国产亚洲一区二区三区 | 亚洲福利电影在线观看 | 精品一区字幕二区 | 成人精品怡红院在线观看 | 七十路熟女交尾hd | 亚洲h成年动漫在线观看不卡 | 日本三级日产三级国 | 国产亚洲欧美日韩在线观着 | 黄瓜视频在线播放看片 | 亚洲欧洲日产国码a | 国产精品自 | 欧美乱妇高清无乱码免费 | 欧美一级电影日韩精品 | 日本一本二本三区免费 | 国产亚洲精品片 | 国产高清视频一区二区在线观看 | 国产精品第1页在线观看 | 欧美乱码精品一区二区三 | 欧美视频精品一区二区 | 亚洲五月天综合 | 国产日韩精品欧美一区视频 | 国产在线日韩在线 | app大全免费版官网 精品综合在线日韩 | 国产自产一区二区三区视频在 | 九九99靖品 | 一区二区日韩国产精品 | 国产成视频| 日本亚洲国产一区二区三区 | 国产日韩欧美精 | 欧美日韩日处女黑人 | 91秦先生在线视频 | 国产精品成人h片在线 | 国产婷婷一区二区在线观看 | 亚洲精品sm一区二区 | 九一国产| 亚洲国产日韩在线人高清au | 国产免费a级特黄的片子 | 国产精品一区二区公司 | 日韩熟女激情中 | 日本中文字幕乱码 | 欧美日产国产精品视频免费 | 91蝌蚪在线视频 | 久热精品在线视频 | 朝鲜女人大白屁股ass | 欧美一级日韩在线观看 | 在线日韩欧美视频一区二区 | 好吊操视频这里只有精品 | 视频播放 | 西瓜影音免费 | 国产v在线在线观看视频 | 欧洲在线观看 | 最近日本电影免费观看全集 | 国产日本欧美三区 | 欧美亚洲高清国产一区二区三区 | 靠逼视频一区二区三区 | 日本69sex护士 | 深爱激情| 国产乱理伦片 | 日本人的色道www免费一区 | 热门电影电视剧短剧免费在线观看 | 九一看片 | 国外精品视频在线 | 欧美午夜视频网站在线观看 | 亚洲国产中文字幕在线观看 | 午夜成人免费电影 | 国产丰满大乳奶水在线播放 | 国产精品玖玖玖在线资源 | 日本精品一区二区三区在线 | 国产欧美日韩视频在线观看 | 国产一级特黄aaa大片在线观 | 经典影片免费在线观看 | 国产乱老熟视频 | 日本高清免费不卡视频 | 国产一品二品精品在线 | 欧美激情狂野变态xxxx视频 | 国内女人喷潮完整视频 | 成人精品视频一区二区三区不卡 | 亚洲精品一级高清在线播放国 | 国产色产综合色产在线观看视频 | 国产盗摄偷窥在线观看 | 欧美欲妇激情视频在线 | 欧美午夜理伦三 | 大胆gogo无| 国产精品香蕉夜间视频免费播放 | 欧美日韩一区 | 国产理论片高清 | 乱伦综合国产免费 | 96国产xxxx免费视频 | 国产v在线在线观 | 银杏视频在线官网 | 国产色系视频免费在线观看 | 欧美日韩一区二区三区床戏 | 91福利国产极品美女在线观看 | 国产精品丝袜亚洲熟女 | 国产精品日韩一区二区三区 | www.激| 亚洲欧美日韩ⅴ在线观看91 | 步步日本 | 天天a3极品a3私服 | 日韩伦理在线 | 污污视频软件下载 | 日韩精品三区 | 久热久热精品在线观看 | 日本在线观看中文字幕 | 亚洲色大成网站www永久男同 | 91国内精品在线入口 | 日本一道 | 亚洲综合在线播放 | 韩国日本免费不 | 精品国产系列 | 国产精品日韩精品在线观看 | 免费国产老师高 | 国产69精品| 欧美综合精品一区二区三 | 九九九九热精品免费视频 | 中文字幕亚洲欧美在线不卡 | 国产亚洲精爱浪 | 99热这里只有精品国产4 | 中日韩国 | 国产一区精品视频 | 国产一区二区三区在线啊 | 国产精品自产拍在线观看55 | 日本高清一二三不卡区 | 国产乱子影视频上线免费观看 | 伦理电影网在线观看 | a级国产电影在线观看 | 秋霞国产午夜 | 国产精品| 欧美亚洲国产日韩综合aⅴ 伦理高清在线观看 | 色久视频 | 欧美一级在线全免费 | 福利岛国深夜在线 | 99亚洲国产综合 | 97国产一区二 | 亚欧人成| 国内精品视频一区电影 | 91高清免费国产自产拍不卡 | 欧美日本高清阿v视频在线 97视频专区 | 一区二区三区高清视频国产女人 | 免费安装 | 欧美精品午夜一二三区 | 国产日韩精品一区二区三区在线 | 暴雨入室侵犯进出肉体免费观看 | 国产福利在 | 亚美影院 | 一本大道之中文日本香蕉 | 九九热免费在线观看 | 日韩天堂在线视 | 五月婷婷深爱 | 成人三级网站精品 | 精品国产污污污 | 国产在线一区二区三区不卡 | 国产综合在线观看精品 | 高清影视在线 | 又黄的免费视频 | 欧美在线观看成人高清视频 | 日韩在线不卡中文字幕一区 | 日韩欧美中文字幕一区二区三区 | 国产制服国产制服一区二区 | 一级a爱片免费视频在线观看 | 欧美日本一91视频国产 | 好看的电影电视剧大全 | 欧美日韩色黄大片在线视频 | 91露脸对白 | 欧美亚洲国产丝袜在线 | 国产高清中文字幕 | 欧美中文综合在线视频 | 日韩十国产十欧美 | 91精品国产福利在 | 国产一级特黄大片特爽 | 欧美日韩国产一线天午夜秀场 | 亚洲二三区 | 天天看片在线完 | 国产一区二区三区导航 | 免费午夜色激情视频网站 | 秋霞影视免费播放手机版 | 伦电影理论片 | 国产日韩综合一区在线观看 | 亚洲产国偷v产偷v自拍色戒 | 亚洲熟女一 | 日本免费人成黄页在线观看视频 | 欧美亚洲日韩在线在线影院 | 一区二区视频在线 | 中文字幕一区二区三区精品 | 九九视频在线观看免费 | 日韩精品亚洲人成在线观看 | 国产精品理伦片 | 成人午夜福利免费 | 国产主播一区二区三区在线观 | 国产偷人视频免费538 | 日韩国产免费一 | 亚洲一区在线免费 | 中文字幕在线播放 | 国产户外露出在线观看 | 日韩电影在线电影 | 免费电影电视剧在线观看 | 亚欧视频在线观 | 日韩欧洲亚洲美三区中文幕 | 亚洲haose在线观看 | 精品尤物视频 | 色综合天天综合网国产国产人 | 国产伦精品一区二区三区视频 | 在线看中文字幕 | 欧美精品v欧洲精品 | 国产偷v | 肉大捧一进一出免费视频 | 成人国产在线视频 | 在线天堂新版最新版在线8 免费人成网上在线观看 | 国产乱码精品一区二区三区香蕉 | 欧美不卡一卡二 | 中文字幕欧美 | 宝贝腿开大点我添添公漫画 | 精品国产蜜桃在线等一页 | 成人又黄又爽 | 文中字幕一区二区 | 欧美va免费高清在线观看 | 热门电影综艺电视剧在线观看 | 中文字幕精品视频第一区第二区 | 又黄又爽 | 91天堂国产在线播放 | 免费国产一区二区三区 | 99久热国产精品视 | 国产成在线观看免费视频成本 | 亚洲欧美日韩一区二区在线观看 | 欧美日韩精品一区二区另类 | 天天综合网天天综合色 | 日本美女午夜福利影片 | 日韩伦理剧在线观看 | 国产女精品 | 欧美激情在线免费观看 | 日韩精品欧美亚洲高清有无 | a级国产乱理伦片在线 | 欧美人与性另类 | 亚洲日本一区二区三区在线 | 亚洲欧美综合在线天堂 | 中文字幕精 | 国产精品一二三四区免费 | 欧美日韩一区视频导航 | 国产日韩精品欧美一区喷 | 日韩精品一区二区国产精品一 | 国产精品综合社区 | 欧美国产日韩另类视频区 | 最近高清中文字幕免费mv视 | 成人午夜在| 欧亚a级一级 | 欧美日韩视频在线播放 | 簧片在线免费观看 | 国产精品一二三四区免费 | 日本不卡高清视频v中文字幕 | 中文字幕乱老妇 | 日本一区二区三区在线观看网站 | 国产在线看片免费人成视频97 | 国产精品制服一区二区 | 三级中文字幕永久在线视频 | 欧美人与动性xxxxx杂性 | 女同69互 | 亚洲春色在线观看 | 日韩女同性恋一区二区三区 | 日本特级一区二区三区大片 | 97在线精品视频免费 | 精品蜜桃秘?一区二区三区 日本湿姝在线观看 | 亚洲国产一区二区三区a毛 h视频网站 | 午夜福利国产在 | 亚洲欧美自 | 日韩先锋影音中文字幕 | 欧美日韩亚洲一区二区三区 | 国产一级一片免费播放 | 一级午夜福利 | 精品人无| www成年人视频 | 黑人大战亚洲女在线播放 | 办公室大战高跟丝袜秘书经理ol | 国产传媒在线观看 | a级国产乱理片在线观看 | 日韩欧美一区二区尤物 | 欧美精品国产一区二区三区 | 国产伦一区二区精品视频 | 亚洲福利一区福利三区 | 日韩欧美综合欧美日韩综合 | 亚洲人成在线播放 | 国产在线看片成人免费视频 | 国产一级特黄大片特爽 | 国产隔着超薄丝袜进入 | 成人国内 | 91精品全国免费观看老司机 | 国产福利一区二区三 | 99在线精品日韩一区免费国产 | 伦理片97影视网 | 国语自产视频在线不卡 | 亚洲午夜在线x88∨ 欧美自拍另类欧美综合图片区 | 男女之间的唏唏哩哩二人世界 | 动漫精品一区视频在线观看 | 成人永久免 | 午夜欧美视频 | 日韩在线成年视频人网站观看 | 国产在线永久免费观看 | 成人免费a | 国内精品99亚洲免费高清 | 欧美一区二区精品国产日韩 | 欧美黑人巨大激情视频在线观看 | 精品国产人成在线 | 国产久在线观看免费视频 | 欧美国产视频一区二区91 | 亚洲欧美日韩国产伦理高清在线 | 国产丶欧美丶日本不卡 | 午夜福利在线观看国产精品 | 国产精品成人免费视频 | 国产精品美妞一区二区三区 | 国产欧美午夜视频 | 精品aⅴ老司机天堂网站 | 国产乱码精品一区在线观看a | 欧美激情在线视频 | 亚州大尺 | 51成人免费动漫在线 | 久9视频这里只有精品试看 伊人成色综 | 国产欧美精品12区发布 | 国产福利91精品一区二区 | 亚洲日韩在线中文字幕第一页 | 99精品国产 | 国产视频最新地址发布 | 国产一级特黄大片特爽 | 第一影院 | 国产精精品免费观看 | 在线观看国产色一二三区 | 日韩+欧美一区 | 日韩欧美性爱精品一区二区 | 电影在线观看不卡 | 欧美亚洲国产激情一区二区 | 91夜夜夜精品一区二区 | 贝贝福利电 | 尤物tv| 成人动漫在线免费看 | 欧美日韩激情播放 | 韩国欧美一区二区 | 欧美va亚洲| 国产悠资源视频在线观看 | 日韩欧美国产一区二区三区免费 | 色拍自拍亚洲综合图区 | 亚洲欧洲日本精品永久在线观看 | 911亚洲精品bbw男男 | 欧美一区自拍一区偷拍一区 | 热门事件黑料不打烊吃瓜 | 免费观看区一 | 五月天婷婷网亚洲综合在线 | 757国产午夜福利在线播放 | 中文字幕在线永久 | 日本黄一级日本黄二级 | 日本在线看片免费人成视频 | 亚洲日韩国产欧美一区二区三区 | 成人精品一区二区 | 国一产区视频 | 国产区激情区精品视频区一99 | 欧美亚洲日本另类图区 | 护士在办公室被躁bd在线观看 | 熟女一区中文字 | 天堂中文在线资源 | 国产精彩 | 国产盗撮视频在线观看 | 亚洲精品一品区二品区 | 欧美日本精品一区二区三区 | 拍真实国产伦偷精品 | 欧美乱码精品一区二区三 | 国产精品一区二区三区大 | aⅴ天堂亚| 国产一区二区视频在线播放 | 日本淫秽视频在线 | 国产久9视频这里只有精品 国产福利在线观看91精品性色 | 国产91综合| 国产在线高清视频 | www.日韩精品一区二区三区 | 国产日韩制服丝袜在线第一页 | 日本一道高清 | 成视人a | 日本三级韩国三级美三级91 | 日本一区二区中文字幕 | 男男做肉爱视频在线观看 | 亚洲女女女同性video | 秋霞免费理论片鲁丝在线观看 | 4k影视资源免费在线观看 | 欧美黑吊粗大猛烈18p | 国产在线观看www | 欧美日韩中文字幕一区二区三区 | 日韩欧美一区二区三区在线 | 欧美a级情欲片在线观看免费网站 | 热99r | 精品h一区不卡免费视频国产 | 精品国产日韩一区三区 | 国产精品冒白 | 国产玉足脚交极品在线视频 | 中文字幕一区二区三区四区五区 | 成人永久福利在线观看不卡 | 国产精品入口免费视频 | 国产乱理伦片在 | 日韩欧美一级一中文字幕 | 欧美日韩综合精品网站视频 | 国产欧美日韩综合精品一区二区 | 国产福利91精品在线观看 | 国产精品欧美一区二区三区 | 国产精品永久免费自在线观看 | 国产偷窥不卡视频 | 电影在线免费高清中文 | 国产综合精品一区 | 精品日韩一区一区三区四区 | 欧美插逼视频 | 一区二区免费高清在线观看国产 | 国产免费 |