Vue微信公衆号靜默授權 - 新聞資(zī)訊 - 雲南小程序開發|雲南軟件開發|雲南網站(zhàn)建設-西山區知普網絡科技工作室

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不管是網站(zhàn),軟件還是小程序,都要直接或間接能為您産生價值,我們在追求其視覺表現的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網站(zhàn)成為營銷工具,讓軟件能切實提升企業(yè)内部管理水平和(hé)效率。優秀的程序為後期升級提供便捷的支持!

Vue微信公衆号靜默授權

發表時間:2020-10-19

發布人:葵宇科技

浏覽次數:58

首先要注冊一個(gè)公衆号
再裡面配置自己的安全域名 有兩個(gè)地方要配置 開發-》設置
配置完之後 在微信開發工具打開,
因為微信那邊的限制 我目前隻能在把頁面放到服務器(qì)上進行訪問(wèn)
這個(gè)是靜默授權在邏輯是打開頁面時 有一個(gè)redirect_uri 這個(gè)參數 是獲取code後的重定向位置 一般就是當前頁面
code 的值 獲取成功後會放到url中(zhōng) 通(tōng)過 location去獲取就好了

 created() {
                this.getUrl()
            },
getUrl() {
                    let userAgent = navigator.userAgent;
                    if (userAgent.includes("iPhone") || userAgent.includes("iPad")) {
                        sessionStorage.setItem("originUrl", location.href); // 用于ios分享
                    }
                    this.getBaseInfos();
                },

                // 編碼函數
                getUrlParam(name) {
                    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //構造一個(gè)含有目标參數的正則表達式對象
                    var r = window.location.search.substr(1).match(reg); //匹配目标參數

                    if (r != null) return unescape(r[2]);
                    return null; //返回參數值
                },

                getBaseInfos() {
                    if (this.isWeiXin()) {
                        const code = this.getUrlParam("code"); // 截取路(lù)徑中(zhōng)的code
                        if (code == null || code === "") {
                            let url = "";
                            let userAgent = navigator.userAgent;
                            if (userAgent.includes("iPhone") || userAgent.includes("iPad")) {
                                url = sessionStorage.getItem("originUrl");
                            } else {
                                url = window.location.href;
                            }
                            window.location.href =
                                "https://open.weixin.qq.com/connect/oauth2/authorize?appid=你(nǐ)申請的appkey&redirect_uri=" +
                                encodeURIComponent(url) +
                                "&response_type=code&scope=snsapi_base&state=1&connect_redirect=1#wechat_redirect";
                        } else {
                        }

                        if (code != "" && code != null) {
                            this.wxCode = code;
                            console.log(code)
                            this.getOpenid(code)
                        }
                    } else {
                    }
                },

                isWeiXin() {
                    var ua = window.navigator.userAgent.toLowerCase();
                    if (ua.match(/MicroMessenger/i) == "micromessenger") {
                        return true;
                    } else {
                        return false;
                    }
                },

相關(guān)案例查看更多