亚洲国产精品成人无码区,公天天吃我奶躁我的比视频,亚洲国产欧美视频亚洲国产精品一区二区成人片不卡,天天躁日日躁狠狠躁视频2021,起视碰看97视频在线少妇久久久久久人妻无码, 芒果乱码一线二线三线新区 ,亚洲熟妇无码AⅤ不卡在线播放,人妻少妇乱子伦无码专区

400-800-9385
網(wǎng)站建設(shè)資訊詳細(xì)

微信小程序開發(fā)-登錄處理

發(fā)表日期:2021-01-27 09:33:55   作者來源:劉紅旺   瀏覽:3954   標(biāo)簽:微信小程序開發(fā)    
一、微信小程序的一個(gè)重要需求就是獲取用戶會員管理,包括獲取用戶信息,用戶的登錄與注冊的功能,在平常的網(wǎng)頁開發(fā)過程序我們沒有過多地關(guān)注通信與登錄保持問題,一般是用戶登錄后用session來保持登錄,但在小程序中存在一個(gè)中間的轉(zhuǎn)發(fā)微信服務(wù)器,所以開發(fā)過程程中稍有不同。
首先要講的就是登錄保持問題,用戶訪問后的session是以session_id來區(qū)分的,所以要訪問的頭部中加入PHPSESSION的session_id 的標(biāo)識符進(jìn)行傳遞,可以重新封裝request請求函數(shù),當(dāng)然還有post等方法可以自行封裝。
    function get_session_key(ur1,success,fail) { 
 
     var session_id = wx. getstorageSync('PHPSESSID');//本地取存儲的sessionID
     if (session_id != ''  && session_id != null) {
        var header = { 'content - type':'application/-ww-form-urlencoded', 'Cookie': 'PHPSESSID='+ session_id }
    } else {
        var header = {'content -type':'application/x-wwu-form-urlencoded' }
    }    
    wx.request({
        url: url, 
        header: header,
        success: function (res) {
            success(res);
        },
        fail: function (res) {  
            fail(res);
        },   
    })
    
}
二、在使用小程序的官方登錄接口進(jìn)行操作,在登錄的時(shí)候返回記錄的session值保存在本地?cái)?shù)據(jù)中。
wx.login({
success: function (res) {
var code = res['code'];
console.log('code:'+ code)
//12. 小程序調(diào)用wx. getuserInfo得到rawData, signatrue, encryptData.
wx. getuserInfo({
success: function (info) {
//console. .1og(info);
var rawData = info['rawData'];
var signature = info['signature'];
var encryptData = info['encryptData'];
var encryptedData=info['encryptedData']; //注意是encryptedData不是encryptData.
var iv = info['iv'];
//3.小程序調(diào)用server獲取token接口,傳入code, rawData, signature, encryptData.
console.log(info['userInfo'])
var request_member_weixin_url = util.getApiurl(app,"/Member/weixin_api",'')
console.log(request_member_weixin_url);
wx.request({
ur1: request_member_weixin_url,
data: {
"code": code,
"rawData": rawData,
"signature": signature,
"encryptData": encryptData,
'iv': iv,
'encryptedData' : encryptedData,
'userInfo': info['userInfo']
},
success: function(res2) {
console.log('微信登錄:'+ res2.statuscode);
if (res2. statusCode != 200) {
wx.showModal({
title: "登錄失敗"
});
}
}
 
})
//存入本地
wx.setstorageSync('PHPSESSID', res2.data.session_id)
//將thirdSessionId放入小程序緩存
wx.setStorageSync('session3rd',res2.data.session3rd)
在服務(wù)端就是一系列的驗(yàn)證了,包括用戶信息解密等功能。
如果直接就這樣做登錄應(yīng)用,還是會存在問題的,會面臨以下幾個(gè)問題:
一是當(dāng)用戶點(diǎn)擊拒絕授權(quán)獲取用戶信息后,用戶將無法再次使用必須有登錄才能使用的功能,這樣肯定是不好的,所以還要檢測當(dāng)用戶沒有登錄時(shí)候要重新拉起授權(quán)同意讓用戶同意。
使用wx.openSetting({})來操作。
二是當(dāng)網(wǎng)絡(luò)處理相對比較慢時(shí),用戶不知道已經(jīng)登錄,再去點(diǎn)其他需要會員登錄的頁面的時(shí)會出現(xiàn)問題,所以在獲取頁面的會員登錄請求時(shí)彈出登錄中的loding的界面讓用戶知道程序正在登錄中,登錄完成后關(guān)閉loding。wx.showLoading({title: '登錄中'})   wx.hideLoading()
三是當(dāng)用戶長時(shí)間掛起一個(gè)頁面時(shí),會導(dǎo)致服務(wù)器的session過期而本地存儲的sessionid不存在,這樣用這個(gè)sessionid去獲取信息的時(shí)候就會出錯(cuò),所以還要加一層判斷操作。頁面加載的時(shí)候去檢測用戶的session值還是否有效,如果有效不操作,失效則再次去執(zhí)行登錄操作。onload和onshow都去執(zhí)行檢測用戶登錄session是否有效。
當(dāng)要獲取小程序用戶登陸的id里,l因?yàn)樾〕绦虻卿浭钱惒降?,不能同步獲取當(dāng)前用戶id,要使用定時(shí)工具去不斷地輪詢看是否已經(jīng)登錄完成通過session_id來去獲取當(dāng)前用戶的id
 
//獲取用戶id
common.get_memberid(that)
get_memberid = setInterval(function () {
  if (that.data.uid!=0) {
    clearInterval(get_memberid)
  }else{
    common.get_memberid(that)
  }
}, 500)
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://m.oulysa.com/news/5959.html
相關(guān)網(wǎng)站設(shè)計(jì)案例
亚洲欧美综合精品成人导航| 天天摸天天爽一区二区三区| 欧美日韩精品一区二区视频| 国产精品成人无码久久久久久| 国产v亚洲v天堂a| 三妻四妾免费播放电视剧| 尤物国产区精品视频| 国色天香中文字幕在线视频| 欧美午夜在线观看| 欧美 亚洲综合在线一区| 亚洲美女高潮久久久久| 亚洲AV片不卡无码久久嫩模| 亚洲尹人香蕉网在线视颅| 人人妻人人澡人人爽人人精品| 亚洲国产美女精品久久久久| 一区二区三区成人欧美日韩在线观看| 国产成人影院一区二区三区| 日韩国产欧美二区高清| 国产精品视频无码中出,| 亚洲国产精品成人综合久久久| 97国产公开免费视频| 日韩欧美人妻一区二区三区| 日韩av人人夜夜澡人人爽| 国产av一区二区三区日韩| 久久久久久久人妻无码中文字幕爆| 国产经典一区二区三区| 国产一级高清大片| 天天影视综合网网综合久久0| 成年免费大片黄在线观看免费| 国产精品福利在线观看免费| 五月天影院丰满熟妞区| 久久精品国产v曰韩v亚洲| 视频一区二区三区在线| 亚洲精品中文字幕无乱码| 国产成人免费AV片在线观看| 国产黄色三级电影免费观看| 国产亚洲自在精品久久| 欧美午夜福利视频| 亚洲日产乱码一二三区别| 凹凸熟女白浆精品国产91| 国产精品99久久久久久宅男|