diff --git a/doc-dist/404.html b/doc-dist/404.html index 8f7da0c..190732c 100644 --- a/doc-dist/404.html +++ b/doc-dist/404.html @@ -8,13 +8,13 @@ - + -

404

Looks like we've got some broken links.
+ - + diff --git a/doc-dist/assets/img/v6.deploy.43cbe0de.png b/doc-dist/assets/img/v6.deploy.43cbe0de.png new file mode 100644 index 0000000..eb44518 Binary files /dev/null and b/doc-dist/assets/img/v6.deploy.43cbe0de.png differ diff --git a/doc-dist/assets/js/10.c3aa487f.js b/doc-dist/assets/js/10.2d5d3aaa.js similarity index 95% rename from doc-dist/assets/js/10.c3aa487f.js rename to doc-dist/assets/js/10.2d5d3aaa.js index ad07e3e..74b28b4 100644 --- a/doc-dist/assets/js/10.c3aa487f.js +++ b/doc-dist/assets/js/10.2d5d3aaa.js @@ -1,10 +1,10 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ [10], { - 360: function(t, r, a) { + 359: function(t, r, a) { t.exports = a.p + 'assets/img/dynamic.15a5303a.png'; }, - 387: function(t, r, a) { + 388: function(t, r, a) { 'use strict'; a.r(r); var n = a(42), @@ -41,7 +41,7 @@ ), ]), t._v(' '), - n('img', { attrs: { src: a(360), alt: 'foo' } }), + n('img', { attrs: { src: a(359), alt: 'foo' } }), t._v(' '), n('p', [ t._v('具体代码可以参考Dooring的Github地址:'), diff --git a/doc-dist/assets/js/11.4dfd0b43.js b/doc-dist/assets/js/11.db03b544.js similarity index 98% rename from doc-dist/assets/js/11.4dfd0b43.js rename to doc-dist/assets/js/11.db03b544.js index 113ad6f..da8c92a 100644 --- a/doc-dist/assets/js/11.4dfd0b43.js +++ b/doc-dist/assets/js/11.db03b544.js @@ -1,10 +1,10 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ [11], { - 359: function(t, _, v) { + 360: function(t, _, v) { t.exports = v.p + 'assets/img/deploy.d1b1d698.png'; }, - 386: function(t, _, v) { + 390: function(t, _, v) { 'use strict'; v.r(_); var a = v(42), @@ -50,7 +50,7 @@ t._v(' 部署架构图'), ]), t._v(' '), - a('img', { attrs: { src: v(359), alt: 'H5-dooring部署' } }), + a('img', { attrs: { src: v(360), alt: 'H5-dooring部署' } }), t._v(' '), a('p', [t._v('部署流程如下:')]), t._v(' '), diff --git a/doc-dist/assets/js/12.d4cc4a96.js b/doc-dist/assets/js/12.d4cc4a96.js new file mode 100644 index 0000000..f310bfb --- /dev/null +++ b/doc-dist/assets/js/12.d4cc4a96.js @@ -0,0 +1,177 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [12], + { + 361: function(t, v, _) { + t.exports = _.p + 'assets/img/v6.deploy.43cbe0de.png'; + }, + 392: function(t, v, _) { + 'use strict'; + _.r(v); + var e = _(42), + a = Object(e.a)( + {}, + function() { + var t = this, + v = t.$createElement, + e = t._self._c || v; + return e('ContentSlotsDistributor', { attrs: { 'slot-key': t.$parent.slotKey } }, [ + e('p', [t._v('私有化部署需要获取3个核心项目包, 包括')]), + t._v(' '), + e('ul', [ + e('li', [t._v('可视化大屏编辑器(v6.dooring/)')]), + t._v(' '), + e('li', [t._v('v6管理后台(v6.dooring/manage)')]), + t._v(' '), + e('li', [t._v('服务端项目(v6.dooring/server)')]), + ]), + t._v(' '), + e('p', [ + t._v('获取以上三个核心源码工程需要满足商业授权协议, 具体可参考'), + e( + 'a', + { + attrs: { + href: 'http://h5.dooring.cn/h5_plus/price', + target: '_blank', + rel: 'noopener noreferrer', + }, + }, + [t._v('商业授权方案'), e('OutboundLink')], + 1, + ), + ]), + t._v(' '), + e('h3', { attrs: { id: '部署架构图' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#部署架构图' } }, [ + t._v('#'), + ]), + t._v(' 部署架构图'), + ]), + t._v(' '), + e('img', { attrs: { src: _(361), alt: 'H5-dooring部署' } }), + t._v(' '), + e('p', [t._v('部署流程如下:')]), + t._v(' '), + e('ol', [ + e('li', [t._v('下载3个源码工程, 安装依赖(npm install 或 yarn)')]), + t._v(' '), + e('li', [ + t._v('打包2个前端工程至'), + e('code', [t._v('server')]), + t._v('的static目录下'), + ]), + t._v(' '), + e('li', [ + t._v('在'), + e('code', [t._v('server')]), + t._v('下本地运行 '), + e('code', [t._v('yarn start')]), + t._v(' 或 '), + e('code', [t._v('npm start')]), + t._v(' 启动服务端进行本地测试'), + ]), + t._v(' '), + e('li', [ + t._v('打包服务端代码, '), + e('code', [t._v('yarn build')]), + t._v(' 生成 '), + e('code', [t._v('dist')]), + t._v(' 目录, 建议使用 '), + e('code', [t._v('pm2')]), + t._v(' 做'), + e('code', [t._v('nodejs')]), + t._v('服务的负载均衡, 运行 '), + e('code', [t._v('pm2 start dist/index.js')]), + t._v('启动生产环境代码'), + ]), + ]), + t._v(' '), + e('p', [ + t._v('也可以将以上步骤集成到gitlab等CI, CD服务中, 进行自动化打包发布, 或者采用'), + e('code', [t._v('docker')]), + t._v('进行容器化部署.'), + ]), + t._v(' '), + e('h3', { attrs: { id: '步骤3-4详细流程' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#步骤3-4详细流程' } }, [ + t._v('#'), + ]), + t._v(' 步骤3.4详细流程'), + ]), + t._v(' '), + e('h4', { attrs: { id: '_1-安装项目环境' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#_1-安装项目环境' } }, [ + t._v('#'), + ]), + t._v(' 1. 安装项目环境'), + ]), + t._v(' '), + e('p', [ + t._v( + '服务器需提前安装node和pm2, 将本项目上传至服务器指定的目录(如/www/activity), 进入项目目录, 执行:', + ), + ]), + t._v(' '), + e('div', { staticClass: 'language- extra-class' }, [ + e('pre', { pre: !0, attrs: { class: 'language-text' } }, [ + e('code', [t._v('npm install\n')]), + ]), + ]), + e('h4', { attrs: { id: '_2-修改项目域名' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#_2-修改项目域名' } }, [ + t._v('#'), + ]), + t._v(' 2. 修改项目域名'), + ]), + t._v(' '), + e('p', [ + t._v('进入'), + e('code', [t._v('./src/config/index.js')]), + t._v(', 修改'), + e('code', [t._v('staticPath')]), + t._v('变量为当前服务器域名/ip, 如'), + e('code', [t._v('http://xxx.com')]), + t._v('或'), + e('code', [t._v('http://xxx.com:8080')]), + t._v('(如非80端口)'), + ]), + t._v(' '), + e('h4', { attrs: { id: '_3-编译项目' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#_3-编译项目' } }, [ + t._v('#'), + ]), + t._v(' 3. 编译项目'), + ]), + t._v(' '), + e('p', [ + t._v('执行'), + e('code', [t._v('npm run build')]), + t._v('编译项目, 生成'), + e('code', [t._v('dist')]), + t._v('目录'), + ]), + t._v(' '), + e('h4', { attrs: { id: '_4-运行项目' } }, [ + e('a', { staticClass: 'header-anchor', attrs: { href: '#_4-运行项目' } }, [ + t._v('#'), + ]), + t._v(' 4. 运行项目'), + ]), + t._v(' '), + e('p', [ + t._v('在项目根目录执行 '), + e('code', [t._v('pm2 start dist/index.js')]), + t._v('启动项目'), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + v.default = a.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/12.639e1894.js b/doc-dist/assets/js/13.9e2d642e.js similarity index 89% rename from doc-dist/assets/js/12.639e1894.js rename to doc-dist/assets/js/13.9e2d642e.js index 6233459..9e9b52d 100644 --- a/doc-dist/assets/js/12.639e1894.js +++ b/doc-dist/assets/js/13.9e2d642e.js @@ -1,10 +1,10 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [12], + [13], { - 361: function(t, e, s) { + 364: function(t, e, s) { t.exports = s.p + 'assets/img/preview-machine.895a0711.png'; }, - 391: function(t, e, s) { + 395: function(t, e, s) { 'use strict'; s.r(e); var a = s(42), @@ -22,7 +22,7 @@ t._v(' '), a('p', [t._v('真机预览和网页预览的流程类似,工作流程如下:')]), t._v(' '), - a('img', { attrs: { src: s(361), alt: 'foo' } }), + a('img', { attrs: { src: s(364), alt: 'foo' } }), t._v(' '), a('p', [t._v('由于不同机型预览的效果有些许不同,最终效果以实际看到的为主。')]), ]); diff --git a/doc-dist/assets/js/13.e30615b0.js b/doc-dist/assets/js/14.ea0f3745.js similarity index 89% rename from doc-dist/assets/js/13.e30615b0.js rename to doc-dist/assets/js/14.ea0f3745.js index 0aca486..6510de5 100644 --- a/doc-dist/assets/js/13.e30615b0.js +++ b/doc-dist/assets/js/14.ea0f3745.js @@ -1,10 +1,10 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [13], + [14], { - 362: function(t, s, e) { + 365: function(t, s, e) { t.exports = e.p + 'assets/img/screenshot.daeecedd.png'; }, - 394: function(t, s, e) { + 398: function(t, s, e) { 'use strict'; e.r(s); var a = e(42), @@ -27,7 +27,7 @@ ), ]), this._v(' '), - s('img', { attrs: { src: e(362), alt: 'foo' } }), + s('img', { attrs: { src: e(365), alt: 'foo' } }), ]); }, [], diff --git a/doc-dist/assets/js/14.eff270f4.js b/doc-dist/assets/js/15.0bec3d88.js similarity index 84% rename from doc-dist/assets/js/14.eff270f4.js rename to doc-dist/assets/js/15.0bec3d88.js index 008b7c5..30c9f87 100644 --- a/doc-dist/assets/js/14.eff270f4.js +++ b/doc-dist/assets/js/15.0bec3d88.js @@ -1,10 +1,10 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [14], + [15], { - 367: function(t, s, e) { + 368: function(t, s, e) { t.exports = e.p + 'assets/img/framework.1c9c696b.png'; }, - 399: function(t, s, e) { + 401: function(t, s, e) { 'use strict'; e.r(s); var n = e(42), @@ -14,7 +14,7 @@ var t = this.$createElement, s = this._self._c || t; return s('ContentSlotsDistributor', { attrs: { 'slot-key': this.$parent.slotKey } }, [ - s('img', { attrs: { src: e(367), alt: 'foo' } }), + s('img', { attrs: { src: e(368), alt: 'foo' } }), this._v(' '), s('p', [this._v('注:灰色部分还未实现,正在更新中...')]), ]); diff --git a/doc-dist/assets/js/15.2cabc303.js b/doc-dist/assets/js/16.7a72453e.js similarity index 73% rename from doc-dist/assets/js/15.2cabc303.js rename to doc-dist/assets/js/16.7a72453e.js index 8742417..bc47f78 100644 --- a/doc-dist/assets/js/15.2cabc303.js +++ b/doc-dist/assets/js/16.7a72453e.js @@ -1,14 +1,14 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [15], + [16], { - 368: function(t, a, s) { - t.exports = s.p + 'assets/img/home.f76105db.png'; + 369: function(t, a, r) { + t.exports = r.p + 'assets/img/home.f76105db.png'; }, - 400: function(t, a, s) { + 402: function(t, a, r) { 'use strict'; - s.r(a); - var e = s(42), - r = Object(e.a)( + r.r(a); + var e = r(42), + s = Object(e.a)( {}, function() { var t = this, @@ -20,6 +20,28 @@ t._v(' 快速上手'), ]), t._v(' '), + e('h2', { attrs: { id: '从零搭建一个h5表单页面' } }, [ + e( + 'a', + { staticClass: 'header-anchor', attrs: { href: '#从零搭建一个h5表单页面' } }, + [t._v('#')], + ), + t._v(' 从零搭建一个H5表单页面'), + ]), + t._v(' '), + e('iframe', { + staticStyle: { width: '100%', height: '420px', 'margin-top': '20px' }, + attrs: { + src: + '//player.bilibili.com/player.html?aid=715343955&bvid=BV1QQ4y1Z725&cid=332145157&page=1', + scrolling: 'no', + border: '0', + frameborder: 'no', + framespacing: '0', + allowfullscreen: 'true', + }, + }), + t._v(' '), e('h2', { attrs: { id: '环境准备' } }, [ e('a', { staticClass: 'header-anchor', attrs: { href: '#环境准备' } }, [t._v('#')]), t._v(' 环境准备'), @@ -78,7 +100,7 @@ t._v('2.其次本地启动 h5_plus,启动完毕在浏览器打开对应的启动地址即可查看,如下:'), ]), t._v(' '), - e('img', { attrs: { src: s(368), alt: 'foo' } }), + e('img', { attrs: { src: r(369), alt: 'foo' } }), ]); }, [], @@ -87,7 +109,7 @@ null, null, ); - a.default = r.exports; + a.default = s.exports; }, }, ]); diff --git a/doc-dist/assets/js/16.ebc27227.js b/doc-dist/assets/js/17.c8b6849e.js similarity index 98% rename from doc-dist/assets/js/16.ebc27227.js rename to doc-dist/assets/js/17.c8b6849e.js index 5885960..f771512 100644 --- a/doc-dist/assets/js/16.ebc27227.js +++ b/doc-dist/assets/js/17.c8b6849e.js @@ -1,12 +1,12 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [16], + [17], { - 378: function(t, e, a) { + 379: function(t, e, a) { 'use strict'; a.r(e); - var o = a(374), - n = a(375), - i = a(376), + var o = a(375), + n = a(376), + i = a(377), s = a(308), r = { name: 'Layout', diff --git a/doc-dist/assets/js/17.e2c644fa.js b/doc-dist/assets/js/18.e7ced042.js similarity index 97% rename from doc-dist/assets/js/17.e2c644fa.js rename to doc-dist/assets/js/18.e7ced042.js index 86d96f1..d76f80e 100644 --- a/doc-dist/assets/js/17.e2c644fa.js +++ b/doc-dist/assets/js/18.e7ced042.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [17], + [18], { - 377: function(t, e, s) { + 378: function(t, e, s) { 'use strict'; s.r(e); var n = [ diff --git a/doc-dist/assets/js/18.3e6eaba0.js b/doc-dist/assets/js/19.90149f22.js similarity index 93% rename from doc-dist/assets/js/18.3e6eaba0.js rename to doc-dist/assets/js/19.90149f22.js index f71e599..07c6d00 100644 --- a/doc-dist/assets/js/18.3e6eaba0.js +++ b/doc-dist/assets/js/19.90149f22.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [18], + [19], { - 382: function(t, e, n) { + 385: function(t, e, n) { 'use strict'; n.r(e); var s = n(42), diff --git a/doc-dist/assets/js/2.693230f5.js b/doc-dist/assets/js/2.917402d3.js similarity index 99% rename from doc-dist/assets/js/2.693230f5.js rename to doc-dist/assets/js/2.917402d3.js index 46725dc..45ddab4 100644 --- a/doc-dist/assets/js/2.693230f5.js +++ b/doc-dist/assets/js/2.917402d3.js @@ -1290,7 +1290,7 @@ 'use strict'; n(331); }, - 374: function(t, e, n) { + 375: function(t, e, n) { 'use strict'; n(339), n(23), @@ -1705,7 +1705,7 @@ )); e.a = f.exports; }, - 375: function(t, e, n) { + 376: function(t, e, n) { 'use strict'; n(43), n(66); var i = n(325), @@ -2019,7 +2019,7 @@ )); e.a = m.exports; }, - 376: function(t, e, n) { + 377: function(t, e, n) { 'use strict'; var i = n(336), r = n(337), diff --git a/doc-dist/assets/js/19.4abe8428.js b/doc-dist/assets/js/20.4781e342.js similarity index 93% rename from doc-dist/assets/js/19.4abe8428.js rename to doc-dist/assets/js/20.4781e342.js index a0064ff..0e6d50a 100644 --- a/doc-dist/assets/js/19.4abe8428.js +++ b/doc-dist/assets/js/20.4781e342.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [19], + [20], { - 385: function(t, e, n) { + 386: function(t, e, n) { 'use strict'; n.r(e); var s = n(42), diff --git a/doc-dist/assets/js/20.eb3d4a7f.js b/doc-dist/assets/js/21.f426ff47.js similarity index 99% rename from doc-dist/assets/js/20.eb3d4a7f.js rename to doc-dist/assets/js/21.f426ff47.js index 52d3b6a..28e90dc 100644 --- a/doc-dist/assets/js/20.eb3d4a7f.js +++ b/doc-dist/assets/js/21.f426ff47.js @@ -1,5 +1,5 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [20], + [21], { 383: function(t, s, a) { 'use strict'; diff --git a/doc-dist/assets/js/21.acd348b3.js b/doc-dist/assets/js/22.0e8b2b46.js similarity index 99% rename from doc-dist/assets/js/21.acd348b3.js rename to doc-dist/assets/js/22.0e8b2b46.js index 593791f..e06ae6c 100644 --- a/doc-dist/assets/js/21.acd348b3.js +++ b/doc-dist/assets/js/22.0e8b2b46.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [21], + [22], { - 388: function(t, s, a) { + 387: function(t, s, a) { 'use strict'; a.r(s); var n = a(42), diff --git a/doc-dist/assets/js/22.da6fbe43.js b/doc-dist/assets/js/23.83c4ae0b.js similarity index 99% rename from doc-dist/assets/js/22.da6fbe43.js rename to doc-dist/assets/js/23.83c4ae0b.js index 74df4da..a47bc3b 100644 --- a/doc-dist/assets/js/22.da6fbe43.js +++ b/doc-dist/assets/js/23.83c4ae0b.js @@ -1,5 +1,5 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [22], + [23], { 389: function(t, s, a) { 'use strict'; diff --git a/doc-dist/assets/js/23.3c312dd7.js b/doc-dist/assets/js/24.69d1e5e4.js similarity index 99% rename from doc-dist/assets/js/23.3c312dd7.js rename to doc-dist/assets/js/24.69d1e5e4.js index 0bfb6a2..c6bcbb2 100644 --- a/doc-dist/assets/js/23.3c312dd7.js +++ b/doc-dist/assets/js/24.69d1e5e4.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [23], + [24], { - 390: function(t, s, a) { + 391: function(t, s, a) { 'use strict'; a.r(s); var n = a(42), diff --git a/doc-dist/assets/js/24.96d82a87.js b/doc-dist/assets/js/25.e10c3e5e.js similarity index 99% rename from doc-dist/assets/js/24.96d82a87.js rename to doc-dist/assets/js/25.e10c3e5e.js index fdeccc1..a0fe609 100644 --- a/doc-dist/assets/js/24.96d82a87.js +++ b/doc-dist/assets/js/25.e10c3e5e.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [24], + [25], { - 393: function(t, s, a) { + 396: function(t, s, a) { 'use strict'; a.r(s); var n = a(42), diff --git a/doc-dist/assets/js/25.b3baaa9c.js b/doc-dist/assets/js/26.c1e8d4c6.js similarity index 99% rename from doc-dist/assets/js/25.b3baaa9c.js rename to doc-dist/assets/js/26.c1e8d4c6.js index 59f799b..dc75214 100644 --- a/doc-dist/assets/js/25.b3baaa9c.js +++ b/doc-dist/assets/js/26.c1e8d4c6.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [25], + [26], { - 392: function(n, e, s) { + 393: function(n, e, s) { 'use strict'; s.r(e); var t = s(42), diff --git a/doc-dist/assets/js/26.5755449d.js b/doc-dist/assets/js/27.faa6f053.js similarity index 99% rename from doc-dist/assets/js/26.5755449d.js rename to doc-dist/assets/js/27.faa6f053.js index 71864ea..5a62627 100644 --- a/doc-dist/assets/js/26.5755449d.js +++ b/doc-dist/assets/js/27.faa6f053.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [26], + [27], { - 395: function(t, s, a) { + 399: function(t, s, a) { 'use strict'; a.r(s); var n = a(42), diff --git a/doc-dist/assets/js/27.9151272d.js b/doc-dist/assets/js/28.f591635f.js similarity index 98% rename from doc-dist/assets/js/27.9151272d.js rename to doc-dist/assets/js/28.f591635f.js index ed84678..9a1832d 100644 --- a/doc-dist/assets/js/27.9151272d.js +++ b/doc-dist/assets/js/28.f591635f.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [27], + [28], { - 396: function(t, n, e) { + 397: function(t, n, e) { 'use strict'; e.r(n); var o = e(42), diff --git a/doc-dist/assets/js/3.0105453b.js b/doc-dist/assets/js/3.d2d22c88.js similarity index 99% rename from doc-dist/assets/js/3.0105453b.js rename to doc-dist/assets/js/3.d2d22c88.js index 21631f5..38472fe 100644 --- a/doc-dist/assets/js/3.0105453b.js +++ b/doc-dist/assets/js/3.d2d22c88.js @@ -454,14 +454,14 @@ }; }, 332: function(t, n, e) {}, - 369: function(t, n, e) { + 370: function(t, n, e) { t.exports = e.p + 'assets/img/logo.001d04e6.svg'; }, - 370: function(t, n, e) { + 371: function(t, n, e) { 'use strict'; e(332); }, - 379: function(t, n, e) { + 380: function(t, n, e) { 'use strict'; e.r(n); var r = { @@ -476,7 +476,7 @@ }, }, }, - i = (e(370), e(42)), + i = (e(371), e(42)), a = Object(i.a)( r, function() { @@ -493,7 +493,7 @@ r('header', { staticClass: 'hero' }, [ null !== t.data.heroText ? r('h1', { attrs: { id: 'main-title' } }, [ - r('img', { attrs: { src: e(369), alt: t.data.heroAlt || 'hero' } }), + r('img', { attrs: { src: e(370), alt: t.data.heroAlt || 'hero' } }), r('span', [t._v(t._s(t.data.heroText || t.$title || 'Hello'))]), ]) : t._e(), diff --git a/doc-dist/assets/js/4.2121e1d8.js b/doc-dist/assets/js/4.f2ae7e99.js similarity index 90% rename from doc-dist/assets/js/4.2121e1d8.js rename to doc-dist/assets/js/4.f2ae7e99.js index f3e1899..bc99bfa 100644 --- a/doc-dist/assets/js/4.2121e1d8.js +++ b/doc-dist/assets/js/4.f2ae7e99.js @@ -2,11 +2,11 @@ [4], { 333: function(t, e, n) {}, - 371: function(t, e, n) { + 372: function(t, e, n) { 'use strict'; n(333); }, - 401: function(t, e, n) { + 403: function(t, e, n) { 'use strict'; n.r(e); var i = { @@ -26,7 +26,7 @@ ); }, }, - r = (n(371), n(42)), + r = (n(372), n(42)), p = Object(r.a)(i, void 0, void 0, !1, null, '15b7b770', null); e.default = p.exports; }, diff --git a/doc-dist/assets/js/5.615d527f.js b/doc-dist/assets/js/5.262c1769.js similarity index 90% rename from doc-dist/assets/js/5.615d527f.js rename to doc-dist/assets/js/5.262c1769.js index 57dfa6b..bf6a8e2 100644 --- a/doc-dist/assets/js/5.615d527f.js +++ b/doc-dist/assets/js/5.262c1769.js @@ -2,18 +2,18 @@ [5], { 334: function(e, t, c) {}, - 372: function(e, t, c) { + 373: function(e, t, c) { 'use strict'; c(334); }, - 380: function(e, t, c) { + 381: function(e, t, c) { 'use strict'; c.r(t); var i = { name: 'CodeBlock', props: { title: { type: String, required: !0 }, active: { type: Boolean, default: !1 } }, }, - n = (c(372), c(42)), + n = (c(373), c(42)), s = Object(n.a)( i, function() { diff --git a/doc-dist/assets/js/6.a3c1a71a.js b/doc-dist/assets/js/6.5f53f889.js similarity index 97% rename from doc-dist/assets/js/6.a3c1a71a.js rename to doc-dist/assets/js/6.5f53f889.js index d8732f6..dc46018 100644 --- a/doc-dist/assets/js/6.a3c1a71a.js +++ b/doc-dist/assets/js/6.5f53f889.js @@ -2,11 +2,11 @@ [6], { 335: function(e, t, o) {}, - 373: function(e, t, o) { + 374: function(e, t, o) { 'use strict'; o(335); }, - 381: function(e, t, o) { + 382: function(e, t, o) { 'use strict'; o.r(t); o(23), o(93), o(65), o(95); @@ -45,7 +45,7 @@ }, }, }, - c = (o(373), o(42)), + c = (o(374), o(42)), n = Object(c.a)( a, function() { diff --git a/doc-dist/assets/js/7.f3022582.js b/doc-dist/assets/js/7.6b0d225c.js similarity index 90% rename from doc-dist/assets/js/7.f3022582.js rename to doc-dist/assets/js/7.6b0d225c.js index 16506a7..a903e4f 100644 --- a/doc-dist/assets/js/7.f3022582.js +++ b/doc-dist/assets/js/7.6b0d225c.js @@ -1,13 +1,13 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ [7], { - 363: function(t, s, e) { + 362: function(t, s, e) { t.exports = e.p + 'assets/img/preview-flow.b37c7798.png'; }, - 364: function(t, s, e) { + 363: function(t, s, e) { t.exports = e.p + 'assets/img/preview-page.3ec86df5.png'; }, - 397: function(t, s, e) { + 394: function(t, s, e) { 'use strict'; e.r(s); var r = e(42), @@ -25,11 +25,11 @@ t._v(' '), r('p', [t._v('我们看看网页预览的工作流程:')]), t._v(' '), - r('img', { attrs: { src: e(363), alt: 'foo' } }), + r('img', { attrs: { src: e(362), alt: 'foo' } }), t._v(' '), r('p', [t._v('前端预览界面:')]), t._v(' '), - r('img', { attrs: { src: e(364), alt: 'foo' } }), + r('img', { attrs: { src: e(363), alt: 'foo' } }), ]); }, [], diff --git a/doc-dist/assets/js/8.66884c30.js b/doc-dist/assets/js/8.e0652172.js similarity index 94% rename from doc-dist/assets/js/8.66884c30.js rename to doc-dist/assets/js/8.e0652172.js index 07cb0f2..05a3ec1 100644 --- a/doc-dist/assets/js/8.66884c30.js +++ b/doc-dist/assets/js/8.e0652172.js @@ -1,13 +1,13 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ [8], { - 365: function(t, s, a) { + 366: function(t, s, a) { t.exports = a.p + 'assets/img/template-ft.4f6e0d14.png'; }, - 366: function(t, s, a) { + 367: function(t, s, a) { t.exports = a.p + 'assets/img/template-bg.244b9ac7.png'; }, - 398: function(t, s, a) { + 400: function(t, s, a) { 'use strict'; a.r(s); var e = a(42), @@ -38,7 +38,7 @@ t._v(' 模板前台展示:'), ]), t._v(' '), - e('img', { attrs: { src: a(365), alt: 'foo' } }), + e('img', { attrs: { src: a(366), alt: 'foo' } }), t._v(' '), e('h3', { attrs: { id: '模板后台展示' } }, [ e('a', { staticClass: 'header-anchor', attrs: { href: '#模板后台展示' } }, [ @@ -47,7 +47,7 @@ t._v(' 模板后台展示:'), ]), t._v(' '), - e('img', { attrs: { src: a(366), alt: 'foo' } }), + e('img', { attrs: { src: a(367), alt: 'foo' } }), ]); }, [], diff --git a/doc-dist/assets/js/app.ac490cc9.js b/doc-dist/assets/js/app.7f190420.js similarity index 99% rename from doc-dist/assets/js/app.ac490cc9.js rename to doc-dist/assets/js/app.7f190420.js index abacc48..d7a7ed0 100644 --- a/doc-dist/assets/js/app.ac490cc9.js +++ b/doc-dist/assets/js/app.7f190420.js @@ -47,32 +47,33 @@ ({}[t] || t) + '.' + { - 2: '693230f5', - 3: '0105453b', - 4: '2121e1d8', - 5: '615d527f', - 6: 'a3c1a71a', - 7: 'f3022582', - 8: '66884c30', + 2: '917402d3', + 3: 'd2d22c88', + 4: 'f2ae7e99', + 5: '262c1769', + 6: '5f53f889', + 7: '6b0d225c', + 8: 'e0652172', 9: '5e6217e4', - 10: 'c3aa487f', - 11: '4dfd0b43', - 12: '639e1894', - 13: 'e30615b0', - 14: 'eff270f4', - 15: '2cabc303', - 16: 'ebc27227', - 17: 'e2c644fa', - 18: '3e6eaba0', - 19: '4abe8428', - 20: 'eb3d4a7f', - 21: 'acd348b3', - 22: 'da6fbe43', - 23: '3c312dd7', - 24: '96d82a87', - 25: 'b3baaa9c', - 26: '5755449d', - 27: '9151272d', + 10: '2d5d3aaa', + 11: 'db03b544', + 12: 'd4cc4a96', + 13: '9e2d642e', + 14: 'ea0f3745', + 15: '0bec3d88', + 16: '7a72453e', + 17: 'c8b6849e', + 18: 'e7ced042', + 19: '90149f22', + 20: '4781e342', + 21: 'f426ff47', + 22: '0e8b2b46', + 23: '83c4ae0b', + 24: '69d1e5e4', + 25: 'e10c3e5e', + 26: 'c1e8d4c6', + 27: 'faa6f053', + 28: 'f591635f', }[t] + '.js' ); @@ -11033,69 +11034,72 @@ var Aa = n(40), ka = { NotFound: function() { - return n.e(17).then(n.bind(null, 377)); + return n.e(18).then(n.bind(null, 378)); }, Layout: function() { - return Promise.all([n.e(0), n.e(2), n.e(16)]).then(n.bind(null, 378)); + return Promise.all([n.e(0), n.e(2), n.e(17)]).then(n.bind(null, 379)); }, }, Ca = { - 'v-11d3734f': function() { - return n.e(18).then(n.bind(null, 382)); - }, 'v-50357228': function() { - return n.e(20).then(n.bind(null, 383)); + return n.e(21).then(n.bind(null, 383)); }, 'v-77cb6b9f': function() { return n.e(9).then(n.bind(null, 384)); }, - 'v-27f2dbac': function() { + 'v-11d3734f': function() { return n.e(19).then(n.bind(null, 385)); }, - 'v-1c499b2c': function() { - return n.e(11).then(n.bind(null, 386)); - }, - 'v-358de850': function() { - return n.e(10).then(n.bind(null, 387)); + 'v-27f2dbac': function() { + return n.e(20).then(n.bind(null, 386)); }, 'v-2c7961a6': function() { - return n.e(21).then(n.bind(null, 388)); + return n.e(22).then(n.bind(null, 387)); + }, + 'v-358de850': function() { + return n.e(10).then(n.bind(null, 388)); }, 'v-6be2680e': function() { - return n.e(22).then(n.bind(null, 389)); + return n.e(23).then(n.bind(null, 389)); + }, + 'v-1c499b2c': function() { + return n.e(11).then(n.bind(null, 390)); }, 'v-3e53f828': function() { - return n.e(23).then(n.bind(null, 390)); + return n.e(24).then(n.bind(null, 391)); }, - 'v-1995786c': function() { - return n.e(12).then(n.bind(null, 391)); + 'v-94956b5c': function() { + return n.e(12).then(n.bind(null, 392)); }, 'v-4574ee28': function() { - return n.e(25).then(n.bind(null, 392)); - }, - 'v-25c71eb8': function() { - return n.e(24).then(n.bind(null, 393)); - }, - 'v-31643a8c': function() { - return n.e(13).then(n.bind(null, 394)); - }, - 'v-76fd0d8c': function() { - return n.e(26).then(n.bind(null, 395)); - }, - 'v-0be2f96c': function() { - return n.e(27).then(n.bind(null, 396)); + return n.e(26).then(n.bind(null, 393)); }, 'v-f3d01ce0': function() { - return n.e(7).then(n.bind(null, 397)); + return n.e(7).then(n.bind(null, 394)); + }, + 'v-1995786c': function() { + return n.e(13).then(n.bind(null, 395)); + }, + 'v-25c71eb8': function() { + return n.e(25).then(n.bind(null, 396)); + }, + 'v-0be2f96c': function() { + return n.e(28).then(n.bind(null, 397)); + }, + 'v-31643a8c': function() { + return n.e(14).then(n.bind(null, 398)); + }, + 'v-76fd0d8c': function() { + return n.e(27).then(n.bind(null, 399)); }, 'v-a9b10980': function() { - return n.e(8).then(n.bind(null, 398)); + return n.e(8).then(n.bind(null, 400)); }, 'v-c2ed5468': function() { - return n.e(14).then(n.bind(null, 399)); + return n.e(15).then(n.bind(null, 401)); }, 'v-3f5a1068': function() { - return n.e(15).then(n.bind(null, 400)); + return n.e(16).then(n.bind(null, 402)); }, }; function $a(t) { @@ -11457,15 +11461,6 @@ } })(fu, 'mixins', uu); var lu = [ - { - name: 'v-11d3734f', - path: '/', - component: fu, - beforeEnter: function(t, e, n) { - Wa('Layout', 'v-11d3734f').then(n); - }, - }, - { path: '/index.html', redirect: '/' }, { name: 'v-50357228', path: '/zh/guide/componentDev/DSLAnalysis.html', @@ -11483,6 +11478,15 @@ }, }, { path: '/zh/guide/index.html', redirect: '/zh/guide/' }, + { + name: 'v-11d3734f', + path: '/', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-11d3734f').then(n); + }, + }, + { path: '/index.html', redirect: '/' }, { name: 'v-27f2dbac', path: '/zh/guide/building.html', @@ -11491,22 +11495,6 @@ Wa('Layout', 'v-27f2dbac').then(n); }, }, - { - name: 'v-1c499b2c', - path: '/zh/guide/deployDev/deploy.html', - component: fu, - beforeEnter: function(t, e, n) { - Wa('Layout', 'v-1c499b2c').then(n); - }, - }, - { - name: 'v-358de850', - path: '/zh/guide/componentDev/dynamicLoading.html', - component: fu, - beforeEnter: function(t, e, n) { - Wa('Layout', 'v-358de850').then(n); - }, - }, { name: 'v-2c7961a6', path: '/zh/guide/componentDev/componentStructure.html', @@ -11515,6 +11503,14 @@ Wa('Layout', 'v-2c7961a6').then(n); }, }, + { + name: 'v-358de850', + path: '/zh/guide/componentDev/dynamicLoading.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-358de850').then(n); + }, + }, { name: 'v-6be2680e', path: '/zh/guide/deployDev/api.html', @@ -11523,6 +11519,14 @@ Wa('Layout', 'v-6be2680e').then(n); }, }, + { + name: 'v-1c499b2c', + path: '/zh/guide/deployDev/deploy.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-1c499b2c').then(n); + }, + }, { name: 'v-3e53f828', path: '/zh/guide/deployDev/https.html', @@ -11532,11 +11536,11 @@ }, }, { - name: 'v-1995786c', - path: '/zh/guide/functionRealization/machinePreview.html', + name: 'v-94956b5c', + path: '/zh/guide/deployDev/deploy_v6.html', component: fu, beforeEnter: function(t, e, n) { - Wa('Layout', 'v-1995786c').then(n); + Wa('Layout', 'v-94956b5c').then(n); }, }, { @@ -11547,6 +11551,22 @@ Wa('Layout', 'v-4574ee28').then(n); }, }, + { + name: 'v-f3d01ce0', + path: '/zh/guide/functionRealization/pagePreview.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-f3d01ce0').then(n); + }, + }, + { + name: 'v-1995786c', + path: '/zh/guide/functionRealization/machinePreview.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-1995786c').then(n); + }, + }, { name: 'v-25c71eb8', path: '/zh/guide/deployDev/oss.html', @@ -11555,6 +11575,14 @@ Wa('Layout', 'v-25c71eb8').then(n); }, }, + { + name: 'v-0be2f96c', + path: '/zh/guide/functionRealization/saveJson.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-0be2f96c').then(n); + }, + }, { name: 'v-31643a8c', path: '/zh/guide/functionRealization/screenshot.html', @@ -11571,22 +11599,6 @@ Wa('Layout', 'v-76fd0d8c').then(n); }, }, - { - name: 'v-0be2f96c', - path: '/zh/guide/functionRealization/saveJson.html', - component: fu, - beforeEnter: function(t, e, n) { - Wa('Layout', 'v-0be2f96c').then(n); - }, - }, - { - name: 'v-f3d01ce0', - path: '/zh/guide/functionRealization/pagePreview.html', - component: fu, - beforeEnter: function(t, e, n) { - Wa('Layout', 'v-f3d01ce0').then(n); - }, - }, { name: 'v-a9b10980', path: '/zh/guide/functionRealization/templateLibrary.html', @@ -11619,6 +11631,27 @@ base: '/doc/', headTags: [], pages: [ + { + title: 'DSL设计', + frontmatter: {}, + regularPath: '/zh/guide/componentDev/DSLAnalysis.html', + relativePath: 'zh/guide/componentDev/DSLAnalysis.md', + key: 'v-50357228', + path: '/zh/guide/componentDev/DSLAnalysis.html', + lastUpdated: '1/17/2021, 9:57:34 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/', + relativePath: 'zh/guide/README.md', + key: 'v-77cb6b9f', + path: '/zh/guide/', + headers: [ + { level: 2, title: '功能特点', slug: '功能特点' }, + { level: 2, title: '为什么选择 Dooring', slug: '为什么选择-dooring' }, + ], + lastUpdated: '3/22/2021, 10:16:35 AM', + }, { title: 'Home', frontmatter: { @@ -11649,27 +11682,6 @@ path: '/', lastUpdated: '1/17/2021, 11:22:04 PM', }, - { - title: 'DSL设计', - frontmatter: {}, - regularPath: '/zh/guide/componentDev/DSLAnalysis.html', - relativePath: 'zh/guide/componentDev/DSLAnalysis.md', - key: 'v-50357228', - path: '/zh/guide/componentDev/DSLAnalysis.html', - lastUpdated: '1/17/2021, 9:57:34 PM', - }, - { - frontmatter: {}, - regularPath: '/zh/guide/', - relativePath: 'zh/guide/README.md', - key: 'v-77cb6b9f', - path: '/zh/guide/', - headers: [ - { level: 2, title: '功能特点', slug: '功能特点' }, - { level: 2, title: '为什么选择 Dooring', slug: '为什么选择-dooring' }, - ], - lastUpdated: '3/22/2021, 10:16:35 AM', - }, { frontmatter: {}, regularPath: '/zh/guide/building.html', @@ -11678,27 +11690,6 @@ path: '/zh/guide/building.html', lastUpdated: '1/17/2021, 11:22:04 PM', }, - { - frontmatter: {}, - regularPath: '/zh/guide/deployDev/deploy.html', - relativePath: 'zh/guide/deployDev/deploy.md', - key: 'v-1c499b2c', - path: '/zh/guide/deployDev/deploy.html', - headers: [ - { level: 3, title: '部署架构图', slug: '部署架构图' }, - { level: 3, title: '步骤3.4详细流程', slug: '步骤3-4详细流程' }, - ], - lastUpdated: '4/20/2021, 10:19:10 PM', - }, - { - frontmatter: {}, - regularPath: '/zh/guide/componentDev/dynamicLoading.html', - relativePath: 'zh/guide/componentDev/dynamicLoading.md', - key: 'v-358de850', - path: '/zh/guide/componentDev/dynamicLoading.html', - headers: [{ level: 2, title: 'umi3提供的dynamic', slug: 'umi3提供的dynamic' }], - lastUpdated: '1/17/2021, 9:57:34 PM', - }, { frontmatter: {}, regularPath: '/zh/guide/componentDev/componentStructure.html', @@ -11711,6 +11702,15 @@ { level: 2, title: 'schema设计', slug: 'schema设计' }, { level: 3, title: '组件编辑区属性类型', slug: '组件编辑区属性类型' }, ], + lastUpdated: '4/27/2021, 1:17:02 AM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/componentDev/dynamicLoading.html', + relativePath: 'zh/guide/componentDev/dynamicLoading.md', + key: 'v-358de850', + path: '/zh/guide/componentDev/dynamicLoading.html', + headers: [{ level: 2, title: 'umi3提供的dynamic', slug: 'umi3提供的dynamic' }], lastUpdated: '1/17/2021, 9:57:34 PM', }, { @@ -11747,6 +11747,18 @@ ], lastUpdated: '2/15/2021, 12:27:31 AM', }, + { + frontmatter: {}, + regularPath: '/zh/guide/deployDev/deploy.html', + relativePath: 'zh/guide/deployDev/deploy.md', + key: 'v-1c499b2c', + path: '/zh/guide/deployDev/deploy.html', + headers: [ + { level: 3, title: '部署架构图', slug: '部署架构图' }, + { level: 3, title: '步骤3.4详细流程', slug: '步骤3-4详细流程' }, + ], + lastUpdated: '4/20/2021, 10:19:10 PM', + }, { frontmatter: {}, regularPath: '/zh/guide/deployDev/https.html', @@ -11761,11 +11773,14 @@ }, { frontmatter: {}, - regularPath: '/zh/guide/functionRealization/machinePreview.html', - relativePath: 'zh/guide/functionRealization/machinePreview.md', - key: 'v-1995786c', - path: '/zh/guide/functionRealization/machinePreview.html', - lastUpdated: '1/17/2021, 9:57:34 PM', + regularPath: '/zh/guide/deployDev/deploy_v6.html', + relativePath: 'zh/guide/deployDev/deploy_v6.md', + key: 'v-94956b5c', + path: '/zh/guide/deployDev/deploy_v6.html', + headers: [ + { level: 3, title: '部署架构图', slug: '部署架构图' }, + { level: 3, title: '步骤3.4详细流程', slug: '步骤3-4详细流程' }, + ], }, { frontmatter: {}, @@ -11775,6 +11790,22 @@ path: '/zh/guide/directoryStructure.html', lastUpdated: '1/17/2021, 7:12:02 PM', }, + { + frontmatter: {}, + regularPath: '/zh/guide/functionRealization/pagePreview.html', + relativePath: 'zh/guide/functionRealization/pagePreview.md', + key: 'v-f3d01ce0', + path: '/zh/guide/functionRealization/pagePreview.html', + lastUpdated: '1/17/2021, 9:57:34 PM', + }, + { + frontmatter: {}, + regularPath: '/zh/guide/functionRealization/machinePreview.html', + relativePath: 'zh/guide/functionRealization/machinePreview.md', + key: 'v-1995786c', + path: '/zh/guide/functionRealization/machinePreview.html', + lastUpdated: '1/17/2021, 9:57:34 PM', + }, { frontmatter: {}, regularPath: '/zh/guide/deployDev/oss.html', @@ -11784,6 +11815,14 @@ headers: [{ level: 3, title: '前端上传文件到oss', slug: '前端上传文件到oss' }], lastUpdated: '1/31/2021, 1:25:02 AM', }, + { + frontmatter: {}, + regularPath: '/zh/guide/functionRealization/saveJson.html', + relativePath: 'zh/guide/functionRealization/saveJson.md', + key: 'v-0be2f96c', + path: '/zh/guide/functionRealization/saveJson.html', + lastUpdated: '1/17/2021, 9:57:34 PM', + }, { frontmatter: {}, regularPath: '/zh/guide/functionRealization/screenshot.html', @@ -11800,22 +11839,6 @@ path: '/zh/guide/functionRealization/revocation.html', lastUpdated: '1/17/2021, 9:57:34 PM', }, - { - frontmatter: {}, - regularPath: '/zh/guide/functionRealization/saveJson.html', - relativePath: 'zh/guide/functionRealization/saveJson.md', - key: 'v-0be2f96c', - path: '/zh/guide/functionRealization/saveJson.html', - lastUpdated: '1/17/2021, 9:57:34 PM', - }, - { - frontmatter: {}, - regularPath: '/zh/guide/functionRealization/pagePreview.html', - relativePath: 'zh/guide/functionRealization/pagePreview.md', - key: 'v-f3d01ce0', - path: '/zh/guide/functionRealization/pagePreview.html', - lastUpdated: '1/17/2021, 9:57:34 PM', - }, { frontmatter: {}, regularPath: '/zh/guide/functionRealization/templateLibrary.html', @@ -11845,6 +11868,7 @@ key: 'v-3f5a1068', path: '/zh/guide/startedQuickly.html', headers: [ + { level: 2, title: '从零搭建一个H5表单页面', slug: '从零搭建一个h5表单页面' }, { level: 2, title: '环境准备', slug: '环境准备' }, { level: 2, title: '源码工程', slug: '源码工程' }, { level: 2, title: '本地运行', slug: '本地运行' }, @@ -11967,6 +11991,12 @@ collapsable: !1, sidebarDepth: 1, }, + { + title: 'v6.dooring私有化部署(临时)', + path: '/zh/guide/deployDev/deploy_v6', + collapsable: !1, + sidebarDepth: 1, + }, { title: '支持https', path: '/zh/guide/deployDev/https', @@ -11992,16 +12022,16 @@ }; n(300), n(301); Ro.component('Home', function() { - return Promise.all([n.e(0), n.e(3)]).then(n.bind(null, 379)); + return Promise.all([n.e(0), n.e(3)]).then(n.bind(null, 380)); }), Ro.component('Badge', function() { - return Promise.all([n.e(0), n.e(4)]).then(n.bind(null, 401)); + return Promise.all([n.e(0), n.e(4)]).then(n.bind(null, 403)); }), Ro.component('CodeBlock', function() { - return Promise.all([n.e(0), n.e(5)]).then(n.bind(null, 380)); + return Promise.all([n.e(0), n.e(5)]).then(n.bind(null, 381)); }), Ro.component('CodeGroup', function() { - return Promise.all([n.e(0), n.e(6)]).then(n.bind(null, 381)); + return Promise.all([n.e(0), n.e(6)]).then(n.bind(null, 382)); }); n(302); var hu = [ @@ -12498,7 +12528,7 @@ var e = this.$site.base; return '/' === t.charAt(0) ? e + t.slice(1) : t; }), - (window.__VUEPRESS__ = { version: '1.8.0', hash: '615c49f' }), + (window.__VUEPRESS__ = { version: '1.8.0', hash: 'f428a54' }), (function(t) { return $u.apply(this, arguments); })(!1).then(function(t) { diff --git a/doc-dist/index.html b/doc-dist/index.html index 213c863..6f9318e 100644 --- a/doc-dist/index.html +++ b/doc-dist/index.html @@ -8,7 +8,7 @@ - + @@ -28,11 +28,11 @@ 体验 (opens new window)

hero一款所见即所得的H5编辑器

1

简洁方便

任何人只需傻瓜式拖拽或进行简单编辑即可生成精美的H5页面

2

插拔式体验

产品以GPL协议开源, 授权后可植入任何系统,并支持二次开发

3

持续迭代,无限可能

目前正在持续迭代中,后续可根据需求开发功能更强大的可视化系统

hero一款所见即所得的H5编辑器

1

简洁方便

任何人只需傻瓜式拖拽或进行简单编辑即可生成精美的H5页面

2

插拔式体验

产品以GPL协议开源, 授权后可植入任何系统,并支持二次开发

3

持续迭代,无限可能

目前正在持续迭代中,后续可根据需求开发功能更强大的可视化系统

- + diff --git a/doc-dist/zh/guide/building.html b/doc-dist/zh/guide/building.html index 808a529..ef5e88f 100644 --- a/doc-dist/zh/guide/building.html +++ b/doc-dist/zh/guide/building.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

正在建设中...

- + (opens new window)

正在建设中...

+ diff --git a/doc-dist/zh/guide/componentDev/DSLAnalysis.html b/doc-dist/zh/guide/componentDev/DSLAnalysis.html index 4fd2e87..f391b9b 100644 --- a/doc-dist/zh/guide/componentDev/DSLAnalysis.html +++ b/doc-dist/zh/guide/componentDev/DSLAnalysis.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

# DSL设计

DSL层主要约定了Dooring组件的数据协议,包括组件的可编辑属性、编辑类型、初始值等,之所以定义一致的协议层,主要是方便后期的组件扩展,配置后移,有助于不同后端语言开发和数据存储,接下来我们看看header组件的schema。

1.editData 可编辑的属性类型DSL

2.config 可编辑组件的默认属性

const Header: IHeaderSchema = {
+   (opens new window)

# DSL设计

DSL层主要约定了Dooring组件的数据协议,包括组件的可编辑属性、编辑类型、初始值等,之所以定义一致的协议层,主要是方便后期的组件扩展,配置后移,有助于不同后端语言开发和数据存储,接下来我们看看header组件的schema。

1.editData 可编辑的属性类型DSL

2.config 可编辑组件的默认属性

const Header: IHeaderSchema = {
   editData: [
     {
       key: 'bgColor',
@@ -88,6 +88,6 @@
       
       →
     

- + diff --git a/doc-dist/zh/guide/componentDev/componentStructure.html b/doc-dist/zh/guide/componentDev/componentStructure.html index 092a377..4a45e61 100644 --- a/doc-dist/zh/guide/componentDev/componentStructure.html +++ b/doc-dist/zh/guide/componentDev/componentStructure.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

# 组件结构

dooring的组件设计包含以下3个部分组件:

1、component 组件主体

2、schema 组件的DSL,结构协议层

3、template 定义了组件的类型、外观、从属关系,后期考虑纳入schema

接下来我会介绍一个基本的组件主体设计,以为template设计,在下一章会具体介绍schema部分。

# 组件设计

我们这里拿基本的header组件来举例,如下是header组件的代码:

interface HeaderPropTypes extends IHeaderConfig {
+   (opens new window)

# 组件结构

dooring的组件设计包含以下3个部分组件:

1、component 组件主体

2、schema 组件的DSL,结构协议层

3、template 定义了组件的类型、外观、从属关系,后期考虑纳入schema

接下来我会介绍一个基本的组件主体设计,以为template设计,在下一章会具体介绍schema部分。

# 组件设计

我们这里拿基本的header组件来举例,如下是header组件的代码:

interface HeaderPropTypes extends IHeaderConfig {
   isTpl: boolean;
 }
 
@@ -139,7 +139,7 @@
 };
 
 export default Header;
-

editData表示组件的可编辑属性, 我们可以自定义哪些组件可编辑. config为组件接收的属性, 和editData数组项中的key一一对应.

# 组件编辑区属性类型

Dooring组件编辑面板有如下对应编辑类型:

  • Upload 上传组件
  • Text 文本框
  • RichText 富文本
  • TextArea 多行文本
  • Number 数字输入框
  • DataList 列表编辑器
  • FileList 文件列表编辑器
  • InteractionData 交互设置
  • Color 颜色面板
  • MutiText 多文本
  • Select 选择下拉框
  • Radio 单选框
  • Switch 开关切换
  • CardPicker 卡片面板
  • Table 表格编辑器
  • Pos 坐标编辑器
  • FormItems 表单设计器
Last Updated: 1/17/2021, 9:57:34 PM

editData表示组件的可编辑属性, 我们可以自定义哪些组件可编辑. config为组件接收的属性, 和editData数组项中的key一一对应.

# 组件编辑区属性类型

Dooring组件编辑面板有如下对应编辑类型:

  • Upload 上传组件
  • Text 文本框
  • RichText 富文本
  • TextArea 多行文本
  • Number 数字输入框
  • DataList 列表编辑器
  • FileList 文件列表编辑器
  • InteractionData 交互设置
  • Color 颜色面板
  • MutiText 多文本
  • Select 选择下拉框
  • Radio 单选框
  • Switch 开关切换
  • CardPicker 卡片面板
  • Table 表格编辑器
  • Pos 坐标编辑器
  • FormItems 表单设计器
Last Updated: 4/27/2021, 1:17:02 AM
- + diff --git a/doc-dist/zh/guide/componentDev/dynamicLoading.html b/doc-dist/zh/guide/componentDev/dynamicLoading.html index dfaa7fb..f70a6ab 100644 --- a/doc-dist/zh/guide/componentDev/dynamicLoading.html +++ b/doc-dist/zh/guide/componentDev/dynamicLoading.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

# 组件动态加载

目前H5-Dooring的组件都是通过动态加载的方式引入,好处是我们在页面中只会加载我们需要的组件,不需要的组件不会被加载,这样可以提高页面加载的速度,这样做也会出现一些问题,比如一个长页面,配置了很多组件,那么一个页面加载过程可以会触发多次请求,目前还没有遇到性能问题,但后续会逐渐优化这个问题。

# umi3提供的dynamic

目前组件的动态加载我们采用的umi的dynamic方案,基于它我们上层封装了一个组件动态加载器,原理如下:

foo

具体代码可以参考Dooring的Github地址:https://github.com/MrXujiang/h5-Dooring (opens new window)

Last Updated: 1/17/2021, 9:57:34 PM

# 组件动态加载

目前H5-Dooring的组件都是通过动态加载的方式引入,好处是我们在页面中只会加载我们需要的组件,不需要的组件不会被加载,这样可以提高页面加载的速度,这样做也会出现一些问题,比如一个长页面,配置了很多组件,那么一个页面加载过程可以会触发多次请求,目前还没有遇到性能问题,但后续会逐渐优化这个问题。

# umi3提供的dynamic

目前组件的动态加载我们采用的umi的dynamic方案,基于它我们上层封装了一个组件动态加载器,原理如下:

foo

具体代码可以参考Dooring的Github地址:https://github.com/MrXujiang/h5-Dooring (opens new window)

Last Updated: 1/17/2021, 9:57:34 PM
- + diff --git a/doc-dist/zh/guide/deployDev/api.html b/doc-dist/zh/guide/deployDev/api.html index 32f734f..2bc565b 100644 --- a/doc-dist/zh/guide/deployDev/api.html +++ b/doc-dist/zh/guide/deployDev/api.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

H5-Dooring后端部分主要使用 Nodejs 开发, 为了满足更多定制化需求和服务的可移植性, 特意编写了API接口文档, + (opens new window)

H5-Dooring后端部分主要使用 Nodejs 开发, 为了满足更多定制化需求和服务的可移植性, 特意编写了API接口文档, 方便大家使用不同的后端语言实现服务接入.

  • 注意: 接口统一前缀为/api/v0

# 用户相关

# 登录

用户登录接口

  • POST /vip/check
参数名 是否必选 类型 说明
n true string 用户名
co true string 密码

返回示例

{
     "result": { 
         "n": "test", 
@@ -308,6 +308,6 @@
        

- + diff --git a/doc-dist/zh/guide/deployDev/deploy.html b/doc-dist/zh/guide/deployDev/deploy.html index 4ab18b8..b7c9d90 100644 --- a/doc-dist/zh/guide/deployDev/deploy.html +++ b/doc-dist/zh/guide/deployDev/deploy.html @@ -8,7 +8,7 @@ - + @@ -28,16 +28,16 @@ 体验 (opens new window)

私有化部署需要获取4个核心项目包, 包括

  • H5编辑器(h5_plus)
  • H5基座(h5)
  • Dooring管理后台(Dooring-Admin)
  • 服务端项目(Server)

获取以上四个核心源码工程需要满足商业授权协议, 具体可参考商业授权方案 (opens new window)

# 部署架构图

H5-dooring部署

部署流程如下:

  1. 下载4个源码工程, 安装依赖(npm install 或 yarn)
  2. 打包3个前端工程至server的static目录下
  3. server下本地运行 yarn startnpm start 启动服务端进行本地测试
  4. 打包服务端代码, yarn build 生成 dist 目录, 建议使用 pm2nodejs服务的负载均衡, 运行 pm2 start dist/index.js启动生产环境代码

也可以将以上步骤集成到gitlab等CI, CD服务中, 进行自动化打包发布, 或者采用docker进行容器化部署.

# 步骤3.4详细流程

# 1. 安装项目环境

服务器需提前安装node和pm2, 将本项目上传至服务器指定的目录(如/www/activity), 进入项目目录, 执行:

npm install
+   (opens new window)

私有化部署需要获取4个核心项目包, 包括

  • H5编辑器(h5_plus)
  • H5基座(h5)
  • Dooring管理后台(Dooring-Admin)
  • 服务端项目(Server)

获取以上四个核心源码工程需要满足商业授权协议, 具体可参考商业授权方案 (opens new window)

# 部署架构图

H5-dooring部署

部署流程如下:

  1. 下载4个源码工程, 安装依赖(npm install 或 yarn)
  2. 打包3个前端工程至server的static目录下
  3. server下本地运行 yarn startnpm start 启动服务端进行本地测试
  4. 打包服务端代码, yarn build 生成 dist 目录, 建议使用 pm2nodejs服务的负载均衡, 运行 pm2 start dist/index.js启动生产环境代码

也可以将以上步骤集成到gitlab等CI, CD服务中, 进行自动化打包发布, 或者采用docker进行容器化部署.

# 步骤3.4详细流程

# 1. 安装项目环境

服务器需提前安装node和pm2, 将本项目上传至服务器指定的目录(如/www/activity), 进入项目目录, 执行:

npm install
 

# 2. 修改项目域名

进入./src/config/index.js, 修改staticPath变量为当前服务器域名/ip, 如http://xxx.comhttp://xxx.com:8080(如非80端口)

# 3. 编译项目

执行npm run build编译项目, 生成dist目录

# 4. 运行项目

在项目根目录执行 pm2 start dist/index.js启动项目

Last Updated: 4/20/2021, 10:19:10 PM
- + diff --git a/doc-dist/zh/guide/deployDev/deploy_v6.html b/doc-dist/zh/guide/deployDev/deploy_v6.html new file mode 100644 index 0000000..e5e64bb --- /dev/null +++ b/doc-dist/zh/guide/deployDev/deploy_v6.html @@ -0,0 +1,43 @@ + + + + + + h5-dooring + + + + + + + + +

私有化部署需要获取3个核心项目包, 包括

  • 可视化大屏编辑器(v6.dooring/)
  • v6管理后台(v6.dooring/manage)
  • 服务端项目(v6.dooring/server)

获取以上三个核心源码工程需要满足商业授权协议, 具体可参考商业授权方案 (opens new window)

# 部署架构图

H5-dooring部署

部署流程如下:

  1. 下载3个源码工程, 安装依赖(npm install 或 yarn)
  2. 打包2个前端工程至server的static目录下
  3. server下本地运行 yarn startnpm start 启动服务端进行本地测试
  4. 打包服务端代码, yarn build 生成 dist 目录, 建议使用 pm2nodejs服务的负载均衡, 运行 pm2 start dist/index.js启动生产环境代码

也可以将以上步骤集成到gitlab等CI, CD服务中, 进行自动化打包发布, 或者采用docker进行容器化部署.

# 步骤3.4详细流程

# 1. 安装项目环境

服务器需提前安装node和pm2, 将本项目上传至服务器指定的目录(如/www/activity), 进入项目目录, 执行:

npm install
+

# 2. 修改项目域名

进入./src/config/index.js, 修改staticPath变量为当前服务器域名/ip, 如http://xxx.comhttp://xxx.com:8080(如非80端口)

# 3. 编译项目

执行npm run build编译项目, 生成dist目录

# 4. 运行项目

在项目根目录执行 pm2 start dist/index.js启动项目

+ + + diff --git a/doc-dist/zh/guide/deployDev/https.html b/doc-dist/zh/guide/deployDev/https.html index cbe98ab..669be49 100644 --- a/doc-dist/zh/guide/deployDev/https.html +++ b/doc-dist/zh/guide/deployDev/https.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

目前H5-Dooring全面支持https部署, 具体方式方案如下.

# 前端工程

我们需要在前端工程中的src/pages/document.ejs中的head中添加如下代码:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
+   (opens new window)

目前H5-Dooring全面支持https部署, 具体方式方案如下.

# 前端工程

我们需要在前端工程中的src/pages/document.ejs中的head中添加如下代码:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
 

目的是强制将页面中HTTP请求转换为HTTPS.

# 服务器工程

# 1. 申请SSL证书

# 2. 生成 server.csr+server.key

# 3. 通过证书链生成.pem文件

#server中的src/index.js按如下方式修改

// 忽略部分无影响代码
 import https from 'https';
 
@@ -59,13 +59,13 @@
 start()
 
Last Updated: 1/31/2021, 1:25:02 AM
- + diff --git a/doc-dist/zh/guide/deployDev/oss.html b/doc-dist/zh/guide/deployDev/oss.html index df80352..550f395 100644 --- a/doc-dist/zh/guide/deployDev/oss.html +++ b/doc-dist/zh/guide/deployDev/oss.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

H5-Dooring全面支持第三方对象存储服务, 我们以七牛云对象存储为例.

# 前端上传文件到oss

首先我们需要在第三方对象储存服务中配置对应的服务和域名. 其次安装对应的sdk, 如七牛云sdk:

import * as qiniu from 'qiniu-js';
+   (opens new window)

H5-Dooring全面支持第三方对象存储服务, 我们以七牛云对象存储为例.

# 前端上传文件到oss

首先我们需要在第三方对象储存服务中配置对应的服务和域名. 其次安装对应的sdk, 如七牛云sdk:

import * as qiniu from 'qiniu-js';
 

其次我们修改h5_plus工程的Upload组件, 详细地址为src/core/FormComponents/Upload.

修改内容如下:

const fileName = file.name
 const suffix = '自定义文件后缀'
 const putExtra = {
@@ -58,6 +58,6 @@ observe.subs
       
       →
     

- + diff --git a/doc-dist/zh/guide/directoryStructure.html b/doc-dist/zh/guide/directoryStructure.html index cbb8435..397e927 100644 --- a/doc-dist/zh/guide/directoryStructure.html +++ b/doc-dist/zh/guide/directoryStructure.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)
src
+   (opens new window)
src
 ├─ assets
 │  ├─ header.png
 │  ├─ form.png
@@ -322,6 +322,6 @@
       
       →
     

- + diff --git a/doc-dist/zh/guide/functionRealization/machinePreview.html b/doc-dist/zh/guide/functionRealization/machinePreview.html index 1585cc5..75d0df9 100644 --- a/doc-dist/zh/guide/functionRealization/machinePreview.html +++ b/doc-dist/zh/guide/functionRealization/machinePreview.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

# 真机预览

真机预览和网页预览的流程类似,工作流程如下:

foo

由于不同机型预览的效果有些许不同,最终效果以实际看到的为主。

Last Updated: 1/17/2021, 9:57:34 PM

# 真机预览

真机预览和网页预览的流程类似,工作流程如下:

foo

由于不同机型预览的效果有些许不同,最终效果以实际看到的为主。

Last Updated: 1/17/2021, 9:57:34 PM
- + diff --git a/doc-dist/zh/guide/functionRealization/pagePreview.html b/doc-dist/zh/guide/functionRealization/pagePreview.html index bd7dd50..0b0c32a 100644 --- a/doc-dist/zh/guide/functionRealization/pagePreview.html +++ b/doc-dist/zh/guide/functionRealization/pagePreview.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

# 网页预览

我们看看网页预览的工作流程:

foo

前端预览界面:

foo
Last Updated: 1/17/2021, 9:57:34 PM

# 网页预览

我们看看网页预览的工作流程:

foo

前端预览界面:

foo
Last Updated: 1/17/2021, 9:57:34 PM
- + diff --git a/doc-dist/zh/guide/functionRealization/revocation.html b/doc-dist/zh/guide/functionRealization/revocation.html index 613b43e..98fd5c4 100644 --- a/doc-dist/zh/guide/functionRealization/revocation.html +++ b/doc-dist/zh/guide/functionRealization/revocation.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

# 撤销/重做

撤销重做我们主要使用了redux-undo这个库,配合Dva使用,具体使用方法参考如下操作:

import { createLogger } from 'redux-logger';
+   (opens new window)

# 撤销/重做

撤销重做我们主要使用了redux-undo这个库,配合Dva使用,具体使用方法参考如下操作:

import { createLogger } from 'redux-logger';
 import { message } from 'antd';
 import undoable, { StateWithHistory } from 'redux-undo';
 import { Reducer, AnyAction } from 'redux';
@@ -58,6 +58,6 @@
       
       →
     

- + diff --git a/doc-dist/zh/guide/functionRealization/saveJson.html b/doc-dist/zh/guide/functionRealization/saveJson.html index 9a37e8b..6376c4e 100644 --- a/doc-dist/zh/guide/functionRealization/saveJson.html +++ b/doc-dist/zh/guide/functionRealization/saveJson.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

# 保存json

我们配置好H5页面之后,如果希望其他人观看,我们可以保存页面并发送链接。但是如果有多人协作的需求,比如一个H5页面可能由多个人完成,这个时候该怎么实现呢?基于已有的方案,我们可以采用socket实现多人协同编辑,但是成本比较大,所有这里我们提供了保存json的功能。

我们可以将配置好的页面导出为json,发送给另一个人,这样另一个人通过导入该json文件可以实时看到当前的页面,这里还是依靠我们的页面渲染引擎viewEngine。实现思路也很简单,可以在github[https://github.com/MrXujiang/h5-Dooring (opens new window)]上参考体验。

Last Updated: 1/17/2021, 9:57:34 PM

# 保存json

我们配置好H5页面之后,如果希望其他人观看,我们可以保存页面并发送链接。但是如果有多人协作的需求,比如一个H5页面可能由多个人完成,这个时候该怎么实现呢?基于已有的方案,我们可以采用socket实现多人协同编辑,但是成本比较大,所有这里我们提供了保存json的功能。

我们可以将配置好的页面导出为json,发送给另一个人,这样另一个人通过导入该json文件可以实时看到当前的页面,这里还是依靠我们的页面渲染引擎viewEngine。实现思路也很简单,可以在github[https://github.com/MrXujiang/h5-Dooring (opens new window)]上参考体验。

Last Updated: 1/17/2021, 9:57:34 PM
- + diff --git a/doc-dist/zh/guide/functionRealization/screenshot.html b/doc-dist/zh/guide/functionRealization/screenshot.html index 577cd75..f3878a3 100644 --- a/doc-dist/zh/guide/functionRealization/screenshot.html +++ b/doc-dist/zh/guide/functionRealization/screenshot.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

# 截图功能

截图功能这里我们主要使用了dom-to-image这个库,来将html转化为图片,并进行分享。

foo
Last Updated: 1/17/2021, 9:57:34 PM

# 截图功能

截图功能这里我们主要使用了dom-to-image这个库,来将html转化为图片,并进行分享。

foo
Last Updated: 1/17/2021, 9:57:34 PM
- + diff --git a/doc-dist/zh/guide/functionRealization/templateLibrary.html b/doc-dist/zh/guide/functionRealization/templateLibrary.html index 2010996..c8c61e6 100644 --- a/doc-dist/zh/guide/functionRealization/templateLibrary.html +++ b/doc-dist/zh/guide/functionRealization/templateLibrary.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

# 模板库实现思路

我们目前开放了模板库功能,一方面我们会定期配置行业模板,另一个方面Dooring还支持用户自己配置模板,可以一键保存到云端供用户使用。我们也可以将模板变成自己的页面共享给其他人。实现方式本质上是保存用户的配置信息,上传到服务器中做存储,在后台提供了管理模板的模块,可以修改,删除模板。如下图所示:

# 模板前台展示:

foo

# 模板后台展示:

foo
Last Updated: 1/17/2021, 9:57:34 PM

# 模板库实现思路

我们目前开放了模板库功能,一方面我们会定期配置行业模板,另一个方面Dooring还支持用户自己配置模板,可以一键保存到云端供用户使用。我们也可以将模板变成自己的页面共享给其他人。实现方式本质上是保存用户的配置信息,上传到服务器中做存储,在后台提供了管理模板的模块,可以修改,删除模板。如下图所示:

# 模板前台展示:

foo

# 模板后台展示:

foo
Last Updated: 1/17/2021, 9:57:34 PM
- + diff --git a/doc-dist/zh/guide/index.html b/doc-dist/zh/guide/index.html index 4cf11b2..49be58f 100644 --- a/doc-dist/zh/guide/index.html +++ b/doc-dist/zh/guide/index.html @@ -8,7 +8,7 @@ - + @@ -28,11 +28,11 @@ 体验 (opens new window)
foo

H5-Dooring 是一款功能强大,高可扩展的 H5 可视化页面配置解决方案,致力于提供一套简单方便、专业可靠、无限可能的 H5 落地页最佳实践。

# 功能特点

🎉 可扩展, Dooring 实现了较为完整的业务闭环,并使其模块化,编辑器内部功能接口也全部可以对接不同服务端语言,实现了标准化接口。此外还支持自定义组件,二次开发,设计模板等能力,以满足功能和跨领域的分层需求。

📦 开箱即用, Dooring 内置了表单渲染器、页面渲染器、动态加载内核等,仅需一套源码即可上手开发。并且还提供针对 React 的定制插件,内涵丰富的功能,可满足日常 80%的页面制作需求。

🚀 大量自研, 包含整个编辑器架构、组件设计、文档、请求库封装,后台管理系统等,满足日常项目的周边需求。

🚄 与时俱进, 在满足需求的同时,我们也不会停止对新技术的探索。比如更多营销组件、业务功能,后台管理可视化,PC 页面编辑器,数据大屏定制等等。

# 为什么选择 Dooring

目前github已超过 3000+star,上线 2 个月累计 500+用户使用,解决完善了 100+问题,后续会持续迭代,更新,自研优秀,先进的 lowcode/nocode 解决方案。

Last Updated: 3/22/2021, 10:16:35 AM
foo

H5-Dooring 是一款功能强大,高可扩展的 H5 可视化页面配置解决方案,致力于提供一套简单方便、专业可靠、无限可能的 H5 落地页最佳实践。

# 功能特点

🎉 可扩展, Dooring 实现了较为完整的业务闭环,并使其模块化,编辑器内部功能接口也全部可以对接不同服务端语言,实现了标准化接口。此外还支持自定义组件,二次开发,设计模板等能力,以满足功能和跨领域的分层需求。

📦 开箱即用, Dooring 内置了表单渲染器、页面渲染器、动态加载内核等,仅需一套源码即可上手开发。并且还提供针对 React 的定制插件,内涵丰富的功能,可满足日常 80%的页面制作需求。

🚀 大量自研, 包含整个编辑器架构、组件设计、文档、请求库封装,后台管理系统等,满足日常项目的周边需求。

🚄 与时俱进, 在满足需求的同时,我们也不会停止对新技术的探索。比如更多营销组件、业务功能,后台管理可视化,PC 页面编辑器,数据大屏定制等等。

# 为什么选择 Dooring

目前github已超过 3000+star,上线 2 个月累计 500+用户使用,解决完善了 100+问题,后续会持续迭代,更新,自研优秀,先进的 lowcode/nocode 解决方案。

Last Updated: 3/22/2021, 10:16:35 AM
- + diff --git a/doc-dist/zh/guide/introduced.html b/doc-dist/zh/guide/introduced.html index f152d82..251b3f9 100644 --- a/doc-dist/zh/guide/introduced.html +++ b/doc-dist/zh/guide/introduced.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)
foo

注:灰色部分还未实现,正在更新中...

Last Updated: 1/17/2021, 7:12:02 PM
foo

注:灰色部分还未实现,正在更新中...

Last Updated: 1/17/2021, 7:12:02 PM
- + diff --git a/doc-dist/zh/guide/startedQuickly.html b/doc-dist/zh/guide/startedQuickly.html index 40e88e2..de00f83 100644 --- a/doc-dist/zh/guide/startedQuickly.html +++ b/doc-dist/zh/guide/startedQuickly.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (opens new window)

# 快速上手

# 环境准备

首先得有 node,并确保 node 版本是 10.13 或以上,(mac/win 下推荐使用 n 来管理 node 版本)

$ node-v
+   (opens new window)

# 快速上手

# 从零搭建一个H5表单页面

# 环境准备

首先得有 node,并确保 node 版本是 10.13 或以上,(mac/win 下推荐使用 n 来管理 node 版本)

$ node-v
 v10.13.0
 

注:推荐使用 yarn 管理 npm 依赖

# 源码工程

h5_plus(编辑器项目) admin(管理后台) Server(服务端项目)

本地拿到源码工程之后先安装对应依赖,在对应工程目录里执行 yarn 命令,等待依赖安装完成。

# 本地运行

1.首先本地启动 server,在 src 目录的 index.js 中修改跨域白名单,改为本地的 ip+端口,如http://192.167.0.3:8000

2.其次本地启动 h5_plus,启动完毕在浏览器打开对应的启动地址即可查看,如下:

foo
Last Updated: 1/17/2021, 7:12:02 PM
- + diff --git a/doc/.vuepress/config.js b/doc/.vuepress/config.js index e9fd765..38984b4 100755 --- a/doc/.vuepress/config.js +++ b/doc/.vuepress/config.js @@ -124,6 +124,12 @@ module.exports = { collapsable: false, sidebarDepth: 1, }, + { + title: 'v6.dooring私有化部署(临时)', + path: '/zh/guide/deployDev/deploy_v6', + collapsable: false, + sidebarDepth: 1, + }, { title: '支持https', path: '/zh/guide/deployDev/https', diff --git a/doc/img/common/v6.deploy.png b/doc/img/common/v6.deploy.png new file mode 100644 index 0000000..eb44518 Binary files /dev/null and b/doc/img/common/v6.deploy.png differ diff --git a/doc/zh/guide/deployDev/deploy_v6.md b/doc/zh/guide/deployDev/deploy_v6.md new file mode 100644 index 0000000..a5222b6 --- /dev/null +++ b/doc/zh/guide/deployDev/deploy_v6.md @@ -0,0 +1,46 @@ + + +私有化部署需要获取3个核心项目包, 包括 +- 可视化大屏编辑器(v6.dooring/) +- v6管理后台(v6.dooring/manage) +- 服务端项目(v6.dooring/server) + +获取以上三个核心源码工程需要满足商业授权协议, 具体可参考[商业授权方案](http://h5.dooring.cn/h5_plus/price) + +### 部署架构图 + +H5-dooring部署 + +部署流程如下: + +1. 下载3个源码工程, 安装依赖(npm install 或 yarn) +2. 打包2个前端工程至`server`的static目录下 +3. 在`server`下本地运行 `yarn start` 或 `npm start` 启动服务端进行本地测试 +4. 打包服务端代码, `yarn build` 生成 `dist` 目录, 建议使用 `pm2` 做`nodejs`服务的负载均衡, 运行 `pm2 start dist/index.js`启动生产环境代码 + +也可以将以上步骤集成到gitlab等CI, CD服务中, 进行自动化打包发布, 或者采用`docker`进行容器化部署. + +### 步骤3.4详细流程 + +#### 1. 安装项目环境 + +服务器需提前安装node和pm2, 将本项目上传至服务器指定的目录(如/www/activity), 进入项目目录, 执行: +``` +npm install +``` + +#### 2. 修改项目域名 + +进入`./src/config/index.js`, 修改`staticPath`变量为当前服务器域名/ip, 如`http://xxx.com`或`http://xxx.com:8080`(如非80端口) + +#### 3. 编译项目 + +执行`npm run build`编译项目, 生成`dist`目录 + +#### 4. 运行项目 +在项目根目录执行 `pm2 start dist/index.js`启动项目 diff --git a/doc/zh/guide/startedQuickly.md b/doc/zh/guide/startedQuickly.md index e602de5..2eed63c 100644 --- a/doc/zh/guide/startedQuickly.md +++ b/doc/zh/guide/startedQuickly.md @@ -1,5 +1,10 @@ # 快速上手 +## 从零搭建一个H5表单页面 + + + + ## 环境准备 首先得有 node,并确保 node 版本是 `10.13` 或以上,(mac/win 下推荐使用 n 来管理 node 版本)