微信公眾號(hào)網(wǎng)頁H5跳轉(zhuǎn)微信小程序

2020年7月微信開放了H5跳轉(zhuǎn)小程序的實(shí)現(xiàn)(基于微信JSDK和開放標(biāo)簽)督弓。微信官方文檔 僅有 js 示例哥谷,工作中用的是vue拴袭,特此記錄備忘泣棋。

微信開放標(biāo)簽是微信公眾平臺(tái)面向網(wǎng)頁開發(fā)者提供的擴(kuò)展標(biāo)簽集合雕薪。通過使用微信開放標(biāo)簽昧诱,網(wǎng)頁開發(fā)者可安全便捷地使用微信或系統(tǒng)的能力,為微信用戶提供更優(yōu)質(zhì)的網(wǎng)頁體驗(yàn)所袁。
此文檔面向網(wǎng)頁開發(fā)者盏档,介紹微信開放標(biāo)簽如何使用及相關(guān)注意事項(xiàng)。需要注意的是燥爷,微信開放標(biāo)簽有最低的微信版本要求蜈亩,以及最低的系統(tǒng)版本要求懦窘。
微信版本要求為:7.0.12及以上。 系統(tǒng)版本要求為:iOS 10.3及以上稚配、Android 5.0及以上畅涂。

代碼示例

示例備注:

  • 基于vue、vant實(shí)現(xiàn)
  • 請求后端api 獲取 JSDK授權(quán)信息需要根據(jù)自身情況做修改道川,字段如下:
wx.config({
 debug: true, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來午衰,若要查看傳入的參數(shù),可以在pc端打開冒萄,參數(shù)信息會(huì)通過log打出臊岸,僅在pc端時(shí)才會(huì)打印
 appId: '', // 必填,公眾號(hào)的唯一標(biāo)識(shí)
 timestamp: , // 必填尊流,生成簽名的時(shí)間戳
 nonceStr: '', // 必填帅戒,生成簽名的隨機(jī)串
 signature: '',// 必填,簽名
 jsApiList: [], // 必填崖技,需要使用的JS接口列表
 openTagList: [] // 可選逻住,需要使用的開放標(biāo)簽列表,例如['wx-open-launch-app']
})
  • 對于path屬性响疚,所聲明的頁面路徑必須添加.html后綴鄙信,如pages/home/index.html
  • 開放標(biāo)簽成功時(shí)才能看到button忿晕,僅真機(jī)測試有效装诡。微信開發(fā)者工具無法展示button,且console提示錯(cuò)誤[Vue warn]: Unknown custom element: <wx-open-launch-weapp> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
<template>
    <div>
        this is a demo
        <div class="home">
            <wx-open-launch-weapp
                id="launch-btn"
                :username="username"
                :path="path"
                @launch="handleLaunchFn"
                @error="handleErrorFn"
            >
                <script type="text/wxtag-template">
                    <style>
                        .ant-btn {
                            line-height: 1.499;
                            position: relative;
                            display: inline-block;
                            font-weight: 400;
                            white-space: nowrap;
                            text-align: center;
                            background-image: none;
                            border: 1px solid #d9d9d9;
                            -webkit-box-shadow: 0 2px 0 rgba(0,0,0,0.015);
                            box-shadow: 0 2px 0 rgba(0,0,0,0.015);
                            cursor: pointer;
                            -webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1);
                            transition: all .3s cubic-bezier(.645, .045, .355, 1);
                            -webkit-user-select: none;
                            -moz-user-select: none;
                            -ms-user-select: none;
                            user-select: none;
                            -ms-touch-action: manipulation;
                            touch-action: manipulation;
                            height: 32px;
                            padding: 0 15px;
                            font-size: 14px;
                            border-radius: 4px;
                            color: rgba(0,0,0,0.65);
                            background-color: #fff;
                        }
                        .ant-btn-red {
                            color: #fff;
                            background-color: #FF5A44;
                            border-color: #FF5A44;
                            text-shadow: 0 -1px 0 rgba(0,0,0,0.12);
                            -webkit-box-shadow: 0 2px 0 rgba(0,0,0,0.045);
                            box-shadow: 0 2px 0 rgba(0,0,0,0.045);
                        }
                    </style>
                    <button class="ant-btn ant-btn-red">{{ btnText }}</button>
                </script>
            </wx-open-launch-weapp>
        </div>
    </div>
</template>

<script>
    import wx from 'weixin-js-sdk' // 引入weixin JSDK
    import {Toast, Dialog, Notify} from 'vant'
    // api 接口從后端獲取微信jsdk授權(quán)信息
    import { getWechatJsConfig } from '../../../api/wechat'

    export default{
        data () {
            return {
                username: 'gh_xxxxxxxx', // gh_ 開頭的原始小程序ID
                path: 'pages/index/index.html', // 一定要以 .html 結(jié)尾
                btnText: "我的小程序"
            }
        },
        methods: {
            ToMiniapp() {
                getWechatJsConfig({api: 'getLocation', 'url': window.location.href }).then(res => {
                    res['openTagList'] = ['wx-open-launch-weapp']  // 微信小程序標(biāo)簽名加入 openTagList
                    console.log(res)
                    wx.config(res);
                })
            },
            handleLaunchFn (e) {
                console.log(e)
            },
            handleErrorFn(e){
                console.log('fail', e.detail);
            }
        },
        mounted() {
            this.ToMiniapp()
        }
    }

</script>

參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末践盼,一起剝皮案震驚了整個(gè)濱河市鸦采,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌咕幻,老刑警劉巖渔伯,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異肄程,居然都是意外死亡锣吼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進(jìn)店門蓝厌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來玄叠,“玉大人,你說我怎么就攤上這事拓提《潦眩” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長寺惫。 經(jīng)常有香客問我疹吃,道長,這世上最難降的妖魔是什么西雀? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任萨驶,我火速辦了婚禮,結(jié)果婚禮上艇肴,老公的妹妹穿的比我還像新娘篡撵。我一直安慰自己,他們只是感情好豆挽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著券盅,像睡著了一般帮哈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锰镀,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天娘侍,我揣著相機(jī)與錄音,去河邊找鬼泳炉。 笑死憾筏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的花鹅。 我是一名探鬼主播氧腰,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼刨肃!你這毒婦竟也來了古拴?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤真友,失蹤者是張志新(化名)和其女友劉穎黄痪,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盔然,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡桅打,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了愈案。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挺尾。...
    茶點(diǎn)故事閱讀 39,731評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖刻帚,靈堂內(nèi)的尸體忽然破棺而出潦嘶,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布掂僵,位于F島的核電站航厚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏锰蓬。R本人自食惡果不足惜幔睬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望芹扭。 院中可真熱鬧麻顶,春花似錦、人聲如沸舱卡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽轮锥。三九已至矫钓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間舍杜,已是汗流浹背新娜。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留既绩,地道東北人概龄。 一個(gè)月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像饲握,于是被迫代替她去往敵國和親私杜。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評論 2 354