本文是我的对于现有项目的一些思考,仅作参考。前端
因为本人是作前端项目开发出生,而且长期作后台业务系统开发,全部的思考也基于此展开。vue
从以往的工做经验来看业务系统能够概括为单/多业务系统和聚合业务系统。node
聚合型适用于业务复杂,多条业务线同时独立开发,不少电商网站后台都采用这种方式。vue-cli
这里列举了后台管理系统通用的模块及其细分类npm
用户登陆方式有不少种,像企业内部的Sass系统基本上都是员工在入职时分配好帐号,初次登陆后直接跳转到更改密码的页面。一些电商网站后台只要在外
登陆后内部系统一般就不须要再次登陆了。通常的网站后台则须要用户注册帐户后再登陆。小程序
登陆或者注册时的验证方式有不少种,大体概括以下:后端
受权分为第三方受权,一般是微信、QQ、微博、知乎等常见应用直接共享信息登陆系统后再完善一些用户信息。对于Sass系统来说一般是直接分配帐号,用户直接登陆,从同一个入口进入的各业务子系统共享登陆状态。数组
角色一般来讲就是管理员和用户的区分,根据业务场景、地域跨度、公司人事体系的不一样又能够细分出不少角色。不一样的角色所能看到的,操做的功能是有所区别的。通常来讲权限主要是从路由、功能点来控制的。安全
为了保证系统的安全性,须要必定的机制来保证系统不被恶意、非法登陆修改信息。常见的手段为验证用户的邮箱、手机号、身份证验证、生物特征(面部)验证、常在登陆地验证及各类形式的验证码验证。前端框架
会员管理对于电商系统来讲是很重要的一个功能点。不少电商项目都是围绕微信生态圏,所以会员也帖上了不少微信相关的标签。下面是一个常见会员信息的简单概括:
评论模块常见于CMS系统、商品评论。对于评论而主要的操做就是发表评论、回复评论、删除评论、评论点赞、评论审核、喜欢评论、收藏评论等。
有了会员固然少不了各类营销手段来留住会员,得到手续收益和吸引更多会员。常见的线上营销方式以下:
这里把短信、通知、公告信息所有归在一块儿。
分销主要是电商的微商中,按照国家规定最多3级分销。
支付系统主要是管理支付帐单、支付流水记录、帐单的投诉等。
商品下单管理。
主要是在客户端进行打点统计各pv, uv信息,以可视化图表展现用户增加、用户访问量等。
各类商品图片、字体图标管理。
客服系统,商户与用户聊天。
使用拖拽方式动态构建页面,适用于H5页面,微信公众号、小程序。
特定行业、特殊需求功能模块。
统一架构,前端采用 “脚手架 + 业务组件库 + 可视化配置”,中间考虑到各上业务系统的灵活对接能够采用nodejs做为中间层做调度,后端服务能够灵活选择。
前端基于Vue框架体系,采用 "Vue + Vuex + Typescript + GraphQL + Yarn + Lerna",脚手架使用 npm + vue-cli 来生成带有基础功能的基础项目,业务组件库在必定的规范和契约下单独成库进行开发,作到插件的形式载入和卸载。因为项目为Web端,不是桌面应用,所以可视化配置生成项目代码的可行性不切实际,只能生成配置数组,经过前端已有的功能组件来解析数组生成页面。
中间nodejs层主要负责认证、接口的转发与合并、资源的调度、后台系统的对接、日志的统计等。
基于这个方案能够将一些适用于多个项目的低层功能融入脚手架中,开发新的业务系统时能够直接开发特定的功能,一些通用的模块直接引入。
业务组件库能够直接放在主项目仓库做为一个package,也能够在公司内部自建npm仓库管理后台托管项目代码。
难点: