项目分析
整个项目是基于 Egg.js 作为上层架构,通过 Egg.js 为我们提供的一些预定好的开发形式,我们轻松地完成了下列下面十二个接口的开发:
'use strict';/*** @param {Egg.Application} app - egg application*/module.exports = app => {const { router, controller, middleware } = app;const _jwt = middleware.jwtErr(app.config.jwt.secret); // 传入加密字符串/** 1.注册 */router.post('/api/user/register', controller.user.register);/** 2.登陆 */router.post('/api/user/login', controller.user.login);/** 3.获取用户信息 */router.get('/api/user/get_userinfo', _jwt, controller.user.getUserInfo);/** 4.修改用户信息 */router.post('/api/user/edit_userinfo', _jwt, controller.user.editUserInfo);/** 5.上传图片 */router.post('/api/upload', controller.upload.upload);/** 6.获取消费类型列表 */router.get('/api/type/list', _jwt, controller.type.list);/** 7.添加账单 */router.post('/api/bill/add', _jwt, controller.bill.add);/** 8.账单列表 */router.get('/api/bill/list', _jwt, controller.bill.list);/** 9.账单详情 */router.get('/api/bill/detail', _jwt, controller.bill.detail);/** 10.修改账单 */router.post('/api/bill/update', _jwt, controller.bill.update);/** 11.删除账单 */router.post('/api/bill/delete', _jwt, controller.bill.delete); // 删除账单/** 12.统计数据 */router.get('/api/bill/data', _jwt, controller.bill.data);};
本项目虽然不是很大,但是本项目包含了几个关键的知识点:
- 多用户鉴权
- 一套增删改查
- 表数据的二次处理(图表)
- 列表分页的制作
- 文件数据上传
可以说“麻雀虽小、五脏俱全”。
如果你想要在此基础上拓展一些新的功能,如朋友圈、笔记、博客等,都是可以基于该项目进行二次开发的,因为多用户鉴权的架子已经搭建好,后续要做的就是添加表,以及一些业务逻辑上的处理。
当然,如果你想做更为复杂的项目,比如一个商城。那涉及到的内容可能就更多了,单论商品模块的后台编辑,前台展示,就涉及到 sku、购物车、库存的处理、多图上传、详情编辑、类型筛选等等。这就很考验同学们的知识储备和解决问题的能力了。
