自拍亚洲一区欧美另类,亚洲成人影院,亚洲午夜久久久久妓女影院,最近中文字幕高清中文字幕无,亚洲熟妇av一区二区三区漫画

互聯(lián)網(wǎng)知識(shí)

精準(zhǔn)傳達(dá) ? 價(jià)值共享

洞悉互聯(lián)網(wǎng)前沿資訊,探尋網(wǎng)站營(yíng)銷規(guī)律

人人商城微信小程序登入接口升級(jí) 小程序登入失敗,getUserProfile小程序登錄接口升級(jí)

作者:狐靈科技 | 2021-05-11 11:53 |點(diǎn)擊:

在重新制作小程序的時(shí)候 小程序登入失敗 已經(jīng)上線的小程序不受影響  調(diào)查發(fā)現(xiàn) 是小程序登入接口導(dǎo)致的

調(diào)整后4月13日之后發(fā)布的小程序wx.getUserInfo的接口都將失效,因此導(dǎo)致小程序的登錄會(huì)出現(xiàn)灰色頭像和微信用戶
 
后臺(tái)也是獲取不到數(shù)據(jù)導(dǎo)致界面一度尷尬
 
 
 
而且TX的開(kāi)發(fā)文檔寫(xiě)得十分含糊,這個(gè)舊不吐槽了,避坑wx.getUserProfile 接口返回的解密數(shù)據(jù)里不包含openId
 
思來(lái)想去不想對(duì)登錄流程進(jìn)行太多改動(dòng)于是wx.getUserInfo接口的解密數(shù)據(jù)獲取openId還是可以,只是無(wú)法獲取用戶基本信息getUserProfile可以既然如果那就
 
先用getUserProfile獲取  userInfo用戶對(duì)象信息,在用wx.getUserInfo 獲取encryptedData和iv 至此后面的登錄流程不變只是提交數(shù)據(jù)的時(shí)候多提交一個(gè)userInfo信息到后臺(tái)
 
小程序支持庫(kù)最少升到2.10.4
 
相關(guān)文件
 
小程序路徑pages/auth/index.wxml    立即登錄按鈕需要修改
 
<image class='logo' src='{{shop_logo}}'></image>
<view class='title'><text class='title-underline'>{{shop_name}}</text></view>
<view class='message'><text>您尚未登錄需要獲取您的授權(quán)后進(jìn)入商城</text></view><button bindtap='close'
  class='cancelBtn'>暫不登錄</button>
  <button bindtap='bindGetUserInfobu' class='authBtn' >立即登錄</button>



小程序路徑pages/auth/index.js 多加了一個(gè)方法bindGetUserInfobu()  然后獲取到userInfo用戶對(duì)象信息在用wx.getUserInfo  把對(duì)象結(jié)構(gòu)拼裝一下,這樣基本沒(méi)有太多改動(dòng)

提交時(shí)多提交一個(gè)userInfo用戶對(duì)象信息

 

// 登錄修正
  bindGetUserInfobu(){
    //getUserProfile獲取用戶信息
   wx.getUserProfile({
    lang:'zh_CN',
    desc: '用于完善會(huì)員資料',
    success: (res) =>{
      console.log(res)
      //getUserInfo獲取認(rèn)證oid解密
      wx.getUserInfo({
        lang: 'zh_CN',
      }).then(r=>{
        console.log(r)
       r.userInfo=res.userInfo
        let n={
          detail:r
         }
         this.bindGetUserInfo(n)
      })
     
    }
   })
  },
//登錄修正
  bindGetUserInfo: function (o) {
    console.log(o)
    wx.showLoading({
      title: "加載中"
    }) 
    wx.login({
      success: function (t) {
        console.log(t)
        n.post("wxapp/login", {
          code: t.code
        }, function (tt) {
          console.log(tt)
          tt.error ? n.alert("獲取用戶登錄態(tài)失敗:" + tt.message) : n.get("wxapp/auth", {
            data: o.detail.encryptedData,
            iv: o.detail.iv,
            sessionKey: tt.session_key,
            userInfo:o.detail.userInfo// 登錄修正
          }, function (n) {
            console.log(n)
            1 == n.isblack && wx.showModal({
              title: "無(wú)法訪問(wèn)",
              content: "您在商城的黑名單中,無(wú)權(quán)訪問(wèn)!",
              success: function (n) {
                n.confirm && e.close(), n.cancel && e.close()
              }
            }), o.detail.userInfo.openid = n.openId, o.detail.userInfo.id = n.id, o.detail.userInfo.uniacid = n.uniacid, e.setCache("userinfo", o.detail.userInfo), e.setCache("userinfo_openid", o.detail.userInfo.openid), e.setCache("userinfo_id", n.id), e.getSet(), wx.navigateBack({
              changed: !0
            })
          })
        })
      },
      fail: function () {
        n.alert("獲取用戶信息失敗!")
      },
      complete: function () {
        wx.hideLoading()
      }
    })
  },



后臺(tái)代碼 ewei_shopv2/plugin/app/core/mobile/wxapp.php

只需要修改 auth()  加4行代碼 見(jiàn)注釋 登錄修正

 

 
/**
     * 微信小程序登錄
     */
    public function auth()
    {
        global $_GPC;
        global $_W;
        $encryptedData = trim($_GPC["data"]);
        $iv = trim($_GPC["iv"]);
        $sessionKey = trim($_GPC["sessionKey"]);
       //登錄修正
        $userInfo=$_GPC["userInfo"];
      //登錄修正
        if (empty($encryptedData) || empty($iv)) {
            return app_error(AppError::$ParamsError);
        }
        $pc = new WXBizDataCrypt($this->appid, $sessionKey);
        $errCode = $pc->decryptData($encryptedData, $iv, $data);
        
        if ($errCode == 0) {
            $data = json_decode($data, true);
            $this->refine($data["openId"]);
            $member = m("member")->getMember("sns_wa_" . $data["openId"]);
            
            //登錄修正
            if(is_array($userInfo)){
                $data=array_merge($data, $userInfo);
            }
            //登錄修正
            if (empty($member)) {
                $member = array("uniacid" => $_W["uniacid"], "uid" => 0, "openid" => "sns_wa_" . $data["openId"], "nickname"=>!empty($data["nickName"]) ? $data["nickName"] : "", "avatar" => !empty($data["avatarUrl"]) ? $data["avatarUrl"] : "", "gender" => !empty($data["gender"]) ? $data["gender"] : "-1", "openid_wa" => $data["openId"], "comefrom" => "sns_wa", "createtime" => time(), "status" => 0);
                pdo_insert("ewei_shop_member", $member);
                $id = pdo_insertid();
                $data["id"] = $id;
                $data["uniacid"] = $_W["uniacid"];
                if (method_exists(m("member"), "memberRadisCountDelete")) {
                    m("member")->memberRadisCountDelete();
                }
            } else {
                $updateData = array("nickname" => !empty($data["nickName"]) ? $data["nickName"] : "", "avatar" => !empty($data["avatarUrl"]) ? $data["avatarUrl"] : "", "gender" => !empty($data["gender"]) ? $data["gender"] : "-1");
                pdo_update("ewei_shop_member", $updateData, array("id" => $member["id"], "uniacid" => $member["uniacid"]));
                $data["id"] = $member["id"];
                $data["uniacid"] = $member["uniacid"];
                $data["isblack"] = $member["isblack"];
            }
            if (p("commission")) {
                p("commission")->checkAgent($member["openid"]);
            }
            return app_json($data, $data["openId"]);
        }
        return app_error(AppError::$WxAppError, "登錄錯(cuò)誤, 錯(cuò)誤代碼: " . $errCode);
    }







對(duì)人人整個(gè)流程不是特別熟悉本著能少改動(dòng)代碼盡量少改動(dòng),缺什么補(bǔ)什么吧,這個(gè)我朋友上線測(cè)試之前沒(méi)有獲取到用戶個(gè)人數(shù)據(jù)的賬號(hào),在重新登錄后頭像昵稱數(shù)據(jù)會(huì)更新過(guò)來(lái)

希望能幫到大家共度難關(guān)



 

如沒(méi)特殊注明,文章均為狐靈科技原創(chuàng),轉(zhuǎn)載請(qǐng)注明?? "人人商城微信小程序登入接口升級(jí) 小程序登入失敗,getUserProfile小程序登錄接口升級(jí)
多一份免費(fèi)策劃方案,總有益處。

請(qǐng)直接添加技術(shù)總監(jiān)微信聯(lián)系咨詢

網(wǎng)站設(shè)計(jì) 品牌營(yíng)銷

多一份參考,總有益處

聯(lián)系狐靈科技,免費(fèi)獲得專屬《策劃方案》及報(bào)價(jià)

咨詢相關(guān)問(wèn)題或預(yù)約面談,可以通過(guò)以下方式與我們聯(lián)系

業(yè)務(wù)熱線:15082661954 / 大客戶專線:15523356218