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

ARTICLE DETAIL

資訊詳情

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

基于微信小程序的培訓(xùn)咨詢(xún)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

基于微信小程序的培訓(xùn)咨詢(xún)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 從接觸微信小程序開(kāi)發(fā)到現(xiàn)在我經(jīng)手過(guò)不少面向機(jī)構(gòu)內(nèi)部的業(yè)務(wù)系統(tǒng)“培訓(xùn)咨詢(xún)管理系統(tǒng)”算是這類(lèi)需求里非常典型的一個(gè)。不管是職業(yè)技能培訓(xùn)機(jī)構(gòu)、企業(yè)內(nèi)訓(xùn)部門(mén)還是在線(xiàn)教育工作室核心流程都繞不開(kāi)“學(xué)員咨詢(xún)-課程展示-報(bào)名繳費(fèi)-進(jìn)度跟蹤”這條線(xiàn)。這篇文章就以我實(shí)際開(kāi)發(fā)的一個(gè)“基于微信小程序?qū)崿F(xiàn)培訓(xùn)咨詢(xún)管理系統(tǒng)”為例把設(shè)計(jì)思路、核心模塊、關(guān)鍵代碼和踩坑經(jīng)驗(yàn)完整拆開(kāi)講源碼在后面也給出了二次開(kāi)發(fā)指南。想自己搭一套培訓(xùn)咨詢(xún)小程序的朋友或者正在做課設(shè)、畢設(shè)需要參考項(xiàng)目的同學(xué)都能在這篇里找到可落地的方案。1. 項(xiàng)目背景與需求拆解1.1 培訓(xùn)咨詢(xún)管理的實(shí)際痛點(diǎn)培訓(xùn)行業(yè)的咨詢(xún)管理聽(tīng)起來(lái)很常規(guī)但真做起來(lái)比想象中瑣碎。傳統(tǒng)的做法通常是學(xué)員在公眾號(hào)或網(wǎng)頁(yè)留資銷(xiāo)售或課程顧問(wèn)通過(guò)Excel記錄跟進(jìn)情況再靠微信聊天維護(hù)意向客戶(hù)。等到報(bào)名環(huán)節(jié)又是手動(dòng)錄入信息、確認(rèn)繳費(fèi)、拉群通知上課。這套流程最大的問(wèn)題是“信息斷層”咨詢(xún)階段聊了什么繳費(fèi)時(shí)誰(shuí)負(fù)責(zé)的排課通知發(fā)沒(méi)發(fā)出去這些數(shù)據(jù)分散在各個(gè)載體里一旦顧問(wèn)離職或換微信號(hào)整個(gè)跟進(jìn)鏈條就斷了。我調(diào)研過(guò)幾家小型培訓(xùn)機(jī)構(gòu)它們最大的訴求不是“要一個(gè)大而全的CRM”而是“把咨詢(xún)和報(bào)名這兩個(gè)環(huán)節(jié)的數(shù)據(jù)先串起來(lái)”。也就是說(shuō)學(xué)員能從微信里快速了解課程、提交咨詢(xún)、完成報(bào)名后臺(tái)能統(tǒng)一看到所有學(xué)員的咨詢(xún)記錄和訂單狀態(tài)?;谶@個(gè)實(shí)際需求我定位了系統(tǒng)的核心功能邊界課程展示、在線(xiàn)咨詢(xún)、報(bào)名下單、后臺(tái)管理與學(xué)員跟蹤。1.2 為什么選擇微信小程序切入這里有一個(gè)經(jīng)常被問(wèn)到的問(wèn)題為什么非要用小程序而不是公眾號(hào)H5或獨(dú)立App答案其實(shí)很直白。一是獲客成本實(shí)體培訓(xùn)機(jī)構(gòu)讓學(xué)員掃碼即可進(jìn)入不需要下載安裝這一個(gè)動(dòng)作能減少極大的流失二是觸達(dá)能力小程序自帶訂閱消息能力課程開(kāi)課提醒、報(bào)名狀態(tài)更新可以直接推送到微信不需要額外做App推送適配三是微信生態(tài)內(nèi)分享傳播學(xué)員把一個(gè)課程卡片轉(zhuǎn)發(fā)給朋友對(duì)方點(diǎn)開(kāi)就能看詳情這種傳播路徑是H5做不到的。當(dāng)然小程序也有它的限制比如包體積不能超過(guò)2MB、部分原生能力需要付費(fèi)或資質(zhì)。但對(duì)于培訓(xùn)咨詢(xún)這個(gè)場(chǎng)景它的收益遠(yuǎn)大于限制這也是我最終選微信小程序作為前端載體的核心原因。2. 系統(tǒng)整體架構(gòu)與技術(shù)選型2.1 技術(shù)??傆[整套系統(tǒng)分前端、后端、數(shù)據(jù)庫(kù)三層技術(shù)選型上我盡量走“主流且容易復(fù)現(xiàn)”的路線(xiàn)方便你自己搭環(huán)境或做課設(shè)展示。層級(jí)技術(shù)選型說(shuō)明前端微信小程序原生WXML WXSS JS不用uni-app等跨端框架因?yàn)轫?xiàng)目只面向微信小程序原生框架足夠排查問(wèn)題更方便后端Node.js Express輕量、異步性能好JavaScript全棧對(duì)前端開(kāi)發(fā)友好代碼量也少數(shù)據(jù)庫(kù)MySQL 5.7關(guān)系型數(shù)據(jù)用MySQL最穩(wěn)后續(xù)做報(bào)表統(tǒng)計(jì)也方便鑒權(quán)微信登錄 code2Session微信官方OAuth流程換取openid作為用戶(hù)唯一標(biāo)識(shí)這里多說(shuō)一句為什么不選Java Spring Boot如果團(tuán)隊(duì)是Java背景那用Spring Boot完全沒(méi)問(wèn)題但如果只是給自己或機(jī)構(gòu)做一套業(yè)務(wù)系統(tǒng)Node.js更輕開(kāi)發(fā)速度和部署成本都占優(yōu)。項(xiàng)目源碼里我同時(shí)寫(xiě)了REST API的接口文檔換后端語(yǔ)言不愁改不了。2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)思路數(shù)據(jù)庫(kù)是這套系統(tǒng)最值得花心思的部分。我的核心原則是“兩張主表 若干關(guān)聯(lián)表”用戶(hù)表記錄學(xué)員基礎(chǔ)信息課程表記錄培訓(xùn)課程再通過(guò)訂單表將兩者關(guān)聯(lián)。這里給出我最常用的一組表設(shè)計(jì)。用戶(hù)表 userid主鍵openid微信openid唯一索引nickname昵稱(chēng)avatar頭像phone手機(jī)號(hào)role角色1學(xué)員 2管理員create_time創(chuàng)建時(shí)間課程表 courseid主鍵title課程名稱(chēng)cover封面圖description課程詳情描述price原價(jià)discount_price優(yōu)惠價(jià)total_hours總課時(shí)start_date開(kāi)課時(shí)間status狀態(tài)1上架 0下架訂單表 orderid主鍵order_no訂單編號(hào)唯一user_id用戶(hù)IDcourse_id課程IDamount實(shí)付金額status狀態(tài)1待支付 2已支付 3已完成 4已取消create_time下單時(shí)間咨詢(xún)記錄表 consultid主鍵user_id用戶(hù)IDcourse_id課程IDcontent咨詢(xún)內(nèi)容reply后臺(tái)回復(fù)status處理狀態(tài)create_time咨詢(xún)時(shí)間這樣設(shè)計(jì)的好處是結(jié)構(gòu)清晰做后臺(tái)管理時(shí)按用戶(hù)ID或課程ID查詢(xún)都很快也不會(huì)出現(xiàn)數(shù)據(jù)冗余。實(shí)際開(kāi)發(fā)時(shí)我還會(huì)給 order 表的 order_no 加唯一索引給 user 表的 openid 加唯一索引避免并發(fā)場(chǎng)景下產(chǎn)生重復(fù)數(shù)據(jù)。2.3 前后端交互約定小程序端與后端接口的交互我統(tǒng)一遵循一個(gè)約定所有接口前綴為/api請(qǐng)求方式區(qū)分 GET 和 POST響應(yīng)格式固定為{ code: 0, data: {}, message: success }。其中 code 為 0 代表成功非 0 代表業(yè)務(wù)異常這種統(tǒng)一格式能極大簡(jiǎn)化前端的錯(cuò)誤處理邏輯。我給前端封裝了一個(gè)request.js工具把 baseURL、token 注入、錯(cuò)誤提示統(tǒng)一處理掉頁(yè)面里每個(gè)接口調(diào)用只需要關(guān)心數(shù)據(jù)和加載狀態(tài)。關(guān)于 token 的判斷我采用“如果本地沒(méi)有 token 就靜默走微信登錄流程”的策略這個(gè)細(xì)節(jié)稍后在第 4 節(jié)具體講。3. 核心功能模塊設(shè)計(jì)與實(shí)現(xiàn)3.1 用戶(hù)登錄鑒權(quán)模塊微信小程序登錄流程和普通網(wǎng)頁(yè)登錄很不一樣。網(wǎng)頁(yè)可以用賬號(hào)密碼小程序里沒(méi)有這個(gè)概念必須走微信的 code2Session 接口。流程拆解如下小程序端調(diào)用wx.login()獲取臨時(shí) code。將 code 發(fā)送到自己的后端接口/api/auth/login。后端拿著 code 去微信接口換取 openid 和 session_key。后端查詢(xún)數(shù)據(jù)庫(kù)如果 openid 已存在則直接生成 token 返回如果不存在則先創(chuàng)建用戶(hù)再生成 token。小程序端拿到 token 后存入 storage后續(xù)所有請(qǐng)求都帶上這個(gè) token。這里特別提醒一個(gè)坑wx.login()的 code 有效期只有5分鐘而且只能用一次。我曾經(jīng)在調(diào)試時(shí)反復(fù)拿同一個(gè) code 去換 openid結(jié)果微信接口報(bào)40029錯(cuò)誤花了不少時(shí)間排查。所以一定要保證“一次code只換一次openid”前端和后端都不要做重試。3.2 課程展示與查詢(xún)課程列表是用戶(hù)進(jìn)入小程序后看到的第一個(gè)核心頁(yè)面。我把頁(yè)面分成三個(gè)區(qū)域頂部的搜索框、中間的篩選欄按分類(lèi)或價(jià)格排序、下方的課程卡片列表。課程列表接口設(shè)計(jì)為支持分頁(yè)查詢(xún)參數(shù)包括page、pageSize、keyword、categoryId后端返回{ list, total, page, pageSize }。小程序端用onReachBottom觸底加載下一頁(yè)用onPullDownRefresh下拉刷新。課程詳情頁(yè)則負(fù)責(zé)展示完整的課程介紹、課程大綱、價(jià)格信息以及“立即咨詢(xún)”和“立即報(bào)名”兩個(gè)按鈕。按照實(shí)際經(jīng)驗(yàn)把價(jià)格展示清楚再把“剩余名額”這種緊迫感信息放上去對(duì)轉(zhuǎn)化率很有幫助。3.3 在線(xiàn)咨詢(xún)與報(bào)名咨詢(xún)功能在實(shí)際業(yè)務(wù)里有個(gè)容易忽略的點(diǎn)學(xué)員發(fā)起咨詢(xún)時(shí)最好自動(dòng)帶上他正在看的課程ID。這樣后臺(tái)人員打開(kāi)咨詢(xún)列表一眼就能看出“這個(gè)學(xué)員問(wèn)的是Java培訓(xùn)班還是產(chǎn)品經(jīng)理課”不需要來(lái)回詢(xún)問(wèn)。實(shí)現(xiàn)上我在咨詢(xún)提交接口的請(qǐng)求參數(shù)里設(shè)計(jì)了courseId字段前端在發(fā)起咨詢(xún)時(shí)從頁(yè)面參數(shù)中獲取。后臺(tái)再給每一條咨詢(xún)記錄加一個(gè)“回復(fù)狀態(tài)”未回復(fù)的標(biāo)紅置頂。這個(gè)設(shè)計(jì)在后來(lái)的使用反饋中好評(píng)度極高可以說(shuō)花小錢(qián)辦大事。報(bào)名功能的流程相對(duì)復(fù)雜涉及創(chuàng)建訂單和支付。完整流程是用戶(hù)點(diǎn)擊報(bào)名 → 提交課程ID和用戶(hù)ID → 后端創(chuàng)建待支付訂單 → 小程序端調(diào)起微信支付wx.requestPayment→ 支付成功后后端回調(diào)更新訂單狀態(tài) → 前端跳轉(zhuǎn)“報(bào)名成功”頁(yè)面。關(guān)于支付這里要提醒微信支付需要企業(yè)認(rèn)證的小程序個(gè)人主體做不了如果你只是做課設(shè)或演示可以先走“模擬支付”即在后端寫(xiě)一個(gè)Mock支付接口把訂單狀態(tài)直接置為已支付。3.4 個(gè)人中心與訂單管理個(gè)人中心頁(yè)面承載的是“我的”這個(gè)概念包括用戶(hù)頭像、昵稱(chēng)、我的訂單、我的咨詢(xún)、退出登錄。我的訂單頁(yè)我用一個(gè)分段器區(qū)分“全部/待支付/已支付/已完成”每種狀態(tài)下方的操作按鈕不同待支付顯示“去支付”已支付顯示“查看課程”已完成顯示“再次報(bào)名”。這種基于訂單狀態(tài)的UI切換邏輯在代碼上體現(xiàn)為對(duì)status字段的判斷簡(jiǎn)潔且不易出bug。值得一提的是我刻意把后臺(tái)管理做成獨(dú)立的一側(cè)而不是塞進(jìn)小程序客戶(hù)端。管理員通過(guò)電腦端訪問(wèn)管理后臺(tái)比在小程序里做長(zhǎng)表格更好操作也符合實(shí)際工作場(chǎng)景。管理后臺(tái)的登錄方式我用了“賬號(hào)密碼驗(yàn)證碼”比微信登錄更嚴(yán)肅一些避免權(quán)限被隨意獲取。4. 關(guān)鍵代碼實(shí)現(xiàn)與頁(yè)面設(shè)計(jì)4.1 微信登錄全流程復(fù)刻登錄這個(gè)環(huán)節(jié)我直接給出可以落地的代碼。先看后端 Express 的登錄接口const axios require(axios); const jwt require(jsonwebtoken); const { getOpenid } require(../utils/wx); const User require(../models/user); exports.login async (req, res) { const { code, nickname, avatar } req.body; if (!code) { return res.json({ code: 1, message: 缺少code參數(shù) }); } // 調(diào)用微信接口換取openid const wxResult await getOpenid(code); if (!wxResult.openid) { return res.json({ code: 1, message: 微信登錄失敗 wxResult.errmsg }); } let user await User.findOne({ where: { openid: wxResult.openid } }); if (!user) { user await User.create({ openid: wxResult.openid, nickname: nickname || 微信用戶(hù), avatar: avatar || }); } const token jwt.sign({ userId: user.id }, process.env.JWT_SECRET, { expiresIn: 7d }); return res.json({ code: 0, data: { token, userInfo: user } }); };對(duì)應(yīng)的工具函數(shù)getOpenid也一并貼上const axios require(axios); const config require(../config); exports.getOpenid async (code) { const url https://api.weixin.qq.com/sns/jscode2session; const params { appid: config.appid, secret: config.appsecret, js_code: code, grant_type: authorization_code }; const res await axios.get(url, { params }); return res.data; };小程序端的登錄調(diào)用封裝在app.js里頁(yè)面加載時(shí)若無(wú) token 則自動(dòng)觸發(fā)// app.js login() { return new Promise((resolve, reject) { wx.login({ success: (res) { const code res.code; wx.request({ url: ${baseUrl}/api/auth/login, method: POST, data: { code }, success: (resp) { const { data } resp.data; wx.setStorageSync(token, data.token); wx.setStorageSync(userInfo, data.userInfo); resolve(data); }, fail: reject }); }, fail: reject }); }); }這里我將 token 的過(guò)期時(shí)間設(shè)置為7天并用了固定的 JWT_SECRET。實(shí)際部署時(shí)密鑰一定要放到環(huán)境變量里不要硬編碼在源碼里否則有泄露風(fēng)險(xiǎn)。4.2 請(qǐng)求封裝與攔截器既然每個(gè)頁(yè)面都要發(fā)請(qǐng)求不做一個(gè)統(tǒng)一封裝真的會(huì)寫(xiě)到吐。下面這段request.js是我在小程序項(xiàng)目里的標(biāo)準(zhǔn)封裝包含了 baseURL、token 注入、業(yè)務(wù) code 判斷、錯(cuò)誤提示等能力。// utils/request.js const baseUrl https://yourdomain.com/api; function request(options) { const token wx.getStorageSync(token); return new Promise((resolve, reject) { wx.request({ url: baseUrl options.url, method: options.method || GET, data: options.data || {}, header: { Content-Type: application/json, Authorization: token ? Bearer ${token} : }, success: (res) { if (res.data.code 0) { resolve(res.data.data); } else if (res.data.code 401) { // token過(guò)期重新登錄 wx.removeStorageSync(token); getApp().login().then(() { wx.showToast({ title: 登錄已刷新請(qǐng)重試, icon: none }); }); reject(res.data); } else { wx.showToast({ title: res.data.message || 請(qǐng)求失敗, icon: none }); reject(res.data); } }, fail: (err) { wx.showToast({ title: 網(wǎng)絡(luò)異常, icon: none }); reject(err); } }); }); } module.exports { request };我在封裝里特意加了 401 處理邏輯這個(gè)是在真實(shí)項(xiàng)目中踩過(guò)坑才補(bǔ)上的。出現(xiàn) 401 時(shí)不能干巴巴地彈個(gè)“登錄過(guò)期”而是應(yīng)該靜默重新走一遍登錄流程然后提示用戶(hù)“請(qǐng)重試”。這樣用戶(hù)幾乎無(wú)感知體驗(yàn)會(huì)好很多。4.3 動(dòng)態(tài)表單與咨詢(xún)頁(yè)實(shí)現(xiàn)咨詢(xún)頁(yè)面最核心的元素是一個(gè)多行輸入框加一個(gè)提交按鈕。為了減少無(wú)效咨詢(xún)我在前端做了關(guān)鍵詞校驗(yàn)最少10個(gè)字同時(shí)自動(dòng)帶上課程ID。這個(gè)設(shè)計(jì)基于一個(gè)觀察很多學(xué)員第一次咨詢(xún)只寫(xiě)“這個(gè)課多少錢(qián)”完全沒(méi)提具體課程如果沒(méi)有課程ID后臺(tái)根本沒(méi)法高效處理。咨詢(xún)表單頁(yè)面的核心邏輯Page({ data: { courseId: null, courseTitle: , content: }, onLoad(options) { this.setData({ courseId: options.courseId || null, courseTitle: options.courseTitle || }); }, handleInput(e) { this.setData({ content: e.detail.value }); }, submitConsult() { const content this.data.content.trim(); if (!content) { wx.showToast({ title: 請(qǐng)輸入咨詢(xún)內(nèi)容, icon: none }); return; } if (content.length 10) { wx.showToast({ title: 請(qǐng)至少輸入10個(gè)字, icon: none }); return; } const { request } require(../../utils/request); request({ url: /api/consult/add, method: POST, data: { courseId: this.data.courseId, content } }).then(() { wx.showToast({ title: 提交成功等待回復(fù), icon: success }); setTimeout(() wx.navigateBack(), 1500); }); } });這段代碼看著簡(jiǎn)單但有幾個(gè)細(xì)節(jié)對(duì)體驗(yàn)影響不小輸入框要綁定handleInput實(shí)時(shí)更新數(shù)據(jù)提交前做空值和長(zhǎng)度校驗(yàn)成功后延遲1.5秒返回上一頁(yè)讓用戶(hù)看清楚提示。別小看這些細(xì)節(jié)很多新手的代碼就是栽在“忘記綁定輸入事件”或者“直接跳轉(zhuǎn)導(dǎo)致提示沒(méi)顯示出來(lái)”這種問(wèn)題上。4.4 后端接口參考實(shí)現(xiàn)除登錄接口外我還把幾個(gè)核心接口的實(shí)現(xiàn)思路寫(xiě)出來(lái)。課程列表接口只需按條件查詢(xún)并分頁(yè)返回exports.list async (req, res) { const { page 1, pageSize 10, keyword , categoryId } req.query; const where {}; if (keyword) { where.title { like: %${keyword}% }; } if (categoryId) { where.categoryId categoryId; } const result await Course.findAndCountAll({ where, limit: Number(pageSize), offset: (Number(page) - 1) * Number(pageSize), order: [[id, DESC]] }); res.json({ code: 0, data: { list: result.rows, total: result.count, page: Number(page), pageSize: Number(pageSize) } }); };創(chuàng)建訂單接口則把下訂單和調(diào)支付拆成了兩步。第一步用事務(wù)創(chuàng)建訂單第二步發(fā)起支付。這里的關(guān)鍵點(diǎn)是訂單編號(hào)的生成規(guī)則我采用“yyyyMMdd 6位隨機(jī)數(shù) 用戶(hù)ID后四位”這樣既能保證基本唯一也方便后臺(tái)按日期檢索。5. 踩坑實(shí)錄與排查技巧5.1 常見(jiàn)問(wèn)題速查表開(kāi)發(fā)過(guò)程中我遇到的典型問(wèn)題基本都能歸為幾類(lèi)。這里整理成一張速查表方便后來(lái)人直接對(duì)照排查。問(wèn)題表現(xiàn)可能原因解決方案登錄接口報(bào)40029code被重復(fù)使用或已過(guò)期檢查 wx.login 是否重復(fù)調(diào)用保證一次性使用請(qǐng)求返回401token過(guò)期或未攜帶在攔截器中靜默重新登錄刷新token圖片上傳失敗未配置合法域名或圖片太大小程序后臺(tái)配置uploadFile合法域名壓縮圖片后再傳課程列表加載慢接口未做分頁(yè)或數(shù)據(jù)量過(guò)大后端分頁(yè)返回前端觸底加載訂閱消息發(fā)送失敗未申請(qǐng)模板ID或用戶(hù)未授權(quán)先申請(qǐng)訂閱消息模板再引導(dǎo)用戶(hù)授權(quán)安卓端白屏ES6語(yǔ)法未編譯或請(qǐng)求地址未備案開(kāi)啟ES6轉(zhuǎn)ES5確認(rèn)request合法域名備案上面這個(gè)表里的每一條都是真實(shí)場(chǎng)景。尤其是“安卓端白屏”我在測(cè)試時(shí)遇到過(guò)兩次第一次以為是代碼bug后來(lái)發(fā)現(xiàn)是某個(gè)頁(yè)面用了對(duì)象展開(kāi)運(yùn)算符...部分低版本安卓微信內(nèi)核不支持開(kāi)了ES6轉(zhuǎn)ES5就好了。5.2 小程序?qū)徍伺c合規(guī)注意要點(diǎn)做小程序最怕的就是提交審核被打回。針對(duì)培訓(xùn)咨詢(xún)這類(lèi)系統(tǒng)我總結(jié)出三條硬性經(jīng)驗(yàn)第一類(lèi)目選擇要準(zhǔn)確。涉及教育培訓(xùn)就要選“教育-培訓(xùn)”類(lèi)目如果涉及職業(yè)技能培訓(xùn)還要上傳相應(yīng)的資質(zhì)證明否則審核會(huì)卡在類(lèi)目不符。第二隱私協(xié)議必須配置完整。從小程序界面收集用戶(hù)手機(jī)號(hào)、頭像這類(lèi)信息必須在“用戶(hù)隱私保護(hù)指引”中聲明并在前端展示隱私彈窗?,F(xiàn)在平臺(tái)對(duì)這塊查得很?chē)?yán)我在實(shí)際項(xiàng)目中已經(jīng)遇到因隱私聲明缺失被拒的情況。第三不能在小程序內(nèi)出現(xiàn)“加客服微信轉(zhuǎn)賬”之類(lèi)的引導(dǎo)文案。培訓(xùn)咨詢(xún)場(chǎng)景很容易踩這個(gè)雷比如在課程詳情頁(yè)寫(xiě)“加微信咨詢(xún)”審核會(huì)直接打回。正確的做法是走小程序官方的客服能力或純線(xiàn)上咨詢(xún)。5.3 性能優(yōu)化與體驗(yàn)細(xì)節(jié)小程序包體積是2MB但這個(gè)項(xiàng)目主要頁(yè)面加起來(lái)并不太容易超不過(guò)圖片很容易超。我的優(yōu)化策略是所有靜態(tài)圖片全部走CDN不在本地放任何產(chǎn)品圖頁(yè)面按需加載使用wx.lazyCodeLoading機(jī)制列表頁(yè)的圖片都用懶加載lazy-load屬性。另一個(gè)容易被忽略的優(yōu)化點(diǎn)是“骨架屏”。課程列表接口需要時(shí)間去請(qǐng)求如果頁(yè)面白屏用戶(hù)很容易直接退出。我用簡(jiǎn)單的WXML條件渲染做了一個(gè)骨架屏加載中顯示灰色占位塊請(qǐng)求完成替換為真實(shí)內(nèi)容。實(shí)現(xiàn)成本不高但用戶(hù)體感提升很明顯這個(gè)優(yōu)化我強(qiáng)烈建議加上。除此之外緩存策略也很重要。課程詳情頁(yè)我用了5分鐘緩存邏輯是const cacheKey course_detail_${courseId}; const cache wx.getStorageSync(cacheKey); if (cache Date.now() - cache.timestamp 5 * 60 * 1000) { this.setData({ course: cache.data }); } else { // 發(fā)起請(qǐng)求更新 }這樣用戶(hù)反復(fù)點(diǎn)進(jìn)同一個(gè)課程詳情不會(huì)每次都請(qǐng)求接口流量和響應(yīng)速度都有改善。還有很多開(kāi)發(fā)者會(huì)忽略“設(shè)置緩存時(shí)間”這個(gè)點(diǎn)直接永久緩存結(jié)果數(shù)據(jù)長(zhǎng)期不更新。我的經(jīng)驗(yàn)是不同類(lèi)型的接口設(shè)置不同的緩存時(shí)間課程詳情5分鐘首頁(yè)輪播圖1小時(shí)訂單狀態(tài)永遠(yuǎn)不緩存。6. 源碼解讀與二次開(kāi)發(fā)指南6.1 源碼目錄結(jié)構(gòu)拿到源碼后先看懂目錄結(jié)構(gòu)再動(dòng)手效率會(huì)高得多。我把項(xiàng)目的關(guān)鍵目錄列出來(lái)簡(jiǎn)單標(biāo)注每個(gè)部分的職責(zé)。project-root/ ├── miniprogram/ # 微信小程序前端 │ ├── pages/ │ │ ├── index/ # 首頁(yè)課程列表 │ │ ├── course-detail/ # 課程詳情 │ │ ├── consult/ # 在線(xiàn)咨詢(xún) │ │ ├── order/ # 訂單列表 │ │ ├── user/ # 個(gè)人中心 │ │ └── login/ # 登錄頁(yè) │ ├── utils/ │ │ ├── request.js # 請(qǐng)求封裝 │ │ └── util.js # 日期格式化等工具 │ ├── app.js │ ├── app.json │ └── app.wxss ├── server/ # Node.js后端 │ ├── routes/ # 路由定義 │ ├── controllers/ # 控制器邏輯 │ ├── models/ # Sequelize模型 │ ├── utils/ │ ├── config/ │ └── app.js └── docs/ └── API.md # 接口文檔前端與后端嚴(yán)格分離中間通過(guò)HTTP接口通信。這樣的好處是如果你只想改前端樣式完全不需要碰后端同理如果要換數(shù)據(jù)庫(kù)只改后端的模型層即可。6.2 如何快速跑起來(lái)把項(xiàng)目跑起來(lái)的步驟按照我實(shí)際的執(zhí)行順序整理如下安裝Node.js環(huán)境v14及以上版本。在MySQL中創(chuàng)建training_crm數(shù)據(jù)庫(kù)導(dǎo)入項(xiàng)目根目錄下的database.sql初始化腳本。修改后端config/index.js填入自己的小程序appid、appsecret和數(shù)據(jù)庫(kù)連接信息。運(yùn)行npm install安裝后端依賴(lài)然后執(zhí)行npm start啟動(dòng)服務(wù)。使用微信開(kāi)發(fā)者工具導(dǎo)入miniprogram目錄在utils/request.js中把 baseUrl 改成自己的后端地址。在開(kāi)發(fā)者工具中開(kāi)啟“不校驗(yàn)合法域名”本地開(kāi)發(fā)即可正常請(qǐng)求。整個(gè)流程順利的話(huà)10分鐘內(nèi)就能看到一個(gè)可運(yùn)行的培訓(xùn)咨詢(xún)小程序。特別注意第5步很多新手卡在這一步因?yàn)槟J(rèn)的request合法域名限制導(dǎo)致請(qǐng)求失敗。在“本地設(shè)置”中勾選“不校驗(yàn)合法域名”就能跳過(guò)限制但上線(xiàn)前必須在微信公眾平臺(tái)配置正式域名。6.3 后續(xù)擴(kuò)展建議源碼給你了但不代表到此為止。我的建議是在跑通基礎(chǔ)流程之后按以下優(yōu)先級(jí)做擴(kuò)展第一優(yōu)先級(jí)增加管理員后臺(tái)的統(tǒng)計(jì)看板。用簡(jiǎn)單的儀表盤(pán)展示今日咨詢(xún)量、新增學(xué)員、訂單金額等指標(biāo)這是機(jī)構(gòu)管理者最關(guān)心的數(shù)據(jù)。第二優(yōu)先級(jí)接入訂閱消息。新增一個(gè)課程開(kāi)課提醒模板用戶(hù)報(bào)名后自動(dòng)觸發(fā)訂閱授權(quán)開(kāi)課前一天推送提醒能明顯降低學(xué)員缺勤率。第三優(yōu)先級(jí)增加直播預(yù)告或視頻課程播放頁(yè)。如果機(jī)構(gòu)做在線(xiàn)培訓(xùn)這個(gè)模塊是剛需需要注意視頻類(lèi)目在小程序后臺(tái)要額外申請(qǐng)。小程序里的視頻下載這個(gè)問(wèn)題可以在合規(guī)合法的前提下只做在線(xiàn)播放不做本地緩存。按這個(gè)順序擴(kuò)展每一步都是獨(dú)立的不會(huì)出現(xiàn)改動(dòng)一個(gè)模塊就牽連全盤(pán)的問(wèn)題。這也是我最初設(shè)計(jì)系統(tǒng)時(shí)堅(jiān)持“模塊解耦”的一個(gè)回報(bào)。回到開(kāi)頭的場(chǎng)景。這套培訓(xùn)咨詢(xún)管理系統(tǒng)本質(zhì)上是從“散亂溝通”走向“規(guī)范運(yùn)營(yíng)”的一個(gè)抓手。它不復(fù)雜但把咨詢(xún)、報(bào)名、訂單、學(xué)員數(shù)據(jù)這些核心環(huán)節(jié)串成了一條線(xiàn)。在實(shí)際落地過(guò)程中我最大的感受是這類(lèi)系統(tǒng)做成什么樣不重要重要的是它是否真的讓機(jī)構(gòu)的日常運(yùn)營(yíng)變輕了。希望這份源碼和經(jīng)驗(yàn)分享也能幫你節(jié)省一些從零開(kāi)始的時(shí)間。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久久久久久久久久人妻| 青青青草伊人精品| 麻豆国产第一| 天天日天天操天天射河南省| 婷婷丁香熟妇综合网| 九色97| 啊啊啊好舒服视频在线观看| 无码一区免费在线不卡| 国产91精品福利在线| 色呦呦、国产精品| 美女诱惑久久| 丁香五月婷婷基地| 舔人妻中文免费视频| 免费av在线播放二区| 日韩精品99999| 91最新综合| 激情久久日韩精品中文字幕麻豆| 亚洲国产精品成人综合| 99无码| 亚州精品人妻一二三区| 色婷婷香蕉| 天天操人人操骚逼网站| 97在线精品| 久久精品日韩专区免费观看| 国产自产自拍| 超碰97极品9| 色综合久| 国产精品极品美女视频| 国产乱码精品久久久久久| 天天噜| 日本99久久| 黄色一区三区| 中字幕人妻一区二区三区| 操狠狠| 国产精品香蕉| 六月丁香网| 久久99深爱久久99精品| 久久精品中文字幕无码l| 国产青青美女玩逼视频| 操逼逼中文字幕| 五月天婷婷社区| 99视频内射三四| 婷婷10月天青娱乐| 67914亚洲精品| 日本成人在线不卡一区二区三区 | 精品9区| 国产一区二区三区视频在线看| 91女人的网站| 大香蕉综合网| 蜜臀av中字字幕网站| 国产精品内射婷婷一级二| baisiav| 亚洲AV无码乱码| 欧美熟女丝袜| 水澄无码AV| AV乱伦国产| 久久九九99| 97在线观看| 亚洲欧美大| 91天堂| 神马午夜久久久| 国产综合在线视频网站| 亚洲欧美在线丝袜| 日韩图区| 久久久久9999精品九九九| 先锋影音av先锋一区| 亚州综合AⅤ| 欧美一区二区三区蜜桃| 天天操人人操狠狠插| 午夜毛片高清免费不卡| 91国产精品在线看| 在线无码视频| 校园春色五月天| 美性中文综合网| 欧日韩不卡视.频| 亚洲一区中文精品| 亚洲综合骚逼| 亚洲黄色网址| 欧美亚涩| 噜噜噜狠狠色综合| 色情乱伦AV| 天天看天天日| 欧美性第1页| 熟妇人妻一区二区三区| 91粉芽高清在线一区二区| 国产传媒日韩| 神马久久久久久久久| 丰满少妇一区二区三区专区| 国内毛片无码一级毛片| 女优大全 - 91n| 成人在线永久| 东北女人被操| 人妻精品综合中文字幕在线| 操屄不卡视频| 久久东京伊人一本到鬼色| 日韩图色| 在线播放中文字幕| 亚欧美综合网。| 日本超碰在线国产一区| 日本在线播放不卡一区| 伊人久操| 日本一级二级三级网站| 久久无码成人| 八戒午夜福利理论片| 日韩中文9| 欧美精品双插| 国产白嫩精品久久| 91亚洲青青草原精品1区| 久久 国产精品 一区| 日日操丁香五月天| 在线观看免费视频国产| 国产无码高清操逼视频| 欧美一级美片在线观看免费| 五月丁香激情四射| 欧在线一二区| 91丝袜| 97超碰9| www.91视频网| 亚洲天天在线| 亚洲日韩精品久久久久一区壹牛 | 在线日韩精品一区二区三区| 亚洲性高潮| 午夜福利区| 澳门人妻久久| 天天操综合网| 一道本久久棕合爱| 国产亚洲一黄| 欧美第一页性| 欧美 青青草| 国产精品欧美激在线| 日日干日日操五月天伦理视频| 曰韩欧美国产传媒麻豆第一区| 99色色网| 香蕉一区二区三区在线视频| 亚洲视频二区| 日韩一卡二卡三卡| 黑人白女精品一区| 少妇超碰在线| 欧美色图片91| 中文一区二区婷婷视频| 一区二区三区男女操逼黄色小电影| 爆乳免费黄网站| 青青草日本无码| 97中文天堂| 天综合网| 亚洲Av噜噜一区二区三区妖精| 97操综合| 久久久久921| 91色欧美| 国产超碰AV在线精品| 高清无码在线播放网站| 国产精品香蕉| 超碰美国| 7777欧美成是人在线观看| 一块操欧美| 丝袜狠狠草尤物人妻av91| 欧美色66| 黑白配性爱AV成| 啊啊嗯嗯好爽| 立川理惠被中出无码| 狼狼色丁香久久婷婷综合五月| 日韩簧片免费看| 日B操| 午夜理论片在线观看免费| 欧美很很操视频| 啊啊啊啊一区| 中文字幕诱惑制服人妻丝袜美丝袜美| 欧美日韩小说| 中文色综合| 日韩黄色电影网站| 欧美97日韩| 91碰碰| 91熟女视频| 亚洲一区二区三区播放在线| 91爽啪| 综合91网| 韩国手机不卡无码三级视频| 91狠狠色丁香婷婷综合久久精品| 日本三级韩国三级美三级91| 九九九九精品九九九九| 在线v中文字幕一区二区三区| 熟女人妻av在线资源,黄色的资源| 人人超碰在线观看黄| 久热精品在线| 无码精品人妻一区二区三区妖精| 色好看av| 边做饭边操逼逼| 99日精品欧美国产| 欧美综合 站| 人人操肉肉| 日韩av女优在线免费一区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 欧美顶级黄色大片免费| 九九久久一区二区三区| 欧美写真视频一区| 亚洲天堂无码| 手机午夜电影神马久久| 日本东京热加勒比久久| 一区二区乱码福利| 粉嫩粉嫩一区性色AV片| 狠狠操一区二区| 国产精品久久久亚洲第一牛牛_在线观看 | 夜夜影视四色| 很很很很操| 东北少妇高潮zzzz| 少妇六月天| 校园春色五月天| 国产精品成人蜜臀AV在线| 久久九七| 边做饭边操逼逼| 亚洲日本韩国极品一区二区| 亚洲人妻精品一区二区| 99免费在线视频| 操一对老熟妇爽上天视频| 亚洲午夜福利在线影院| 老鸭窝成人| 亚一综合久久久久久久久久| 麻豆国产成人精品| 国产乱伦亚洲| 龙兴卡官方查询| 精品亚洲国产成人精品| 青青草AV色| 国产97视频免费观看| 亚洲精品黑丝| 一本道综合色图| 天天cao在线| 97久精品| 91在线超高颜值国产| 国产乱弄免费在线视频。| 91久久免费视频互動交流| 高清不卡一二三区视频......| 少妇久久久久久| 宅男91视频在线播放| 成人午夜高潮av猛片| 亚洲区限制级| 亚洲一区日韩| 校园春色亚洲| 99久久综合| 久久久久亚洲av综合波多野制衣| 91欧美另类| 1024人妻熟女一区二区三区| 中文字幕青青草| 亚洲免费看片| 为用户提供免费看黄网址在线观看| 亚洲综合网图| 97久久超碰| 国产视频97| 五月婷婷六月丁香| 久久久久久日韩| 亚州精品人妻一二三区| 玖玖在线视频| 黄色视频60分钟| 狠狠操狠狠燥| 动漫片子网站3黄| 成人性爱视频在线看| 99色在线| 日韩av熟女一区二区三区成人| 18啪啪手机免费性爱| 久久久久久中文| 天天插天天射| 国产三级电影免费观看| 国产精品一区二区a| 性爱AV天堂| 亚洲夜色在线| 国产91精品福利在线| sewuyueav| 成人综合网 欧美| 翔田千里av一区二区三区| 欧美成人一级麻豆| julia国产在线| 区一二区日韩亚洲乱码av电影| 综合操逼| 免费A片三p视频| 国产黑白丝在线| 超碰人妻久久人妻中文97| 成人免费福利在线观看| 国产欧美日本亚洲精品| 91综合网在线| 97欧美久久久久久久| 亚洲最大的黄色电影网站。| 午夜福利成人免费视频| 色就色综合| 国产精品点击进入在线影院高清 | 亚洲男人的天堂一区二区| 在线人人人人人人精品超 | 精品一二三区四视频| 欧美|91色综合| 中文字幕亚洲永久精品| 中国一级特黄大片护士| 夜夜操青青草| 日韩激情毛片一级久久久| 欧美激情在线观看视频| 热热色青青草| 97超碰中文| 美女大乳久久久久久久女人18| 亚洲无码99| 日美免费黄片| 亚洲欧美在线观看免费| 日本免费一级AAA大片器 | 人澡逼| 夜夜福利| 国产精品丝袜久久亚洲不卡| 97频视在线| s片在线观看| 五十路熟女工口| 成年男人的天堂| 能看的av| 久久精品人体| 青青草原综合久久大伊人精品| 欧美日韩99精品麻豆传媒| 久久超碰爱| 99热这里| 91精品电影18| 久久一区无码| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 一级二级三级黑人无码| 四虎午夜影院| 你懂的在线观看区国产| 国产v片在线免费观看| 日韩一级久久毛片| 日日操免费视频| 精品成人亚洲午夜电影| 国产女同视频在线播放| 久久精品国产亚洲AV成人直播| 九九探花视频在线观看| 女人爽到高潮潮喷18禁网站| 五月天黄色av| 欧美性综合| 精彩久久中文| 亚洲第一男人天堂| 青草成人免费视频一COm| 777超碰| 18禁看网站一区| 午夜无遮挡男女啪啪视频| 久久久久久日韩| 国产精品爽爽va在线观看98| 91精品久久久久久77777| 婷婷五月天综合网| 夜夜狼人妻| 2000亚洲男人天堂| 极品出轨视频网站| 色牛aV| 日韩人妻播放| 韩国久久97| 5252色欧美在线| 小草av不卡亚洲二区| 精品无码人妻一区二区免费蜜桃| 欧美狠狠狠| 久久久新亚洲AV| 自拍视频一区在线观看| 狂操嫩妻视频一区二区三区| 日本九九久久99播| 国产精品一区二区麻豆| av黄图片在线观看| 99久久久er直播网址| 欧美性爱系列| 97精品视频免费| 玖玖无码超碰| 亚洲日韩视频二区| 色婷婷小说| 日本淫穴在线| 天天做天天爱夜夜爽毛片试看| 国产精品黄色三级av| 大香蕉97久久| 狠久久| 日本熟女免费視颖| 97超级久久强资源| 好一吊区二区| 精品一区二区综合熟妇| 一区二区三区男女操逼黄色小电影| 超碰久在线天天做| 在线免费观看高清无码视频| 性爱av在线免费观看| 国产性刺激| 欧美综合自拍亚洲综合图| dy888午夜老子影视达达兔| 国产精品成人无码a v毛片| 色婷婷在线视频| 性色国产东北露脸精品视频| 成人久久久| 极品色www影院| 久久久久亚洲精品| 四虎午夜影院| 少妇无码太爽| 中文字幕后石码四区五区| 在线观看AV片| 男人网站婷婷| 五月天久久综合网| 歐美一級亂黃99在綫精品| 日本一线产区和二线产区伦理片| 一区操逼日比视频| 久久久久网站-538在线视频-欧美永久乱码| 免费国产视频| 九色97| 97超碰超| 最近的最新的中文字幕视频| 美女91色黄18| 天堂俺去俺来也www久久婷婷| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 清纯唯美第一页| 婷婷AV一区二区三区| 久久精品国产久精国产| 国产无马视频| 国产精品在线一区二区| 18禁美女裸体无遮挡啪啪| 日日AV加勒比| 久久高清欧美国产| 深夜激情 | 福利视频香蕉免费一区二区在线| 美女黄色一级A视频| 天天在线91| 青娱乐亚洲自拍| 欧美日韩亚洲天堂网| 91操操操操| 高清不卡视频| 一个人免费视频观看在线WWW| 99热超碰| 岛国片国产成人亚洲播放| 日韩美女,国产传媒,视频一区| 最新av中文字幕高清| 久久久久网站-538在线视频-欧美永久乱码 | 欧美日韩成人| 懂色aV一区二区天美传媒| 亚洲色图在线视频| 中国AAAAAA黄色片| 加勒比海成人视频网| 国产真乱mangent| 97色冈| 一级AV性爱| 伊人视频| 亚洲色图大香| 女同女同恋久久级三级| 日日噜噜夜夜久久亚洲一区二区 | 91蜜臀在线久久久久| 欧美色女人| 97日视频| 大香蕉久| 亚洲天天操| 中文幕97| 五月天婷婷色色| 亚洲欧美校园| 综合亚洲情色| 色9999日韩国产| 久久久少妇| 夜夜嗷嗷一区二区| 无码日韩人妻av一| 国产精品久久久久久久久久久久久久吹 | 美女熟妇色| 九七毛片九九毛片 | 啊啊啊啊好爽好舒服一区二区易域| 欧美色偷拍 | 校园激情狠狠四射| 国产AV人人 夜夜人人澡| 日韩国产成人自拍视频| 欲色啪| 九色97| 亚洲97久久精品亚洲| 老熟女91视频| 91成人久久| 激情四射婷婷四五月天| 午夜精品久久久久久久99蜜桃一| 97在线观看免费视频| 日韩不卡一二三四| SS久久| 免费在线黄片视频| 91肉片| 日本一二三免费久久| 91欧美美女日韩国产婷婷| 强歼乱伦资源网| 九九这里只有精品| 第45页一区二区| 久久久青青草| 97精选久久| 日本免费一区二| 亚洲av无码成人精品国产| 国产午夜在线观看视频| 中文字幕丰满子伦无码专区在线视频最新| 日韩天天综合| 青操影院| 亚洲天堂美臀在线| 色色色999| 欧美日韩在线国产在线| 97欧美精品| 国产美女高潮视频| 日天天九九天堂666| 欧美 传媒 麻豆 日韩 偷拍| 黄色大片一区二区密桃丝袜| 91久久久久免| 久久麻豆一区二区| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 亚洲综合 欧美| 91红杏| 欧美久久婷| 亚洲天堂另类美腿| 久久9精品视频| 伊人久久婷婷| 亚洲日韩成人性爱视频| 久久精品毛片免费不卡| 久久成人国产| 午夜AV人气不卡| 精品成人无码| 亚洲va有码在线天堂| 免费自拍三级综合| 欧美亚洲色图另类国产| 在线欧美69V免费观看视频| 国产精品视频自拍在线| 免费一级特黄特色大片在线观看看| 成人一道本免费视频| 欧美极品美女aaaaaa级黄片| 天堂男人网| 熟女人妻一区二区三区免费看 | 在线女人91| 91暧暧| 青青草啪啪网| 美国三级日本三级久久99| 日本高清加勒比| 青青草影视蜜久久| 欧成人在线| 午夜超碰| 亚洲春色欧美激情自拍| 国产精品亚洲高清在线| 免费一级毛片在线视频观看| 久热这里| 91熟女综合| 嗯嗯啊啊的视频| 看看日B真人视频| 久久三区四区| 国产无吗在线播放| 日本国产高清色www视频在线| 久久草在线综合视频| 欧美午夜一区二区三区| 欧美|91色综合| 99热 按摩 日韩| 伊人aaa| 久操视频这里只有精品| 久久人| av影片在线观看不卡| 国产精品4p在线观看| 老司机射| 国产超碰在线| 少妇三P| 九九九九九九综合| 色视频蜜乳| 精品国产肉丝袜在线拍国语| 少妇蜜汁| 欧美成人贴图| 免费精品国偷自产在线在线| 在线性黄高清免费视频| 精品大久久| 人妻丰满熟妇av无码区蜜桃| 妇女性内射冈站HDWWWCOM| 在线观看国产黄色| 色哟哟-国产专区| 超碰欧美97资源| 久久伊人影院| 欧美一区二区三区另类精品| 嗯嗯啊中文字幕| 久久久穴999| 91老司机视频| 另类 日韩 熟女| 丁香成人五月天| 久热久操| 日本韩国国产精品一区| 97操操| 国产久久日| 外国免费性情大片| 黄色视频特级毛片| 久久中出在线| 日韩欧美日韩| 激情综合五月天| 日韩中文字幕av在线播放| 免费在线视频97| 亚洲黄色网址视频| 日日黄色三级网站| 婷婷色色五月天福利| A久久| 欧美色爱综合| 2020中文在线一区二区三区| 国产精品99久久久www| 国产精品经典一卡久久久| 欧美人妻制服| 欧美日韩性爱视屏免费看了| 国产精品视频在线播放| 澳门黄片一香蕉视频| 亚洲啪啪性视频| 亚洲s色图| 强奸国产在线| 日韩无码久久熟女一级片| 亚洲国产精品无码AV久久久| 五月婷婷丁香| 久久熟女嫩草成人片免费 | 色第一页| 色吧5亚洲| 久久综合18p| 色婷婷国产精品一区在线观看| 99热精品在线播放| 色吊丝 日日骚 清纯唯美| 亚洲精品美女久久久久久久久| 国产精品久久久777| 欧美高清无码免费视频高清版| 中文字暮97| 大逼色网站| av九九| 91性片| 猛交交| 欧美日韩中文视频播放| 国产少妇肉丝在线观看| 搡老女人老91妇女老熟女| 色一射色一射| 浓厚中出中文字幕在线| 夜夜人妻爽| 色天使亚洲综合在线观看| 中文字幕久久亚州无码| 国产成人精品日本视频| 国产精选视频| 国产无码一二三区| 亚洲情色视频| 闷骚老熟女15P| 久久精品高清AV| 天天性射网| 久久人妻视频网| 夜草网站| 天天综合网合集91| 大胆91| 国产亚洲日韩欧| 亚洲大色鬼| 成人情色一区二区| 精品国产一区二区三区在线播出| 成人精品欧洲亚洲| 男人天堂2019亚洲| 成全在线观看免费观看| 99热线麻豆| 97超碰色五月| 美女午夜福利免费视频| 国产精品丝袜在线| 亚洲91网。| 自拍偷拍2025在线观看| 东北毛片| 久久久久幕乱码| 六月婷婷五月丁香| 伊人久久大香线蕉无码| 国产精品一区二区密臀| 婷婷五月天色| 精品中文字幕一区二区| 美女诱惑久久| 欧美超碰人妻97| 色婷婷香蕉| 国产成人无码a| 天天操天天舔| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 职场同事知名国产国产精品久久欧美日韩| 日韩在线视频1234| 97欧美性爱| 亚洲本色精品一区二区久久| 亚洲极品| 精品亚州18| 欧美成人性爱视频大全| 日韩无码视频黄色| 竹菊一区二区三区AV线| 97色涩| 国产蜜臀精品一区免费尤物| 黄色片大香蕉| 91人妻人人澡人人爽人人精品| 国产超碰97| 天天日日日射| 婷婷五月天在线观看| 欧美日韩操操操| 亚洲精品乱码线路中文字幕| 欧美 亚洲 在线| 97免费视频在线观看视频| 国产精品熟女AV中文字幕在线播放| 亚洲制服欧美另类内射| 亚洲天堂中文字| AV麻豆免费一区| 秋霞色色影院| 精品在线蜜臀| 国内一区二区三区| 性欧美| 97超色| 2003天天干夜夜操| 91欧美性| 2026国产精品视频| 亚洲欧美在线综合| 色网综合网| 97超级色碰碰| 综合激情一一91| 久久精品国产精品| 亚洲欧洲激情| 五十路成人在线视频二区三区| 天天影视之亚洲综合网| 视频在线中文字幕| 中文字幕伊人| 色与欲影视天天看综合网| 941超碰| 欧美男人的天堂| 大茄子熟女AV导航| 久久久久白虎| 综合网天天| 精品一区二区三区国产| www.亚洲黄色| 国产精品嫩草久久久久| 欧美亚洲尤物久久| 日本精品第一视频在'| 日本道久久综合色色| 五月丁香综合| 91亚州日韩高清| 偷拍欧美激情| 亚州日韩97| 欧美日韩精品久久久久东北老熟妇| 亚洲精品蜜桃久久久| 蜜臀AV一区二区三区| 久久精品超碰| 国产精品国产精品国产| 立川理惠被中出无码| 伊人一区二区在线播放| 黑人狂躁日本妞一区二区三区| 不卡一区二区日本视频| 超碰狠狠操| 国产乱婷婷精品二区三区| 77国产精品| 亚洲双插| 99人妻碰碰碰久久久久禁片| 欧美日韩在线国产在线| 99亚洲天堂| 大香蕉99热| 亚洲怡春院| 热热色青青草| 五月丁香六月综合缴清无码| 操操操日本的逼| 屌逼麻豆| 中文幕97| …亚洲黄色厕厕女女在线播…| 成 人 A V免费视频在线观看| 影音先锋新男人| 120分钟婬片免费看| 少妇免费视频| 天天操天天干美女网址导航| 人人操人人93| 免费啪啪一级视频| 欧美三级一级| 骚货 中文字幕 av| 操B视频日韩无码| 天天天天天干夜夜夜夜夜操| 60秒试看最爽10分钟网站| 久久久久幕乱码| 国产无码成人无码| 国产无马av| 加勒比综合九九99视频在线播放| 欧美日韩国产精品久久色婷婷| 91免费看一区二区三区| 91人妻最真实刺激绿帽| 亚洲男人bt天堂| 色哟哟1区2区| 欧美一二三级精品在线| 99视频精品| 91网站18+| 日欧操屄| 另类小说五月天| 精品国产久久乱码| 国产精品高潮久久久无码| 国产亚洲精品自在线亚洲情侣| 97干色天堂| 精品久| 综合久| 欧美日日人人天天| 亚洲阿v天堂无码z2018| 亚洲最大黄网| 99久久99久久免费精品蜜臀| 亚洲无线码一区国产欧美国| 天天内射| 国产在线视频二区| 97超碰天天| 亚洲欧美不卡线| 强奸乱伦av电影| 在线小视频| 久久亚州精品成人Av无| 第二页中文字幕| 精品九九九九九| 久久久精品国产亚洲伊人| 久艹99| 精品综合久久久久久五月天| 日产狠狠干| 亚洲高潮影院| 久久老子无码午夜伦不卡| 欧美色图人妻| 午夜福利免费精品视频| 中文字幕诱惑制服人妻丝袜美丝袜美| 搞中出久久| 97色97好| 成人麻豆av电影网站| 青青操少妇| 男人精品区| 精品久久久av| 亚洲人成网站7777| 一区二区久久天天干狠狠| 超碰97护士| 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 国语国产操逼伊人AV网| 男女激情中文字幕| 亚洲加勒比| 亚洲欧洲美腿丝袜| 久久久精品| av操操不卡| 麻豆综合一区av| yirendaxiangjiashipin| 翔田千里Av在线| 成人久久精品| 亚洲超碰AV| 超碰九九| 黄页大片在线观看| 女沟厕偷窥piss小便| 18一区二区三区| 国产美女口爆吞精视频| 国产和美国毛片| 婷婷深爱五月| 欧美精品亚洲精品日韩传电影| 99无码视频| 校园春色五月天| 操逼内射干逼白丝91| 小视频国产| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 一本久久久精品| 综合色图,成人综合网| 操逼视频国产无套| 97超碰精品成| 欧美后进式| 肏逼福利网站| 色婷婷一区二区三区久久午夜成人不| 五月天婷婷色| 国产精品久久久久久久AV大片| 久久久久密臀视频| 人妻嗯啊啊在线播放| 强被迫伦姧在线观看无码网站| 男人天堂免费| 亚洲少妇色| 狠狠操官网| 最新制服中文第一页| 亚洲国产一级中文综合久久天堂在线免费观看 | 色噜噜狠狠色综合日日| 亚瑟国产精品久久无码| 久久成人网站| 97亚洲综合电影| 国产麻豆福利av在线播放| 极品白嫩美少妇在地板上位骑射淫水泛滥| 久久一区,青青青青草视频在线播放| 亚洲精品国产无码高清| 亚洲一区二区中文字幕| 人妻一区久久二区三区色播| 91丨九色丨国产打屁股| 欧美日韩午夜精品一区二区三区| 国产91丝袜 在线播放| 人人爱夜夜爱| 99啪啪| 成人a级高清视频在线观看| 青草一区二区| 亚洲日本天堂| 亚洲欧洲色情高清| 六月激情网| 看日韩操逼| 在线观看一级α片刺激高潮视频| 97K超碰在线| 亚洲自拍另类丝袜综合| 久久色人体| 91人妻Pr| 国产一级作爱毛片| 蜜乳视频网站| 男人天堂2017| 东京太热男人的天堂久久久| 97国产精品久久久久| 亚洲精品天天影视综合网 | 久久精品国产99精品亚洲蜜...| 2017,超碰| 久操 高清| 区一在线观看| 五月天丁香| 99热精品在线观看| 插日本熟女视频| 狠狠操夜夜| 欧美偷拍区| 色婷婷六月丁香七月婷婷| 色九九久九九| 久久风骚城市| 色悠久久久av| 国产一区二区久久| 91美女在线视频| 青青草在线视频人人想人人上 | 久久久久免费看少妇A片特黄| 国产女人视频三四五区| 91欧美色| 超碰78| 91综合网| 亚洲日韩人妻中文字幕一区| 中文乱码字幕观看| 日本精品五区| 97操| 免费久久一级毛片大黄| 激情熟女12P| 日本性爱欧美性爱| 久久成年片色大黄全免费网站| 国产成人在线观看网址| 丁香色狠狠色综合久久小说| 国产毛片毛片4p懂色| 精品综合久久久久久五月天| 一区二区三区美女超清| 欧美日韩中文字幕人妻| 人妻丝袜美腿中文字幕| 麻豆av一区二区| 午夜性刺激视频免费观看| 欧美自拍网| 日本三级精品| 少妇色欲综合网2| 超碰欧美97| 日产欧美电影一区二区三区| 国产真乱mangent| 国产高清在线观看欧美| 一级特级aaaa毛片免费观看| 国产欧美一区激情交| 操逼1区| 手机看片1025| 99无码视频| 婷婷色香| 久久久99999久网站| 91欧美性| 久久婷婷苹果| 欧美精品成人一区二区在线观看| 在线观看不卡一区二区三区| 国产网站在线播放| 精品国产片亚洲一区| 中文伊人大香蕉视频| 黑人中出21连凳花野真衣| 日本中文字幕一区| 亚洲色图欧美色图综合| 中文一区二区三区影院| 国产成人精品必看 | 肥佬影院91| 无码人妻一区二区三区色欲aⅴ| 国产欧美一级在线观看| 91校园春色长篇| 口爆欧美91| 91色射| 日韩福利综合一区| 国产亚洲精品第一最新| 91色碰| 久偷拍欧美日韩三区| 狠久久| 蜜乳AV.COM| 91色久| 亚州综合色图| 综合欧美色图| 日韩熟女操逼| 婷婷色网| 狠狠2050在线观看| 欧美综合综合| 欧美伊人久久综合网| 五月天色图影视| 亚洲色悠悠久久88| 国产强奸无码乱伦| 久久性爱大全| 日韩懂色网| 超碰人妻久久| 亚洲第一无码播放立川理惠| 欧美超碰96| 好湿好紧视频| 欧美日产国产在线成人第一区| 97精品国产97久久久久久| 日韩97视频| 亚洲97成人在线观看| 中文字幕日韩电影人妻| 欧美亚州手机在线| 99精品无码| 国产特级毛片AAAAAA高潮流水 | 99热精品在线| 亚洲日韩欧美一区二区| 少妇综合网| 色色丁香| 欧美最婬乱婬爆婬牲视频| 久久精品国产亚洲妲己影视| 啊啊啊不要好疼视频| 亚洲日韩黑丝| aⅴ日韩成人电影av在线免费看av大全 | 美国日韩黄片| 免费看毛片操穴| 精品一区二区三区蜜桃| 国产成人免费观看在线视频| 亚洲美女色图| 日韩在线国产字幕| 狠狠穞A片一區二區三區| 久久原创中文| 久久久国产亚洲精品系列| 日日夜夜草草草| 成人精品在线免费视频| 五月天色五月| 久久久一区二区三区麻豆| 欧美成人黄网色网站| 小骚逼被操的爽不爽| 午夜亚洲国产理论秋霞| 炮色五月| 日本羞羞的视频在线播放| 午夜久久一区二区无码中出| 啊啊啊啊好疼| 激情五月天婷婷| 精品夜夜澡人妻无码AV| 户外裸露刺激视频第一区| 97爱b| 国产性爱乱伦AV| 欧色性第一页| 日韩不卡在线一区二区| 我中文字幕6区| 欧美αv.com| 91操人| 人妻乱仑一区二区三区| 五月天AV资源| 日本道久久综合色色| 色97欧美| 蜜桃久久综合视频| 久久免费少妇| 亚洲色图加勒比| 91伊人久| 二三四区精品| 精品国产无码中文| 国产人妻精品一区二区三区秋霞 | 伊人在线大香蕉视频久久| 国产精品蜜乳AV| 国产激情在线| 岛国福利在线精品播放| 91国内外在线| 思思99热| 2023天天操夜夜操| av线电影| 午夜精品视频777| 国产97视频| 另类亚洲图色| 久久91精品国产9丨久久分亭| 国产夫妻性生活视频| 91九九| 久久久久久久人妻丝袜| 性爱动态120秒| 日本成人A片网站| 欧美色图99| 中文字幕av色| 操逼片中文| 精品传媒在线一区| 99国产精品免费| 国产成人+综合亚洲+天堂| 五月丁香激情四射| 99热8| 这里只有精品视频| 高清无码一区二区三区| 蜜臀久久99精品久久久久电影| 99色视频| 欧美人与动性人交a| 亚洲电影91| 人妻夜夜爽天天爽麻豆三区网站| 综合久久久久久久综合网| 亚洲干B| 91女网站| 日本高清有码网址视频| 超碰成人人人爽人人爽| 亚洲视频二区| 亚洲天堂男人在线| 熟女精品va中文字幕| 啊啊啊啊啊好多水| 啊啊啊啊啊好舒服视频| 亚洲18禁| 亚洲欧美国产成人综合不卡| 乱伦强奸区日韩| 综合97久久| 亚洲情色1区| 九月丁香综合网| 黄色大片视频在线免费看| 208天天久久九九九| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 久久婷婷在线观看视频| 色狠狠综合| 免费观看国产小粉嫩喷水精品午| 日日摸天天爽夜夜欢| 久久九九一区二区三区成人| 国产小u女在线观看| 啪啪视频亚洲第一 | 久久久草草精品| 青青草大香蕉在线视频| 精品一区二区人妖| 色在线综合| 夜夜欢天天干| 青青草女人天天干| 91久精品| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 亚洲欧美综合| 青女偷拍网| 日日日大屁股骚女人精品| 97精品一二区| 97超碰jingpin| 久久丁香| **一级毛片国产| 久久婷婷综合国际产色怕| 久久久精品网站| 啊啊啊啊啊在线| 97久久国产| 老熟女综合网 | 久久超碰98| 欧美亚洲国内自拍| 亚洲 欧美 天天| 五月天激情小说| 丁香婷婷啪啪| 五月丁香六月婷综合成人综合| 精品久久久久av影院| 国产免a费看黄片在线| 成人a v在线播放免费| 91狠狠| a片在线播放| 伊人超碰97| 国语精品对白| 精品久9| 丝袜AV一区二区三区| 蜜桃久久一区| 蜜桃网熟妇| 中文字幕在线2| 亚洲日韩少妇一道本视频| 精品小视频在线| 九九色精品| 婷婷五月天基地| 婷婷五月色| 啊啊啊啊嗯嗯嗯用力好爽| www.婷婷| 日韩精品99999| 日韩乱码Av| 啊啊啊啊啊啊在线看| 欧美性猛交美女自慰91| 亚州情色j区| 久久久工口| 欧美精品双插| 男人的天堂2000| 激情五月婷婷| 久久怡红院| 精品一区96| 看黑丝美女操逼青青网站| 天天看高清麻豆| 欧美日韩国产色五月综合在线| 女上位精品在线| 男人的天堂免费| 色哟哟AⅤ| 超碰成人公开| 欧洲熟妇xxXx欧美老妇裸体| 色婷婷电影网| 人人妻人人操人人乐| 97精品97| 国产一区二区在线看| 揉揉日日日日| 欧美资源| 欧美日韩国产三级黄色| 人妻日日干| 婷婷香蕉欧美在线一区二区三区 | 人人摸人人叼| 天天舔天天 | 99久热| 夜夜騷av、一區二區| 操91| 国模无码一区二区三区在线| 日本精品成人无码| 96AV精品|