本文是个人对现有项目的一些思考,仅供参考。背景由于公司内部项目较多,项目组成员缺乏沟通,前端框架不统一,同一框架下的UI框架选择也各不相同。在不同的业务系统中重复开发相同的功能模块,导致人力成本增加,效率低下。同一个项目组成员水平参差不齐,代码风格不统一,缺乏一定的规范。缺乏项目经验积累、开发规范、新人培训、试用指导。在开发过程中,各个部门之间缺乏沟通和约定,对每个节点的输出没有一定的验收标准,每个环节的质量都得不到保证。目的统一项目(后台管理系统)架构规范开发流程在项目生命周期的各个环节建立相关标准(文档规范、验收标准、项目评估机制、在线流程等),完善内部培训机制、项目试验、技术分享、头脑风暴等可以提升会员的实力,提升主人翁意识、追求卓越的态度,提升视野和见识。解决方案由于我是前端项目开发出身,长期做后台业务系统开发,所有的思考都是基于此。从以往的工作经验来看,业务系统可以分为单/多业务系统和聚合业务系统。单/多业务系统:指通用的后台管理系统聚合业务系统:一个项目通常由多个业务系统组成。每个系统的开发技术不一定相同,但都有统一的UI,以iframe的形式嵌入到公共shell系统中。聚合型适用于复杂业务,多个业务线同时独立开发。很多电商网站后台都采用这种方式。业务系统常用模块下面是后台管理系统的通用模块及其子类。登录用户的方式有很多种。比如企业内部的Sass系统,基本都是在员工入职的时候分配一个账号,第一次登陆直接跳转。进入页面更改密码。一些电商网站后台通常不需要重新登录内部系统只要在外部登录即可。一般的网站后台都需要用户先注册一个账号然后登录,登录或者注册时的认证方式有很多种,大致可以归纳如下:授权分为第三方授权,通常是微信、QQ、微博、知乎等常用应用直接共享信息登录系统,进而完善部分用户信息。对于Sass系统,通常直接分配账号,用户直接登录,所有从同一个入口进入的业务子系统共享登录状态。权限分类和角色角色一般是管理员和用户的区分,很多角色可以根据业务场景、地域跨度、公司人事制度进行细分。不同的角色可以看到和操作不同。一般来说,权限主要从路由和功能点来控制。验证为了保证系统的安全,需要有一定的机制来保证系统不被恶意或非法登录修改。常见的手段有验证用户邮箱、手机号码、身份证验证、生物特征(人脸)验证、频繁登录验证和各种形式的验证码验证。会员模块会员管理是电子商务系统中一个非常重要的功能点。很多电商项目都是围绕着微信生态展开的,所以会员也贴了很多微信相关的标签。以下是常见会员信息的简单汇总:评论模块评论模块常见于CMS系统和产品评论中。评论的主要操作有发表评论、回复评论、删除评论、评论点赞、评论评论、点赞评论、收藏评论等。并吸引更多的会员。常见的网络营销方式有:消息模块在这里,短信、通知、公告信息都归为一类。分销模块分销主要在电商微商,按照国家规定,分销最多有3级。支付管理模块支付系统主要对支付账单、支付记录、账单投诉等进行管理。订单管理商品订单管理。统计模块主要是对客户端的PV、UV信息进行管理和统计,并以可视化图表展示用户增长和用户访问量。素材管理模块管理各种产品图片和字体图标。客服模块客服系统,商家与用户聊天。库存模块页面生成模块采用拖拽方式动态构建页面,适用于H5页面、微信公众号、小程序。其他模块是行业特定和特殊需求的功能模块。为实现方案的统一架构,前端采用“脚手架+业务组件库+可视化配置”。中间考虑到各个业务系统的灵活对接,可以使用nodejs作为中间层进行调度,后端服务可以灵活选择。前端基于Vue框架体系,使用“Vue+Vuex+Typescript+GraphQL+Yarn+Lerna”,脚手架使用npm+vue-cli生成具有基本功能的基础项目,业务组件库单独形成根据某些规格和合同。库以插件的形式开发和加载卸载。由于项目是web端,不是桌面应用,通过可视化配置生成项目代码不切实际。我们只能生成配置数组,通过前端已有的功能组件解析数组生成页面。中间的nodejs层主要负责鉴权、接口转发合并、资源调度、后台系统连接、日志统计等,基于该方案,可以将一些适用于多个项目的底层功能集成到脚手架中。在开发新的业务系统时,可以直接开发具体的功能,直接引入一些常用的模块。业务组件库可以直接打包放在主项目仓库中,也可以公司自己搭建npm仓库管理后台来托管项目代码。难点:如何实现业务组件插件化,保证可扩展性、灵活性和完整性脚手架生成的项目粒度如何?产品和设计师必须严格按照UI规范设计产品。如何保证规范的统一建立完整的业务组件开发流程如何在文档中实现各个业务组件系统之间的互通可视化配置生成页面的灵活性和适用性
