医生端公众号-工作站.md 4.6 KB

医生端公众号(umijs 版)- 工作站

React 单页面公众号应用 —— 主要使用 react.js + umijs + antd-mobile 等技术栈。
由于目前医生端业务体系,大同小异,为了追求更高的开发效率,在此项目中,集4个公众号于一身,分别是太和医生端、我的工作站、白云医生端、医生端小程序内嵌 H5,通过环境变量加以区分。
今后,可以根据实际医院需求,进行必要的拆分,或是二次开发,兼顾效率同时,也有充分的扩展性。

项目 Git

Gogs Git address

生产环境分支:prod_umi_v3

QA 环境分支:test_gzz

开发环境分支:视需求版本而定,具体命名规则见文末

项目 Command

node 版本:v12.14.0,yarn(包管理工具) install

// dev环境
yarn run start2  // 我的工作站

// qa环境
yarn run build:qa2  // 我的工作站

// prod环境
yarn run build2  // 我的工作站

jenkins deploy

分支代码更新后,需要在 jenkins 进行手动构建更新

qa 环境
南方医院白云分院医院公众号-医生端 qa-nfyybyfydocwe_fe
太和互联网医院公众号-医生端 qa-thnetdocwe_fe
我的工作站 qa-doctorwe
医生端小程序内嵌 H5 qa-thnetdocweapp-fe
 
pro 环境
南方医院白云分院医院公众号-医生端 product-fe-nfyybyfydocwe
太和互联网医院公众号-医生端 product-fe-thnetdocwe_fe
我的工作站 product-fe-doctorwe
医生端小程序内嵌 H5 product-fe-thnetdocweapp-fe

文件目录

以下文件说明,请先参考umijs v3 文档

`只备注官方文档没有提及的文件和文件目录
.
├── README.md
├── dist
├── mock
├── node_modules
├── package.json
├── public
├── src
│   ├── app.js
│   ├── assets  // 存放各种项目资源
│   ├── common  // 通用hoc(高阶组件)
│   ├── components  // 项目组件库
│   ├── config  // 项目配置文件和项目相关的静态列表
│   ├── global.less  // 全局样式,这里使用less
│   ├── layouts
│   ├── models
│   ├── pages
│   ├── routes.js  // 自定义路由文件
│   ├── services  // 接口服务
│   └── utils  // 各种工具库
├── tsconfig.json  // typescript 配置文件
├── .editorconfig  // 编辑器配置
├── .env
├── .eslintrc  // eslint 配置文件
├── .gitignore
├── .prettierignore  // prettier 过滤配置
├── .prettierrc  // prettier 配置文件
├── .umirc.js  // umi 主配置文件,默认环境是dev(开发)
├── .umirc.prod.js  // umi prod(生产)环境配置文件,会与主配置文件合并
├── .umirc.qa.js  // umi qa环境配置文件,会与主配置文件合并
└── yarn.lock

技术/业务要点

  • 通过 package.json 中不同 environment,可以很方便的切换到不同的环境和平台;
  • 本项目可以使用最新 react-hook 语法,也可以和 class 类混编共存;
  • 使用 postcss-px-to-viewport 插件转换 px 单位,从而实现页面宽度自适应;
  • 医生端小程序内嵌 H5 项目,需要 checkout 分支 weapp,可以使用 yarn run start/build:qa/build 进行对应操作;
  • 发布正式版本,一般都使用 prod_umi_v3 分支,把其他测试通过的分支合并在此分支再发布;
  • 开发版本号以 dv 开头 x.y.z,分别是主版本号、副版本号、次版本号,(b_vx2.y2.z2&vx1.y1.z1),括号里边是需求版本号,这个当前开分支包含两个需求版本,b_开头是白云需求版本,没有 b_默认代表太和需求版本;

备注

  • 医生端处方相关业务比较复杂,需要好好看需求再看代码;
  • 目前使用 umijs v3 版本,未来可以集成 typescript 尝试混编。