账户中心 退出系统
6.0 版本 5.0 版本 3.0 版本
使用手册 模板中心 账户中心 合作 · 服务
6.0 版本 5.0 版本 3.0 版本
快速开始
框架介绍版权要求
更新日志
常见问题
框架部署目录结构
版本差别V 3 ~ 6
主题设置
深色模式
nvue 说明
数据转换格式问题
防抖节流技巧文章
页面布局 ( 12 )
页面组件 独创 · 好用
全屏加载 + 挂件
自定义头部返回 · 主页
动态头部导航
双击返回顶部
单击返回顶部
自定义底部导航
吸顶插槽布局
动态吸顶布局
iPhone 底部适配
小程序胶囊按钮躲避
下拉选择筛选 · 排序
页面背景色设置外链技巧
Flex 布局 ( 2 )
Flex 布局样式模式
Flex 布局组件模式
基础样式 ( 9 )
文本样式
内置颜色
徽章角标
定位样式absolute · fixed
按钮样式
常用标题
动画效果
图标使用使用及扩展
手势操作触屏 · 缩放
Grace.JS ( 18 )
工具介绍
网络请求
页面跳转
数据缓存
图片操作
设备信息
消息提示
头部导航 动态设置
底部导航 动态设置
元素选择
ref 获取 跨生命周期
字符常用
数组操作
随机数据
日期时间
延时循环
对象操作
MD5 加密
请求工具 ( 7 )
请求库介绍
GET 请求
POST 请求
POST 签名验证
文件上传
登录相关
后端代码 php 版本示例
常用组件 ( 12 )
图片组件
搜索组件
标签组件
星级组件
倒计时组件
链接组件
多图选择
多图上传
头像群组
数值动画
PK 投票
抽奖转盘
常用布局 ( 11 )
宫格布局
普通表格
排序组件
数据表格
横向公告
时间轴布局
步骤展示
骨架加载
瀑布流布局
启动页广告
底部分享
列表布局 ( 8 )
普通列表
滑动列表
可选列表
全选列表
树状列表
排序列表
卡片列表
卡片视图
切换布局 ( 9 )
切换导航单行
切换导航多行
局部选项卡
全屏选项卡
分段切换
折叠面板
竖向切换
分类切换
城市选择
滚动 · 轮播 ( 8 )
滚动区域
进度滚动
滚动公告
无缝滚动横向文本形式
无缝滚动横向卡片形式
竖向公告顺序卡片形式
轮播组件
主体滚动
刷新加载 ( 8 )
全屏加载
下拉刷新基于页面组件
加载更多基于页面组件
刷新和加载基于页面组件
返回顶部基于页面组件
刷新和加载自定义组合
刷新和加载原生组合模式
为空展示
弹层 · 对话框 ( 6 )
遮罩弹层
头部消息框
模态对话框
底部操作表
右侧菜单
弹出菜单
表单相关 ( 15 )
表单布局
表单验证
提交按钮
字数限制
功能标签 选择 · 删除
动态表单
分步提交
步进器
数字键盘
车牌键盘
滑动解锁
进度滑块
区间滑块
点选按钮
地区联动 省市区三级
日期时间 ( 6 )
日历日期 带有农历及时间
日期区间 日历形式
日期时间 picker 模式
时间段选择 picker 模式
日程日历 日程 · 提醒
横向日历 布局模式
文章相关 ( 12 )
文章列表 基础用法
文章列表 切换模式
文章列表 全屏选项卡模式
编辑器 新版 · 自主研发 · 多端兼容
编辑器 旧版 · 废弃保留
格式转换 旧版 · 废弃保留
内容渲染 新版 · 编辑器解析
文章详情 旧版 · 废弃保留
富文本加强 字符串转数组
展开阅读
评论布局
评论提交
媒体播放 ( 2 )
音乐播放器
视频播放器
地图使用 ( 3 )
位置标注
地图周边
拖拽定位
用户模板 ( 10 )
用户登录
手机登录
短信登录
短信验证
用户协议
个人中心
头像剪裁
证件上传
会员排行榜
手写签名
电商常用 ( 9 )
商品列表
商品详情
订单中心
购物车模板
排序与筛选
地址列表
地址添加
抽奖模板
优惠券组件
即时通讯 ( 3 )
消息展示组件
消息输入组件
消息列表布局
画布绘图 ( 3 )
二维码生成
条形码生成
海报生成
用户登录相关

手册版本 V6.0

相关介绍

GraceRequest 封装了用户登录检查功能,原理如下 : 

01. 用户登录会在本地数据记录用户的相关数据:
key : uToken,可以在 config.js 内配置名称
value : 用户数据表内生成的 token-用户 id
说明 : 之所以记录用户主键是为了更快的用户数据读取速度,如果不想暴露把token做成索引即可;

02. 提供检查函数 checkLogin 检查用户是否已经登录;
03. 提供未登录跳转函数 gotoLogin 来完成页面跳转;
04. 提供 token 写入函数 writeLoginToken 来记录用户数据到本地;


用户数据表建议

uid int 用户id
username varchar 用户名
password varchar 密码
token varchar 用户token 随机码 ( 如 PHP 使用 uniqid() 生成后记录 )
openid varchar 第三方登录 id 信息 
......


相关函数

checkLogin()

功能 : 检查用户是否登录
参数 : notLoginDo 当用户没有登录时,执行的回调函数 [ 可选 ]
返回 : true / false

示例

<script>
export default {
	data() {
		return {}
	},
	onLoad:function(){
		// 检查登录
		var isLogin = uni.gRequest.checkLogin(()=>{
			// 如果用户没有登录跳转到登录页面
			uni.gRequest.gotoLogin();
		});
		console.log(isLogin);
	},
	methods:{}
}
</script>


gotoLogin()

功能 : 跳转到登录页面
参数 : 
    1 path 登录页面路径,默认 "../login/login"
    2 opentype 页面打开类型,默认 redirect, 其他 : navigate, switchTab

writeLoginToken()

功能 : 记录用户登录令牌
参数 : 
    1 token 用户登录令牌
    2 uid 用户 id
说明 :
此函数位于 graceRequestConfig.js 
记录 用户 token 到本地,格式为 : loginToken-uid
您可以根据项目需要继续改进

示例

<script>
import GraceRequestConfig from '@/custom/graceRequestConfig.js';
export default {
	data() {
		return {}
	},
	onLoad:function(){
		// 如登录成功后记录用户数据到本地
		GraceRequestConfig.writeLoginToken('HOOMIU0NGXC', 10000);
	},
	methods:{}
}
</script>


请求时带上用户令牌

当您经过接口验证 > 记录用户登录数据到本地 后,您就可以在请求时带上 用户令牌数据,这样可以方便地把用户令牌传递给后端 api 接口进行用户识别、校验等工作。
您只需要将 get、post、upload 函数的最后一个参数设置为 true,即可实现在请求时带上用户令牌 :

<script>
import GraceRequestConfig from '@/custom/graceRequestConfig.js';
export default {
	data() {
		return {}
	},
	onLoad:function(){
		// 如登录成功后记录用户数据到本地
		GraceRequestConfig.writeLoginToken('HOOMIU0NGXC', 10000);
		//
		this.requestDemo();
	},
	methods:{
		requestDemo : async function(){
			// 请求前置函数
			uni.gRequest.befor = ()=>{
				uni.showLoading({title:'加载中 ...'});
			}
			// 请求后置函数
			uni.gRequest.after = ()=>{
				uni.hideLoading();
			};
			// GET 请求
			try{
				// 最后一个参数 true
				let res = await uni.gRequest.get('srequest/userTokenDemo', {}, true);
				console.log(res);
				this.content = res;
			}catch(e){
				// 请求失败
				console.log(e);
			}
		}
	}
}
</script>