Uni-app极速入门(二) - 登录demo
需求
背景
1、进入小程序,默认页面判断用户是否已经登录,已经登录则进入首页,没有登录则进入登录页面
2、首页为tabbar,包括首页和设置页,设置页可以退出登录,回到登录页面
页面流转
A[Index Page] --> C{isLogin}
C -->|true| D[HomePage]
C -->|false| E[LoginPage]
D --> |logout| A
E --> |login| D
技术实现
Vue页面
目录结构

页面截图
登录页

设置页

路由配置
pages.json
{
"pages": [
//pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
{
"path": "pages/index/index",
"style": {
"navigationStyle":"custom",
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/main/HomePage",
"style" :
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/setting/Setting/Setting",
"style" :
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/login/Login/Login",
"style" :
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"navigationStyle":"custom" // 隐藏导航栏,防止出现回退按钮和首页按钮
}
}
],
"tabBar": {
"list": [{
"pagePath":"pages/main/HomePage",
"text":"首页"
}, {
"pagePath":"pages/setting/Setting/Setting",
"text":"设置页"
}]
},
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
}
}
关键代码
index.vue
判断是否已经登录:
<script>
export default {
data() {
return {
}
},
onLoad: function(param) {
console.log(param.isLogin)
// 判断用户是否已经登录成功,isLogin参数由其他的页面传入
if (param.isLogin) {
uni.switchTab({
url: '/pages/main/HomePage' //url前面需要加/,否则不会跳转
})
} else {
console.log('进入登录页')
uni.reLaunch({
url: '../login/Login/Login'
})
}
},
methods: {}
};
</script>
Login.vue
提交以后,重新进入启动页,并传入已经登录成功的参数
onSubmit() {
uni.reLaunch({
url:'../../index/index?isLogin=true' // 提交后,isLogin为true
})
}
Home.vue
空页面,代码略
Setting.vue
退出登录
logout() {
uni.reLaunch({
url:'../../index/index'
})
}
方法说明
uni.reLaunch: 关闭所有页面,打开到应用内的某个页面
uni.switchTab: 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
Uni-app极速入门(二) - 登录demo的更多相关文章
- 【原创】NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示
前言 NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能.这其中最流行的无非就是MINA和Netty了,MINA目前的主要版本是MINA2.而Netty的主要版本是Netty3和Netty ...
- Xamarin.Android再体验之简单的登录Demo
一.前言 在空闲之余,学学新东西 二.服务端的代码编写与部署 这里采取的方式是MVC+EF返回Json数据,(本来是想用Nancy来实现的,想想电脑太卡就不开多个虚拟机了,用用IIS部署也好) 主要是 ...
- DCloud-HTML5+:5+ App开发入门指南
ylbtech-DCloud-HTML5+:5+ App开发入门指南 1.返回顶部 1. 5+ App开发入门指南 App App入门 HTML5 Plus应用概述 HTML5 Plus移动App,简 ...
- [转帖]H5 手机 App 开发入门:技术篇
H5 手机 App 开发入门:技术篇 http://www.ruanyifeng.com/blog/2019/12/mobile-app-technology-stack.html 阮一峰老师的文 ...
- ELKStack之极速入门(上)
ELKStack之极速入门(上) 链接:https://pan.baidu.com/s/1V2aYpB86ZzxL21Hf-AF1rA 提取码:7izv 复制这段内容后打开百度网盘手机App,操作更方 ...
- 一看就懂的Android APP开发入门教程
一看就懂的Android APP开发入门教程 作者: 字体:[增加 减小] 类型:转载 这篇文章主要介绍了Android APP开发入门教程,从SDK下载.开发环境搭建.代码编写.APP打包等步骤 ...
- Thinkphp入门 二 —空操作、空模块、模块分组、前置操作、后置操作、跨模块调用(46)
原文:Thinkphp入门 二 -空操作.空模块.模块分组.前置操作.后置操作.跨模块调用(46) [空操作处理] 看下列图: 实际情况:我们的User控制器没有hello()这个方法 一个对象去访问 ...
- 易Android登录Demo
上一页介绍Android项目简单的页面跳转实例,算是对开发环境的熟悉,这一篇将在此基础上增加一些简单的逻辑,实现登录的效果. 登录之前: 登录成功: watermark/2/text/aHR0cDov ...
- 微服务(入门二):netcore通过consul注册服务
基础准备 1.创建asp.net core Web 应用程序选择Api 2.appsettings.json 配置consul服务器地址,以及本机ip和端口号信息 { "Logging&qu ...
- 《Python黑客编程之极速入门》正式开课
玄魂 玄魂工作室 今天 之前开启了一个<Python黑客编程>的系列,后来中断了,内容当时设置的比较宽,不太适合入门.现在将其拆分成两个系列<Python黑客编程之极速入门>和 ...
随机推荐
- 基于QUBO模型的多体分子对接
技术背景 本文分享内容来自于最新的一篇名为Multibody molecular docking on a quantum annealer的文章,这篇文章的核心思想,是使用QUBO(二次受限二元优化 ...
- 重新整理 .net core 实践篇—————Entity的定义[二十五]
前言 简单介绍一下实体模型的设计. 正文 前文提及了我们的应用分为: 共享层 基础设施层 领域层 应用层 今天来介绍领域模型层. 前文提及到领域模型在共享层有一个领域模型抽象类库. 里面有这些类: 先 ...
- szfpga Lattice高速下载器HW-USBN-2B 常见问题解答
.产品特点 1). 支持windows7,Windows10 操作系统,两个操作系统非常稳定不断线. 2). 支持JTAG 模式,速度快,最高30Mb/s,调试serdes core,不会像hw-us ...
- eclipse 配置tomcat(更新了比较详细的版本)
eclipse 配置tomcat 打开eclipse,在上栏找到Window,点开找到preferences,点击,就有一个弹框出现 然后找到server,点开找到runtime environmen ...
- 力扣81(java&python)-搜索旋转排序数组 II(中等)
题目: 已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同. 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 ...
- portainer安装,配置,使用
Portainer安装 Portainer是Docker容器管理可视化界面,主要是可以通过可视化界面创建,管理Dockert容器,并且支持多个节点管理(免费版支持五个节点). Portainer官网地 ...
- MaxCompute项目子账号做超级管理员
场景 主账号不是大数据团队管理,使用MaxCompute员工都只持有子账号,而project的owner只能为主账号,但是很多MaxCompute的权限管理还需要owner才可以操作(如项目级别的fl ...
- 源码解读:KubeVela 是如何将 appfile 转换为 K8s 特定资源对象的
简介: KubeVela 是一个简单易用又高度可扩展的云原生应用管理引擎,是基于 Kubernetes 及阿里云与微软云共同发布的云原生应用开发模型 OAM 构建.本文主要目的是探索 KubeVela ...
- dotnet 推荐一个使用 Json 直接路由通讯的 IPC 库
本文将和大家推荐一个我所在团队开源的本机多进程通讯 IPC 库,此 IPC 支持使用 JSON 格式进行直接路由通讯,具有使用方便,稳定性高,性能好的优点 这是我所在的团队在 GitHub 上使用最友 ...
- dotnet C# 通过 Vortice 使用 Direct2D 特效入门
本文将告诉大家如何通过 Vortice 使用 D2D 的特效 本文属于 DirectX 系列博客,更多 DirectX 和 D2D 以及 Vortice 库的博客,请参阅我的 博客导航 上一篇: Di ...