We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
首先介绍一下什么是amis? https://baidu.gitee.io/amis/ amis 是由百度开源的一个低代码前端框架,基于React,它使用 JSON 配置来生成页面,可以减少页面开发工作量,极大提升效率。
amis 的解决方案是基于 JSON 来配置,它的独特好处是:
当然amis不是银弹,大型复杂的前端系统,或者追求个性化的2c页面是无法灵活支持的。
主要以CURD功能为主,涉及任务创建、任务列表、任务详情、动态表单渲染、表单联动、数据集上传、复制等场景。 故amis完全能够覆盖业务实现,参考示例:https://baidu.gitee.io/amis/examples/crud/table?page=1。 训练平台截图
npm install @bigo/fed-cli -g fed-cli create cv-flow-admin # 选择amis-tpl模板
├── components 业务组件 ├── mocker 接口mock │ ├── common │ ├── dataSet │ ├── jobs │ ├── models │ ├── pipeline │ └── task ├── routes 页面json配置 │ └── admin │ ├── dataSet │ └── taskManage │ ├── jobList │ └── taskList ├── scss 公共样式 ├── stores 全局store ├── types ts类型文件 └── utils 公共方法
只需要在routes/admin目录下,新增一份json配置就行。 譬如新增任务:routes/admin/taskManage/jobList/create.ts
amis约定了接口响应标准
{ "status": 0, "msg": "", "data": { "text": "World!" ...其他字段 } }
但是我们目前还缺少统一的聚合层进行格式封装,故与业务api对接时,可以对全局的fetcher,或者单个接口的requestAdaptor、adaptor方法进行编码适配
用于将多个表单项组合到一起,实现深层结构的数据编辑。 比如想提交 user.name 这样的数据结构,有两种方法:一种是将表单项的 name 设置为user.name,另一种就是使用 combo。 https://baidu.gitee.io/amis/zh-CN/docs/components/form/combo
通过Service功能容器,向业务api获取表单配置数据,然后进行数据清洗,渲染表单。 https://baidu.gitee.io/amis/zh-CN/docs/components/form/service#动态渲染表单项
直接通过模板变量,譬如${text}这种方式获取 https://baidu.gitee.io/amis/zh-CN/docs/concepts/datascope-and-datachain
https://baidu.gitee.io/amis/zh-CN/docs/concepts/linkage
在第7、8点里面,只实现了数据的传递及消费,但是有些业务场景下需要对上一个组件产生的数据进行修改后才能适配下一个组件的入参,目前amis没有提供这种事件能力。 当前的解决方案是利用单个接口的requestAdaptor、adaptor方法,假装发起http请求,对特定url字段进行接口拦截,然后进行数据清洗,传递给下一个组件。 具体示例: 在运行任务列表,接口返回的params字段是一个json对象,点击查看详情时,需要把params数据渲染为动态表单,故通过service发起一个请求,然后对上下文中的params数据进行清洗,返回给详情组件。
总的来说,amis是一个非常优秀的低代码解决方案,适用于中小型后台系统。 研发效率至少提升30%。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
前言
首先介绍一下什么是amis?
https://baidu.gitee.io/amis/
amis 是由百度开源的一个低代码前端框架,基于React,它使用 JSON 配置来生成页面,可以减少页面开发工作量,极大提升效率。
amis 的解决方案是基于 JSON 来配置,它的独特好处是:
训练平台需求分析
主要以CURD功能为主,涉及任务创建、任务列表、任务详情、动态表单渲染、表单联动、数据集上传、复制等场景。


故amis完全能够覆盖业务实现,参考示例:https://baidu.gitee.io/amis/examples/crud/table?page=1。
训练平台截图
技术实现
1.项目初始化
npm install @bigo/fed-cli -g
fed-cli create cv-flow-admin # 选择amis-tpl模板
2.目录结构介绍
3.新增页面
只需要在routes/admin目录下,新增一份json配置就行。

譬如新增任务:routes/admin/taskManage/jobList/create.ts
4.接口处理
amis约定了接口响应标准
但是我们目前还缺少统一的聚合层进行格式封装,故与业务api对接时,可以对全局的fetcher,或者单个接口的requestAdaptor、adaptor方法进行编码适配

5.表单嵌套
用于将多个表单项组合到一起,实现深层结构的数据编辑。
比如想提交 user.name 这样的数据结构,有两种方法:一种是将表单项的 name 设置为user.name,另一种就是使用 combo。
https://baidu.gitee.io/amis/zh-CN/docs/components/form/combo
6.动态表单
通过Service功能容器,向业务api获取表单配置数据,然后进行数据清洗,渲染表单。
https://baidu.gitee.io/amis/zh-CN/docs/components/form/service#动态渲染表单项
7.上下文数据获取
直接通过模板变量,譬如${text}这种方式获取
https://baidu.gitee.io/amis/zh-CN/docs/concepts/datascope-and-datachain
8.组件通讯
https://baidu.gitee.io/amis/zh-CN/docs/concepts/linkage
9.上下文数据清洗
在第7、8点里面,只实现了数据的传递及消费,但是有些业务场景下需要对上一个组件产生的数据进行修改后才能适配下一个组件的入参,目前amis没有提供这种事件能力。

当前的解决方案是利用单个接口的requestAdaptor、adaptor方法,假装发起http请求,对特定url字段进行接口拦截,然后进行数据清洗,传递给下一个组件。
具体示例:
在运行任务列表,接口返回的params字段是一个json对象,点击查看详情时,需要把params数据渲染为动态表单,故通过service发起一个请求,然后对上下文中的params数据进行清洗,返回给详情组件。
研发体验
总的来说,amis是一个非常优秀的低代码解决方案,适用于中小型后台系统。
研发效率至少提升30%。
The text was updated successfully, but these errors were encountered: