ToG 业务中如何以“不变”应“万变”
如果无法正常显示,请先停止浏览器的去广告插件。
1. www.zhengcaiyun.cn
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
ToG 业务中
如何以“不变”应“万变”
)
m
a
e
)
m
a
Te
o
o
( Z
ooT
Z
(
队
团
端
⻥⻥
政
前
云
采
2023.03.12
云
采
政
队
团
前端
2. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
甘家羽(⻥⻥)
2019 年入职 政采云有限公司
前后经历订单中心、配置中心、基础组件业务
目前为生态业务前端负责人,主要负责政采云低代码平台
)
am
e
T
oo
Z
(
队
团
端
政
前
云
采
云
采
政
队
团
前端
)
m
a
Te
o
o
( Z
3. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
• 我们是谁
• 标准化物料体系
• 规范化技术方案设计
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
• 工具化⻚面搭建
• 安全可靠的发布平台 队
团
端
前
云
政采
)
m
a
Te
o
o
( Z
4. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
01
我们是谁
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
5. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
政采云平台是适应政府采购数字化改革要求和电商化采购趋势,在
监管部⻔指导下搭建的集网上交易、网上监管和网上服务于一体,
覆盖政府采购各领域、全流程、多用户的一站式云服务平台。
m )
政
端
前
采云
(
队
团
)
m
a
Te
o
o
( Z
ea
T
o
Zo
云
采
政
队
团
前端
6. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
乐采云平台是为适应数字化采购的新形势,由政采云有限公司为主
建设、独立运营,并将在政府采购领域多年积累的技术能力、运营
经验和资源优势等引入到企业采购等非政府采购领域,为广大企
m )
)
m
a
Te
o
(
o
Z
队
业、村社组织等单位用户搭建的一体化、数智化采购云服务平台。
(
团
队
端
团
前
端
云
前
采
云
政
采
政
ea
T
o
Zo
7. 差异化维度
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
政府采购
浙江政府采购
订单中心
政
前
云
采
履约中心 ……
供应商 采购监管 队
团
前端
)
m
a
Te
o
o
( Z
队
团
端
采购单位
合同中心
……
云
采
政
)
m
a
Te
o
o
( Z
8. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
9. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
02
标准化物料体系
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
10. 中后台⻚面特征
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
统一标准 清晰美观 简单高效
⻚面布局 主题色/功能色 功能性保证
对⻬方式 ⻚面内容紧凑
)
)
m
a
Te
o
o
( Z
操作习惯
组件样式
政
前
云
采
队
团
端
am
e
T
oo
Z
重点信息提炼
(
间距、字号
云
采
政
队
团
前端
11. 物料库
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
一个或多个 UI 组件的组合
标准
Sketch
控件库
基础组件
队
团
端
)
m
a
Te
o
o
( Z
政
前
云
采
业务组件
)
m
a
Te
一个或多个基础组件的组合,含业务属性
o
o
Z
(
队
团
端
前
云
采
政
12. 物料库使用痛点
Zo
(
队
)
m
a
oTe
团
端
前
云
采
我要写一个⻚面,不知道是否有同学开发过类似组件
政
组件信息无法查阅
好不容易找到一个组件,发现维护的同学离职了,不敢用怎么办
)
m
a
)
Te
m
o
a
o
Z
Te
o
(
o
如何在线查看
Z
队
(
团
我在别人的⻚面上看到一个合适的组件,可我不知道它是哪一个
队 已发布⻚面的组件使用信息
端
团
前
端
云
前
采
云
政
采
政
13. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
前端工程化平台:敦煌
)
m
a
)
Te
m
o
a
o
Z
Te
客户端,含项目管理、组件管理等常用功能,研发流程托管,统一开发体验
o
(
o
Z
队
(
团
队
端
团
前
端
云
前
采
云
政
采
政
14. 组件注册
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
15. 线上组件查找
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
谷歌浏览器插件:天桥
政
端
前
采云
)
m
a
Te
o
o
Z
显示⻚面所属项目信息、依赖远端服务组件信息
(
团队
云
采
政
队
团
前端
)
m
a
Te
o
o
( Z
16. 线上组件查找
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
17. 物料体系
Zo
(
队
物料资源
云
采
政
团
端
前
)
m
a
oTe
管理策略
基础 / 业务组件库 组件管理
文档库 权限管理
)
m
a
Utils o 库
Te
o
Z
(
团队
政
端
前
图片 / Icon 库
采云
)
m
a
Te
o
o
( Z
数据管理
云
采
政
队
团
前端
18. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
物料体系
⻚面开发
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
19. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
硬编码(If
… Else …)
)
am
e
T
oo
Z
(
队
团
端
供应商
前
云
采
云
采
政
队
团
前端
政
采购单位
)
m
a
Te
o
o
( Z
20. 差异化维度
Zo
(
队
)
m
a
oTe
团
端
前
政府采购
云
采
政
浙江政府采购
云环境
杭州市
订单中心
上海政府采购
宁波市
)
m
a
Te 合同中心
o
o
( Z
队
团
端
政
前
云
采
采购单位
供应商
……
台州市
岛环境
……
……
采购监管 队
团
前端
……
)
m
a
Te
o
o
( Z
履约中心
云
采
政
21. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
物料体系
技术方案规范
⻚面开发
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
22. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
03
规范化技术方案设计
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
23. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
Bad Case:过多的逻辑判断
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
24. Bad Case:过多的逻辑判断
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
按钮的显示与否
前端要通过大量的字段进行条件逻辑判断
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
25. Bad Case:过多的逻辑判断
Zo
(
队
)
m
a
oTe
团
端
前
下单⻚数据接口调用场景
云
采
政
A:商品详情⻚发起下单 同一⻚面不同场景前端调用的接口不一样
B:购物⻋发起下单 A 场景调用接口 1
B 场景调用接口 2
C 和 D 场景调用接口 e 3 am )
)
m
a
Te
o
o
C:订单详情⻚选择重新下单
Z
(
队
团
端
前
云
D:订单列表⻚选择重新下单
采
政
ooT
Z
(
云
采
政
队
团
前端
26. 过多的逻辑判断 - 解决方案
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
判断逻辑“后”置
控制前端显示逻辑判定都放在后端去做处理,前端尽可能减少字段判定
)
m
a
)
简单判断逻辑可“前”置
Te
m
o
a
o
Z
Te
o
(
o
Z
队 前后端约定,If 判断中未超过 2 个条件,且判断形式相对固定,可由前端处理
(
团
队
端
团
前
端
云
前
采
云
政
采
政
27. 过多的逻辑判断 - 解决方案
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
28. 过多的逻辑判断 - 解决方案
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
队
团
端
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
前
端
云
前
降低沟通成本;逻辑变更时只需一方排查或修改;有效避免两端不一致问题
采
云
政
采
政
29. 接口约定
Zo
(
队
)
m
a
oTe
团
端
前
云
避免点击一个按钮,先后依赖多接口调用
政采
避免前端二次加工数据过多
)
枚举值、下拉框数据由后端维护
m
a
Te
o
o
Z
(
队
团
端
前
云
采
金额计算由后端完成
政
)
m
a
Te
o
o
( Z
云
采
政
队
团
前端
30. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
有些时候,后端也不想写过多的 If Else,此时如何是好?
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
31. 配置中心
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
32. 配置中心
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
33. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
物料体系
技术方案规范
⻚面开发
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
34. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
如何提升⻚面开发效率?
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
35. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
04
工具化⻚面搭建
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
36. ⻚面模板
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
37. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
物料体系
技术方案规范
⻚面开发
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
前
云
政采
)
m
a
Te
o
o
Z
(
⻚面搭建
队
团
端
38. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
低代码搭建平台:无相
)
m
a
)
Te
m
o
a
o
Z
Te
面向政采云平台中后台复杂管理系统的低代码搭建平台
o
(
o
Z
队
(
团
队
端
团
前
端
云
前
采
云
政
采
政
39. Zo
(
创建应用
队
团
前端
应用
)
m
a
oTe
云
采
政
菜单 创建子应用
⻚面 创建⻚面
数据库
端
前
采云
政
差异视图
团队
)
m
a
Te
o
o
( Z
)
m
a
e
渲染 o
/ T 使用
o
( Z
维护字段
创建布局
队
团
前端
搭建、配置
采云
政
保存发布
40. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
41. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
42. 自定义组件
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
由多个字段组成
后缀内容差异化动态
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
)
m
a
Te
o
o
Z
自定义组件
(
队
团
端
前
云
采
政
43. 自定义组件
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
import React, { Component } from 'react';
import { Input } from 'XXX';
import './index.less';
export default class BusinessComp extends Component {
render() {
const { titleSuffix } = this.props; // 配置属性
return (
<div>
<Input className="component-input" />
<span>{titleSuffix}</span>
</div>
);
}
}
)
m
a
Te
o
o
( Z
if (widgetType === ‘customComponent’ && !_.get(window, `wuxiang_customComponent.${widgetCode}`)) {
// 异步加载远程自定义组件
Load(
`https://xxxxxxx/${widgetCode}/${widgetVersion}/index.umd.min.js`,
widgetCode,
remoteComponents,
)
.then(({ comp, code: widgetCode }) => {
// 将组件挂在在 windows 下
_.set(window, `wuxiang_customComponent.${widgetCode}`, comp);
});
}
队
团
端
政
前
云
采
云
采
政
队
团
前端
)
m
a
Te
o
o
( Z
上传 CDN
44. 高级用法
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
)
m
a
Te 兼
o
o
容 IE
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
45. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
要举办分享大会了,需要提前收集讲师和观众信息
但是,线上和线下等不同渠道需要收集的字段信息是不同的
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
46. 解决⻚面差异化
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
47. 流程编排
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
48. 上层业务
采购计划
委托管理
团 OA审批
端
前
组件管理
列表⻚ 容器
表单⻚ 基础组件
布局管理 自定义组件
)
维度规则
am
e
T
oo 自定义模块
Z
(
应用管理 消息待办
打印模板 权限管理
工作流
队
团
端
底层支持
前
云
采
政
搭建能力
订单中心
云
采
政
能力维度
无相平台
Zo
(
队
)
m
a
oTe
物料平台
流程编排
消息平台
…
开放能力
SDK
API
)
m
a
中心化⻚面
Te
o
o
( Z
数据管理
队
团
前端
云
采
模板中心
政
NPM 组件
用户体系
权限
49. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
物料体系
技术方案规范
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
⻚面开发
⻚面搭建
发布管控
云
采
政
队
团
前端
)
m
a
Te
o
o
( Z
50. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
05
安全可靠的发布平台
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
51. Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
构建部署平台:云⻓
)
m
a
Te
o
依托标准化的工程结构以及
CLI 套件 API
o
Z
(
队
)
m
a
Te
o
o
Z
搭建运行于
Docker 容器环境,且由 Node 开发的全流程构建部署服务
(
团
队
端
团
前
端
云
前
采
云
政
采
政
52. 构建方式升级
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
内部构建稳定性
进程池
容器化
Web 服务稳定性
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
53. 构建部署流程
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
Start
End
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
54. 代码检测
Zo
(
队
团
端
前
云
ESLint
政采 检测
安全检测
代码检测
)
m
a
oTe
线上检测,保证代码规范一致性
依赖黑名单拦截,敏感词校验,产物校验
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
NPM 依赖分析
依赖版本分析、统计 端团
队
前
云
政采
)
m
a
Te
o
o
( Z
55. NPM 依赖分析
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
依赖安装
数据获取
数据清洗
)
每个包管理工具都有自己的安装方式
am
数据看板
Te
o
o
Z
例:npm install 产出 package-lock.json
文件
(
队
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
云
采
政
队
团
前端
56. NPM 依赖分析
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
依赖安装
数据获取
数据清洗
数据看板
调用包管理工具命令获取依赖数据
)
m
npm list --prod
--json
--depth=0
a
e
)
m
a
Te
o
o
( Z
ooT
Z
(
队
团
端
政
前
云
采
云
采
政
队
团
前端
57. NPM 依赖分析
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
依赖安装
数据获取
数据清洗
)
m
a
Te
o
o
( Z
数据看板
过滤包名和版本信息
队
团
端
政
前
云
采
云
采
政
队
团
前端
)
m
a
Te
o
o
( Z
58. NPM 依赖分析
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
依赖安装
数据获取
数据清洗
)
m
a
Te
o
o
( Z
数据看板
数据落库后, 由前端私库管理平台负责展示
)
m
a
Te
o
o
( Z
队
团
端
政
前
云
采
云
采
政
队
团
前端
59. Zo
(
队
)
m
a
oTe
团
端
前
政府采购
云
采
政
浙江政府采购
杭州市
订单中心
上海政府采购
宁波市
)
m
a
Te 合同中心
o
o
( Z
队
团
端
政
前
云
采 采购单位
供应商
……
台州市
……
……
采购监管 队
团
前端
……
)
m
a
Te
o
o
( Z
履约中心
云
采
政
60. Zo
(
队
团
端
前
硬编码问题 云
采
物料管理问题
政
)
m
a
oTe
开发提效问题 线上稳定问题
物料体系 技术方案规范 ⻚面搭建 发布管控
设计规范 接口约定 可视化搭建 容器化
统一注册 )
m
a
Te
o
配置约定
o
Z
(
队 差异化管理
工具助手
政
团
端
前
云
采
队
团
端
逻辑编排
前
云
采
政
)
m
代码检测
a
e
T
oo
Z
(
61. 构建政企采购云服务生态
Zo
(
队
)
m
a
oTe
团
端
前
云
采
政
)
m
a
Te
o
o
( Z
)
m
a
Te
o
o
( Z
队
团
端
前
云
采
队
团
前端
云
采
政
政
公司地址 联系电话
浙江省杭州市⻄湖区云栖小镇鹏辉产业园1号楼 95763
公司官网www.zhengcaiyun.cn 政采云平台www.zcygov.cn