此篇仅做简述,详细请见实际项目

1 项目结构:

(1)服务端eggjs开发

(2)客户端umijs开发

(3)数据库mysql数据库

2 效果如下:

1.gif

3 备注:

(1)数据库使用的在线数据库,下载后,需配置为自己的mysql数据库

(2)涉及知识点,官方网站上均有,请自行学习 https://eggjs.org/zh-cn/

4 github地址:

https://github.com/HeavyShell/eggjs-server-umijs-client

过程事项:

一 JWT的使用demo

增加JWT的基本使用,便于后期拓展,如用户鉴权等功能。

1 访问http://127.0.0.1:7001/api/login 生成token,并返回

2 访问http://127.0.0.1:7001/api/login2 传参上一步返回的token值,服务端校验token

3 因测试,暂给的20秒内token 有效,可下载项目后测试,可使用工具Postman

二 增加用户权限校验逻辑

1 通过JWT形式用户权限校验

2 登录接口/api/login生成对应token,并返回客户端

3 客户端存储token于sessionStorage

4 请求带上token,于headers传输

5 服务端接口中间件tokenVerify校验token有效性,并返回新的token

6 退出,则清空本地token,并返回登录页

三 使用数据模型model,增加对sequelize的支持使用

注意事项:
1 model定义时app.model.define,由于原表中没有create_at时间字段,

(1)需设置timestamps: false, 忽略时间字段create_at等,因为Sequelize会默认视为数据表拥有时间字段

(2)需设置tableName: 'eggjs_blog', 指定表名

2 config.default.js中配置需指定用户名密码config.sequelize = {username:'admin',password:'123456'}

3 demo仅在查询详情的service中使用model形式获取数据

4 详情参考官网https://eggjs.org/zh-cn/tutorials/sequelize.html

标签: umi, egg, eggjs, mysql

仅有一条评论

  1. 水的传说 水的传说

    不错! 2016gz.gif

添加新评论

选择表情