思路:在个人中心页面,首先判断全局的 app.js 里面的 globalData 里面的 is_login 状态,并且判断 缓存数据中的 is_login 状态,如果都为真,就正常显示,如果有一个为假,就要到登录页面进行登录。

具体代码示例:

app.js

//app.js
App({
globalData: {
is_login:false,
userInfo:{}
}
})

登录页面

<view class="com">
<text>账号:</text>
<input bindinput="username" placeholder="账号" />
</view>
<view class="com">
<text>密码:</text>
<input bindinput='userpassword' placeholder="密码" />
</view>
<view class="com">
<button bindtap="btnclick">提交</button>
</view>

login.js:

//index.js
//获取应用实例
const app = getApp()
Page({
data:{
username:null,
password:null,
},
username:function(e){
this.setData({ username: e.detail.value});
},
userpassword:function(e){
this.setData({ password: e.detail.value });
},
btnclick:function(){
var that = this;
wx.request({
url: 'http://127.0.0.1/testjs/test1.php',
data:{
username:that.data.username,
password:that.data.password,
},
method:'GET',
success:function(res){
app.globalData.is_login = true;
app.globalData.userInfo = res.data;
// 如果需要缓存用户信息,最好是对用户信息进行加密后进行存储
var currentUserInfo = {"is_login":true,"username":that.data.username,"password":that.data.password};
try{
wx.setStorage({
key: 'currentUserInfo',
data: currentUserInfo,
})
}catch(e){};
wx.switchTab({
url: '../personal/personal',
});
}
})
},
})

个人中心页面

personal.wxml

<view>你好!{{currentUser}}</view>

personal.js:

//获取应用实例
const app = getApp()
Page({
data: {
currentUser:null
},
onLoad: function (options){
var that = this;
// 判断缓存中 登录状态
var isLogin = false;
try{
var value = wx.getStorageSync("currentUserInfo");
if(value){
isLogin = value.is_login;
};
}catch(e){};
// 判断 app.json中登录状态
if (!app.globalData.is_login && !isLogin){
wx.redirectTo({
url: '../login/login',
});
return false;
};
that.setData({ currentUser: app.globalData.userInfo.username});
},
})

微信小程序 --- 登录页面的更多相关文章

  1. 微信小程序登录对接Django后端实现JWT方式验证登录

    先上效果图 点击授权按钮后可以显示部分资料和头像,点击修改资料可以修改部分资料. 流程 1.使用微信小程序登录和获取用户信息Api接口 2.把Api获取的用户资料和code发送给django后端 3. ...

  2. 全栈项目|小书架|微信小程序-登录及token鉴权

    小程序登录 之前也写过微信小程序登录的相关文章: 微信小程序~新版授权用户登录例子 微信小程序-携带Token无感知登录的网络请求方案 微信小程序开通云开发并利用云函数获取Openid 也可以通过官方 ...

  3. 微信小程序登录方案

    微信小程序登录方案 登录程序 app.js 调用wx.login获取code 将code作为参数请求自己业务登录接口获取session_key 存储session_key 如果有回调执行回调 App( ...

  4. 微信小程序:页面配置 page.json

    微信小程序:页面配置 page.json 一.页面配置 page.json 如果整个小程序的风格是蓝色调,那么可以在 app.json 里边声明顶部颜色是蓝色即可. 实际情况可能不是这样,可能你小程序 ...

  5. 微信小程序登录,获取code,获取openid,获取session_key

    微信小程序登录 wx.login(Object object) 调用接口获取登录凭证(code).通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session ...

  6. 基于Shiro,JWT实现微信小程序登录完整例子

    小程序官方流程图如下,官方地址 : https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html ...

  7. 微信小程序登录JAVA后台

    代码地址如下:http://www.demodashi.com/demo/12736.html 登录流程时序登录流程时序 具体的登录说明查看 小程序官方API 项目的结构图: springboot项目 ...

  8. 微信小程序开发--页面结构

    一.微信小程序开发--页面文件组成 [page.name].js 页面逻辑文件,用于创建页面对象,以及处理页面生命周期控制和数据处理 [page.name].wxml wxml指的是Wei Xin M ...

  9. 微信小程序前端页面书写

    微信小程序前端页面书写 WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件.事件系统,可以构建出页面的结构. 一.数据绑定 1. 普通写法 <view ...

随机推荐

  1. 5G的7位电话号码,去重,内存20mb,代码实现。

    转自:http://www.aboutyun.com/thread-11139-1-1.html 答案:首先,这个题考的不是分布式7位数,至少要用int来保存,那么int为4字节,20MB内存 10^ ...

  2. e1086. if/else语句

    The if statement encloses some code which is executed only if a condition is true. The general synta ...

  3. DM816x算法具体解释--之OSD

    简单介绍: 本文介绍DM8168 DVRRDK中传入DSP内部的视频格式以及大概的处理流程. 背景: 可能有非常多人为了加快研发的速度.减少难度,选择在DVRRDk已有的OSD内加入自己的DSP算法. ...

  4. 关于对afx_msg的解释-----来源百度百科

    1AFX前缀 Afx前缀是微软MFC一个小组的名称简写,并没有别的意义. MFC的很多代码,包括全局函数名.宏.头文件名都使用了"Afx". Afx*.h是一组MFC的核心头文件, ...

  5. 中文路径-接口路径url不能传输中文解决方案

    服务端:

  6. 【树莓派】GSM900模块

    python代码 https://github.com/JFF-Bohdan/sim-module

  7. Oracle 11g 的bug?: aix 上,expdp 11.2.0.1 导出,impdp 11.2.0.3 导入,Interval 分区的 【Interval】 分区属性成了【N】

    如题: Oracle 11g 的bug?: aix 上,expdp 11.2.0.1 导出,impdp 11.2.0.3 导入,Interval 分区的 [Interval] 分区属性成了[N] 谨记 ...

  8. How do I commit all deleted files in Git?

    Try this: $ git add -u This tells git to automatically stage tracked files -- including deleting the ...

  9. Strut2------源码下载

    转载: http://download.csdn.net/detail/dingkui/6858009

  10. Ubuntu 建立桌面快捷方式

    非常多时候,在Ubuntu下软件能够通过命令安装.可是有时候比較方便的方法就是下载一个压缩包,解压就能够使用了. 可是每次使用都要先跳到解压文件夹.这就比較麻烦.所以能够通过创建桌面快捷方式来解决问题 ...