From 5641d33b7cf3e37f8b3b5f22c71db1e96eb34041 Mon Sep 17 00:00:00 2001 From: xujiang Date: Tue, 20 Jul 2021 13:42:17 +0800 Subject: [PATCH] =?UTF-8?q?:new:=20=E4=BC=98=E5=8C=96=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + doc/.vuepress/config.js | 29 +++ .../theme/global-components/Home.vue | 10 +- doc/zh/guide/README.md | 4 +- doc/zh/guide/componentShop/cpManage.md | 16 ++ doc/zh/guide/componentShop/intro.md | 25 ++ doc/zh/guide/componentShop/uploadCp.md | 19 ++ doc/zh/guide/deployDev/api.md | 224 +++++++++++++++++- 8 files changed, 320 insertions(+), 8 deletions(-) create mode 100644 doc/zh/guide/componentShop/cpManage.md create mode 100644 doc/zh/guide/componentShop/intro.md create mode 100644 doc/zh/guide/componentShop/uploadCp.md diff --git a/.gitignore b/.gitignore index a270862..a94d0dd 100644 --- a/.gitignore +++ b/.gitignore @@ -107,3 +107,4 @@ typings/ # production /dist +/doc-dist diff --git a/doc/.vuepress/config.js b/doc/.vuepress/config.js index 9f690a8..929477e 100755 --- a/doc/.vuepress/config.js +++ b/doc/.vuepress/config.js @@ -118,6 +118,35 @@ module.exports = { }, ], }, + { + title: '组件商店', + collapsable: false, + sidebarDepth: 1, + type: 'group', + children: [ + { + name: 'intro', + title: '基本介绍', + path: '/zh/guide/componentShop/intro', + collapsable: false, + sidebarDepth: 2, + }, + { + name: 'uploadCp', + title: '上传组件', + path: '/zh/guide/componentShop/uploadCp', + collapsable: false, + sidebarDepth: 2, + }, + { + name: 'cpManage', + title: '组件审核', + path: '/zh/guide/componentShop/cpManage', + collapsable: false, + sidebarDepth: 1, + }, + ], + }, { title: '私有化部署和二次开发', collapsable: false, diff --git a/doc/.vuepress/theme/global-components/Home.vue b/doc/.vuepress/theme/global-components/Home.vue index 94b2af1..cdece04 100755 --- a/doc/.vuepress/theme/global-components/Home.vue +++ b/doc/.vuepress/theme/global-components/Home.vue @@ -2,9 +2,10 @@

- {{ - data.heroText || $title || "Hello" - }} + {{ data.heroText || $title || "Hello" }}

@@ -71,12 +72,11 @@ $homePageWidth = 1080px text-align center img width: 190px - height 50px display inline-block margin initial margin-bottom 0 margin-right 20px - vertical-align sub + vertical-align -21px h1 font-size 1.5rem font-weight 600 diff --git a/doc/zh/guide/README.md b/doc/zh/guide/README.md index 52d177b..08903c6 100644 --- a/doc/zh/guide/README.md +++ b/doc/zh/guide/README.md @@ -1,4 +1,4 @@ -foo +dooring H5-Dooring 是一款功能强大,高可扩展的 H5 可视化页面配置解决方案,致力于提供一套简单方便、专业可靠、无限可能的 H5 落地页最佳实践。 @@ -14,4 +14,4 @@ H5-Dooring 是一款功能强大,高可扩展的 H5 可视化页面配置解 ## 为什么选择 Dooring -目前**github**已超过 3000+star,上线 2 个月累计 500+用户使用,解决完善了 100+问题,后续会持续迭代,更新,自研优秀,先进的 lowcode/nocode 解决方案。 +目前**github**已超过 4800+star,上线 2 个月累计 1300+用户使用,解决完善了 100+问题,后续会持续迭代,更新,自研优秀,先进的 lowcode/nocode 解决方案。 diff --git a/doc/zh/guide/componentShop/cpManage.md b/doc/zh/guide/componentShop/cpManage.md new file mode 100644 index 0000000..0e07490 --- /dev/null +++ b/doc/zh/guide/componentShop/cpManage.md @@ -0,0 +1,16 @@ + +# 组件审核 + +组件审批主要由网站管理人员来操作,当用户组件提交成功之后,客户端会通过消息信令通知管理员,管理员收到消息后会审核组件。那么整个过程也很简单,我们可以使用 websocket 来实现消息双向通信,完整流程如下: + + + +通过以上的实现方式客户端和服务端就可以随时进行通信了。接下来我们看看审批的效果: + + + + diff --git a/doc/zh/guide/componentShop/intro.md b/doc/zh/guide/componentShop/intro.md new file mode 100644 index 0000000..7f7a93d --- /dev/null +++ b/doc/zh/guide/componentShop/intro.md @@ -0,0 +1,25 @@ + +## 组件商店基本介绍 + +对于可视化搭建平台而言,其中一个核心的环节就是组件资产。用户在设计搭建页面时会消费各种各样的组件,但是对于不同的用户而言,组件的需求往往是不一样的,大部分的 lowcode 或者 nocode 平台都不能很好的解决用户这些定制化的组件需求,所以为了解决这一问题,组件商店就孕育而生。 + + + +## 组件商店工作流设计 + +我们要想实现完整的组件商店工作流,需要满足以下几点: + +- 组件线上编辑(上传)模块 +- 组件审核模块 +- 组件更新/发布模块 +- 组件管理(上架/下架/删除/下载) + +有了以上4块的支持,基本的组件商店就可以 work 了。具体流程如下: + + + + diff --git a/doc/zh/guide/componentShop/uploadCp.md b/doc/zh/guide/componentShop/uploadCp.md new file mode 100644 index 0000000..db6dd3d --- /dev/null +++ b/doc/zh/guide/componentShop/uploadCp.md @@ -0,0 +1,19 @@ + +# 上传组件 + +当“ 生产者 ”编写好组件代码之后,需要对组件自身进行定义。因为可视化平台组件物料很依赖平台的组件开发协议,我们需要按照平台的规范去上传规范的自定义组件,这样平台才能更好的理解应用组件,保持用户认知的一致性。 +组件描述信息笔者这里设计了如下字段: + +- 组件名称 (中文) +- 组件名 (英文,方便存库) +- 组件分类 (基础,可视化,营销,媒体等) +- 组件默认大小 (宽高) +- 组件图标 (方便用户认知,查找) + + + + diff --git a/doc/zh/guide/deployDev/api.md b/doc/zh/guide/deployDev/api.md index c86ecfe..b03c711 100644 --- a/doc/zh/guide/deployDev/api.md +++ b/doc/zh/guide/deployDev/api.md @@ -562,8 +562,230 @@ ## 文件上传 +- `POST` /files/upload/free + +先决条件: +- 用户已登陆 + +| 参数名 | 是否必选 | 类型 | 说明 | +| ------------- |:-------------:|:-----:| -------------:| +| File | true | File | 文件对象 | + +返回示例 +``` json +{ + "state": 200, + "result": { + "filename": "H5-Dooring", + "url": "http://h5.dooring.cn/uploads/1_17ac208480d.png", + "size": 261972 + }, + "msg": "文件上传成功" +} +``` + ## 数据统计 ### 数据大盘接口 -### 页面埋点 \ No newline at end of file +- `GET` /vip/dashboard + +先决条件: +- 用户已登陆 + +返回示例 +``` json +{ + "state": 200, + "result": { + "userNums": 1300, + "pageNums": 808, + "tplNums": 86, + "views": 60235, + "userList": [] + } +} +``` + +## 组件商店 + +### 组件上传 + +- `POST` /visible/cp/save + +先决条件: +- 用户已登陆 + +| 参数名 | 是否必选 | 类型 | 说明 | +| ------------- |:-------------:|:-----:| -------------:| +| react | true | string | react字符串 | +| css | true | string | css字符串 | +| schema | true | string | schema字符串 | +| form | true | object | 表单对象 | + +返回示例 +``` json +{ + "state": 200, + "result": null, + "msg": "提交成功, 请等待审核..." +} +``` + +### 获取组件上传列表 + +- `GET` /visible/cp/list + +先决条件: +- 用户已登陆 + +返回示例 +``` json +{ + "state": 200, + "result": [ + { + "cpName":"test", + "cpField":"test", + "cate":"base", + "width":3, + "height":6, + "icon":"http://196.345.0.345:3000/uploads/1_17a8a4eaedf.png", + "ispass":3 + }, + { + "cpName":"test2", + "cpField":"test2", + "cate":"media", + "width":4, + "height":20, + "icon":"http://196.345.0.345:3000/uploads/1_17a8a4eaedf.png", + "ispass":1 + } + ], +} +``` + +### 获取组件详情 + +- `GET` /visible/cp/get + +先决条件: +- 用户已登陆 + +| 参数名 | 是否必选 | 类型 | 说明 | +| ------------- |:-------------:|:-----:| -------------:| +| cate | true | string | 组件分类 | +| cpField | true | string | 组件英文名字段 | + +返回示例 +``` json +{ + "state": 200, + "result": { + "react": "react代码", + "css": "css/less代码", + "schema": "schema的js/ts代码" + } +} +``` + +### 更新组件审批状态 + +- `POST` /visible/cp/update + +先决条件: +- 用户已登陆 + +| 参数名 | 是否必选 | 类型 | 说明 | +| ------------- |:-------------:|:-----:| -------------:| +| cate | true | string | 组件分类 | +| cpField | true | string | 组件英文名字段 | +| ispass | true | number | 组件审核状态, 0 待处理 1 审核中 2 审核通过 3 审核不通过 | + + +返回示例 +``` json +{ + "state": 200, + "result": null, + "msg": "审批成功" +} +``` + +### 删除组件 + +- `DELETE` /visible/cp/del + +先决条件: +- 用户已登陆 + +| 参数名 | 是否必选 | 类型 | 说明 | +| ------------- |:-------------:|:-----:| -------------:| +| cate | true | string | 组件分类 | +| cpField | true | string | 组件英文名字段 | + +返回示例 +``` json +{ + "state": 200, + "result": null, + "msg": "删除成功" +} +``` + +### 下载组件源码 + +- `POST` /visible/cp/download + +先决条件: +- 用户已登陆 + +| 参数名 | 是否必选 | 类型 | 说明 | +| ------------- |:-------------:|:-----:| -------------:| +| cate | true | string | 组件分类 | +| cpField | true | string | 组件英文名字段 | + +返回示例 +``` json +{ + "state": 200, + "result": "组件压缩包地址" +} +``` + +## 数据源管理 + +### 获取用户数据源 + +- `GET` /vip/sourcedata/get + +先决条件: +- 用户已登陆 + +返回示例 +``` json +{ + "state": 200, + "result": [], +} +``` + +### 保存用户数据源 + +- `POST` /vip/sourcedata/save + +先决条件: +- 用户已登陆 + +| 参数名 | 是否必选 | 类型 | 说明 | +| ------------- |:-------------:|:-----:| -------------:| +| sourcedata | true | array | 用户数据源集合 | + +返回示例 +``` json +{ + "state": 200, + "result": [] +} +```