日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

手机浏览器中H5跳转微信小程序长按识别二维码

發(fā)布時間:2024/3/24 HTML 505 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手机浏览器中H5跳转微信小程序长按识别二维码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

業(yè)務(wù)需求:

APP中訂購課程后發(fā)送短信通知,用戶點短信中連接進入H5,此時H5是手機瀏覽器中打開,不是微信生態(tài)所以放的客服二微碼無法長按識別。如果能H5直接進入微信生態(tài)。微信這個接口只向一些大的合作企業(yè)提供些接口,我們想用只能網(wǎng)上買第三方的,看過幾個第三方接口可以實現(xiàn)但是不穩(wěn)定。

解決方案:

H5這條路走不通,那么就看看小程序。小程序中雖然不能直接長按識別二維碼,但是還好小程序有WEB_VIEW,引用H5做的二維碼就可以識別。

web-view

承載網(wǎng)頁的容器。會自動鋪滿整個小程序頁面,個人類型的小程序暫不支持使用。

src:webview 指向網(wǎng)頁的鏈接。可打開關(guān)聯(lián)的公眾號的文章,其它網(wǎng)頁需登錄小程序管理后臺配置業(yè)務(wù)域名。

這個問題解決了,最重要的是怎么讓H5在瀏覽器中打開直接跳轉(zhuǎn)微信生態(tài)(打開小程序),下面看看小程序的這個函數(shù)接口

urlscheme.generate

獲取小程序 scheme 碼,適用于短信、郵件、外部網(wǎng)頁、微信內(nèi)等拉起小程序的業(yè)務(wù)場景。通過該接口,可以選擇生成到期失效和永久有效的小程序碼,有數(shù)量限制,目前僅針對國內(nèi)非個人主體的小程序開放,詳見獲取 URL scheme。

HTTPS 調(diào)用

請求地址

POST https://api.weixin.qq.com/wxa/generatescheme?access_token=ACCESS_TOKEN

請求參數(shù)

屬性類型默認(rèn)值必填說明
access_token / cloudbase_access_tokenstring接口調(diào)用憑證
jump_wxaObject跳轉(zhuǎn)到的目標(biāo)小程序信息。
is_expirebooleanfalse生成的 scheme 碼類型,到期失效:true,永久有效:false。注意,永久有效 scheme 和有效時間超過180天的到期失效 scheme 的總數(shù)上限為10萬個,詳見獲取 URL scheme,生成 scheme 碼前請仔細(xì)確認(rèn)
expire_typenumber0到期失效的 scheme 碼失效類型,失效時間:0,失效間隔天數(shù):1
expire_timenumber到期失效的 scheme 碼的失效時間,為 Unix 時間戳。生成的到期失效 scheme 碼在該時間前有效。最長有效期為1年。is_expire 為 true 且 expire_type 為 0 時必填
expire_intervalnumber到期失效的 scheme 碼的失效間隔天數(shù)。生成的到期失效 scheme 碼在該間隔時間到達前有效。最長間隔天數(shù)為365天。is_expire 為 true 且 expire_type 為 1 時必填

jump_wxa 的結(jié)構(gòu)

屬性類型默認(rèn)值必填說明
pathstring通過 scheme 碼進入的小程序頁面路徑,必須是已經(jīng)發(fā)布的小程序存在的頁面,不可攜帶 query。path 為空時會跳轉(zhuǎn)小程序主頁。
querystring通過 scheme 碼進入小程序時的 query,最大1024個字符,只支持?jǐn)?shù)字,大小寫英文以及部分特殊字符:`!#$&'()*+,/:;=?@-._~%``
env_versionstring"release"要打開的小程序版本。正式版為"release",體驗版為"trial",開發(fā)版為"develop",僅在微信外打開時生效。體驗版和開發(fā)版僅在iOS上支持,Android將在近期支持。

返回值

生成的小程序 scheme 碼

異常返回

Object

JSON

屬性類型說明
errcodenumber錯誤碼
errmsgstring錯誤信息

errcode 的合法值

值說明最低版本
-1系統(tǒng)繁忙,請稍后重試
40002暫無生成權(quán)限(非個人主體小程序無權(quán)限)
40013生成權(quán)限被封禁
85079小程序未發(fā)布
40165參數(shù)path填寫錯誤
40212參數(shù)query填寫錯誤
85401參數(shù)expire_time填寫錯誤,時間間隔大于1分鐘且小于1年
85402參數(shù)env_version填寫錯誤
44990生成Scheme頻率過快(超過100次/秒)
85400長期有效Scheme達到生成上限10萬
45009單天生成Scheme數(shù)量超過上限50萬

返回值說明

如果調(diào)用成功,會直接返回生成的小程序 scheme 碼。如果請求失敗,會返回 JSON 格式的數(shù)據(jù)。

示例

請求

{"jump_wxa":{"path": "/pages/publishHomework/publishHomework","query": ""},"is_expire":true,"expire_time":1606737600 }

返回

{"errcode": 0,"errmsg": "ok","openlink": Scheme, }

云調(diào)用

云調(diào)用是微信云開發(fā)提供的在云函數(shù)中調(diào)用微信開放接口的能力,需要在云函數(shù)中通過?wx-server-sdk?使用。

接口方法

openapi.urlscheme.generate

需在?config.json?中配置?urlscheme.generate?API 的權(quán)限,詳情

請求參數(shù)

屬性類型默認(rèn)值必填說明
jumpWxaObject跳轉(zhuǎn)到的目標(biāo)小程序信息。
isExpirebooleanfalse生成的 scheme 碼類型,到期失效:true,永久有效:false。注意,永久有效 scheme 和有效時間超過180天的到期失效 scheme 的總數(shù)上限為10萬個,詳見獲取 URL scheme,生成 scheme 碼前請仔細(xì)確認(rèn)
expireTypenumber0到期失效的 scheme 碼失效類型,失效時間:0,失效間隔天數(shù):1
expireTimenumber到期失效的 scheme 碼的失效時間,為 Unix 時間戳。生成的到期失效 scheme 碼在該時間前有效。最長有效期為1年。is_expire 為 true 且 expire_type 為 0 時必填
expireIntervalnumber到期失效的 scheme 碼的失效間隔天數(shù)。生成的到期失效 scheme 碼在該間隔時間到達前有效。最長間隔天數(shù)為365天。is_expire 為 true 且 expire_type 為 1 時必填

jumpWxa 的結(jié)構(gòu)

屬性類型默認(rèn)值必填說明
pathstring通過 scheme 碼進入的小程序頁面路徑,必須是已經(jīng)發(fā)布的小程序存在的頁面,不可攜帶 query。path 為空時會跳轉(zhuǎn)小程序主頁。
querystring通過 scheme 碼進入小程序時的 query,最大1024個字符,只支持?jǐn)?shù)字,大小寫英文以及部分特殊字符:`!#$&'()*+,/:;=?@-._~%``
envVersionstring"release"要打開的小程序版本。正式版為"release",體驗版為"trial",開發(fā)版為"develop",僅在微信外打開時生效。體驗版和開發(fā)版僅在iOS上支持,Android將在近期支持。

返回值

生成的小程序 scheme 碼

異常

Object

JSON

屬性類型說明
errCodenumber錯誤碼
errMsgstring錯誤信息

errCode 的合法值

示例

請求

const cloud = require('wx-server-sdk') cloud.init({env: cloud.DYNAMIC_CURRENT_ENV, }) exports.main = async (event, context) => {try {const result = await cloud.openapi.urlscheme.generate({"jumpWxa": {"path": '/pages/publishHomework/publishHomework',"query": ''},"isExpire": true,"expireTime": 1606737600})return result} catch (err) {return err} }

返回

{"errcode": 0,"errmsg": "ok","openlink": Scheme, }

重要的就是獲取這個scheme

獲取 URL Scheme

通過服務(wù)端接口或在小程序管理后臺「工具」-「生成 URL Scheme」入口可以獲取打開小程序任意頁面的 URL Scheme。適用于從短信、郵件、微信外網(wǎng)頁等場景打開小程序。 通過 URL Scheme 打開小程序的場景值為 1065。
生成的 URL Scheme 如下所示:

<span style="background-color:#f9f9fa"><span style="color:#222222"><span style="background-color:#f9f9fa"><code>weixin://dl/business/?t= *TICKET* </code></span></span></span>

iOS系統(tǒng)支持識別 URL Scheme,可在短信等應(yīng)用場景中直接通過Scheme跳轉(zhuǎn)小程序。
Android系統(tǒng)不支持直接識別 URL Scheme,用戶無法通過 Scheme 正常打開小程序,開發(fā)者需要使用 H5 頁面中轉(zhuǎn),再跳轉(zhuǎn)到 Scheme 實現(xiàn)打開小程序,跳轉(zhuǎn)代碼示例如下:

<span style="background-color:#f9f9fa"><span style="color:#222222"><span style="background-color:#f9f9fa"><code>location.href = 'weixin://dl/business/?t= *TICKET*' </code></span></span></span>

該跳轉(zhuǎn)方法可以在用戶打開 H5 時立即調(diào)用,也可以在用戶觸發(fā)事件后調(diào)用。

調(diào)用上限

Scheme 將根據(jù)是否為到期有效與失效時間參數(shù),分為短期有效Scheme長期有效Scheme

  • 單個小程序每日生成 Scheme 上限為50萬個(包含短期有效 Scheme 與長期有效 Scheme)
  • 有效時間超過180天的 Scheme 或永久有效的 Scheme 為長期有效Scheme單個小程序總共可生成長期有效 Scheme 上限為10萬個,請謹(jǐn)慎調(diào)用
  • 有效時間不超過180天的 Scheme 為短期有效Scheme,單個小程序生成短期有效 Scheme 不設(shè)上限
  • 注意事項

  • 微信內(nèi)的網(wǎng)頁如需打開小程序請使用微信開放標(biāo)簽-小程序跳轉(zhuǎn)按鈕,無公眾號也可以直接使用小程序身份開發(fā)網(wǎng)頁并免鑒權(quán)跳轉(zhuǎn)小程序,見云開發(fā)靜態(tài)網(wǎng)站跳轉(zhuǎn)小程序。符合開放范圍的小程序可以下發(fā)支持打開小程序的短信
  • 該功能基本覆蓋當(dāng)前用戶正在使用的微信版本,開發(fā)者無需進行低版本兼容
  • 只能生成已發(fā)布的小程序的 URL Scheme
  • 通過 URL Scheme 跳轉(zhuǎn)到微信時,可能會觸發(fā)系統(tǒng)彈框詢問,若用戶選擇不跳轉(zhuǎn),則無法打開小程序。請開發(fā)者妥善處理用戶選擇不跳轉(zhuǎn)的場景
  • 部分瀏覽器會限制打開網(wǎng)頁直接跳轉(zhuǎn),可參考示例網(wǎng)頁設(shè)置跳轉(zhuǎn)按鈕
  • 開放范圍

    針對非個人主體小程序開放。

    至此,完成瀏覽器H5到微信生態(tài),直接可以長按識別二維碼了。

    總結(jié)

    以上是生活随笔為你收集整理的手机浏览器中H5跳转微信小程序长按识别二维码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。