思路:在个人中心页面,首先判断全局的 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. 非常强大的jQuery万能浮动框插件

    支持hover, click, focus以及无事件触发:支持多达12种位置的定位,出界自动调整:支持页面元素加载,Ajax加载,下拉列表,提示层效果,tip类效果等:可自定义装载容器:内置UI不错的 ...

  2. 最小顶点覆盖(Minimum Vertex Cover)与最大独立集(Maximum Independent Set)

    问题描述:就是在图中找最小的点集,使得覆盖所有边. 和独立集等价:独立集问题:在图中找最大的点集,使得点集内的所有点互不相连. 引理:顶点覆盖集和独立集互补. 上面这个引理使得这两个问题可以相互规约, ...

  3. 第三百零一节,python操作redis缓存-管道、发布订阅

    python操作redis缓存-管道.发布订阅 一.管道 redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pi ...

  4. mysql_query error:Commands out of sync;you can't run this command now

    MYSQL_REST *result没有释放, 用mysql_free_result(result)即可.

  5. sdut2852 小鑫去爬山9dp入门)

    #include<stdio.h> int a[100][100]; int main() { int n; while(scanf("%d",&n)!=EOF ...

  6. PL/SQL中decode函数简介

    今天看别人的SQL时看这里面还有decode()函数,以前从来没接触到,上网查了一下,还挺好用的一个函数,写下来希望对朋友们有帮助哈! decode()函数简介: 主要作用:将查询结果翻译成其他值(即 ...

  7. org.xml.sax.SAXParseException: prolog 中不允许有内容

    org.xml.sax.SAXParseException: prolog 中不允许有内容 digester.fatalError 不下心踢了电源导致的错误应该是解析xml出问题,找了半天不知道哪个x ...

  8. OpenCV学习:改变图像的对比度和亮度

    本实例演示简单地改变图像的对比度和亮度,使用了如下线性变换来实现像素值的遍历操作: The parameters α > 0 and β often called the gain and bi ...

  9. centos上编译bitcoin

    需要预先安装的东西 autoconf automake labtool openssl-devel boost-devel libevent

  10. [深入理解Android卷一全文-第四章]深入理解zygote

    由于<深入理解Android 卷一>和<深入理解Android卷二>不再出版,而知识的传播不应该由于纸质媒介的问题而中断,所以我将在CSDN博客中全文转发这两本书的所有内容. ...