欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

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

2023-02-22    分類: 網站建設

一、微信小程序的一個重要需求就是獲取用戶會員管理,包括獲取用戶信息,用戶的登錄與注冊的功能,在平常的網頁開發(fā)過程序我們沒有過多地關注通信與登錄保持問題,一般是用戶登錄后用session來保持登錄,但在小程序中存在一個中間的轉發(fā)微信服務器,所以開發(fā)過程程中稍有不同。
首先要講的就是登錄保持問題,用戶訪問后的session是以session_id來區(qū)分的,所以要訪問的頭部中加入PHPSESSION的session_id的標識符進行傳遞,可以重新封裝request請求函數,當然還有post等方法可以自行封裝。
functionget_session_key(ur1,success,fail){
varsession_id=wx.getstorageSync('PHPSESSID');//本地取存儲的sessionID
if(session_id!=''&&session_id!=null){
varheader={'content-type':'application/-ww-form-urlencoded','Cookie':'PHPSESSID='+session_id}
}else{
varheader={'content-type':'application/x-wwu-form-urlencoded'}
}
wx.request({
url:url,
header:header,
success:function(res){
success(res);
},
fail:function(res){
fail(res);
},
})
}
二、在使用小程序的官方登錄接口進行操作,在登錄的時候返回記錄的session值保存在本地數據中。
wx.login({
success:function(res){
varcode=res['code'];
console.log('code:'+code)
//12.小程序調用wx.getuserInfo得到rawData,signatrue,encryptData.
wx.getuserInfo({
success:function(info){
//console..1og(info);
varrawData=info['rawData'];
varsignature=info['signature'];
varencryptData=info['encryptData'];
varencryptedData=info['encryptedData'];//注意是encryptedData不是encryptData.
variv=info['iv'];
//3.小程序調用server獲取token接口,傳入code,rawData,signature,encryptData.
console.log(info['userInfo'])
varrequest_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)
在服務端就是一系列的驗證了,包括用戶信息解密等功能。
如果直接就這樣做登錄應用,還是會存在問題的,會面臨以下幾個問題:
一是當用戶點擊拒絕授權獲取用戶信息后,用戶將無法再次使用必須有登錄才能使用的功能,這樣肯定是不好的,所以還要檢測當用戶沒有登錄時候要重新拉起授權同意讓用戶同意。
使用wx.openSetting({})來操作。
二是當網絡處理相對比較慢時,用戶不知道已經登錄,再去點其他需要會員登錄的頁面的時會出現問題,所以在獲取頁面的會員登錄請求時彈出登錄中的loding的界面讓用戶知道程序正在登錄中,登錄完成后關閉loding。wx.showLoading({title: '登錄中'}) wx.hideLoading()
三是當用戶長時間掛起一個頁面時,會導致服務器的session過期而本地存儲的sessionid不存在,這樣用這個sessionid去獲取信息的時候就會出錯,所以還要加一層判斷操作。頁面加載的時候去檢測用戶的session值還是否有效,如果有效不操作,失效則再次去執(zhí)行登錄操作。onload和onshow都去執(zhí)行檢測用戶登錄session是否有效。
當要獲取小程序用戶登陸的id里,l因為小程序登錄是異步的,不能同步獲取當前用戶id,要使用定時工具去不斷地輪詢看是否已經登錄完成通過session_id來去獲取當前用戶的id
//獲取用戶id
common.get_memberid(that)
get_memberid=setInterval(function(){
if(that.data.uid!=0){
clearInterval(get_memberid)
}else{
common.get_memberid(that)
}

分享標題:微信小程序開發(fā)-登錄處理
瀏覽路徑:http://aaarwkj.com/news/238938.html

成都網站建設公司_創(chuàng)新互聯,為您提供App設計網站維護、網站營銷、做網站、商城網站、定制網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都定制網站建設
国产又黄又爽不卡的视频| 久久精品国产久精国产爱| 中文字幕一区二区三区不卡日日| 亚洲精品一区久久狠狠欧美| 日本高清不卡在线播放| 在线国产偷拍自拍视频| 国产毛毛片一区二区三区| 国产精品亚洲欧美日韩综合| av一区二区日韩电影| 99热精品综合在线观看| 大神厕所偷拍美女尿尿| 在线观看日韩三级av| 蜜臀午夜精品视频在线观看 | 国产精品水嫩水嫩粉嫩| 韩国午夜福利视频网站| 蜜桃臀内射一区二区三区| 国产精品一品二区三区在线观看| 亚洲欧美日韩国产桃色| 色婷婷亚洲一区二区三区| 成人精品播放视频在线观看| 欧美老熟妇一区三区精品| 18禁在线免费观看网站| 亚洲成人自拍视频在线观看| 成人一区二区三区观看| av一区二区三区高潮| 高清欧美精品一区二区三区 | 国产经典午夜福利在线| 在线看片国产精品自拍| 日本午夜诱惑在线观看| 中国女人内射69xx| 国产欧美高清在线观看视频| 亚洲av中文久久精品国内| 国产成人亚洲精品另类动态| 久久国产精品成人av| 亚洲天堂日韩欧美在线| 漂亮人妻被中出中文字幕| 99精品欧美一区二区三区视频| 日本高清精品视频免费| 麻豆国产精品原创av男女| 在线观看91精品国产秒播| 久草国产免费福利在线视频|