需求分析
朋友想要实现一个 名表功能:每个业务员生成一个二维码,客户扫码后可以填写表单信息,后台能查看并管理相关数据。公司的各个业务员是独立的,每个业务员都会有自己的二维码,另外不同角色看到的数据范围也不一样,即主管能看到所有数据,业务员只能看到自己的数据。且管理员能配置业务员的功能权限(菜单显示,业务的新增、修改和删除功能等)
方案实现
麻雀虽小,五脏俱全。 虽然功能很单一,但是移动端、PC端、后端、服务器、域名、打包发布等一样也不少。经过一番考虑,给出如下的技术方案:
移动端
写移动端之前,也想过移动端页面可以和PC版放到同一个项目中,这样的话省时省事。因为移动端即使只有一个页面,也得有路由、状态管理、 络请求等等一系列的设置。当然写成一个独立的移动端优点有很多,比如页面响应速度明显提升、后期拓展更方便,毫不犹豫选择了后者。移动端项目写过很多个,项目框架比较成熟,拿来即用。具体页面如下:
移动端
PC端
PC端采用的RuoYi开源项目,这个开源项目实际就是用的ElementUI,不同点是有很多基础业务功能的实现。比如系统管理模块的用户管理、部门管理、菜单管理等
系统管理
业务列表
生成二维码
这里生成的二维码携带了当前业务员的信息,所以客户扫码填表的数据就会和当前业务员关联在一起。
后端
后端和前端模块是一一对应的,无外乎增删改查,这里就不详述了。其中地址选项中的数据来自”行政区划数据” 站,由于需要做成接口供前端使用,在原数据基础上加了层级区分和父级区域编码,手工整理后存到数据库中。
区域表
服务器
服务器采用华为云耀云服务器,配置属于入门级(2核4G,40G硬盘,5M带宽),基本满足小型项目需要,使用起来也很流畅。新用户费用在623 一年,相对来讲很划算。
服务器参数
接下来就是服务器的一些配置,比如设置服务器的安全组,放开端口的使用限制。我这里的PC端是80,移动端是81,接口是8080。另外就是域名的申请和备案。因为涉及到企业相关的资质材料上传,这块我没有参与。可以直接在华为云官 中申请备案,最后再将申请好的域名和服务器外 IP绑定在一起。
接下来就是服务器端相关的环境配置。主要有jdk、mysql、nginx、redis四个部分,具体安装配置过程这里不多讲了, 上有很多详细的教程。
服务器运行环境
项目的打包和部署
前面的服务器环境配置好以后,打包发布其实非常容易。前端项目的PC和移动端打包直接用dev run build生成dist文件夹。然后将dist文件夹放到服务器端,nginx配置好后直接运行即可。后端项目用maven打包成jar,直接将jar包放到服务器指定文件夹下,使用java -jar xxx运行。
总结
整个过程从需求讨论到上线约3周左右时间(均为业余时间开发)。包括需求分析、方案选型、前后端开发、打包部署等等一系列内容。基本上算是一个项目的生命周期。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!