1. 程式人生 > 其它 >微信授權

微信授權

 <button class="cc" open-type="getUserInfo" @getuserinfo="getUserInfo" v-if="!canIUseGetUserProfile">
        <u-icon name="weixin-fill" color="#fff" size="38"></u-icon>
        <text style="padding-left:8px">微信一鍵授權</text>
      </button>

  

  getUserInfo(res) {
      
if (res.detail && res.detail["iv"] && res.detail["encryptedData"]) { const data = { iv: res.detail.iv, phone: uni.getStorageSync("phone"), encryptedData: res.detail.encryptedData }; weixinCheck(data, this.num); } else { uni.showToast({ title:
"微信授權失敗", icon: "none", duration: 2000 }); } },
 uni.login({
    provider: "weixin",
    success: loginRes => {
      console.log("loginRes", loginRes);
      console.log("siteId", uni.getStorageSync("siteId"));
      params = params || {};
      loginByWechat({
        terminalType: 
"C", principalType: uni.getStorageSync("sourceType"), // store.state.user.sourceType, principalId: uni.getStorageSync("sourceId"), // store.state.user.sourceId, siteId: uni.getStorageSync("siteId"), // store.state.user.siteId, jsCode: loginRes.code, ...params }) .then(res => { handleLoginInfo(res, num); }) .catch(err => { console.log("debug log --> ", err); uni.showToast({ title: err, icon: "none", duration: 2000 }); const timer = setTimeout(() => { // uni.redirectTo({ // url: "/authorize/index" // }); clearTimeout(timer); }, 2000); }); }, fail: loginErr => { uni.showToast({ title: loginErr, icon: "none", duration: 2000 }); const timer = setTimeout(() => { uni.redirectTo({ url: "/authorize/login" }); clearTimeout(timer); }, 2000); } });

手機號授權

 <button style="    margin-bottom: 15px;" class="cc" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">
        <u-icon style="    vertical-align: middle;" name="weixin-fill" color="#fff" size="38"></u-icon>
        <text style="padding-left:8px">微信手機號一鍵繫結</text>
      </button>
 getPhoneNumber: function(e) {
      console.log("debug log --> ", e);
      this.show = false;
      if (e.detail.errMsg === "getPhoneNumber:fail user deny") {
        wx.showToast({
          icon: "none",
          title: "請允許獲取手機號,否則功能不可用!"
        });
        return;
      }
      
      if (this.loginSuccess) {
        var ency = e.detail.encryptedData;
        var iv = e.detail.iv;
        const data = {
          iv: iv,
          jsCode: this.code,
          encryptedData: ency
          // nickName: uni.getStorageSync("name")
        };
        weixinCheckPhone(data);
      }
      
    },