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

ARTICLE DETAIL

資訊詳情

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

Java后端生成微信小程序二維碼的5種實(shí)現(xiàn)方式與避坑指南

Java后端生成微信小程序二維碼的5種實(shí)現(xiàn)方式與避坑指南 簡介這是一份圍繞微信小程序?qū)傺埗S碼生成系統(tǒng)梳理多種服務(wù)端編碼思路的Java后端資源合集適合需要在小程序裂變、渠道推廣或獎(jiǎng)勵(lì)場景中落地二維碼能力的開發(fā)者。資源基于微信官方getUnlimitedQRCode接口采用前端—后端API—微信API的調(diào)用鏈路專門解決長期有效、數(shù)量不限的小程序碼生成問題并一次性提供5種不同實(shí)現(xiàn)方式。壓縮包共含69個(gè)文件以Java源碼、XML配置與class編譯文件為主另有properties配置與依賴jar包可導(dǎo)入IDE直接閱讀或運(yùn)行整體體積僅53KB結(jié)構(gòu)精簡便于快速對照不同方案的差異。已有2647人學(xué)習(xí)/下載適合具備基礎(chǔ)Spring/HTTP知識、希望減少接口對接試錯(cuò)成本的中級Java開發(fā)者。通過該資源可掌握5種編碼思路、接口參數(shù)封裝及后端分層設(shè)計(jì)并拿到開箱即用的全套工程模板。1. 生成微信小程序二維碼先繞過“找SDK”這個(gè)彎我見過不少后端同學(xué)接到這個(gè)需求后的第一反應(yīng)打開搜索引擎找“微信小程序二維碼生成JDK”然后花半天調(diào)依賴、排版本沖突。其實(shí)這件事的正式做法非常輕——通過Java發(fā)起HTTP請求調(diào)用微信官方接口拿回圖片字節(jié)流落盤或者轉(zhuǎn)Base64交給前端。標(biāo)題里的“5種實(shí)現(xiàn)方式”本質(zhì)上是三個(gè)官方接口getUnlimited、getwxacode、createwxaqrcode和兩種落地形態(tài)文件落地、Base64直出的組合選錯(cuò)接口會(huì)踩數(shù)量上限的坑選錯(cuò)落地形態(tài)會(huì)被access_token和緩存折騰到懷疑人生。這篇文章我按真實(shí)落地順序跑一遍把參數(shù)差異和踩坑點(diǎn)寫透適合正在做分銷海報(bào)、活動(dòng)碼、分享裂變場景的后端同學(xué)。2. 5種實(shí)現(xiàn)方式都繞不開的三個(gè)官方接口先分清再動(dòng)手在小程序碼這個(gè)領(lǐng)域微信官方一共開放了三個(gè)生成接口后續(xù)所有方案都是圍著它們轉(zhuǎn)。很多人翻車的起點(diǎn)就是沒搞清楚這三個(gè)接口的差異憑直覺挑了一個(gè)結(jié)果要么總數(shù)被限制要么動(dòng)態(tài)參數(shù)傳不進(jìn)去。所以這一章先把接口選型講明白再談代碼。2.1 getUnlimited / getwxacode / createwxaqrcode用一張表看懂差異這三個(gè)接口分別對應(yīng)“小程序碼(無限量)”“小程序碼(固定路徑)”“普通二維碼(固定路徑)”。別看都是生成一張圖業(yè)務(wù)上的差別非常大。接口生成類型參數(shù)特點(diǎn)總量限制典型場景getUnlimitedgetwxacodeunlimit圓角小程序碼scene傳動(dòng)態(tài)參數(shù)最多32位page傳固定頁面路徑無總量限制用戶ID、訂單號、渠道標(biāo)識等動(dòng)態(tài)碼getwxacode圓角小程序碼path傳固定頁面路徑不支持scene動(dòng)態(tài)拼接總限額10萬個(gè)固定頁面入口碼、線下物料長期碼createwxaqrcode普通二維碼path傳固定頁面路徑不支持scene總限額10萬個(gè)掃碼進(jìn)小程序的普通二維碼、印刷物料我在模擬項(xiàng)目X里第一次做分銷海報(bào)時(shí)選了getwxacode產(chǎn)品反饋“同一個(gè)碼掃出來都一樣”因?yàn)榉咒N海報(bào)每個(gè)用戶都要帶不同參數(shù)這種場景只能上getUnlimited。反過來如果你只需要一個(gè)固定的“小程序首頁入口碼”用getUnlimited反而沒必要——getwxacode夠用且語義更清晰。還有一個(gè)容易忽略的點(diǎn)createwxaqrcode生成的是普通二維碼不是圓角小程序碼微信識別沒問題但視覺上和品牌規(guī)范往往對不上。如果產(chǎn)品對碼樣式有要求圓角、透明底、自定義顏色優(yōu)先考慮getwxacode和getUnlimited。另外getUnlimited支持auto_color和line_color自定義碼眼顏色做活動(dòng)視覺時(shí)比另外兩個(gè)接口靈活很多。2.2 access_token是第一個(gè)黑匣子緩存與刷新策略所有生成接口都要在URL上帶access_token而access_token是全局唯一的、有效期7200秒的憑證。它最大的坑在于不能每個(gè)請求都去獲取也不能快過期了才刷新更不能多個(gè)實(shí)例各刷各的。我見過一個(gè)團(tuán)隊(duì)在并發(fā)下把token刷崩了二維碼接口間歇性報(bào)41030。我一般用一個(gè)私有靜態(tài)類統(tǒng)一管理token核心邏輯是“全局單例 過期前提前刷新”public class WxTokenHolder { private static volatile String token; private static volatile long expireAt; public static synchronized String get() { // token還在有效期內(nèi)直接返回 if (token ! null System.currentTimeMillis() expireAt) { return token; } // 過期或即將過期重新請求微信接口 // 請求 https://api.weixin.qq.com/cgi-bin/token?grant_typeclient_credentialappid你的appidsecret你的secret // 響應(yīng)體里解析 access_token 和 expires_in單位秒 String accessToken doRefresh(); // 偽代碼實(shí)際寫HTTP請求 int expiresIn 7200; // 從接口響應(yīng)里取這里只做示例 token accessToken; expireAt System.currentTimeMillis() (expiresIn - 300) * 1000; // 提前5分鐘刷新 return token; } }邏輯說明這里用volatile synchronized保證多線程下token只刷新一次提前300秒失效是為了避免邊界情況——token剛好在請求發(fā)出后過期導(dǎo)致接口調(diào)用失敗。實(shí)際項(xiàng)目中如果服務(wù)是多節(jié)點(diǎn)部署建議把token放到Redis里用SETNX加鎖防止多個(gè)節(jié)點(diǎn)同時(shí)刷新。參數(shù)上唯一需要關(guān)注的只有expires_in微信返回的是秒記得做單位換算。2.3 按團(tuán)隊(duì)情況選實(shí)現(xiàn)方式前面說了5種實(shí)現(xiàn)方式本質(zhì)上不是5個(gè)接口而是“接口 × HTTP客戶端 × 落地形態(tài)”的組合。怎么選主要看你的項(xiàng)目里已經(jīng)有什么依賴。項(xiàng)目是輕量Java工程、不想引額外依賴用原生HttpURLConnection代碼少但連接不復(fù)用。老項(xiàng)目里已經(jīng)用了Apache HttpClient直接復(fù)用連接池管理成熟適合服務(wù)間調(diào)用多的場景。新項(xiàng)目、對并發(fā)有要求用OkHttp連接池和超時(shí)控制做得比較順手。Spring Boot項(xiàng)目用RestTemplate或WebClient和現(xiàn)有代碼風(fēng)格統(tǒng)一。全棧小團(tuán)隊(duì)、前端急著要圖用Hutool的HttpUtil一行代碼發(fā)出請求返回Base64給前端直接渲染。這五個(gè)方向就是下一章的5種實(shí)現(xiàn)方式。我不打算重復(fù)貼五遍一模一樣的token邏輯下面的代碼都默認(rèn)WxTokenHolder已經(jīng)就緒重點(diǎn)突出每種方式自己的差異。3. 用Java HTTP調(diào)微信接口5種實(shí)現(xiàn)方式與完整代碼進(jìn)入正題。先說統(tǒng)一的前提所有請求都是POSTContent-Type為application/json請求體是JSON字符串成功時(shí)返回圖片字節(jié)流PNG失敗時(shí)返回JSON錯(cuò)誤體通常errcodeerrmsg。3.1 方式一原生HttpURLConnection getUnlimited零依賴也能跑通最適合臨時(shí)腳本、工具類或不想引入任何依賴的后端模塊。直接看代碼public class WxQrCodeService { public byte[] createDynamicCode(String scene, String page, int width) throws IOException { String token WxTokenHolder.get(); // 動(dòng)態(tài)小程序碼接口scene傳業(yè)務(wù)參數(shù)page傳固定頁面路徑 String url https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token token; URL httpUrl new URL(url); HttpURLConnection conn (HttpURLConnection) httpUrl.openConnection(); conn.setRequestMethod(POST); conn.setDoOutput(true); conn.setConnectTimeout(5000); conn.setReadTimeout(5000); conn.setRequestProperty(Content-Type, application/json; charsetutf-8); // 構(gòu)造請求體注意scene最多32位page必須從pages/開頭 JSONObject param new JSONObject(); param.put(scene, scene); param.put(page, page); param.put(width, width); param.put(check_path, false); param.put(env_version, release); try (OutputStream os conn.getOutputStream()) { os.write(param.toJSONString().getBytes(StandardCharsets.UTF_8)); os.flush(); } // 微信接口即使業(yè)務(wù)失敗HTTP狀態(tài)碼也可能返回200所以必須讀body判斷 byte[] body; try (InputStream in conn.getInputStream()) { body in.readAllBytes(); } // 返回體以{開頭說明是錯(cuò)誤JSON不能當(dāng)圖片使用 if (body.length 0 body[0] {) { throw new RuntimeException(微信接口報(bào)錯(cuò): new String(body, StandardCharsets.UTF_8)); } return body; } }邏輯說明getUnlimited的scene是動(dòng)態(tài)參數(shù)的唯一入口業(yè)務(wù)側(cè)最常用的是用戶ID、訂單號這類短標(biāo)識page固定到小程序頁面路徑。readAllBytes()在Java 9可用如果你還在Java 8自己循環(huán)讀流即可。幾個(gè)參數(shù)說明width控制碼的邊長范圍280到1280不是越大越清晰一般用430或默認(rèn)值check_path在本地開發(fā)環(huán)境必須傳false否則接口會(huì)因?yàn)轫撁嫖窗l(fā)布而報(bào)錯(cuò)env_version有三個(gè)取值release、trial、develop開發(fā)環(huán)境想測線上邏輯時(shí)用trial。接口響應(yīng)是PNG字節(jié)流不用做任何解碼直接落盤或轉(zhuǎn)Base64都行。3.2 方式二Apache HttpClient getwxacode適合已有HttpClient的項(xiàng)目老項(xiàng)目里如果已經(jīng)用了HttpClient沒必要再引一套新依賴。getwxacode的特點(diǎn)是參數(shù)里直接傳path適合固定頁面入口碼public byte[] createFixedCode(String path, int width) throws Exception { String token WxTokenHolder.get(); CloseableHttpClient client HttpClients.createDefault(); HttpPost httpPost new HttpPost( https://api.weixin.qq.com/wxa/getwxacode?access_token token); httpPost.setHeader(Content-Type, application/json;charsetUTF-8); JSONObject param new JSONObject(); param.put(path, path); // 固定頁面路徑如 pages/index/index param.put(width, width); // 碼寬度 param.put(check_path, false); // 本地聯(lián)調(diào)必須置false httpPost.setEntity(new StringEntity(param.toJSONString(), UTF-8)); try (CloseableHttpResponse response client.execute(httpPost)) { byte[] body EntityUtils.toByteArray(response.getEntity()); // 同樣要先判斷是不是錯(cuò)誤JSON if (body.length 0 body[0] {) { throw new RuntimeException(微信接口報(bào)錯(cuò): new String(body, StandardCharsets.UTF_8)); } return body; } }邏輯說明getwxacode和getUnlimited最大的區(qū)別是——getwxacode不帶scene參數(shù)path就是整個(gè)碼的內(nèi)容。這意味著同一個(gè)頁面同一個(gè)path生成的碼永遠(yuǎn)一樣想?yún)^(qū)分用戶?做不到它天生就不是干這個(gè)的。參數(shù)上getwxacode還支持auto_color和line_color用于定制碼的顏色。auto_color傳true時(shí)line_color失效系統(tǒng)自動(dòng)取頁面主色想完全自定義就傳auto_colorfalse以及RGB的line_color。實(shí)際做品牌物料時(shí)這個(gè)參數(shù)比標(biāo)準(zhǔn)黑碼好看不少。另一個(gè)提醒getwxacode有總數(shù)10萬個(gè)的限制長期項(xiàng)目建議做個(gè)計(jì)數(shù)器提前評估消耗速度別等碼用完了才發(fā)現(xiàn)。3.3 方式三OkHttp createwxaqrcode連接池復(fù)用適合高并發(fā)如果你的服務(wù)并發(fā)量不低OkHttp是比HttpURLConnection更穩(wěn)的選擇。連接池復(fù)用、超時(shí)更精細(xì)、響應(yīng)流處理也更安全。這里生成的是普通二維碼場景是線下掃碼引流public String createQrBase64(String path, int width) throws IOException { String token WxTokenHolder.get(); OkHttpClient client new OkHttpClient.Builder() .connectTimeout(5, TimeUnit.SECONDS) .readTimeout(5, TimeUnit.SECONDS) .build(); JSONObject param new JSONObject(); param.put(path, path); param.put(width, width); RequestBody requestBody RequestBody.create( MediaType.parse(application/json; charsetutf-8), param.toJSONString()); Request request new Request.Builder() .url(https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token token) .post(requestBody) .build(); try (Response response client.newCall(request).execute()) { byte[] bytes response.body().bytes(); if (bytes.length 0 bytes[0] {) { throw new RuntimeException(微信接口報(bào)錯(cuò): new String(bytes, StandardCharsets.UTF_8)); } return Base64.getEncoder().encodeToString(bytes); } }邏輯說明createwxaqrcode生成的是普通二維碼形狀不是圓角小程序碼。如果你的頁面里需要展示二維碼圖片Base64字符串可以直接放到img標(biāo)簽的src里省掉文件上傳和URL生成的環(huán)節(jié)。這里有一個(gè)容易忽略的點(diǎn)OkHttp的response.body().bytes()只能調(diào)用一次調(diào)用后流就關(guān)閉了。別先轉(zhuǎn)成字符串再轉(zhuǎn)byte[]那樣會(huì)把二進(jìn)制圖片弄壞。我見過同事在這里翻車——用response.body().string()去拿圖片結(jié)果全是亂碼。正確做法是直接取bytes后續(xù)要Base64再編碼。3.4 方式四RestTemplate getUnlimited 文件落盤Spring項(xiàng)目順手做法Spring項(xiàng)目里最常見的做法是直接用RestTemplate把小程序碼存到服務(wù)器本地或?qū)ο蟠鎯Ψ祷匾粋€(gè)可訪問的URL給前端。下面這段是生成后落盤的完整邏輯public String saveQrToFile(String scene, String page, String fileName) throws IOException { String token WxTokenHolder.get(); String url https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token token; HttpHeaders headers new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); JSONObject param new JSONObject(); param.put(scene, scene); param.put(page, page); param.put(width, 430); param.put(check_path, false); HttpEntityString entity new HttpEntity(param.toJSONString(), headers); // 關(guān)鍵用byte[]接收響應(yīng)強(qiáng)制把圖片流當(dāng)二進(jìn)制處理 ResponseEntitybyte[] resp restTemplate.exchange( url, HttpMethod.POST, entity, byte[].class); if (resp.getStatusCode() ! HttpStatus.OK) { throw new IOException(HTTP狀態(tài)碼異常: resp.getStatusCode()); } byte[] body resp.getBody(); if (body null || body.length 0) { throw new IOException(二維碼圖片為空); } Files.write(Paths.get(fileName), body); return fileName; }邏輯說明RestTemplate接收圖片流時(shí)必須用byte[]類型作為響應(yīng)泛型如果誤用了String類型框架會(huì)按文本解碼圖片直接被轉(zhuǎn)成亂碼字符串。這也是為什么exchange比getForObject穩(wěn)。落盤之后一般配合Nginx或?qū)ο蟠鎯Π盐募成涑蒛RL。需要注意文件名的設(shè)計(jì)——如果用scene作為文件名的一部分要確保scene本身不含特殊字符否則URL解析會(huì)有問題。我習(xí)慣用“業(yè)務(wù)類型 日期 UUID片段”來命名避免文件名沖突也方便排查。3.5 方式五Hutool HttpUtil getUnlimited Base64輸出小團(tuán)隊(duì)全棧最快路徑當(dāng)你不想寫連接池、不想寫資源關(guān)閉、就想快點(diǎn)把圖給到前端時(shí)Hutool絕對是我現(xiàn)在最常用的選擇。代碼縮短到極致public String createWxCodeBase64(String scene, String page) { String token WxTokenHolder.get(); String url https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token token; JSONObject param new JSONObject(); param.put(scene, scene); param.put(page, page); param.put(width, 430); param.put(check_path, false); param.put(env_version, release); // 一行代碼發(fā)起POST并拿回字節(jié)流 byte[] body HttpUtil.createPost(url) .body(param.toJSONString()) .execute() .bodyBytes(); if (body.length 0 body[0] {) { throw new RuntimeException(微信接口報(bào)錯(cuò): new String(body, StandardCharsets.UTF_8)); } // data:image/png;base64 是前端img可以直接渲染的格式 return data:image/png;base64, Base64.getEncoder().encodeToString(body); }邏輯說明Hutool的HttpUtil簡化了HTTP客戶端的使用但本質(zhì)上它還是走HTTP POST響應(yīng)處理邏輯和前面幾種方式一致。bodyBytes()拿到的就是原始字節(jié)流不用關(guān)心連接池關(guān)閉。這種Base64直出方式很適合“前端彈窗實(shí)時(shí)展示分享海報(bào)”的場景——后端不落盤、不產(chǎn)生臨時(shí)文件、不占用存儲每次請求實(shí)時(shí)生成。要注意的是Base64字符串比原圖大約增加33%的體積430px的小程序碼轉(zhuǎn)Base64通常也就幾KB對接口響應(yīng)影響不大。如果圖片尺寸很大建議還是落盤走CDN別用Base64傳輸。方式五是我在模擬項(xiàng)目X里給前端做分享圖功能時(shí)的最終方案聯(lián)調(diào)效率比前幾種高出一截。4. 生成小程序二維碼避坑5個(gè)翻了車才記住的坑代碼能跑通只是第一步真正折磨人的是各種隱蔽邊界。下面這5個(gè)坑我都在不同項(xiàng)目里踩過每個(gè)都是真實(shí)線上的事故不是網(wǎng)上復(fù)制來的。4.1 path填成完整URL掃碼出來一片空白現(xiàn)象碼生成成功后用戶掃出來頁面打不開小程序直接報(bào)“頁面不存在”或白屏。原因你以為path是“https://xxx.com/pages/index/index”就原樣傳給了微信接口。但小程序碼里的path字段要求的是小程序內(nèi)部頁面路徑必須從pages/開始完整的URL是非法值。解決把path規(guī)范成“pages/index/index”這種格式不要帶域名、不要帶http協(xié)議前綴。聯(lián)調(diào)時(shí)打開微信開發(fā)者工具的Console看具體報(bào)錯(cuò)它會(huì)直接告訴你“page not found”。4.2 access_token被多實(shí)例刷崩接口間歇性報(bào)41030現(xiàn)象二維碼服務(wù)運(yùn)行一段時(shí)間后接口開始隨機(jī)報(bào)41030(invalid access_token)重啟后又恢復(fù)。原因多節(jié)點(diǎn)部署時(shí)每個(gè)節(jié)點(diǎn)各自持有token節(jié)點(diǎn)A刷新后節(jié)點(diǎn)B還在用舊token發(fā)起請求微信端舊token被新token頂?shù)鬊自然全部失效。解決token統(tǒng)一放到Redis里所有節(jié)點(diǎn)走同一個(gè)緩存刷新時(shí)用Redis的SETNX做鎖搶到鎖的節(jié)點(diǎn)才允許請求token接口。緩存過期時(shí)間不要設(shè)滿7200秒留300秒余量避免邊界過期。提示access_token本身的獲取頻率也有限制官方文檔明確建議全局緩存。服務(wù)端每次生成碼之前都先走WxTokenHolder或Redis不要重復(fù)獲取。4.3 scene參數(shù)超長或帶特殊字符接口直接報(bào)錯(cuò)現(xiàn)象scene參數(shù)拼接了“用戶ID_時(shí)間戳_渠道標(biāo)識”結(jié)果接口返回40097或參數(shù)不合法。原因scene最多32位且只支持?jǐn)?shù)字、大小寫英文、下劃線等一部分字符。超長或被URL編碼后改變語義都會(huì)校驗(yàn)失敗。解決不要在scene里塞原始業(yè)務(wù)主鍵和長字符串。常見做法是生成一個(gè)短碼存到Redis或數(shù)據(jù)庫把映射關(guān)系存好scene只存短碼用戶掃碼后通過短碼反查真正的業(yè)務(wù)參數(shù)。這個(gè)設(shè)計(jì)還能附帶一個(gè)好處——短碼天然適合做冷熱數(shù)據(jù)分析和埋點(diǎn)。4.4 check_pathtrue導(dǎo)致本地開發(fā)環(huán)境生成失敗現(xiàn)象本地聯(lián)調(diào)時(shí)調(diào)用getUnlimited接口一直報(bào)“path路徑不合法”。原因check_pathtrue要求小程序頁面必須先上傳到微信后臺本地開發(fā)環(huán)境下的頁面路徑根本不在微信的版本體系里自然校驗(yàn)失敗。解決開發(fā)環(huán)境check_path傳false發(fā)布到線上前再改成true。如果你用env_versiondevelop配合check_pathfalse可以在開發(fā)版小程序里正常打開頁面進(jìn)行調(diào)試。這個(gè)參數(shù)在測試環(huán)境最容易漏改建議做成配置項(xiàng)不同環(huán)境不同取值。4.5 HTTP狀態(tài)碼是200body卻是一段JSON錯(cuò)誤現(xiàn)象圖片下載下來是0字節(jié)或者文件打不開但HTTP狀態(tài)碼明明是200。原因微信生成接口的特點(diǎn)是——業(yè)務(wù)失敗時(shí)HTTP狀態(tài)碼依然返回200錯(cuò)誤信息放在body的JSON里。代碼里只要看到前面有if (code ! 200)就以為成功了然后把JSON錯(cuò)誤文本當(dāng)成圖片寫入文件。解決所有實(shí)現(xiàn)方式里都要加“body開頭是否為{”的判斷是則按錯(cuò)誤處理。這個(gè)判斷比HTTP狀態(tài)碼更可靠。我在上面五種方式的代碼里都加了這段復(fù)制到生產(chǎn)環(huán)境時(shí)千萬別刪。5. 從“能出圖”到“能上線”二維碼生成的驗(yàn)證清單代碼寫完了接口也調(diào)通了最后一步是驗(yàn)證。很多項(xiàng)目死在“本地能生成一張碼”和“線上穩(wěn)定生成百萬張碼”之間的空檔。我給自己定了一套驗(yàn)證清單每次新接生成碼需求都按這個(gè)走。驗(yàn)證第一件事是文件頭。PNG圖片的前8個(gè)字節(jié)是固定標(biāo)識0x89 0x50 0x4E 0x47。批量生成的二維碼可以做一個(gè)自動(dòng)化斷言// 回歸腳本片段驗(yàn)證接口返回的確實(shí)是PNG圖片 byte[] bytes wxQrCodeService.createDynamicCode(u_10001, pages/index/index, 430); assertTrue(bytes.length 0); // PNG魔數(shù)檢查能攔下把JSON錯(cuò)誤當(dāng)圖片寫入的翻車場景 assertTrue((bytes[0] 0xFF) 0x89); assertTrue((bytes[1] 0xFF) 0x50); assertTrue((bytes[2] 0xFF) 0x4E); assertTrue((bytes[3] 0xFF) 0x47);第二件事是參數(shù)邊界回歸批量化地去生成scene超長、scene特殊字符、path不存在、check_path開關(guān)切換、env_version三種取值、width極端值280和1280。不要只測正常鏈路這五個(gè)邊界能覆蓋我上面踩過的80%的坑。第三件事是真機(jī)掃碼驗(yàn)證。后端生成了碼不代表前端能正常跳轉(zhuǎn)。找兩臺不同系統(tǒng)的手機(jī)一臺掃碼進(jìn)正式版一臺掃碼進(jìn)開發(fā)版確認(rèn)真實(shí)業(yè)務(wù)參數(shù)傳過去了。我遇到過一種情況碼生成了頁面也打開了但scene里的下劃線在URL解析時(shí)被吃掉業(yè)務(wù)參數(shù)少了一位。這種問題只有真機(jī)掃碼才能暴露。最后說個(gè)習(xí)慣我會(huì)在代碼里給每個(gè)生成方法寫一個(gè)簡潔的日志包含接口名、scene、page、寬度、耗時(shí)、返回大小。上線后通過日志統(tǒng)計(jì)消耗速度——尤其是getwxacode和createwxaqrcode這類有10萬總量限制的接口提前預(yù)估用量比到時(shí)候被限制再補(bǔ)救舒服得多。我第一次做這個(gè)功能的時(shí)候就是沒做總量監(jiān)控活動(dòng)上線第三天碼就用完了整個(gè)團(tuán)隊(duì)手忙腳亂。后來每次做二維碼相關(guān)需求我第一件事就是確認(rèn)用的哪個(gè)接口、有沒有總量限制、日志有沒有記錄調(diào)用量。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
狠狠爱夜夜干| 国产激情在线| 屁股久久久久久| 91美女在线视频| 午夜一区| 欧美日韩国产在线| 成人免费在线网站| 欧美 精品国产制服第一页| 亚州综合图片| 精品久久久久久久久久久久| 亚洲成人色情五月天丁香花| 韩国女主播青草福利视频| 国产成人在线观看综合| 亚洲免费在线探花| 成人性爱美曰韩| 亚洲一区二区三区在线激情| 97啪啪| 久久久久久99999国产精品| 韩日男人的天堂| 婷婷色导航| 黑人狂躁日本妞一区二区三区| 国产一区在线播放| 亚洲国产天堂| 高清无码91| 久久久女人| 欧美亚洲宗合色性图| 看黑丝美女操逼青青网站| 91丨九色丨东北熟女| 激情网色| 波多野结衣先锋影音| 欧美一级A一级a爱片久久| 亚洲国产中文字幕| 亚洲偷91色| 91N综合在线| 91撸色网 玖玖网 欧美| 狠狠爱AV| 欧美性暴力猛交| 亚洲中文字幕av| 亚洲AV色图| 蜜臀99精品国产高清在线观看| 久久精品操| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 神马久久69| 亚洲揄拍网| 北京美女一区二区| 破处bbq| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | AV在线播放网址| 九九热精品视频六| 国产97亚洲| 久久天堂| 操逼片国产| 第一高清av中文字幕| 国产精品久久伊人| 狠狠干婷婷| 婷婷五月色| 大香蕉婷婷| 99久热| 97超碰国产精品| 97看操| 夜夜操一区二区| 超碰97久久观看| 色呦色呦色精品| 天操天操夜操夜月月年年操操 | 日本操大逼| 国产精品久久久鸭无码的功能| 欧美成人午夜免费福利785| 国产无马av| 四虎永久在线精品免费网址| 国产精品国产| 亲子敌伦对白在线播放| 日本日逼高清| 天天插天天射| 在线洲亚线| 国产精品久久| 天天视频综合在线观看视频| 97WW精品| 久草毛片| 小视频国产| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 精品色色| 久久久久921| 少妇淫妇久久久久久久| 亚洲免费成人在线高清无码视频| 婷婷丁香五月激情啪啪| 91jk色拍| 国产精品美女| 精品人妻美妇91job| 大胆91| 国产精品3| 超碰国产精品无码| 少妇蜜汁| 丰满人妻一区二区三区四区| 九九毛片这里只有精品| 亚洲激情欧美色图| 日韩激情啪啪| 成人久久精品| 国产在线观看91精品一区| 91Chinese在线| 97视频在线视频| 免费?级毛片无码?∨蜜芽试看| 翔田千里av一区二区三区| 青青草在线视频欧美| 免费国产视频| 亚洲另类在线观看| 色97国产69香蕉| 国内精品久久人妻性色av| 狠狠狠狠狠狠| 久草尤物| 清清草影| 日本免费专区| 日日夜夜模| TS人妖另类精品视频系列| 99综合免费视频| 极品后入免费视频| 嫩草影院性色| 色悠久久久av| 在线人人人人人人精品超| 99国产精品免费| 99国产精品视频尤物| 熟妇女人妻呻吟久久AV| 肏逼视频日本| 久久av网| 911av网站免费观看| 在线啊啊啊啊| 青青操网| 77国产精品| 无套内射人妻在线播放| 99re6国产精品99re| 国产对白刺激视频| 久草综合视频| 熟女人妻一区二区三区| 超碰97 线线 在现| 欧亚不卡| 中文字幕 码 自拍 视频 区| 欧美色图 色综合图| 97人人超| 欧美操人视频| 色亚洲欧美| 六月婷激情福利天堂69| 欧美真人抽搐一进一出gif| 婷婷伊人一区| 金莲网址| 欧美色图91| 麻豆2区1区天美| 素人一区二区三区日韩| 欧美最大综合网| 五月激情综合网| 久久 精品| 天天综合AV| 日韩一级二级在线| 日本一区二区三区免费观看| 天堂蜜桃无码视频一区二区| 97国产|免费| 综合网欧美在线| 欧美综合国产精品久久丁香| 999 久久久| 九月丁香| 激情小说图片亚洲首页| 操淫穴亚洲五月丁香| 丰满人妻av一区二区三区| 日本女人久久久| 97这里都是精品| 久久一区二区三区入口| 国内伊人久久久久久网站视频| 久久久久网站-538在线视频-欧美永久乱码| 视频分类 国内精品| 久久久久久久| 天天舔天天日天天射| 色综合九九| 超碰在线人妻中文字幕| 97综合激情| 日日A∨| 久久久涩| 久日91在线| 99成人| 亚洲av影音先锋| 欧亚日韩中文在线| 啊啊啊免费| 色亚州人久干视频在线观看免费版| 激情五月丁香五月| 最新啪啪视频| 家庭乱伦国产| 熟女探花啪啪| 电家庭影院午夜69久久夜色精品国产69乱| 女人天堂网| 九九英色视频| 免费人人搞97| 干b在线性社区| 色色无码| 蜜臀精品1区2区| 日日日日日| 国产91久久九九免费精品无码| 草草草视频在线免费看| 91爱剪切久久| 亚洲日韩电影| 中文字幕乱码人妻二区三区| AAAA欧美日韩| 亚洲高清视频在线免费观看| 黄片免费日韩| 日本淫乱女一区二区三区视频| 69一区二区三区 | 天天射日日干| 激情一区二区| 男人的天堂2018| 东北熟女91| 国产熟女无套内射| 超碰九7| 果冻传媒A片麻豆熟妇人妻| 亚洲国产中文字幕| 伊人久久亚洲色欲综合网站 | 偷拍伦理视频| 色老汉色| 欧美情色贴图| 久久久久密臀视频| 国产9区| 精品传媒在线一区| 久久六六| 久久国产性爱| 亚欧高清在线| 色色色热| 97香焦色区| 亚洲s在线观看| 久久久∴| 一二视频神马久久传媒| 国产三级中文字幕粉嫩| 久久久久九九九| 99人妻| 51国产午夜精品视频| 大二网站亚洲| 国产区性爱在线视频秋霞豆| 久久草大香蕉| 少妇诱惑视频| 亚洲国产中文字幕| 超碰色综合| 天天操人人操狠狠插| 日韩图区 偷拍| 91成人在线免费视频| 在线观看国产黄色| 操B久久| 国产精品一级二级在线| 91五十路| 欧美 亚洲 偷拍自拍| 久久香蕉国产传媒一区剧情天美| 神马影院午夜福利久久久| 亚洲自拍青操视频| 国产精品久久| 手机看片1024你懂的国产| www色色com| 青青草十区九区爱夜| 国外91| 2020久久免费视频| 亚洲美女自拍偷拍视频| 免費人妻夜夜爽天天爽爽一区| 蜜桃色院一区久久| 亚洲国产精品无石码久久 | 啊啊啊啊啊好大好舒服想要| 天天色欧美| 日韩免费在线视频观看| 日韩人妻少妇中文字幕| 国产日韩美女小穴视频网站不卡| 日本黄大片在线观看视频| 天天操天天舔| 亚洲诱惑| 日韩有码 一区二区三区| 亚洲中文一区二区三区视频| 欧美在线55555| 日韩大香蕉| 国产美女mm131爽爽爽爽| 一区二区三区日韩欧美| 精品69网| 五月丁香久久| 东京热毛片调教| 人人看人人爰人人操| 午夜天天碰综合视频| 大白逼三四级| 中文字幕精品一区二区精| 欧美熟爽综合| 综合夜夜| 国产视频三区四区| 99999国产精品| 91精品啪在线观看国产城中村| 欧美熟爽综合| 九九九九国产| 玖色AV| 超碰久超碰久| 五月色网| 九久精品| 国产精品久久久视频| 欧美激情专区| 日本在线一二| 老熟女综合| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 91女色| 色色色色网站| 18+91网站| 欧美一区二区亚洲天堂| 亚洲欧美国产精品久久久久久久| 99热这里只有精品9| www男人天堂| 99热国产| 翔田千里AV无码秘 三区| 美女啊啊啊啊啊啊啊| 91激情| 亚洲色图激情小说| 97精品| 开心六月色| 三男一女不戴套的A片| 欧美午夜色妇色鬼| 亚洲精美粉嫩嫩泬在线观看| 亚洲欧美内射| 久久大香蕉手机高清视频| 亚洲综合91| 中文乱码99| 1人人看人人摸人人操| 国产日韩人人| 婷婷丁香六月| 秋霞免费无码视频日韩A片| 超硑97精品| 亚洲无码一二三区| 97在线/亚洲| 精品久久久无码| 韩日色费| 日本五区不卡| 国产女上位好爽在线| 亚洲日韩人妻中文字幕一区| 欧美日韩国产色五月综合在线| 日本肉体xxxx裸交| 极品销魂美女一区二区| 少妇色综合| 丁香五月av| av一区二区三区不卡| 偷拍色图| 精品九九九九九九九| 亚洲无码?第一页| 97国产精品一区| 9超碰免费| 国产懂色精品国产av| 日韩有码中文字幕女同性恋 | 国产精品国产亚洲区艳妇糸列| 老司机久久| 天天操综合网| 欧美专区日本专区| 男人的天堂午夜av| 欧美色青| 成人草草视频| 大屁股国产在线视频| 97香焦色区| 国产激情av女片自拍| 欧美色欧美| 校园春色美腿丝袜| 午夜福利在线合集| 一区二区三区四区五区高清无码永久视频 | 加勒比人妻综合| 人妻天天夜夜爽一区二区| 国产野战露脸在线播放| 精品视频一二三中文| 国产第二页| 亚洲色图加勒比| 大香蕉手机视频| 嗯啊抽插大香蕉网页| 日韩在线国产字幕| 78精品在线| 大香交| 欧美青青视频| 夜夜狠狠躁日日躁色视频| 色婷婷影院| 网页导航五月天免费一二三区| 色吧5亚洲| 色97干| 久久久涩| 72av视频| 男人的天堂一区| 91无码人妻精品一区二区三区蜜桃| 伊人久久大香线综合无码| 97 亚洲 日韩 欧美 在线| 午夜免费福利视频一区| 91丨熟女丨丰满熟女| 国产东北女人在线视频| 岛国免费黄色网址| 久久久久亚洲?V片无码V| 亚洲国产av中文字幕久久| 大香蕉免费3| 狠狠色噜噜狠狠狠狠2018| 亚洲乱码精品一区二区| 欧美18老人禁| 八戒午夜福利理论片| 亚洲无码精品AV久久久| 国产高清视频无码在线| 亚洲一区操| 久久欲| 影音先锋视频在线| 乱伦Av网| 99久久网站| 男人天堂一区二区| 国产午夜视频| 色偷偷男人的天堂麻豆| 麻豆一区二区三区在线看 | 超碰人人超在线观看| 天天插天天操| 亚洲情色第一页| 德国一二三不卡| 99黄页网站| 五十路人妻在线| 97在线日韩中文字幕| 后入人妻无码| 亚洲欧美国产va在线播放频| 午夜AV人气不卡| 中文字幕日本久久| 夜夜嗨av午夜成人| 高颜值美女口爆高潮浪叫| 黑人综合网| 国产精品福利视频播放| 91狼人| 夜夜操二区| 四虎884a| 91性网| 国产一区免费午夜视频| 美女被艹尤物视频| 曰韩欧美国产传媒麻豆第一区| 天天综合香 ld视频| 99国产精品自在自在| 久久东京热久久| 色y情视频免费看| 国产精品岛国片在线观看| 亚州宗合另类| 日本久久久久久久久久| 成年人网站在线免费观看| 黄页视频网站野外| 色色色色色色色色色色色色色色综合 | 久久风骚城市人| 欧州一区二区三区四区| 亚洲第一成人影院色播| 四季AV一区二区凹凸精品小说| 精品美女少妇一区二区| 亚洲欧洲精品视频发布| 91在线免费观看处女| 色婷婷一区二区三区久久午夜 | 欧美色三级片91| 操老熟女AV| 岛国福利在线精品播放| 96久久科窝| 激情啪啪视频| 日韩性爱视频在线免费观看| 亚洲色图大香| 亚洲图片视频小说| 欧美经典一区二区三区| 白丝少妇一区二区| 精品蜜乳AV免费观看| 探花精品视频| 中文字幕一二三av| 国产三级多多影院2022国产AA一级毛片无码| 人人人人人人少妇| 国产美女91| 粉嫩在线一区二区懂色| 大香蕉综合在线| 亚洲精品一区二区精华| 射丝袜高跟鞋99| 999精品久久久久久久| 91操碰| 淫穴高潮色图| 色婷五月| 97久久久网站| 99色视频| 五月丁香激情四射| 欧美大香蕉在线观看| 久久综合97| 97久久视频| 亚洲精品电影| 好吊妞转入那个网| 亚洲天堂男人| 天堂麻豆天美| 久草视频观看视频在线| 夜夜夜夜爽| 久久一区二区三区入口| 爱丝福利| 精品少妇一区二区三区在线视频| 亚洲毛片久久| 欧美日韩人人精品| 国产在线视频二区| 欧美亚洲韩国视频十五区| 欧美顶级黄片AAAAA在线免费看| 日韩熟女视频二区| 天天日天天爽| 三上悠亚在线毛片91| 91九久| 一级做受视频免费是看美女| 激情终合网| 色伊人91| 97资源久久| 99re这里只有精品3| AⅤ片水多多| 亚洲黄a三级三级三级看三级| 日韩国产欧美伦理在线| 亚春色色| 99re这里只有精品3| 日本狂喷奶水在线播放212| 亚洲天天精品| 久悠悠av| 天天干天天中出av| 激情接吻视频久久久久久| 亚洲成人帖图| 欧美少妇第一页| 亚洲成a人在线观看久| 亚洲中文sv| 日产中文字幕2020| 久久婷婷精品| 亚洲国产av中文字幕久久 | a级成人毛片免费视频高清| 97操B| 日韩国产十八禁| **一级毛片国产| 五月丁香黄色网| 亚洲性感丝袜诱惑在线观看| 婷婷四五区| 欧美日韩性爱无码| A级国产欧美激情在线| 91青青在线视频| 中文字幕日产av人| 99热这里是精品| 成人小说视频在线精品欧美| 麻豆av一区二区| 亚洲精品国产av天美传媒| 玖玖在线视频| 蜜臀AV网站| 国产精品第一区第一页| 91老司机精品| 大干人妻| 60秒免费视频| 久久亚洲不卡一区二区三区| 一区二区三区四区色图| 亚欧Av| 亚洲,日韩,欧美,成人播放| 91色宗合| 91丝袜人妻| 国产精品在线一区二区| 四虎884a| 色婷婷综合久久久久中文一区二区| 9l视频自拍9l九色成人| 日韩人成网站在线播放| 91人妻最真实刺激绿帽| 日本欧美中文字幕| 久久精品黄色| 99在线精品视频| 美女十八禁| 久久r精品| 狠狠爱AV| 997色在线| 中文欧丝袜诱惑| 91草草草| 男人把坤坤插入女人的下体| 欧美人妻中出| 国产青青美女玩逼视频| www.AV有限公司一区| 75大香蕉| 少妇三P| 天操老女人| 天天综合网1| 国产小炒后入式| 欧美日韩亚洲高清不卡一区二区三区| 久热久一区二区三区| 欧美熟妇视频| 第四色亚洲色图| 91殴美大片| 久久久性爱视频| 美女AV一区二区| 欧美乱妇狂野欧美在线视频| 夜夜操一区二区| 久久精品高清无码一区| 91色伦| 男人的天堂Va| 五十路三区在线| 亚洲色图综合| 亚洲天天做日日做天天谢日日| 午夜超碰| 色97干| 久9爱精品| 青青国产精品在线| 岛国小电影| 一本正道久久熟女| 亚洲精品一区二区免费在线观看| 大香蕉啪啪啪啪在线| 亚洲综合夜色| 97国产|免费| 欧美日本成人一区二区| 国产综合在线视频网站| 蜜乳AV网址| 日本三级韩国三级99| 美腿色图| 91激情国产| 69精品| 小视频玖玖| 国产欧美一区激情交| 亚洲综合色男人网| 97精品国产精品免费观看| 久啪视频| 五月天我淫我色av| 欧美精品自慰系列寂寞少妇| 亚州操操穴网| 五月天人妻综合| 午夜精品久久一区二区| 永久免费发布性爱网| 丁香五月成人| 亚洲日韩熟女人妻高清在线| 97超碰色情| 国产精品嫩草影院免费| 乱日视频| 久久精品女同亚洲女同13| 久久狠狠色噜噜狠狠狠狠97| 熟妇操花| 国产午夜视频| 日韩一级二级三级在线不卡观看完整| 韩国一级AAA| 艳美熟妇先锋一二三区| 亚洲好色人妻| 天天色黄色影院天天操| 中文啪啪视频| 国产综合久| 十八岁啪啪视频免费看| 精品免费一区二区三区在线亚洲人成| 伊人在线大香蕉视频久久| 国产91亚洲精品一区二区三区| 日本精品第一视频在'| 久久视网78| 亚洲男人在线观看天堂| 精品毛片av一区二区| 天堂精品在线| 亚洲丝袜二区在线| 亚洲图片欧洲图片aⅴ| 日韩精品熟妇| 天天草天天日| www.狠狠干.coom| 黑人精品欧美一区二区蜜桃| 黄色欧美性爱视频| 在线一区| 亚洲 欧美 偷拍 唯美| 日本丝袜美腿人妻九九| 欧美不卡五十路| 96AV精品| 无码人妻精品酒店| 99爱视频| 男人的天堂va| 欧美黑人性猛交91| 国产精品久久| 射丝袜高跟鞋99| 欧美激情激情xxxx欧美专区| 韩国久久97| 欧美综合91| 人人妻人人操人人乐| 综合网 欧美| 素人播放一区| 国产精品人妻无码久久久老鸭窝| 翘臀vidoes| 国产成人亚洲精品无| 久久久精品日本一道| 欧美成人精品A片免费一区99| 夜夜做夜夜爽精品视频| wwwcaobibi| 国产乱码久久久| 人妻中文在线| 青草综合| 欧美精品偷拍| 日韩欧美tv一区二区在线观看| 99精品高潮| 睡产熟女乱伦| 久久 精品| 97干色天堂| 精品中文字幕第一页| 久久99精品国产| 在线性黄高清免费视频| 蜜臀99久久国产| 一二三四日本视频高清| 中国农村熟妇毛片视频| 老熟女中文字幕高清| 亚洲中文日韩精品| 97Ai亚洲| 久久久久久波多野吉衣高潮| 人人操人人操草草| 黄页av| 国产欧美日韩臀| 国产又粗又长又爽又色| 好吊色综合| 9999亚洲电影| 99热超碰在线| 一区二区三区在线美女| 91热色| 蜜臀av中字字幕网站| av在线一区二区三区| 懂色AV网| 成人天天看站长推荐 | 中文字幕在线观看第二页| 亚洲一区操| 亚洲中文字幕av| 成人精品视频一区二区| 中文字幕性感少妇av| 啊啊啊在线观看| 超碰精品人妻狠狠干| 久久极品一区二区| 日本一区二区三区四区免费观看| 97天天摸天天爽| 亚洲图片在线| 欧美中文字幕一区 | 北条麻妃99精品青青久久| 最新的亚洲无吗| 五月婷亚洲精品天堂| 欧洲大香蕉| 伊人色综合超碰| 丁香色色网| 亚洲精品无码成人久久久99| 99999精品| 校园春色美腿丝袜 | 91九九九馒头| 欧美日韩第一页| 第四色奇米影视777| 日本506070| 丝袜美腿91| 欧美αv.com| 熟女人妻一区二区三区免费看| 天天射夜夜| 亚州人妻| 日产中文字幕2020| 91久久久久久久久久久| 伊人91| 国模精品娜娜一二三区| 神马久久久久久伦理片| 国产三级资源在线观看| 精品无码久久久久久久杏吧| 国产精品一区二区三区四区五区| 日本不卡免费二区| av 模特一区了| 中文字幕日韩人妻视频一区二区三区交换夫妻| 爱爱动态120秒| 91oumei| 丁香六月综合激情| 婷婷五月天网| 人妻熟女午夜精品在线| 大香网伊人久久综合| 妺妺跟我一起洗澡没忍住| 一级久久久久久久久久久| 思思热免费在线视频| 亚洲国产欧美一区二区潘金莲| 日本αv| 国产精品不卡av免费在线观看| 97综合久久| 20cm女自慰在线日韩欧美| 一区在线精品中文字幕| 精品无码久久久久久久久果冻糖心| 夜夜嗨视频| 欧美日本成人一区二区| 少妇一级无码精品| 午夜福利1区2区3区| 国产无码高清操逼视频| 黄片视频,下载| 人妻一区视频| 殴美大黄片| av九九| 久久精品人体| 精品无人区麻豆乱码久久久| 精品国产99| 97频视在线| 久久久性少妇| 啊啊啊啊啊在线| 亚洲欧美日韩制服另类| 日本狂喷奶水在线播放212| 欧美亚洲| 激情99| 国产AV天美| 色婷婷一区二区三区久久午夜| 天天日天天干天天摸天天操| 色噜噜狠狠色综无码久久合欧美| 啪啪性爱免费视频| 日韩欧美一级特黄大片| 久久激情综合| 人妻天天爽夜夜爽精品2| 亚洲精品国产精品乱码不卡| 龙兴卡官方查询| 9久久久久久| 综合影院永久入口国产| 国产精品色片一区二区| 五月丁香啪啪啪| 欧美激情片一区二区| 色哟哟av| 性videos欧美熟妇hdx| 欧美强奸乱| 久操B网| 欧美少妇色综合| 久久九九97| 91人妻最真实刺激绿帽| 久超碰这里只有精品| 青娱乐休闲视频在线观看| 久久精品国产亚洲AV无码做| 蜜臀av一区二区三区免费观看| 九九久久99| 日韩91网| 一区操逼日比视频| 综合网,亚洲,欧美| 爱丝福利| 中文字幕国产| 美女露胸露屁股| 精品无码一区二区三区| 超碰97人妻免费在线| 色婷婷综合网站| av72网| 91啦人妻| 99这里有精品| 91中出视频| 日韩精品中文字幕一| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 日韩无码精品综合久久| 欧美躁死她一区二区| 风骚少妇视频中文字幕| 黑人精品XXX一区一二区| 五月天综合在线| 久久精品日韩专区免费观看| 久久 国产 无码| 日韩成人色图| 男人天堂新| 国模精品一区二区三区苹果色戒| 亚洲色入欧美| 人妻献身系列第54部| 日本淫色网| 国产熟妇 码视频户外直播| 激情五月丁香五月| 人妻丰满熟妇av无码区蜜桃| 日韩精品黄片免费观看| 国产小炒后入式| 八戒午夜福利理论片| 乱理日韩中文| 午夜小电影在线插入淫高潮| 亚洲天堂人妻一区二区| 加勒比海色香蕉婷婷| 日本欧美成人片AAAA| 青青草依人大香蕉| 91性高潮久久久久久久久| 久久成人精品| 丁香五月激情综合国产| 熟妇一区,二区,三区。| 国产AV久久久蜜爱影集| 精品一区二区2| 国产热RE99久久6国产精品首| 黑人粗大V S日韩女优视频| 无色无码| 久久婷婷苹果| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 天天影视射综合网| 男人天堂黄片| 毛片麻豆91糖心精品毛情片| 午夜久久无码1000合集| 3级毛片一二| 一区二区偷拍拍视频| 夜夜欢天天干| 性综合网| 日本一天色道久久久精品视频| 尤物视频一区| 亚洲日韩黑丝| www久久99| 日韩大香蕉| 久草精品国产蜜臀| 黄片com.| 日日躁天天躁狠狠躁| 亚洲综合网电影91| 无遮挡男女激烈动态图| 91l欧美在线| 国产 日韩 另类 视频一区爱| 91天美免费| 日本不卡高清免v欧美日韩在线观看| 国产无码久久高清| 亚洲国产丝袜在线观看| 激情五月天婷婷| 久久性爱视频免费看| 欧美后入视频| 国产激情久久久| 一区二区三区免费视频入口| 一本久久精品中文字| 国产情侣自拍在线播放| 国产女人视频三四五区| 日日做夜狠狠爱欧美黑人| 日本99久久| www.亚洲黄色| 欧美色图片色哟哟| 第45页一区二区| 日韩性爱高清免费视频| 综合影院永久入口国产| 中文字幕午夜精品久久久| 国产最新AV| 播播亚洲小说亚洲| av网站免费看| 四虎影视 亚洲无码| 伊人97色天使| 十八禁啪啦拍视频无遮挡| 国产亚洲福利第一页丝袜| 中文字幕欧洲有码| 男女激情中文字幕| 人妻熟女午夜精品在线| 国产极品99热在线播放69| 国产熟女无套内射| 日本不卡一区二区三区| 青青草原综合久久大伊人精品| 亚洲一卡2卡3卡4卡乱码网站 | 中文字幕精品一区二区精| 一区二区不卡视| 亚洲国产精品久久久久婷婷老年| 天天弄欧美| 日本三级韩国三级99| 国产精品成人蜜臀AV在线| 老熟女乱伦一区| 国产精品一区二区三| 超碰 国产熟女精品一区| 国产传媒一区日韩| 欧美制服网站美腿丝袜| 久99| 五月婷婷爱六月丁香色| 熟女五十路一区二区三| 亚洲春色一区二区三区| 无码78| 33044男人的天堂深夜备| 日韩精品电影| 婷婷美人网| 91中文精品日韩欧美在线| 97色冈| 亚洲黑丝在线| 99视频只有精品| KK色在线影院| 骚女高跟AV在线| 亚熟hd视频在线| 久久综合女优| 91久久18禁| 日韩情色AV| 久久亚洲熟妇在线视频| 亚洲AV资源| 欧美日日夜夜| 操我啊啊啊啊啊| 午夜久久一区二区无码中出| 一区二区你上我| 99色在线| 日本熟妇一区二区三区| 920日本午夜免费| 伊人久久88国产女| 天天日日舔舔| 国精品一区二区三| 久久av色| 传媒免费一区二区三区| 婷婷15月天青娱乐| 婷婷久草| 天天爽入口| 欧美综合综合| 欧美AB在线| 亚洲色婷婷久久91| 日韩视频精品在线观看| 国产精品一区二区久久精品| 极品综合| 自拍偷拍 日韩无码| 3p国产色噜噜一区| 91久热| 好淫网一二三视区| 亚洲色图国产另类| 九九九草| 久久啊啊| 日本性交操一区二区不卡系列| 国产日韩在线播放av| 国产欧美岛国精品一区| 强奸a片网| 精品无码久久久| 久久久久久久久久久999| 九九免费影片| 日韩精品-原创伙伴| AV麻豆免费一区| 亚洲最新a在线观看| 亚洲激情网| 熟妇艹鸡八| 日日AAvv| 韩国免费播放一级毛片| 日韩美女操b| 五月婷婷综合在线| 刺激精品视频| 97se亚洲| 91人精品妻入口| 亚洲激情在线一区二区| 殴美,日韩国产伦精品| 97久久久精品| 国产区在线| 6080YYY午夜理论片在线观看| 精品v日韩欧美国产| 嗯嗯啊中文字幕| 亚av顶级裸体一区二区三区四区五区| 免费视频观看60秒| 欧美十八禁视频| 综合激情五月天| 97精品97| 清纯唯美亚洲综合| 蜜桃视频成a人v在线| 极品五月天噜噜| 日韩亚洲97| 青娱乐999| 日韩黄色成人性爱| 丰满搜索结果 -第18页- 久久高清无码 | 日本免费一区二| 精久久久| 成人无遮挡毛片免费看| 色一情一乱一乱一区91Av| 在线黄色污污网站| 日日夜夜免费| 亚洲各类熟们中文字幕| 91/欧美| 日韩精品在线视频,日韩精品……| 日韩色欲久久一二三四区| 好淫网一二三视区| 欧美最婬乱婬爆婬牲视频| 操逼逼一区视频| 久久久久13| 国产一区二区在线看| 亚洲国产尤物yw在线观看| 精品久久在线区一区| 伊色久人大在线| 在线观看国产黄色| 久久久久密臀视频| 69XX一中文字幕人妻91| 94色色电影网| 久热香蕉精品在线视频| 亚洲97P| 一区AV| 日韩情色视频| 大奶的诱惑| 97色在线| 欧美伊人电影| 国产热RE99久久6国产精品首| 欧美亚洲涩涩| 秋霞一级A片黄色视频| 色呦呦、国产精品| 91精品91久久久久77777俄罗斯老妇姓x| 亚洲一区二区精品福利| 无码操逼天堂| 人妻系列无码专区中文有码| 亚洲国产精品久久久男人的天堂| 强被迫伦姧在线观看无码网站| 中文字幕老熟妇黄色视频| 精品久久97观看在线视频| 国产成人久久久精品免费AV| 国产后入清纯| 在线国产一区二区av| 超碰午夜| 国产剧情AV不卡在线观看| 超碰久久网| 日本www操操操| 久久久久久九九九九九九| 凸凹视频在线观看| 日韩电影中文字幕| 五月激情啪啪| 亚洲欧美不卡线| 欧美最婬乱婬爆婬性视频| 韩国免费播放一级毛片| 日本精品国产视频| 在线观看成人性爱免费小视频| 超碰综合色| 亚洲五码一区二区三区| 综合性视频99| 丁香五月天激情网站| 亚洲成人帖图| 殴美牲| 激情 欧美 亚洲 小说| 九七毛片九九毛片| 成人网址在线观看| 97超碰日韩| 91天美传媒精品| 3d成人精品一区二区| 91精品国产91久久久久久久久久久久| 超碰AV在线| 狠狠婷婷亚洲中文综合久久| 色大师网站www永久网站视频| 久久精品国产亚洲AV嘿嘿| 亚洲se电影| 欧美黑人猛交春色影视大全| 中文字幕,人妻,日韩| 97 国产精品| 婷婷三区| 中国一区二区亚洲人妻| 日韩综合97p| 久久精品视频在线观看| 日韩中文字幕在线视频观看| 蜜臀久久99精品久久久久| 97精品久久久久中文字幕| 五月天成人综合| 大香蕉www.超碰| 中文字幕一区二区三区人妻不卡| 麻豆国产原创AV色哟哟| wwwcaobibi| 性无码专区2020| 91成人亚洲色图| 久久夜色一区二区| 国产精品成人在线| 国产一区二区三三视频| 欧色网址| 另类成人首页一区| 亚州成人A√| 日本九九九九| 国产成年女人免费视频播放a| 97欧美日韩综合| B049AV在线播放| 亚洲AV无码天美传媒一区| 91精品无码人妻系列| 综合久久久久久久久91| 超碰97伊人| 亚洲AV在线资源| 欧美中文字幕一区| 日本少妇va7777| 人人爱操| 人妻aa| 亚洲 日本 国产 综合| 色汉综合| 中文字幕国产| 亚州熟妇精品| 另类亚洲图色| 操狠狠| 色婷婷五月综合| 久久香蕉综合一本到3atv| 亚洲欧美色图小说| 26uuu欧美| 亚洲福利中文字幕在线| 26uuu性物| 激情熟女12P| 啊啊啊好多水| 2020中文字幕在线观看| 九九九只有精品| 欧美激情亚洲情色| 日日日骚女人精品| 97视频7| 九月AV| 嗯嗯,啊啊,国产精品| 亚州伊人色综台| 99∨VTV| 欧美色色色| 欧美日综合| 久久久成人国产精品无码| 东京热男人的天堂精品| 成人a级高清视频在线观看| 一区二区三区美女超清| 亚洲色图欧美一区二区不卡| 蜜臀AV午夜精品久| 国产AV中文| 欧美91变态| 亚州91| 国产综合色精品在线观看| 欧美亚洲情色| 探花精品 一区二区| 91肉片| jizz啪啪| 日本黄色大片一级视频免费麻豆| 极品欧美一区二区三区| 欧美日韩插逼视频| 欧美爱三级日韩久久| 欧美1区二区三区公司| 密乳无码| 国产一区二区av综合| 国产精品熟女丝袜一区二区| 日本亚洲熟女视频| 亚洲色综合| 国产欧美美女免费观看视频| xxx亚洲午夜天堂| 亚洲情色一区二区三区| 九九九九97|