您好,登錄后才能下訂單哦!
本篇內容主要講解“微信小程序開發登錄驗證怎么實現”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“微信小程序開發登錄驗證怎么實現”吧!
需求描述:
對于部分頁面添加登錄驗證,用戶未登錄的情況下,進入頁面,頁面自動轉向登錄頁面。登錄驗證成功后,回調到登錄發起頁面。
實現思路:
創建全局變量用于存儲當前登錄用戶對象(userInfo)、全局方法用于驗證登錄有效性(checkLoginInfo())、全局方法用于獲取當前頁面的全路徑(getCurrentUrl())。
針對需要添加登錄限制的頁面page.onLoad事件,調用checkLoginInfo()方法,判斷當前登錄狀態。如未登錄,頁面轉向登錄頁面。
登錄驗證通過后,將登錄信息存儲到全局變量userInfo,跳轉回登錄發起頁面。
關鍵代碼及注意事項:
app.js
data:{
userInfo:null,//用戶登錄存儲對象
loginUrl:../login/login,
},
checkLoginInfo:function(url){//驗證登錄狀態
if(this.data.userInfo==null){
return url;
}else{
return ;
}
},
getCurrentUrl:function(){//獲取當前頁面全路徑
var url=getCurrentPages()[getCurrentPages().length-1].__route__;
url=url.replace(eapdomain/src/pages,..);//替換路徑全路徑。修改該路徑為相對路徑
return url;
}
注意:在getCurrentUrl方法中,最后返回url時,又調用了replace方法。因為wx.redirectTo的url參數要求為相對路徑。所以在這里轉換了一下。
login.js
var app=getApp();
Page({
data:{
backUrl:null,
loginName:null,
passWord:null
},
onLoad:function(options){
this.setData({
backUrl:null
});
// 頁面初始化 options為頁面跳轉所帶來的參數
//console.log(options.backUrl);
this.setData({
backUrl:options.backUrl
});
},
inputClick:function(event){
//動態 對 paga.data 進行賦值
//id與 數據項 一一對應
var objId=event.currentTarget.id;
var paraObj={};
paraObj[objId]=event.detail.value;
this.setData(paraObj);
//console.log(event.currentTarget.id);
//console.log(this.data);
},
onReady:function(){
// 頁面渲染完成
},
onShow:function(){
// 頁面顯示
},
onHide:function(){
// 頁面隱藏
},
onUnload:function(){
// 頁面關閉
},
loginClick:function(){
var loginName=this.data.loginName;
var passWord=this.data.passWord;
if(loginName!=null&&passWord!=null){
var backUrl=this.data.backUrl;
// wx.redirectTo({
// url:\'eapdomain/src/pages/pageCreate/pageCreate\'
// })
app.data.userInfo={
loginName:loginName,
passWord:passWord
};
wx.redirectTo({
url: backUrl
});
// wx.redirectTo({
// //目的頁面地址
// url: \'pages/logs/index\',
// success: function(res){},
// })
}else{
this.setData({
loginName:null,
passWord:null
});
}
}
})
這里inputClick事件。根據前臺控件id為page.data數據進行賦值。
到此,相信大家對“微信小程序開發登錄驗證怎么實現”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。