国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序登錄功能實現(xiàn)(最新)

這篇具有很好參考價值的文章主要介紹了微信小程序登錄功能實現(xiàn)(最新)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

眾所周知小程序登錄自2022年2月21日24時起回收通過<open-data>展示個人信息的能力,啥意思呢,就是頭像展示成灰色,昵稱展示成微信用戶,例如:微信小程序登錄功能實現(xiàn)(最新)

話不多說直接正題。

????????首先介紹第一種,費力的方式:依然還是用 open-type 的值設(shè)置為 chooseAvatar,當(dāng)用戶選擇需要使用的頭像之后,可以通過 bindchooseavatar 事件回調(diào)獲取到獲取到頭像信息的臨時路徑。(附官方介紹:頭像昵稱填寫 | 微信開放文檔)

說白了就是讓用戶手動填寫信息,說實話,強烈不推薦該做法。有興趣的看下官方的示例代碼,這這里我就不做過多的講解了。

? ? ? ? 其次就是使用wx.getUserProfile,看了眾多產(chǎn)品登錄源碼,都在使用這個,接下來我就簡單介紹一下小程序整體登錄流程以及該方法的使用。

? ? ? ? 1.wx.getUserProfile(Object,object),該方法有個必傳字段desc(聲明獲取用戶個人信息后的用途,不超過30個字符),隨便寫點就行,例如完善會員資料、**信息關(guān)聯(lián)。隨便怎么寫都行,開心就好。該方法有三個回調(diào),success、fail、complete(用這個就行,一頂二,成功失敗都會執(zhí)行)。

wx.getUserProfile({
      desc: '編輯會員資料',
      complete: (res) => {
        if(res.errMsg == "getUserProfile:ok"){
            //成功的操作
        }else{
            //失敗的操作
        }
      }
    })

?附(成功信息打印結(jié)果):

cloudID: "***************"
encryptedData: "*************"
errMsg: "getUserProfile:ok"
iv: "*******"
rawData: "{"nickName":"山西懿穎科技有限公司","gender":0,"language":"zh_CN","city":"","province":"","country":"","avatarUrl":"https://thirdwx.qlogo.cn/mmopen/vi_32/PiajxSqBRaEKAYRMLQErdU66S4lfdddAEqicmuJpYiale1DKib4KQXoqibcD78jcy9JJ3icvSNUP3VHITRFuqpMg/132"}"
signature: "*********"
userInfo: {nickName: "山西懿穎科技有限公司", gender: 0, language: "zh_CN", city: "", province: ""

?附(失敗信息打印結(jié)果):

{errMsg: "getUserProfile:fail getUserProfile:fail auth deny"}

至此:nickName(微信用戶名),avatarUrl(頭像路徑)都拿到了。?

其實以上內(nèi)容就已經(jīng)夠用了,接下來我會帶領(lǐng)各位同學(xué)把微信整套登錄流程走一遍。

=================《微信登錄整體流程》===============

微信登錄整體流程:

涉及到的方法:wx.getSetting(),wx.getUserProfile(),wx.authorize(),wx.login()。

何時需要登錄?并不是所有的程序都是一進(jìn)系統(tǒng)就要登錄的,例如電商產(chǎn)品,查看訂單,查看物流。瀏覽商品并不需要,所以找準(zhǔn)定位。

????????一、wx.getSetting()

? ? ? ? 該方法主要用戶獲取用戶當(dāng)前設(shè)置,返回值中會出現(xiàn)用戶以請求過的權(quán)限,例如登錄。首先通過該方法查詢用戶是否已經(jīng)登錄。

????????

wx.getSetting({
   success(res){
       //返回值
       //authSetting:
       //scope.address: true
       //scope.invoice: true
       //scope.invoiceTitle: true
       //scope.userInfo: true//這里主要用這個
       //scope.userLocation: true
       //__proto__: Object
       //errMsg: "getSetting:ok"
    if(res.authSetting && !res.authSetting['scope.userInfo']){
        //執(zhí)行未登錄操作
    }
  }
})

? ? ? ? 二、wx.login()

? ? ? ? 該方法主要用于獲取code,把獲取到的code傳到服務(wù)端,服務(wù)端(調(diào)用auth.code2Session方法換取OpenId、UnionID、session_key)返回Token,你用到的只有Token,括號里的內(nèi)容作為擴展可以不予理會。拿到Token做本地存儲,store、Storage都可以存,超哥一般往Storage里存(存儲方法見2.1,往下看),建議Token做加密處理。

    wx.getSetting({
      success(res){
        if(res.authSetting && !res.authSetting['scope.userInfo']){
          //獲取code方法
          wx.login({
            success: res => {
              // 發(fā)送 res.code 到后臺換取 openId, sessionKey, unionId
              token({code:res.code}).then( res => {//這步是token接口的請求
                // 獲取本地緩存中的TOKEN
                const TOKEN = wx.setStorageSync('TOKEN',res.token);
              })
            }
          })
        }
      }
    })

? ? ? ? ? ?至此token就成功拿到了。

????????????????2.1、wx.setStorageSync以及wx.setStorage區(qū)別以及用法

? ? ? ? ? ? ? ? ? ? ? ? 區(qū)別:顯而易見wx.setStorageSync就是同步執(zhí)行,wx.setStorage異步執(zhí)行。

? ? ? ? ? ? ? ? ? ? ? ? 用法:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?存:wx.setStorageSync('key',value);

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??。簑x.getStorageSync('key');

? ? ? ? 三、wx.getUserProfile()

????????wx.getUserProfile每次調(diào)用都會彈框詢問用戶,看下圖;

????????微信小程序登錄功能實現(xiàn)(最新)

? ? ? ?前文已經(jīng)說過了2022年2月21日24時起回收通過<open-data>展示個人信息的能力,所以現(xiàn)在以wx.getUserProfile替換當(dāng)初的getUserInfo。

????????wx.getUserProfile()用法已經(jīng)說明,詳情見上文,這里就不做重復(fù)講解了,直接上代碼;

    wx.getSetting({
      success(res){
        if(res.authSetting && !res.authSetting['scope.userInfo']){
          wx.login({
            success: res => {
              // 發(fā)送 res.code 到后臺換取 openId, sessionKey, unionId
              token({code:res.code}).then( res => {//這步是token接口的請求
                // 獲取本地緩存中的TOKEN
                const TOKEN = wx.getStorageSync('TOKEN',res.token);
                wx.getUserProfile({
                  desc: '編輯會員資料', // 聲明獲取用戶個人信息后的用途,后續(xù)會展示在彈窗中,請謹(jǐn)慎填寫
                  complete: (res) => {
                    if(res.errMsg == "getUserProfile:ok"){
                      console.log('成功了')
                      //存儲用戶昵稱和頭像
                        wx.setStorageSync('userInfo', {
                          name:res.userInfo.nickName,
                          img:res.userInfo.avatarUrl,
                        });
                    }else{
                      console.log(res)
                    }
                    
                  }
                })
              })
            }
          })
        }
      }
    })

????????至此,登錄這套流程就已經(jīng)完事了,本文通俗易懂,簡單粗暴的同學(xué)直接復(fù)制以上代碼,把TOKEN接口請求你換成自己的就OK了。

????????----------以下方法作為拓展延伸--------

????????4、wx.authorize()? ?

? ? ? ? 該方法主要用戶向用戶提前發(fā)起授權(quán)請求,調(diào)用后會立即彈框詢問用戶是否同意授權(quán)某項功能,例如(地理位置、麥克風(fēng)、攝像頭....),舊版的登錄用wx.authorize()方法登錄的也很多,只不過新版限制了getUserInfo彈出框的功能,其實還是本文一開始說的那套。

? ? ? ? 其實除登錄外,例如獲取授權(quán)定位。首先還是通過wx.getSetting()方法查詢是否已經(jīng)授權(quán)過定位,如果沒有,執(zhí)行wx.authorize(),提前向用戶發(fā)起定位授權(quán)請求。

wx.getSetting({
  success(res) {
    if (res.authSetting['scope.record'] && !res.authSetting['scope.userLocation']) {
      wx.authorize({
        scope: 'scope.userLocation',
        success () {
          // 用戶已經(jīng)同意小程序使用定位功能,當(dāng)再次調(diào)用wx.getLocation()方法時,不會再次詢問。
          wx.getLocation()
        }
      })
    }
  }
})

好了,終于完事了,老樣子,不要噴,喜歡的點贊帶走,不喜歡的請自覺繞道,寫個需要的人,噴子勿擾?。。?/p>

如有糾正或不明白的地方,歡迎大家留言探討。

插播一條廣告:

? ? ? ?本公司自營項目:

? ? ? ? ? ? ? ? ? 微信電商小程序(拼團、砍價、會員、積分、限時秒殺、分銷、直播等諸多功能);

? ? ? ? ? ? ? ? ? 刷臉支付(招商加盟,代理加盟,一站式源碼部署);

? ? ? ? ? ? ? ? ? 另:接各種開發(fā)項目,PC、移動、webApp、小程序、App、M站等;

? ? ? ? ? ? ? ? ?如果有需要請打開http://yykj.huijik.com進(jìn)行留言,(進(jìn)入頁面下拉到最底端即可留言)

????????文章來源地址http://www.zghlxwxcb.cn/news/detail-483117.html

到了這里,關(guān)于微信小程序登錄功能實現(xiàn)(最新)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【h5+微信小程序】vue2實現(xiàn)h5掃碼登錄功能

    需要實現(xiàn)在同域名的h5頁面上增加一個微信掃碼登錄的功能,如果用戶已經(jīng)有小程序的賬號,可以直接登錄。 使用 :vue2+微信小程序原生開發(fā) 可以實現(xiàn)上述功能的 前提 是:同一用戶,對同一個微信開放平臺下的不同應(yīng)用,UnionID是相同的。域名已經(jīng)配置。 可以用什么來區(qū)分

    2024年02月14日
    瀏覽(98)
  • 微信小程序登錄適配(2023年最新)

    微信小程序登錄適配(2023年最新)

    眾所周知,微信小程序開發(fā)文檔更新那不是一般的快,開發(fā)者都來不及去適配 ?? 今天就來說說登錄這一塊到底改了哪些地方,以及怎么去適配 我們先來看看更改了哪些? 先放小程序登錄文檔這塊更新的公告:https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56

    2024年02月11日
    瀏覽(21)
  • uniapp微信小程序最新登錄獲取頭像、昵稱

    uniapp微信小程序最新登錄獲取頭像、昵稱

    由于微信官方wx.getUserProfile 接口的回收,以后不能通過wx.getUserProfile來返回用戶信息,只能自己手動獲取用戶頭像和昵稱的信息。 ?針對此問題有以下解決方法: 在點擊登錄時用一個彈窗設(shè)置頭像和昵稱,如圖: ?使用button設(shè)置open-type=\\\"chooseAvatar\\\"來獲取頭像,至于button更多的效

    2024年02月11日
    瀏覽(95)
  • 2023最新使用微信小程序完成一鍵授權(quán)登錄

    2023最新使用微信小程序完成一鍵授權(quán)登錄

    前言: 使用開發(fā)工具:小程序。在我這一篇已經(jīng)詳細(xì)介紹了小程序的安裝介紹今天我給大家?guī)淼氖俏⑿诺囊绘I授權(quán)登錄,保存用戶信息,退出的功能?。?!希望看完了這篇博客能夠?qū)δ阌袔椭。。?效果: 登錄獲取到用戶信息: 思路 :點擊按鈕獲取到用戶信息(調(diào)用方

    2024年02月08日
    瀏覽(27)
  • Java后臺實現(xiàn)網(wǎng)站微信掃碼登錄功能,獲取用戶openid,及微信用戶信息(小程序碼方案),關(guān)聯(lián)微信小程序(個人主體小程序也可以)

    Java后臺實現(xiàn)網(wǎng)站微信掃碼登錄功能,獲取用戶openid,及微信用戶信息(小程序碼方案),關(guān)聯(lián)微信小程序(個人主體小程序也可以)

    目錄 前言 下面展示操作流程 注冊微信小程序 通過后臺獲取小程序碼 前端處理 時序圖理解 方案實現(xiàn)步驟 前言 很多業(yè)務(wù)場景之下我們需要實現(xiàn)? 微信掃碼登錄? 的需求,如: 同步網(wǎng)站與小程序的用戶數(shù)據(jù) 。 需要獲取用戶微信相關(guān)基本信息,如頭像、id等 實例:小程序上的

    2024年02月02日
    瀏覽(24)
  • 最新版微信小程序授權(quán)登錄(自定義頭像昵稱)

    最新版微信小程序授權(quán)登錄(自定義頭像昵稱)

    ????????根據(jù)官方微信小程序開發(fā)關(guān)于登錄授權(quán)API的調(diào)整,自 2022年10月25日起有關(guān)API接口獲取用戶頭像將統(tǒng)一返回默認(rèn)灰色頭像,昵稱將統(tǒng)一返回 “微信用戶”。(如下圖所示) ? ? ? ? button標(biāo)簽中將open-type=\\\"chooseAvatar\\\"是用來設(shè)置用戶頭像,并且獲得一個臨時路徑。 js代

    2024年02月12日
    瀏覽(17)
  • 微信小程序的一鍵登錄功能

    微信小程序一鍵登錄功能通常使用微信開放平臺提供的開放接口實現(xiàn)。以下是實現(xiàn)步驟: 在微信開放平臺創(chuàng)建應(yīng)用并獲取AppID和AppSecret。 在小程序中引入微信開放平臺提供的js-sdk,并在app.js文件中初始化: 在小程序中添加一鍵登錄的按鈕,并在按鈕的點擊事件中調(diào)用微信開

    2024年02月08日
    瀏覽(14)
  • 微信小程序 - 2023年最新版手機號快捷登錄詳細(xì)教程

    微信小程序 - 2023年最新版手機號快捷登錄詳細(xì)教程

    最近開發(fā)公司手機快捷登錄的功能,花費了不少時間,這里附上詳細(xì)教程。 這里以海底撈小程序的圖片為例,如有侵權(quán)請聯(lián)系小編刪除。 1、如果在微信開發(fā)者工具彈出下邊的提示,不要慌張,用真機預(yù)覽,其實是生效的。

    2024年02月09日
    瀏覽(67)
  • 若依整合微信小程序登錄功能

    在網(wǎng)上很難搜索到若依來整合微信小程序登錄的功能,自己就通過自己的理解整合了一下。這也是很久以前寫的了,只是實現(xiàn)了功能,但登錄邏輯不太好,改動也比較大?,F(xiàn)在會看,感覺應(yīng)該可以直接用若依注冊用戶接口來做微信小程序登錄的功能。因為考研了,不想再去想

    2024年02月11日
    瀏覽(13)
  • 最新影視視頻微信小程序源碼-帶支付和采集功能/微信小程序影視源碼PHP(更新)

    最新影視視頻微信小程序源碼-帶支付和采集功能/微信小程序影視源碼PHP(更新)

    源碼簡介: 這個影視視頻微信小程序源碼,新更新的,它還帶支付和采集功能,作為微信小程序影視源碼,它可以為用戶 提供豐富的影視資源,包括電影、電視劇、綜藝節(jié)目等。 這個小程序影視源碼,還帶有變現(xiàn)模式,它的盈利方式挺直接了當(dāng)?shù)?,就是賣會員的,只要無腦

    2024年02月08日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包