【推荐理由】赠运费险
【优惠券】20 【券后价】59.00
【下单链接】18¥ CZ0001 G5fHdEqOsnB¥
在微信小程序开发中,自动登录是一个很关键的步骤,现在把自动登录定义成函数在app.js文件,方便使用的时候调用(本页面有温州网站建设收集整理):
//app.js var config = require('/pages/config/config.js'); App({ onLaunch: function() { // 打开调试 wx.setEnableDebug({ enableDebug: false }) //调用API从本地缓存中获取数据 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs); var appSelf=this; var loginZtai=true; var openId = (wx.getStorageSync('openId')); var uid = (wx.getStorageSync('uid')); console.log("openId:" + openId + " , uid:" + uid); if (openId && uid) { //---------------------------------------------------------begin----验证uid的有效性 wx.request({ url: config.api.reqReadUid, data: { "pid": openId, "uid": uid }, method: 'POST', header: { 'content-type': 'application/json' }, success: function (res) { //-- var result=res.data.result||[]; if (result=="err") { loginZtai=false; console.log("reqReadUid:loginZtai=false"); appSelf.loginFun(); } else { loginZtai = true; console.log("reqReadUid:loginZtai=true"); } } }) //---------------------------------------------------------end----验证uid的有效性 } else { loginZtai = false; console.log("if (openId && uid)----reqReadUid:loginZtai=false"); appSelf.loginFun(); } //------------end if openid }, getUserInfo: function(cb) { var that = this if (this.globalData.userInfo) { typeof cb == "function" && cb(this.globalData.userInfo) } else { //调用登录接口 wx.getUserInfo({ withCredentials: false, success: function(res) { that.globalData.userInfo = res.userInfo typeof cb == "function" && cb(that.globalData.userInfo) } }) } }, globalData: { userInfo: null }, loginFun:function() { console.log("loginFun----------------------------"); wx.clearStorage(); wx.login({ success: function (res) { if (res.code) { var openid; var session_key; var appid; var res_result; var resReq; //发起网络请求 wx.request({ url: config.api.reqReadOpenId, data: { "code": res.code, "wxid": config.static.wxid }, method: 'GET', header: { 'content-type': 'application/json' }, success: function (res) { var result = res.data.result || []; if (result == "ok") { res_result = "ok"; console.log("result:" + result); var udata = res.data.udata; openid = udata['openid']; session_key = udata['session_key']; appid = res.data.appid; //var uid = res.data.uid; wx.getUserInfo({ withCredentials: true, success: function (res_user) { var userInfo = res_user.userInfo; var nickName = userInfo.nickName; var avatarUrl = userInfo.avatarUrl; var gender = userInfo.gender; //性别 0:未知、1:男、2:女 var province = userInfo.province; var city = userInfo.city; var country = userInfo.country; var unionId = userInfo.unionId; console.log("unionId:" + unionId); //console.log("nickName:" + nickName +" avatarUrl:"+avatarUrl); wx.request({ //后台接口地址 url: config.api.reqUserAddUserInfor, data: { "openid": openid, "session_key": session_key, //'uid': uid, "appid": appid, "signature": res_user.signature, "encryptedData": res_user.encryptedData, "iv": res_user.iv, "rawData": res_user.rawData, "nickName": nickName, "avatarUrl": decodeURI(avatarUrl), "gender": gender, "province": province, "city": city, "country": country, "unionId": unionId, }, method: 'GET', header: { 'content-type': 'application/json' }, success: function (res_infor) { //var json = eval('(' + res_infor.data + ')'); var infor = res_infor.data; var clist = infor.split(","); console.log(clist[0]); if (clist[0] = "ok") { //-------------------------set user openId wx.setStorageSync('uid', clist[1]); wx.setStorageSync('openId', clist[2]); console.log("openid:" + clist[2] + " uid:" + clist[1]); console.log(res_infor.data); } else { console.log("false"); } } //------------------------------------------------------end success: function (res_infor) })//------------------------------------------------------end wx.request },//---------------------------------------------------------success: function (res_user) fail: function () { wx.showModal({ title: '警告通知', showCancel: false, content: '您点击了拒绝授权,将无法正常显示个人信息,点击确定重新获取授权。', success: function (res_mod) { if (res_mod.confirm) { wx.openSetting({ success: function (res) { if (res.authSetting["scope.userInfo"]) { //-----------------------------------------------------------------begin---开启授权页面 wx.getUserInfo({ withCredentials: true, success: function (res_user) { var userInfo = res_user.userInfo; var nickName = userInfo.nickName; var avatarUrl = userInfo.avatarUrl; var gender = userInfo.gender; //性别 0:未知、1:男、2:女 var province = userInfo.province; var city = userInfo.city; var country = userInfo.country; var unionId = userInfo.unionId; console.log("unionId:" + unionId); console.log("重新启用: nickName:" + nickName + " avatarUrl:" + avatarUrl); wx.request({ //后台接口地址 url: config.api.reqUserAddUserInfor, data: { "openid": openid, "session_key": session_key, //'uid': uid, "appid": appid, "signature": res_user.signature, "encryptedData": res_user.encryptedData, "iv": res_user.iv, "rawData": res_user.rawData, "nickName": nickName, "avatarUrl": decodeURI(avatarUrl), "gender": gender, "province": province, "city": city, "country": country, "unionId": unionId, }, method: 'GET', header: { 'content-type': 'application/json' }, success: function (res_infor) { //var json = eval('(' + res_infor.data + ')'); var infor = res_infor.data; var clist = infor.split(","); console.log(clist[0]); if (clist[0] = "ok") { //-------------------------set user openId wx.setStorageSync('uid', clist[1]); wx.setStorageSync('openId', clist[2]); console.log("openid:" + clist[2] + " uid:" + clist[1]); console.log(res_infor.data); } else { console.log("false"); } } //------------------------------------------------------end success: function (res_infor) })//------------------------------------------------------end wx.request } }) //---------------------end wx.getUserInfo({}) //-----------------------------------------------------------------end---开启授权页面 } }, fail: function (res) { } }) } //----end if (res_mod.confirm) } }) },//------------------------------------------------------------------end fail: function () complete: function (res) { } }) //----------------------------------------------------------------------end wx.getUserInfo //wx.setStorageSync('uid', uid); //wx.setStorageSync('openId', openid);//-------------------------set user openId //console.log("openid:" + wx.getStorageSync('openId') + " uid:" + wx.getStorageSync('uid')); } else { console.log('获取openid失败!' + res.msg); } } }); // ------------------------------------------------------- wx.request config.api.reqReadOpenId console.log("res_result:" + res_result + ";appid:" + appid); if (res_result == "ok") { } //end res_result=="ok" } else { console.log('获取用户登录态失败!' + res.errMsg) } } }); //---------------end first login } //-----------------------------------------------------------------------------end loginFun })
微信小程序wx.switchTab页面刷新设置代码:
wx.switchTab({ url: '/pages/personal/index', success: function (e) { var page = getCurrentPages().pop(); if (page == undefined || page == null) return; page.onLoad(); console.log("personal2--------------------------------------1"); } })