日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

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

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

業務需求:

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

解決方案:

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

web-view

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

src:webview 指向網頁的鏈接。可打開關聯的公眾號的文章,其它網頁需登錄小程序管理后臺配置業務域名。

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

urlscheme.generate

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

HTTPS 調用

請求地址

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

請求參數

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

jump_wxa 的結構

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

返回值

生成的小程序 scheme 碼

異常返回

Object

JSON

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

errcode 的合法值

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

返回值說明

如果調用成功,會直接返回生成的小程序 scheme 碼。如果請求失敗,會返回 JSON 格式的數據。

示例

請求

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

返回

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

云調用

云調用是微信云開發提供的在云函數中調用微信開放接口的能力,需要在云函數中通過?wx-server-sdk?使用。

接口方法

openapi.urlscheme.generate

需在?config.json?中配置?urlscheme.generate?API 的權限,詳情

請求參數

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

jumpWxa 的結構

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

通過服務端接口或在小程序管理后臺「工具」-「生成 URL Scheme」入口可以獲取打開小程序任意頁面的 URL Scheme。適用于從短信、郵件、微信外網頁等場景打開小程序。 通過 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系統支持識別 URL Scheme,可在短信等應用場景中直接通過Scheme跳轉小程序。
Android系統不支持直接識別 URL Scheme,用戶無法通過 Scheme 正常打開小程序,開發者需要使用 H5 頁面中轉,再跳轉到 Scheme 實現打開小程序,跳轉代碼示例如下:

<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>

該跳轉方法可以在用戶打開 H5 時立即調用,也可以在用戶觸發事件后調用。

調用上限

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

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

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

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

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

    總結

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。