项目说明
该项目用于房东的房源、硬件设备(门锁、门磁、猫眼)、租客的管理。
房源验真小程序数据接口转发
开发周期:长期
参与人数:1人
线上地址:https://checkin.seedien.com
产品图片
我的职责
负责该项目的前端开发工作,其中包含:“原型评审、UI评审、前端开发(技术架构、方案、估时等)、测试、发布”。
技术方案
基于Nodejs的Web应用服务,主要用于数据接口转发、数据二次处理,部分服务端业务将在Node层处理并返给前端。大大降低了前后端沟通成本,以及协作成本。
技术栈
- 视图层使用了Vue的SPA方案
- 服务层(控制层)使用了Koa2框架
- 数据层使用java服务,Web服务只用着接口的转发(部分数据处理)及文件上传、下载、Excel生成。
- 用户登录也在Web服务层处理,使用了jwt方案
- sass做css编译
- redis做数据缓存(地区数据、字典)
- pm2做Node应用管理、监控
- log4js做Node应用日志管理
- gitlab做项目代码管理
- sourceTree做管理、规范git分支
- jenkens做集成发布
- nginx做代理转发、负载均衡
- ecs 测试环境(1台服务器)、预发环境(1台服务器)、线上环境(2台服务器)
项目回顾
用户登录使用了jwt方案,用户登录成功后返回Token,使用vuex + locastoreage方式储存Token
项目中各表单中用到了字典,除了mysql里,也在redis里缓存了一份,每次重启Node服务,都会在本地生成1份包含字典的JSON文件供前端使用,前端在获取到JSON文件里的数据后,再存一份在Vuex里,以便各模块组件使用。
为了规范和管理git的分支,我们使用了gitflow规范,多人协作下效果很好。
项目中遇到了哪些问题?
1、在使用git且多人协作时,如何避免冲突?
2、excel文件下载,下载速度过慢。
一开始在Node服务上使用数据接口直接查询,拿到结果后生成excel文件,如果数据量较少的情况下,使用正常,带数据量过多,5万+,生成速度太慢。
后续方案:提供1个下载页面,用户无论在哪点了下载,下载任务都会出现在下载页面里并提示用户正在下载中,由数据服务接口直接返回一个Zip的压缩包,包含下载内容。
本文链接: https://zuojiquan.com/post/20191010/xidian-netroom/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可,转载请注明出处!