亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

SSM+微信小程序全棧畢設(shè):三角色權(quán)限隔離與訂單狀態(tài)機(jī)實(shí)戰(zhàn)

SSM+微信小程序全棧畢設(shè):三角色權(quán)限隔離與訂單狀態(tài)機(jī)實(shí)戰(zhàn) 簡(jiǎn)介本資源是一套完整的智慧鄉(xiāng)村旅游服務(wù)平臺(tái)畢業(yè)設(shè)計(jì)項(xiàng)目面向計(jì)算機(jī)專業(yè)本科生及Java全棧初學(xué)者聚焦鄉(xiāng)村旅游數(shù)字化管理場(chǎng)景提供從需求分析、系統(tǒng)開(kāi)發(fā)到部署演示的全流程實(shí)踐范例。壓縮包共895個(gè)文件40.48MB涵蓋128個(gè)Vue前端頁(yè)面組件、119個(gè)Java后端業(yè)務(wù)邏輯與控制器類、103個(gè)JS交互腳本、177個(gè)PNG/SVG界面圖標(biāo)及3個(gè)MP4視頻演示文件完整支撐小程序SSMMySQL技術(shù)棧的學(xué)習(xí)與復(fù)現(xiàn)另有SQL建表語(yǔ)句、畢業(yè)論文文檔及多套批處理腳本如install.bat/run.bat便于快速搭建本地環(huán)境。目前已有313人學(xué)習(xí)下載資源包含管理員、用戶、商家三端功能模塊支持景點(diǎn)管理、路線規(guī)劃、訂單交易與充值等核心業(yè)務(wù)結(jié)構(gòu)清晰、注釋規(guī)范適合作為課程設(shè)計(jì)參考、畢設(shè)開(kāi)題原型或微信小程序Java后端整合開(kāi)發(fā)的實(shí)戰(zhàn)訓(xùn)練材料。1. 這不是又一個(gè)“旅游小程序Demo”它是一套能跑通真實(shí)角色流轉(zhuǎn)、帶完整后臺(tái)管理閉環(huán)的畢業(yè)級(jí)全棧工程你可能已經(jīng)點(diǎn)開(kāi)過(guò)十幾個(gè)標(biāo)著“鄉(xiāng)村旅游”“微信小程序”的畢業(yè)設(shè)計(jì)資源點(diǎn)進(jìn)去發(fā)現(xiàn)只有前端頁(yè)面輪播圖幾個(gè)空接口或者后端連登錄校驗(yàn)都寫(xiě)在 Controller 里硬編碼。但這次不一樣——這個(gè)源碼包里真有三個(gè)角色管理員/用戶/商家在 MySQL 里各自走完注冊(cè)、權(quán)限隔離、訂單狀態(tài)機(jī)、收藏聯(lián)動(dòng)、充值流水等完整業(yè)務(wù)鏈路SSM 層不是只貼了 Spring Boot 啟動(dòng)類就收工而是把 MyBatis 的動(dòng)態(tài) SQL 寫(xiě)到了OrderMapper.xml里用choose處理多條件查詢Controller 層真做了Valid校驗(yàn) 全局異常處理器微信小程序端不是拿wx.request硬懟 URL而是封裝了api/index.js統(tǒng)一攔截 token 過(guò)期并跳轉(zhuǎn)登錄頁(yè)。它不追求高并發(fā)或微服務(wù)但每一步都踩在 SSM 小程序開(kāi)發(fā)的真實(shí)協(xié)作邊界上比如商家上傳景點(diǎn)圖片時(shí)后端用MultipartFile接收存到本地upload/目錄再把相對(duì)路徑寫(xiě)進(jìn)數(shù)據(jù)庫(kù)小程序端則用wx.uploadFile配合wx.chooseImage完成閉環(huán)。如果你正卡在“畢設(shè)怎么讓三個(gè)角色數(shù)據(jù)不串”“SSM 怎么和小程序 token 對(duì)齊”“MySQL 表字段命名怎么兼顧可讀性和外鍵約束”這份資源就是為你拆解過(guò)的、能直接git clone跑起來(lái)的參照系。2. 從零啟動(dòng)三步拉起完整環(huán)境看清前后端如何握手2.1 后端部署SSM 工程結(jié)構(gòu)解析與關(guān)鍵配置項(xiàng)定位這個(gè)項(xiàng)目采用標(biāo)準(zhǔn) Maven 結(jié)構(gòu)根目錄下pom.xml明確聲明了 Spring 4.3.28.RELEASE SpringMVC 4.3.28.RELEASE MyBatis 3.4.6 MySQL Connector/J 5.1.47。注意不要升級(jí) Spring 到 5.x否則Controller類中ModelAndView返回邏輯會(huì)因視圖解析器變更而報(bào) 404這是血淚經(jīng)驗(yàn)。核心配置集中在src/main/resources下applicationContext.xml定義了數(shù)據(jù)源DruidDataSource、事務(wù)管理器DataSourceTransactionManager、MyBatis 工廠SqlSessionFactoryBean及掃描路徑com.example.**.mapperspring-mvc.xml啟用了注解驅(qū)動(dòng)mvc:annotation-driven /配置了靜態(tài)資源映射/static/**→classpath:/static/并指定了視圖解析器前綴/WEB-INF/jsp/、后綴.jspjdbc.properties包含jdbc.urljdbc:mysql://localhost:3306/tourism?useUnicodetruecharacterEncodingutf8——必須確保你的 MySQL 服務(wù)已啟用utf8mb4字符集否則景點(diǎn)名稱中的 emoji 或生僻字會(huì)變問(wèn)號(hào)提示webapp/WEB-INF/web.xml中contextConfigLocation指向applicationContext.xml而DispatcherServlet的contextConfigLocation指向spring-mvc.xml這是 SSM 分層加載的關(guān)鍵。若啟動(dòng)時(shí)報(bào)No mapping found for HTTP request先檢查此處是否錯(cuò)配。2.2 數(shù)據(jù)庫(kù)初始化建庫(kù)、建表、填初始數(shù)據(jù)三連擊項(xiàng)目提供tourism.sql位于根目錄或doc/子目錄執(zhí)行前需手動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)CREATE DATABASE tourism CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;然后執(zhí)行 SQL 文件。重點(diǎn)觀察以下 5 張核心表結(jié)構(gòu)表名關(guān)鍵字段說(shuō)明業(yè)務(wù)意義usersroletinyint0用戶,1商家,2管理員,statustinyint0禁用,1啟用角色與狀態(tài)分離避免用字符串判別scenic_spotstype_id外鍵關(guān)聯(lián)spot_types,route_id外鍵關(guān)聯(lián)spot_routes,is_hottinyint景點(diǎn)與類型、路線強(qiáng)關(guān)聯(lián)支持首頁(yè)熱榜篩選ordersuser_id,spot_id,order_status0待支付,1已支付,2已發(fā)貨,3已完成,4已取消,pay_time狀態(tài)機(jī)字段明確pay_time為datetime類型非timestamp避免時(shí)區(qū)自動(dòng)轉(zhuǎn)換collectionsuser_id,spot_id,collect_time用戶收藏表無(wú)冗余字段靠聯(lián)合索引(user_id, spot_id)防重復(fù)system_configconfig_key如site_name,config_value如智慧鄉(xiāng)村旅游平臺(tái)全局配置表避免硬編碼執(zhí)行后用 Navicat 或命令行驗(yàn)證SELECT COUNT(*) FROM users WHERE role 2; -- 應(yīng)返回至少 1 條管理員記錄賬號(hào) admin / 密碼 123456 SELECT * FROM system_config WHERE config_key site_name;2.3 微信小程序端開(kāi)發(fā)者工具配置與云開(kāi)發(fā)兼容性處理項(xiàng)目未使用云開(kāi)發(fā)所有接口均指向本地后端。打開(kāi)微信開(kāi)發(fā)者工具導(dǎo)入miniprogram/目錄注意不是整個(gè)項(xiàng)目根目錄關(guān)鍵修改在project.config.json和app.jsproject.config.json中appid字段需替換為你自己的測(cè)試號(hào) AppID可在微信公眾平臺(tái)申請(qǐng)否則無(wú)法調(diào)用wx.loginapp.js中全局配置globalData包含baseUrl: http://localhost:8080/tourism/——若后端部署在其他機(jī)器需改為 IP 地址如http://192.168.1.100:8080/tourism/不能用localhostutils/api.js封裝了請(qǐng)求攔截wx.getStorageSync(token)讀取本地 tokenheader: { Authorization: Bearer token }發(fā)送若 token 過(guò)期fail回調(diào)中會(huì)wx.navigateTo({ url: /pages/login/login })。注意微信開(kāi)發(fā)者工具默認(rèn)開(kāi)啟「不校驗(yàn)合法域名」但真機(jī)調(diào)試時(shí)必須在「開(kāi)發(fā)管理」中將http://localhost:8080加入「request 合法域名」實(shí)際生產(chǎn)需換為 HTTPS 域名。若真機(jī)報(bào)request:fail net::ERR_CONNECTION_REFUSED先確認(rèn)后端 Tomcat 是否已啟動(dòng)且監(jiān)聽(tīng) 8080 端口。2.4 一鍵腳本實(shí)操1-install.bat、2-run.bat、3-build.bat的真相項(xiàng)目提供了三個(gè).bat腳本但它們并非全自動(dòng)魔法1-install.bat本質(zhì)是mvn clean install -Dmaven.test.skiptrue作用是編譯 Java 代碼、運(yùn)行 MyBatis Generator若配置了、打包成tourism.war放入target/。執(zhí)行前需確保pom.xml中plugin里的mybatis-generator-maven-plugin版本與generatorConfig.xml兼容本項(xiàng)目用 1.3.22-run.bat調(diào)用mvn tomcat7:run啟動(dòng)內(nèi)嵌 Tomcat端口 8080適合開(kāi)發(fā)調(diào)試。若報(bào)Address already in use: bind改pom.xml中port為 80813-build.bat執(zhí)行mvn clean package -Dmaven.test.skiptrue生成tourism.war可部署到獨(dú)立 Tomcat。部署后訪問(wèn)http://localhost:8080/tourism/admin/login.jsp即進(jìn)入后臺(tái)登錄頁(yè)賬號(hào) admin / 密碼 123456。提示.bak文件如main.css.bak是原始備份可忽略org.eclipse.wst.common.component是 Eclipse 項(xiàng)目配置IntelliJ 用戶無(wú)需關(guān)注。3. 角色權(quán)限落地三層角色如何通過(guò) Filter Session SQL 實(shí)現(xiàn)數(shù)據(jù)隔離3.1 后臺(tái)權(quán)限控制基于 Session 的角色路由攔截管理員、商家、普通用戶的菜單入口完全不同系統(tǒng)未用 Shiro 或 Spring Security而是用原生FilterHttpSession實(shí)現(xiàn)輕量級(jí)控制。關(guān)鍵文件是src/main/java/com/example/filter/RoleFilter.javapublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req (HttpServletRequest) request; HttpServletResponse resp (HttpServletResponse) response; HttpSession session req.getSession(); // 從 session 獲取用戶信息登錄時(shí)存入 Object userObj session.getAttribute(user); if (userObj null) { resp.sendRedirect(req.getContextPath() /login.jsp); return; } User user (User) userObj; String uri req.getRequestURI(); // 根據(jù)角色放行對(duì)應(yīng)路徑 if (user.getRole() 2 uri.contains(/admin/)) { // 管理員訪問(wèn) /admin/** chain.doFilter(request, response); } else if (user.getRole() 1 uri.contains(/merchant/)) { // 商家訪問(wèn) /merchant/** chain.doFilter(request, response); } else if (user.getRole() 0 (uri.contains(/user/) || uri.contains(/index.jsp))) { // 用戶訪問(wèn) /user/** 或首頁(yè) chain.doFilter(request, response); } else { // 角色越權(quán)重定向到無(wú)權(quán)限頁(yè) req.setAttribute(msg, 無(wú)訪問(wèn)權(quán)限); req.getRequestDispatcher(/error/noAuth.jsp).forward(req, resp); } }邏輯說(shuō)明Filter在每次請(qǐng)求時(shí)觸發(fā)通過(guò)session.getAttribute(user)獲取登錄態(tài)再根據(jù)user.getRole()值判斷 URI 前綴是否匹配。參數(shù)說(shuō)明user.getRole()是tinyint類型值 0/1/2 嚴(yán)格對(duì)應(yīng)數(shù)據(jù)庫(kù)users.role字段不可用字符串a(chǎn)dmin比較。3.2 小程序端權(quán)限分流App.js 全局路由守衛(wèi)小程序沒(méi)有傳統(tǒng) Session權(quán)限控制依賴wx.setStorageSync(token)和后端返回的role字段。app.js中onLaunch方法完成首次鑒權(quán)App({ onLaunch: function () { const token wx.getStorageSync(token); if (token) { wx.request({ url: http://localhost:8080/tourism/user/info, method: GET, header: { Authorization: Bearer token }, success: (res) { if (res.data.code 200) { const userInfo res.data.data; wx.setStorageSync(userInfo, userInfo); // 存入用戶信息含 role 字段 // 根據(jù) role 跳轉(zhuǎn)不同首頁(yè) if (userInfo.role 0) { wx.switchTab({ url: /pages/index/index }); } else if (userInfo.role 1) { wx.switchTab({ url: /pages/merchant/home }); } else if (userInfo.role 2) { wx.navigateTo({ url: /pages/admin/login }); // 管理員走獨(dú)立登錄頁(yè) } } } }); } } });參數(shù)說(shuō)明userInfo.role由后端UserController.info()接口返回該接口從JwtUtil.parseToken(token)解析出用戶 ID再查users表獲取role字段。JWT 密鑰在JwtUtil.java中硬編碼為tourism_secret生產(chǎn)環(huán)境必須替換為隨機(jī)密鑰。3.3 數(shù)據(jù)庫(kù)層隔離同一張表如何讓不同角色看到不同數(shù)據(jù)最典型的場(chǎng)景是scenic_spots表管理員能看到全部景點(diǎn)商家只能看到自己發(fā)布的用戶只能看到status1審核通過(guò)的。后端通過(guò)動(dòng)態(tài) SQL 實(shí)現(xiàn)!-- ScenicSpotMapper.xml -- select idlistByRole resultTypeScenicSpot SELECT * FROM scenic_spots where if testrole 0 !-- 用戶 -- status 1 /if if testrole 1 !-- 商家 -- merchant_id #{userId} AND status IN (1,2) !-- 商家可看自己待審核和已發(fā)布 -- /if if testrole 2 !-- 管理員 -- 11 !-- 查全部 -- /if /where ORDER BY create_time DESC /select邏輯說(shuō)明MyBatis 的if標(biāo)簽根據(jù)傳入的role參數(shù)動(dòng)態(tài)拼接 WHERE 條件。參數(shù)說(shuō)明#{userId}是商家 ID從SecurityUtil.getCurrentUserId()獲取該工具類從ThreadLocal中取當(dāng)前登錄用戶 ID避免 Controller 層重復(fù)傳參。3.4 訂單狀態(tài)機(jī)從下單到完成的 5 個(gè)狀態(tài)如何被三方協(xié)同更新訂單流程是檢驗(yàn)權(quán)限設(shè)計(jì)的試金石。orders表的order_status字段驅(qū)動(dòng)整個(gè)生命周期狀態(tài)值觸發(fā)方觸發(fā)條件后端邏輯0待支付用戶提交訂單后OrderService.createOrder()插入記錄order_status01已支付用戶支付成功回調(diào)PayNotifyController.notify()校驗(yàn)簽名后update order_status1, pay_timenow()2已發(fā)貨商家點(diǎn)擊“發(fā)貨”按鈕MerchantOrderController.ship()校驗(yàn)role1且order_status1更新order_status2, ship_timenow()3已完成用戶確認(rèn)收貨UserOrderController.confirm()校驗(yàn)role0且order_status2更新order_status3, finish_timenow()4已取消用戶/商家/管理員任一角色調(diào)用取消接口OrderController.cancel()根據(jù)角色判斷用戶僅能取消order_status0商家可取消0/1管理員可取消全部關(guān)鍵約束OrderService.cancelOrder()方法中對(duì)商家取消操作加了雙重校驗(yàn)if (order.getStatus() ! 0 order.getStatus() ! 1) { throw new ServiceException(商家只能取消待支付或已支付的訂單); }4. 避坑指南那些讓你調(diào)試到凌晨三點(diǎn)的典型問(wèn)題與解法4.1 現(xiàn)象小程序登錄后wx.request返回 401但后端日志顯示 token 解析成功原因微信小程序wx.request默認(rèn)不攜帶 Cookie而本項(xiàng)目后端JwtUtil從request.getHeader(Authorization)讀取 token但小程序端header中未設(shè)置Authorization字段。解決檢查utils/api.js中request方法確認(rèn)header是否包含Authorization。常見(jiàn)錯(cuò)誤是wx.getStorageSync(token)返回undefined因登錄接口未正確存儲(chǔ)應(yīng)在login.js的success回調(diào)中顯式寫(xiě)入wx.setStorageSync(token, res.data.data.token); wx.setStorageSync(userInfo, res.data.data.user);4.2 現(xiàn)象Tomcat 啟動(dòng)后訪問(wèn)http://localhost:8080/tourism報(bào) 404但http://localhost:8080/tourism/login.jsp可訪問(wèn)原因web.xml中welcome-file-list未配置index.jsp或index.jsp不在webapp/根目錄下。本項(xiàng)目index.jsp位于webapp/但web.xml缺少歡迎頁(yè)配置。解決在webapp/WEB-INF/web.xml的web-app標(biāo)簽下添加welcome-file-list welcome-fileindex.jsp/welcome-file /welcome-file-list4.3 現(xiàn)象商家上傳景點(diǎn)圖片后頁(yè)面顯示空白數(shù)據(jù)庫(kù)scenic_spots.image_path字段存的是upload/20230501/abc.jpg但瀏覽器訪問(wèn)http://localhost:8080/tourism/upload/20230501/abc.jpg報(bào) 404原因Tomcat 默認(rèn)不提供upload/目錄的靜態(tài)資源服務(wù)需在web.xml中配置DefaultServlet映射。解決在webapp/WEB-INF/web.xml中添加servlet-mapping servlet-namedefault/servlet-name url-pattern/upload/*/url-pattern /servlet-mapping并確認(rèn)scenic_spots.image_path存儲(chǔ)的是相對(duì)路徑不含upload/前綴前端拼接時(shí)用http://localhost:8080/tourism/upload/image_path。4.4 現(xiàn)象管理員后臺(tái)點(diǎn)擊“刪除景點(diǎn)”瀏覽器彈出確認(rèn)框后頁(yè)面無(wú)反應(yīng)F12 查看 Network 發(fā)現(xiàn)DELETE請(qǐng)求返回 500原因ScenicSpotController.delete()方法中scenicSpotService.removeById(id)調(diào)用前未校驗(yàn)景點(diǎn)是否已被訂單引用導(dǎo)致外鍵約束失敗拋出SQLIntegrityConstraintViolationException。解決在ScenicSpotService.removeById()中增加前置檢查// 先查是否有訂單關(guān)聯(lián)此景點(diǎn) Long orderCount orderMapper.countBySpotId(id); if (orderCount 0) { throw new ServiceException(該景點(diǎn)已有訂單無(wú)法刪除); }4.5 現(xiàn)象MySQL 執(zhí)行tourism.sql時(shí)scenic_spots表創(chuàng)建失敗報(bào)錯(cuò)Specified key was too long; max key length is 767 bytes原因scenic_spots.name字段為varchar(200)使用utf8mb4字符集時(shí)單字符最多占 4 字節(jié)200×4800 767。解決修改tourism.sql中scenic_spots.name字段長(zhǎng)度為varchar(191)191×4764 ≤ 767或在 MySQL 5.7 中執(zhí)行SET GLOBAL innodb_file_formatBarracuda; SET GLOBAL innodb_file_per_tableON; SET GLOBAL innodb_large_prefixON; ALTER TABLE scenic_spots ROW_FORMATDYNAMIC;5. 真實(shí)業(yè)務(wù)縫合如何把“景點(diǎn)路線”模塊從靜態(tài)列表變成可交互的導(dǎo)航閉環(huán)5.1 路線數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)為什么用spot_routes表而非 JSON 字段很多初學(xué)者會(huì)把路線點(diǎn)存成JSON字符串如{points:[{lat:30.1,lng:120.2,name:入口},{lat:30.2,lng:120.3,name:觀景臺(tái)}]}但這會(huì)導(dǎo)致無(wú)法按坐標(biāo)范圍查詢、無(wú)法建立空間索引。本項(xiàng)目采用關(guān)系型設(shè)計(jì)CREATE TABLE spot_routes ( id BIGINT PRIMARY KEY AUTO_INCREMENT, route_name VARCHAR(100) NOT NULL, description TEXT, create_time DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE route_points ( id BIGINT PRIMARY KEY AUTO_INCREMENT, route_id BIGINT NOT NULL, point_name VARCHAR(50) NOT NULL, latitude DECIMAL(10,8) NOT NULL, -- 緯度 longitude DECIMAL(11,8) NOT NULL, -- 經(jīng)度 sort_order INT NOT NULL DEFAULT 0, -- 排序序號(hào) FOREIGN KEY (route_id) REFERENCES spot_routes(id) ON DELETE CASCADE );優(yōu)勢(shì)route_points表可對(duì)latitude/longitude建復(fù)合索引支持“查找距離某坐標(biāo) 1km 內(nèi)的所有路線點(diǎn)”sort_order字段保證前端渲染順序ON DELETE CASCADE確保刪除路線時(shí)自動(dòng)清理點(diǎn)數(shù)據(jù)。5.2 小程序端路線展示Canvas 繪制折線 Marker 標(biāo)注的實(shí)戰(zhàn)代碼pages/route/detail.js中onLoad獲取路線數(shù)據(jù)后調(diào)用drawRoute()方法drawRoute(points) { const query wx.createSelectorQuery(); query.select(#routeCanvas).fields({ node: true, size: true }).exec((res) { const canvas res[0].node; const ctx canvas.getContext(2d); const dpr wx.getSystemInfoSync().pixelRatio; canvas.width res[0].width * dpr; canvas.height res[0].height * dpr; ctx.scale(dpr, dpr); // 計(jì)算畫(huà)布坐標(biāo)將經(jīng)緯度映射到畫(huà)布像素 const bounds this.getBounds(points); const scaleX res[0].width / (bounds.maxLng - bounds.minLng); const scaleY res[0].height / (bounds.maxLat - bounds.minLat); // 繪制折線 ctx.beginPath(); ctx.setStrokeStyle(#1890ff); ctx.setLineWidth(3); points.forEach((point, index) { const x (point.longitude - bounds.minLng) * scaleX; const y res[0].height - (point.latitude - bounds.minLat) * scaleY; // Y軸翻轉(zhuǎn) if (index 0) { ctx.moveTo(x, y); } else { ctx.lineTo(x, y); } }); ctx.stroke(); // 繪制 Marker points.forEach((point, index) { const x (point.longitude - bounds.minLng) * scaleX; const y res[0].height - (point.latitude - bounds.minLat) * scaleY; ctx.beginPath(); ctx.arc(x, y, 6, 0, 2 * Math.PI); ctx.setFillStyle(index 0 ? #52c418 : index points.length - 1 ? #faad14 : #1890ff); ctx.fill(); ctx.setFontSize(12); ctx.setFillStyle(#000); ctx.setTextAlign(center); ctx.setTextBaseline(middle); ctx.fillText(point.point_name, x, y - 15); }); }); }邏輯說(shuō)明getBounds()計(jì)算所有點(diǎn)的經(jīng)緯度極值用于歸一化scaleX/scaleY將地理坐標(biāo)轉(zhuǎn)為畫(huà)布像素Y 軸翻轉(zhuǎn)是因?yàn)榈貓D緯度北增南減而 Canvas Y 軸下增上減。參數(shù)說(shuō)明dpr設(shè)備像素比確保高清屏顯示清晰ctx.arc()繪制圓形 Marker起點(diǎn)綠色、終點(diǎn)橙色、中間藍(lán)色符合用戶認(rèn)知。5.3 后端路線推薦基于用戶歷史訂單的協(xié)同過(guò)濾簡(jiǎn)易實(shí)現(xiàn)當(dāng)用戶查看某景點(diǎn)時(shí)后端SpotController.recommendRoutes()接口會(huì)返回“常與該景點(diǎn)一同被訂購(gòu)的路線”。不用復(fù)雜算法用 SQL 關(guān)聯(lián)即可SELECT sr.id, sr.route_name, COUNT(*) as freq FROM spot_routes sr JOIN route_points rp ON sr.id rp.route_id JOIN orders o ON rp.point_name IN ( SELECT ss.name FROM scenic_spots ss WHERE ss.id o.spot_id ) WHERE o.user_id #{userId} AND o.order_status 3 -- 已完成訂單 GROUP BY sr.id, sr.route_name ORDER BY freq DESC LIMIT 3;說(shuō)明該 SQL 通過(guò)route_points.point_name關(guān)聯(lián)scenic_spots.name找出用戶歷史訂單中景點(diǎn)名稱匹配的路線點(diǎn)再按路線分組計(jì)數(shù)。雖簡(jiǎn)單但比純隨機(jī)推薦更貼近真實(shí)行為。5.4 從“能跑”到“能用”我每次交付前必做的三件事第一強(qiáng)制走一遍「用戶下單→商家發(fā)貨→用戶確認(rèn)→管理員查看統(tǒng)計(jì)」全流程用 Postman 模擬每個(gè)角色的請(qǐng)求頭特別是Authorization驗(yàn)證orders.order_status字段是否按預(yù)期流轉(zhuǎn)第二導(dǎo)出tourism數(shù)據(jù)庫(kù)用mysqldump --skip-triggers --no-create-info tourism data_only.sql清除建表語(yǔ)句只留INSERT作為交付給導(dǎo)師的“純凈數(shù)據(jù)”第三在小程序project.config.json中把a(bǔ)ppid改為空字符串這樣即使別人拿到代碼也無(wú)法直接上線倒逼他們理解配置項(xiàng)含義。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩三级伊人| 日韩精品99久久久久久中文字幕| 97精品国产97久久久久久户外免费| 美骚妇av高清在线| 天天爽入口| 亚洲se91| 亚洲蜜桃V妇女| 深夜操逼网| 亚州色阁| 91足交| 少妇毛片久久| 亚洲图片欧美色| 丁香五月激情综合| 日韩三A大片在线观看| 艹我哪美一区无码| 一区二区三区高清| 男人天堂一区二区| 丰满人妻一区二区中文| 午夜一区二区三区国产| 国产精品一区二区后入| 熟女这里只有精品6| 69精品人人人人| 操逼操2| 视频二区美腿丝袜制服人妻欧美 | 琪琪精品免费一区二区三区 | 情趣丝袜无码操逼视频| 97视频在线观看高清资源| 九九九九热| 人妻一区二区三区| 国产无马在线| 精品十三区| 一级特黄aaa大片在线观看成人一级片在线观看| 综合网欧美在线| 亚洲清纯综合| 熟女在线视频| 欧美麻豆成人同性GⅤ在线| 91 丝袜在线观看| 99操视频| 日本操逼视频导航| 97在线日韩中文字幕| 女人被添高潮免费视频| 日本国产二线女色| 日韩三级视频一区二区三区| 日韩无码一级黄色av片| 久操影视| 96AV精品| 2019天天干天天操| 91欧美少妇| 久久女人视频| 亚洲第一狼人丝袜美女另类| a人片中文字幕一区二区| 最近2019中文字幕国语免费版| 91N综合网在线| 丁香五月自拍| 人人 操人人 操人人| 97一区二区三区视频| 日韩性爱视频免费在线| 女人天堂av在线播放| 东北老女人的激情视频| 国产操逼逼网| 一级婬片120分钟试看| 亚洲男人的天堂在线看| 人妻激情另类| av天堂手机版追回| PMv在线观看| 亚洲色图欧美色图综合| 亚洲一本色码中文字幕| 天堂国产AV| 日本色色色视频| 91欧美经典| 小明看看网址| 亚洲男人的天堂AV| 色99色| 秋霞网—男女啪啪亚洲免费体验区 | 国内一区二区免费| 天天影视之亚洲综合网| 日韩一999精品| 日韩av乱伦| 亚洲码在线中文在线观看| 少妇蹲下买菜露大唇0| 情侣开房子拍 日韩无码 女的很漂亮| 无色无码| 久久国产热视频97电影| 啪啪啪亚欧美视频| 亚洲天天更新| 欧美人妖内射| 97操在线| 青青草手机在线免费观看| 色色色色综合网| 国产午夜福利电影免费在线观看 | 97超碰69| 亚洲制服欧美另类内射| 91c色| 久久久久女教师免费一区 | 国产精品直播在线观看直播| 欧美色网络| 操淫穴亚洲五月丁香 | 91艹B视频| 欧美色宗合| 少妇天堂| 久久久999国产精品| 日韩人妻精品中文字幕| 六月婷婷综合| 长长久久免费视频| 久久久18| 狠狠穞A片一區二區三區| 精品国产肉丝袜在线拍国语 | 青青草依人大香蕉| 久久一区二区蜜桃| 国产路线专区| 亚洲色图伊人网| 日本精品免费一区二区三区四区| 蜜臀精品1区2区| 欧美另类色图片| 欧美亚性天堂| 男人的天堂在线有码| 自拍大香蕉乱插| 国产三级多多影院2022国产AA一级毛片无码| 中国AV美女| 国模私拍一区二区三区神乳| 91色人妻| 人人操肉肉| 日人妻视频91| 日韩不卡a级视频专区| av在线不卡一区二区三区| 欧美性爱免费短视频| 亚洲国产成人7777| 人人贴人人摸| 啊啊啊啊操死我了| 欲香欲色天天天综合和网| 九九久久99| 性性久久| 热热色青青草| 综合网天天| 啊啊啊操死我| 1级午夜影院费免区| 无码最新| 丁香五月自拍| 久久久久久大| 熟女高潮合集-永久久久-成人AV | 三级特黄60分钟播放| 无码WWW免费视频网站| 亚洲精品无码成人久久久99| 色99在线| 亚欧美综合网。| 亚欧操逼片在线观看 | 99久久无色码| 麻豆国产成人精品| 午夜亚洲| 99久久国产精品免费高潮| 伊人黄色片| 国产精品香蕉热久久新品| 久久婷婷六月综合| 国产精品 午夜福利| 亚洲的天堂网| 99av| 欧洲亚洲国产综合在线| 婷婷色在线| 好吊色一区| 丰满人妻一区二区中文| 60秒不遮不挡| 播播亚洲小说亚洲| 97 国产一区| 亚洲麻豆18发?| 美女诱惑久久| 日本一区二区做爱的视频| 日本三级日本三级99| 色婷五月天| 热久日综合| 欧美色图99| 欧洲在线性爱视频| 亚洲丝袜色| 色www精品视频在线观看| 国产97色在线 | 亚洲| 久久国产AⅤ| 一级特级aaaa毛片免费观看| 黄色视频60分钟| 久久久久人妻| 精品二区三四区五电影 | 国产精品免费视频人成| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 久久久久久人| 黄色大片免费在线| 五十路人妻在线| 亚洲 无码 偷拍| 亚洲欧美日韩精品久久久一区二区| 欧美不卡在线美女| www.91视频网| 色综合网1| 免费看污网址| 国产精品一区av在线| 婷婷激情五月| 91天美免费| 淫荡少妇免费| 91久久久老司机| 欧美精品久久96人妻无码| 国内外色色色色色成人视频| 亚洲天天天| 国产欧美日韩一区二区三区| 黄呦呦在线| 91色综合| 天天透伊人| 超碰69| 欧美呦呦性爱| 国产AV天美| 欧美国产精品久久九九| 天堂伊人久久| 超碰成人最新最好看| 欧美情色贴图| 亚洲欧美综合区自拍另类| 亚洲欧美性生活| 日本潮催一卡操| 啊a一区在线| 啊v在线观看视频| 国产视频第二页| 久久曰曰| 加勒比综合88| 亚洲高潮少妇| 亚洲性爱成人| 97频视在线| 在线无码操| 少妇专区一二三四五| 东北丰满熟女国产一区| 98精品国产乱码久久久久久| 天天操天天舔| juliaann欧美丝袜办公室| 大香蕉啪啪啪| 台湾一区国产高清在线| 激情小说亚洲视频| 九九aV| 二级毛片| 国产亚洲 中文欧美久久| 亚洲色图图片| 91精品婷婷国产综合久久竹菊| 亚洲精品aa久久伊人| 人妻黑丝袜电影| 亚洲成a人在线观看久| 久久超碰天天| juliaann精品熟女一区| 思思热国产在线视频| 9ⅰ久久久天天| 岛国片在线观看视频亚洲| 日韩精品一区二区人人人| 国产精品久久久久久夜夜夜| 亚洲国产91精品一区二区久久| 青青欧美| 偷拍2020| 欧美综合第一页| 五月丁香狠狠爱| 双插在线| 亚洲一本大道中文字幕无码在线| 超碰97伊人| 中文字幕在线观看网页| 亚洲一区二区三区AV无码| 精品人妻一区二区免费看| 亚洲另类久操网| 操逼片中文| 男人的天堂VA| 伦理日韩国产久久| 久久久不卡区一区二区三区久久久| 国产亚洲禁久一区二区| 日本操逼aaaaa| 无码久| 五月婷婷丁香六月| 成人三一级一片aaa| 国产9熟妇视频网站| 亚洲AV免费在线观看| 强免费黄色网址| 国产在线观看一区二区三区| 久操视频在线| 成人十八禁日韩欧美一二三| 五月丁香影院| 草莓精品视频| 中国一级αV| 蜜臀99久久国产| 天天澡天天爽日日av| 69人妻精品一区二区绯色| 国产网红精品| 青娱乐999| julia ann久久| 第一高清av中文字幕| 欧美性爱无码一区二区三区| 欧美高清18A片| 一本色道人妻久久| 亚洲黄日韩无码专区| 麻豆2区1区天美| 国产精品亚洲美女久久久久| 精品性爱一二三区| 精品久久人妻成人网| 日本精品网站在线中文| 婷婷色色五月天福利| 日本道人妻久久久在线不卡色视频| 欧美性爱日韩性爱| 亚洲激情AV| 青青青操| 亚洲无码电影久久久| 亚洲中文字幕网| 加勒比伊人综合| 色天天野狼综合社区| 欧美91精品国产自产| 精品亚洲国产成人AV制服丝袜| 精品久久久久瑟瑟| 九九综合九九综合| 亚洲官网在线| 84YTCOM性无码| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 青青草九九九九九| 一区二区三区视频| 嗯~啊~快点 死我视频| 91精品国产一区三一| 91色婷婷综合久久中文字幕二区| 啊啊啊啊啊啊啊啊啊在线观看| 日韩激情毛片一级久久久| 人妻天天爽夜夜爽爽| 久久这里只有精品9| 人妻天天夜夜爽一区二区| 国产AV天美传媒一区二区三区| 51一区二区三区| 粉嫩小泬久久久一区二区| 欧美96精品在线| 男人的天堂2019AV| 中文一区二区三区影院| 9超碰免费| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 婷婷在线视频在线观看| 欧美日韩大陆黑人少妇99| 超碰精品日韩欧美国产| 亚洲性少妇| 国产色精品午夜大片| 综合大香蕉美。| 日本3级一区二区免费| 国产自偷| 国产13区| 隔壁邻居波多野结衣中文字幕 | 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 色原狠狠天天天| 六月丁香五月婷婷| 国产在线观看一区二区三区| 在线情色电影 91大| 欧美 亚洲 偷拍自拍| 91亚洲欧美激情| 日本熟妇熟色97一本在线观看| 天天射天天| 亚洲性猛| 麻豆区99999| 被男人吃奶很爽的毛片| Aa东京男人的天堂| 91蜜臀熟女| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 久久婷婷电影网| 亚洲吊色| 亚洲va综合va国产va中文| 国产精品白丝在线播放| 欧美日综合| 久久超碰亚洲人| 亚洲αv一区二区三区| 啊啊啊在线看| 天天爽夜夜操| 超碰无码加勒比| 大茄子熟女AV导航| 嗯嗯啊啊啊啊轻点视频| 日韩av色图综合| 欧美操逼一二三区| 日韩A优精品在线观看| 熟女精品日韩一区二区三区 | 亚洲一区二区av| 成人五月天色网| 美女操逼福利视频| 亚洲麻豆av一区二区| 我想要啊 啊 啊| 黄色不卡视频| 国内精品不卡无毒99999| 蜜臀操逼黄色视频操的好爽| PMv在线观看| 日韩欧美蜜桃精品久久中文字幕久久| 九草在线大香蕉| 婷婷亚洲中文字幕在线| 97干在线| 99操碰| 青青伊人这里只有精品| yaouchengrenav| 射综合网| 97久久国产| 色97综合中文字幕| 无码人妻精品一区二区三区九九 | 国产自啪精品视频网站黑丝| 自拍二页| 欧美中文狠| 91成人国产综合久久精品蜜月| 夜夜肏2021| 涩五月婷婷| 青娱乐日韩无码| 亚洲黄色a级片| 黄色电影在线播放综合网站| 国产精品第一区第一页| 欧美大香蕉久| se吧提供91精品国产91久久久久久| 大香蕉中文| 欧美在线|亚洲| 久久精品视频一区三区小泽玛利亚| 亚洲av总站| 六月天婷婷| www久久久| 99碰碰| 久久AV无码网址| 国产一区二区三区导航| 免费啪啪啪网站18岁| 蜜臀一区二区三区在线| 影音先锋每日最新资源在线观看 | 懂色AV一区二区三区| 92福利社视频| 国产伦精品免编号公布| 蜜乳av首页| 亚洲丁香花色| 91 亚洲 欧洲| 色噜噜人妻丝袜AV资源| 综合97久久| 欧美亚洲韩国视频十五区 | 久久蜜桃一区二区| 天天综合亚洲综合| 国产亚洲精品久久久久小 | 成人九九| 亚洲欧美97√| 韩三级a视频在线观看| 正在播放国产精品一区| 日本在线激情一区二区三区 | 色综合超碰超| 青青草好吊色| 欧美性爱日韩高清| www网站黄| 色色热| 超碰97色色| nuu12国产麻豆精品| 欧美激情亚洲| 日本精品网站在线中文| 婷婷激情四射| 欧美熟妇亚洲版| 夜夜嗨一区| av网站国产主播在线| 亚欧高清| 亚洲图片偷拍视频区| 麻豆视频test| 97色欧洲| 大香蕉视频一二三区| 手机看av网站在线看| av天天在线观看| 欧美在线色| 久久大| 日韩av一级黄片| 99少妇精品视频| 人人妻人人色| 91狠狠综合网| 欧美性生活综合| 91美乳| 91成人无码| 玖玖爱在线视频免费观看| 91麻豆va国产精品| 欧美熟女丝袜| 日韩黄色片子| 欧美嫩性色| 人妻蜜桃臀| 日本不卡高清视频| 中文字幕丝袜美腿| 青青草日韩免费观看高清在线| 青青草国产欧美非洲黑人| 欧美经典一区二区三区| 久久曰曰| 亚洲国产成人精品久久久国产成人一区二区| 精品一啪| 亚洲女人毛茸茸91| 超碰在线香蕉| 青青草字幕AV| 熟女这里只有精品6| 欧美嗯啊……在线观看视频免费| 女人香蕉久久毛毛片精品| 国产精品美女在线一区| 亚州综合图片| 亚洲第一狼人丝袜美女另类| 中出789在线视频| 搡老女人老91妇女老熟女| 性一交一乱一交A片久久四色| 亚州国产成人精品女人久久 | 久草资源在线视频官方总站日韩丝袜美腿| 亚欧美色图| 国产欧美岛国精品一区| 亚洲情色无码一区二区三区| 亚洲 一区二区 自拍| 欧日韩在线观看| 曰韩精品视频一区二区| 一本久久精品中文字| 黄片qw| 超碰538| 精品中文字幕第一页| 96国产污污污丝袜| 久久久久国产精品喷潮免费观看臀 | 亚洲va综合va国产va中文| 东京热伊久| 啊视频在线| 精品人妻一区二区三区夜夜| 国岛片视频| 色网亚洲人| 99热精品在线播放| 欧美日韩在线小说 | 欧美性爱五月天| 91亚洲网站| 97超碰国产亚洲精品资源| 成·人免费午夜在线观看| 欧美专利1区2区3区4区5区免费| 精品99999| 大香蕉国产中文自拍| 26uuu性物| 人妻无码一区二区三区久久99| 亚洲偷拍自拍在线视频| 久啪视频| 少妇99成人麻豆| 国产成人欧美一区二区三区的国产| 91无码人妻| 欧美日韩91| 91久久久亚洲| 欧美综合传媒| 日韩伦理久 久久 清纯| 国产 v乱码一区二| 91操操操操| 狠色婷婷久久一区二区三区_| 亚欧韩av| 天天插夜夜操| 国产尤物在线三区| 在线黄色污污网站| 国产精品色色| 国产人妖视频一区在线观看| 高清孕妇孕交 交| 伊人网在线观看| 激情五月丁香五月| 日韩精品在线视频在线观看 | 久久久婷婷| 国产在线强奸视频| 国产精品成人午夜福利| 欧洲精品欧洲精品| 蜜臀AV一区二区三区激情综合| 天堂中文日本在线观看| TS人妖另类精品视频系列| 麻豆天美在线喷水AV| 99国内精品| 日韩少妇一区二区三区| 夜夜草我| 综合夜夜| 色97国产69香蕉| 欧美婷婷久久| 性感女人网页在线观看视频| 久9视频| 黄片色区软件| 无码区蜜乳| 熟女人妻一区二区三区| 欧美91网| 亚洲自拍青操视频| 91五月天| 久久精品一区| 天天干一区二区| 色婷婷基地| 三级三级三级a级全黄三| 1769一区| 日韩成人私密一级精品av| 亚洲欧洲综合| 99热这里都是精品| 亚洲欧美国产精品久久久久久久| 欧美日韩国产人人| 色眯眯av| 四虎精品一区| 国产熟码AV| 超碰一区二区| 美国三级日本三级久久99| 亚码人妻| 伊人991| 久草综合视频| 午夜综合在线| 91 国产丝袜在线播放-百度| 蜜臀久久99'精品久久久| 欧美第二页午夜| 91 综合 色| 91网亚洲| 天天干天天日天天射黄色片| 日本五十路在线| 色婷婷淫色网| 夜夜骑日日| 啪啪啪男女亚洲中文字幕99| 人妻天天爽夜夜爽2| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 久久国产视频专区一二三| 精品久久久av| 一区| 人妻人久久精品中文字幕| 亚洲诱惑天堂 | 99热| 操婢日韩| 国产第25页在线观看| 色就色综合| 最新啪啪视频| 久久超碰久| 97精品国产97久久久久久免费| 欧美最婬乱婬爆婬性视频 | 国产懂色精品国产av| 欧美成人性爱视频大全| 麻豆天美久久91| 大香蕉综合久久| 后入式999| 加勒比伊人| 精品国产91av一区二区三区| 在线综合色| 超碰av人人人| 天天综合网AV91| 18+91网站| 亚洲欧美一区二区网址| 色一色综合网| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 久久影视二区三区行押| 久久精品超碰| 密乳AV免费观看| 成人看片网站| 精品人妻一区二区免费蜜桃| 男插女青青影院| 女人香蕉久久毛毛片精品| 超碰在线人妻中文字幕| 色情综合| 荡小穴在线观看| 国产欧洲精品亚洲午夜拍精品| 国产97色在线 | 亚洲| 九九九九精品精| 岛国AB视频| 懂色综合久久久| 精品综合久久久久久97| 少妇熟女1区2区3区| 3p国产欧美99热| 国产五码丝袜屁眼| 国产精品国产精品国产| 日韩另类| 啊啊啊啊啊好舒服视频| 欧美se综合| 国产网站在线播放| 骚逼一区二区| 啪啪综合网| 老司机射| 天天干天天日天天射黄色片| 国产在线播放成人免费| 性爱综合网| 超碰到97情色| 成人精品一区二区91毛片不卡| 国产亚洲色婷婷久久99精品91| 成人一区二区三区四区| 亚洲欧洲无码bt精品合集| 99色色网| 亚欧洲日韩国产精品| 强奸乱伦麻豆| 男人精品天堂一区| 国产精品蜜臀久久久久无码AV| 99国内精品| 大香蕉中文网| 农村妇女一级二级三级视频| 日曰骚久久精品| 尤物一级在线免费观看| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 蜜乳AV一区二区三区四| 亚洲的天堂网| 精品偷拍13p欧美dodk视频| 亚州人妻| 中文字幕乱在线伦视频中文字幕乱码在线| 91人妻视频| 国产欧美日本亚洲精品| 少妇毛片久久| 上床啊啊啊| 91操操| 九九草| 日本在线不卡123| 舔足天天操天天射| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 女欧美一区二三区| 成人熟女视频一区二区三区| 五月天我淫我色av| 乱精品一区字幕二区| 激激五月| 人人操人人插人人摸人人干| 欧美亚洲| 秋霞久久亚洲精品成人| 韩国午夜理伦三级好看| 国产精品视频白浆免费| 亚洲色久| 日本大片日本一区二区免费高清| 久久超碰免费的| 天天操天天日青青草超碰av| 亚洲第二页| 精品久久久av无码免费| 18禁精品网站在线看| 午夜丁香婷婷| 91亚洲欧美色图| 熟人人妻少妇精品久久| 亚洲 日本 国产 综合| 欧美成人精品A片免费一区99| 九久9热| 人妻无码一区二区三区久久99| 97日韩| 十八禁啪啦拍视频无遮挡| 欧美 日韩 另类 亚洲| 欧美色乱| 亚洲 欧美日韩 另类| 日韩一级二级在线| 欲综合网| 亚洲av影院在线观看| 新91视频.cmp| 韩国黄色片精品久久久 | www.狠狠干.coom | 射丝袜大香蕉| 国产精品午夜成人福利| 五月丁香激情综合| 可能人人看人人摸| 欧美操逼熟女| 伦伦成年午夜免费视频| 青青草成人视频在线观看二区| 91综合天天看| 色99色| 91精品人妻一品二品三品| 郑州宾馆老熟女露脸啪啪| 97中文字幕一区| 在线无码视频| 久久久久网站-538在线视频-欧美永久乱码| 国产无码精品无码| 亚洲欧洲第二视频在线观看色图| h无码动漫在线观看| 夜夜高潮夜夜爽夜夜爱爱一区| 超碰三级秋霞| 日韩性爱电影一区| 国产成人亚洲精品无码最新在线| 色欧洲97| 国产二区三区粉嫩在线| 久久综合五月天| 色狠狠 - 百度| 啊啊啊好多水| 啊啊啊 在线| 偷拍2020| 久久久久久久久久久久黄色 | 91丨九色丨国产打屁股| 亚洲国产精品9999在线观看| 欧美 亚洲| 欧日韩一二三f区| 91AV天美在线视频| 校园春色宗合网| 啊啊啊啊操死我了| caopeng97人妻| 成人日本精品九区| 极品色社| 国产在线不卡导航| 天天日B狠狠操| www.婷婷六月天| 久久精品性| 婷婷伊人綜合中文字幕小说| 久久欧美性爱视频| 91人妻尻屄视频| 超碰91在线| 91久久久久久| 91九久| 熟妇女人妻呻吟久久AV| 躁躁日曰躁2020| 97资源欧美| 色大香蕉97N| 人妻人久久精品中文字幕| 久草毛片| 欧美色图第一页| 精品国产Av无码久久久亚洲| 久久受www免费人成| 午夜视频好爽啊| 操逼操操操91| 粘花网06av视频| 成人在线午夜视频一区| 国产农村妇女毛片精品久久| 97超碰色情| 大黄片做爱的大的| 午夜男人一级A片7777| 中文字幕 码 自拍 视频 区| 久久色人体| 久草男人天堂| 夜夜嗨一区| 久久国产AⅤ| 91人妻Pr| 91久久久老司机| 另类图片天天影视| 午夜理论片在线观看免费| 欧美 亚洲 综合 制服| 一区二区三区无卡视频在线观看| 91N综合网| 思思热免费在线视频| 亚洲日本成人动漫| 亚洲高清在线se| 日本色色视频网站| 久久本道| 20cm女自慰在线日韩欧美| 亚洲AV永久无码一区仙野| 国产青青美女玩逼视频| 国产日韩精品suv| 久都青青视频| 亚洲影视综合| 久久久久久久人妻| 国语精品av| 97国产成人精品免费视频| www被窝色com| 免费av大片| 新怡红院| 久久精品小视频| 色噜噜狠狠色综无码久久合欧美| 亚洲精品精品一区二区| 99热欧美| 国产精品一区二区三区在线密挑| 偷拍导航视频网站| 少妇二级| 国产又猛又粗又爽又黄| 欧美在线大香蕉| 国产精品久久成人免费| 天天干人妻视频| 亚洲 欧美 天天| 国产福利一区二| 日本999精品| 五月丁香啪啪网| 97在线视频观看| 国产美女激情| 国产亚洲精品自在线亚洲情侣| 天天性射网| 欧美淫穴| 国产麻豆一级精品视频| 91美女小视频| 91麻豆一二三区| 国内外色色色色色成人视频| 日韩av无码网站| chaopen97久久| 高清不卡一二三区视频......| 成人自拍三级在线观看| 90后后入| 亚洲性图91| 久久国色天香香蕉| 国产一区二区在线电影| 久久免费99精品久久久久久| 久久大香蕉97| 老司机午夜福利视频一区二区| 五月丁香综合| 日韩一级欧美一级在线观看| 在线中文字幕| 久久久96| 国内伊人久久久久久网站视频| 后入式五六区| 97这里只精品| 久久人人爽爽爽人久久久| 岛国片在线观看视频亚洲| 亚洲一级性爱视频免费看| 国产精品不卡高清在线观看| 清纯唯美综合| 91免费看中出视频| 伊人性在线视频| 99久久9| 一二三四区操操Av| 亚洲在线观看| 欧美淫乱视频| 日韩综合第八区国产精品| 中文在线视频| 久久久月天| 激情在线青青操| 18+91网站| 亚洲国产精品成人久久蜜臀| 欧美黄色图片| 亚洲伊人成综合成人网| 乳欲人妻办公室奶水| 蜜乳av一区二区| 综合久久欧美| 夜夜 中文视频rt| 隔壁邻居波多野结衣中文字幕| 欧美一级三级| 婷婷丁香五月综合| 亚洲激情网一二三四区| 熟妇高潮二区三区| a v网站在线播放| 97精品国产手机| 一级性爱视频免费在线| 日本精品一区三区| 亚洲人妻五月丁香婷婷| 亚洲啪啪性视频| 成人资源中文字幕在线观看| 人妻 中文 日韩| 蜜臀无码一区二区| 国产精品久久久久久片| 99re在线视频国产| 亚洲成A∨人影院在线欢看| 国产精品乱码久久久久久| 美女写真| 青青草原香蕉日本Ap| 啊啊啊啊视频免费| 中文字幕艹艹| 精品天堂| 97国伦国色| 日韩AV无码中文一区二区| 热热色国产一二区AV| 大香蕉五月天婷婷| 97精品视频| 日日A∨| 国产精品99久久久www| 超碰色老头| 啊啊啊97视频| 三级激情网站| 国产综合操逼高清| 成人性交免费视屏| 久久婷婷综合国际产色怕| 中文字幕91综合| 96免费视频在线| 欧美AAAA黄片| 色五月首页| 精品乱码久久久久| 国产综合日韩伦理| 免费观看有码高清视频| 一区二区不卡免费| 狠日操| 国产99999久久精品| 婬女免费一二三区A片| 欧美日韩色| 嫩草 人人网精品| 综合久久久久久久综合网| 看看日B真人视频| 日韩啪啪网| 日韩无码人妻| 91精品在线播放| 91久久婷婷| 久久亚洲一区女同性恋中文字幕| 欧美日产国产在线成人第一区| 蜜臀久久99精品久久久老,,| 97少妇人妻中文字幕久久| 中日亚韩免费视频| 91色噜噜狠狠| 久久国产AⅤ| 亚洲蜜臀视频精品久久| 色噜噜狠狠色综合日日| 天堂v无码免费视频| 久久超碰av在线| 久久精品免费| 日韩黄色一区二区三区| 五月亭亭六月丁香| 天天干人妻视频| 青青草色情网站视频| 日本有码久久| 日本女优在线视频福利| 人人妻人人爱人人玩| 日本999精品| 熟妇熟女视频一区二区三区| 国产精品久久久久久 百度| 人妻精品视频一区二区三区| 亚洲图片视频小说| 欧美变态激情网| 九九热视频这里只有精品| AV中文在线可看| www.色五月| 色牛牛AV| AA丁香综合激情| 韩国黄色片精品久久久 | 色性综合| 九九激情网| 人妻丝袜无 码视频专区| 欧美日韩第一页| 色综合色| 丁香五月天激情综合| 亚洲天堂久久| 伊人五月天| 久久精精区一区二区一蜜桃一区二区| 婷婷色导航| 超碰久久性爱| 中文字幕在在线观看网站| 国产欧美一区二区| 少妇三P| 夜夜免费视频| 亚洲综合伊人无码久久| 少妇综合网| 黄片免费视频2019| 日韩精品在线观看网站| www.av在线观看| 婷婷久草一区二区三区| 青苹果影院男人的天堂| 啊啊啊啊啊啊啊在线| 青青草在线视频播放器| 久草加勒比一区在线| 日韩成人在线性爱视频| 国产高清MV操逼视频| 超碰av在线| 黑人天8A∨高清网站| 欧洲性人爱视频| 国产午夜在线观看| 六月色色| 91久久久老司机| 超碰97精品| 国产精品久久伊人| 欧美无圣光在线| 无码人妻一区二区三区免费九色| 中文字幕精品一区欧美| 亚洲色图激情小说| 久草毛片| 秋霞曰韩R级| 一区中文字幕二区日韩| 五十路熟女人妻一区二区在线观看| 性爱Av免费| 欧美午夜视频| 国产家庭乱伦表演| 久久久亚洲精品电影免费看| 日韩无码人妻中字久久三区四区| 美女一区二区国产精品| 啊啊啊好舒服好爽啊啊啊视频| 久久久久亚洲| 偷窥自拍亚洲色图| 亚洲另类春色| 亚洲无套久久嗯嗯| 亚洲日韩美女丝袜美腿人妻视频| 色色婷婷五月| 天美传媒麻豆一区二区三区国产精| 中日韩熟女| 97精品一区| 国产亚洲色婷婷久久99精品91| 亚洲精品熟妇1区2区3区。| 3P乱轮视频| 丝袜加勒比| 男人天堂2012| 日本精品五区| 国产美女激情| 国产精品三级视频网站| 性色综合网| 精品一区二区三区最新| 日韩黄片影院| 后入式999| 91 丝袜在线| 国产精品无码av| 嗯~啊~轻一点 视频| 五月丁香影院| 性爱Av免费| 久操视频这里只有精品| 91欧美偷拍| 欧亚免费视频| 超碰国产精品无码| 午夜九九| 久偷拍| 五月婷婷丁香六月| 五月婷婷六月丁香网址| 91成人亚洲色图| 久九九九九九九热| 丰满的三级少妇欧美久久久| 中文字幕久久婷婷丁香五月天| 日本欧美m v精品网站加| 伊人亚洲国产一成人久久精品,久久| Sekablack无码一区| 97日韩| 国产精选视频| 岛国不卡超碰护士AV在线播放| 91九色首页| 黄色性爱网网| 3P乱轮视频| 两性色网| 午夜亚洲WWW湿好大| 久久久久国色αv免费观看| 97国产伦理| 综合久久99亚洲人妻中文在线| 伊人久久亚洲中文字幕| 97爱爱爱综合| 精品人人| 99re不伦| 欧亚日韩三区| 日韩精品人妻中文字有码在线| 欧美性色综合网| 亚洲国成人情色好看电影| 97干色天堂| 久久久久78| 亚洲AV永久无码精品成人调教| 热热色色综合| 亚洲成人AB| 欧美色图综合| 女同女同恋久久级三级| AV免费在线播放一区| 在线v中文字幕一区二区三区| 熟女被操视频网址| 北条麻妃99精品青青久久| 色哟哟-国产专区| 91色s| 欧美少妇色图| 伊人网综合在线视频| 一级免费啪啪片| 夜夜高潮夜夜爽高清视频一| 亚洲日产专区婷婷| 青青久久艹| 波多野42部无码喷潮在线观看| 欧美日韩性爱精品| 熟妇人妻一区二区| 久久久久深夜无码| 亚洲欧美一区二区网址| 午夜国产成人福利视频| 加勒比大香蕉视频在线| 天天日天天射天天干| 天堂亚洲精品| 人人妻人射| 久久不卡一区二区| 日韩无码第3页| 婷婷丁香五月天亚洲天堂网| 按摩中文字幕| 亚洲国产精品无石码久久 | 午夜综合在线| 91网九色蝌蚪操熟女| 婷婷五月综合在线| 欧美色图小说综合| 日欧亚洲二三区大片不卡| 久九干| 精品国产三级av韩国在线| 日本三级中国三级99人妇网站| 国产精品午夜福利视频| 91在线秘 男同| 欧美72网页| 亚洲不卡三级手机播放| 97色冈| 日韩欧无码一区二区三区免费不卡 | 曰韩av中文字幕专区| 国产成人精品一区| 人成午夜免费大片| 人妻少妇久久| 丁香六月激情综合| av2014 日韩在线中文字幕| 五月综合婷婷久久网站| 欧洲一区二区三区四区在线观看| 亚洲导航深夜福利| 成人黄页| 亚洲AV免费在线| 好吊色综合| 精品乱子一区二区三区99| 人妻人久久精品中文字幕| 国产乱婷婷精品二区三区| 亚洲网站一区二区在线| 亚洲最大的黄色电影网站。| 人人做,人人操,人人摸| 91女优在线观看| 综合激情五月天| 激情 欧美 亚洲 小说| 超碰碰激情97+久| 亚洲激情AV| 狠狠色伊人亚洲综合网站色| 久久↗↗| 亚洲天堂人妻一区二区| 日本操逼二区| 欧美国产婷婷久久| 加勒比综合九九99视频在线播放| 91c色| 久久成年片色大黄全免费网站| 男人精品天堂一区| 97久久久久久久精| 亚洲成熟国产精品美女| 97在线看| 亚洲999综合| 亚洲中文字幕妇伦久久| 日韩精品中文字幕一| 熟女精品日韩一区二区三区 | 六六久久日韩不卡| 不卡一区二区日本视频| 亚洲欧美另类激情小说| 欧美日韩系列| 伊人视频| 久热大香蕉网站| 中文在线久久字幕| 亚洲精品欧洲精品|