<noframes id="bhrfl"><address id="bhrfl"></address>

    <address id="bhrfl"></address>

    <noframes id="bhrfl"><address id="bhrfl"><th id="bhrfl"></th></address>

    <form id="bhrfl"><th id="bhrfl"><progress id="bhrfl"></progress></th></form>

    <em id="bhrfl"><span id="bhrfl"></span></em>

    全部
    常見問題
    產品動態
    精選推薦

    微信小程序用戶登錄顯示”微信用戶”的問題

    管理 管理 編輯 刪除

    問題產生原因:是由微信官方對接口進行升級引起的。

    在之前我們在小程序獲取用戶信息是如下方式:

    <van-button
    bind:getuserinfo="getUserInfo"
    open-type="getUserInfo"
    plain
    round
    block
    size="small"
    type="primary"
    >
    點擊這里登錄
    </van-button>
    

    注:bind:getuserinfo="getUserInfo" 中的getUserInfo是個響應事件,當然事件名可以隨便取的,不一定非是 getUserInfo 這個名字

    open-type="getUserInfo" 則是微信小程序的一個開放能力,在按鈕上設置此屬性則會觸發 getuserinfo 事件。

    下面則是事件的響應函數

    async getUserInfo(e) {
    // 微信授權
    let that = this
    let userInfo = e.detail.userInfo
    if (userInfo) {
    let login = () => {
    return new Promise(resolve => {
    wx.login({
    success(res) {
    resolve(res)
    },
    fail() {
    resolve()
    }
    })
    })
    }
    let getUserInfo = () => {
    return new Promise(resolve => {
    wx.getUserInfo({
    success(res) {
    resolve(res)
    },
    fail() {
    resolve()
    }
    })
    })
    }
    let res = await login()
    let res2 = await getUserInfo()
    showLoading(‘加載中‘)
    if (res && res.code && res2) {
    let { encryptedData, iv, rawData, signature } = res2
    await that.userLoginFunc(
    res.code,
    encryptedData,
    iv,
    rawData,
    signature
    )
    hideLoading()
    }
    }
    }

    根據官方文檔

    調整后,開發者如需獲取用戶身份標識符只需要調用wx.login接口即可。

    開發者若需要在界面中展示用戶的頭像昵稱信息,可以通過<open-data>組件進行渲染,該組件無需用戶確認,可以在界面中直接展示。

    在部分場景(如社交類小程序)中,開發者需要在獲取用戶的頭像昵稱信息,可調用wx.getUserProfile接口,開發者每次通過該接口均需用戶確認,請開發者妥善處理調用接口的時機,避免過度彈出彈窗騷擾用戶。

    解決過程分析:

    主要就是變化一點,無需再用 open-type="getUserInfo" 了,wx.getUserInfo接口也不用了,改為調用 wx.getUserProfile接口 

    async getUserProfile(e){
    let that = this
    let getuserinfo = new Promise((resolve, reject) => {
    wx.getUserProfile({
    desc: ‘用于完善會員資料‘,
    success(res) {
    resolve(res)
    },
    fail() {
    resolve()
    }
    })
    })
    let login = new Promise((resolve, reject) => {
    wx.login( {
    success(res) {
    resolve(res)
    },
    fail() {
    resolve()
    }
    })
    }
    )
    //console.log("params=" + params )
    let flag = true
    Promise.all([login, getuserinfo]).then(res=>{
    console.log(‘所有操作完成---‘,res)
    let code = ""
    //let params = { encryptedData:‘‘, iv:‘‘, rawData:‘‘, signature:‘‘ }
    if(res[0] && res[0].code )
    {
    code = res[0].code
    }else{
    falg = false
    }
    if(res[1]){
    console.log( "-----oooo----------")
    //console.log("signature:" + params.signature)
    }else{
    falg = false
    }
    showLoading(‘加載中‘)
    //console.log("")
    if (flag) {
    let { encryptedData, iv, rawData, signature } = res[1]
    //調用后端接口
              that.userLoginFunc(
    code,
    encryptedData,
    iv,
    rawData,
    signature
    )
    hideLoading()
    }
    }).catch((error) => {
    console.log(error)
    })
    }


    請登錄后查看

    CRMEB-慕白寒窗雪 最后編輯于2023-03-23 15:29:04

    快捷回復
    回復
    回復
    回復({{post_count}}) {{!is_user ? '我的回復' :'全部回復'}}
    排序 默認正序 回復倒序 點贊倒序

    {{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

    作者 管理員 企業

    {{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
    {{item.is_suggest == 1? '取消推薦': '推薦'}}
    沙發 板凳 地板 {{item.floor}}#
    {{item.user_info.title || '暫無簡介'}}
    附件

    {{itemf.name}}

    {{item.created_at}}  {{item.ip_address}}
    打賞
    已打賞¥{{item.reward_price}}
    {{item.like_count}}
    {{item.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復

    {{itemc.user_info.nickname}}

    {{itemc.user_name}}

    回復 {{itemc.comment_user_info.nickname}}

    附件

    {{itemf.name}}

    {{itemc.created_at}}
    打賞
    已打賞¥{{itemc.reward_price}}
    {{itemc.like_count}}
    {{itemc.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復
    查看更多
    打賞
    已打賞¥{{reward_price}}
    7463
    {{like_count}}
    {{collect_count}}
    添加回復 ({{post_count}})

    相關推薦

    快速安全登錄

    使用微信掃碼登錄
    {{item.label}} 加精
    {{item.label}} {{item.label}} 板塊推薦 常見問題 產品動態 精選推薦 首頁頭條 首頁動態 首頁推薦
    取 消 確 定
    回復
    回復
    問題:
    問題自動獲取的帖子內容,不準確時需要手動修改. [獲取答案]
    答案:
    提交
    bug 需求 取 消 確 定
    打賞金額
    當前余額:¥{{rewardUserInfo.reward_price}}
    {{item.price}}元
    請輸入 0.1-{{reward_max_price}} 范圍內的數值
    打賞成功
    ¥{{price}}
    完成 確認打賞

    微信登錄/注冊

    切換手機號登錄

    {{ bind_phone ? '綁定手機' : '手機登錄'}}

    {{codeText}}
    切換微信登錄/注冊
    暫不綁定
    亚洲欧美字幕
    CRMEB客服

    CRMEB咨詢熱線 咨詢熱線

    400-8888-794

    微信掃碼咨詢

    CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
    返回頂部 返回頂部
    CRMEB客服