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

404

How did we get here?
+ - + diff --git a/doc-dist/assets/js/10.2d5d3aaa.js b/doc-dist/assets/js/10.b0d462d3.js similarity index 98% rename from doc-dist/assets/js/10.2d5d3aaa.js rename to doc-dist/assets/js/10.b0d462d3.js index 74b28b4..fd24475 100644 --- a/doc-dist/assets/js/10.2d5d3aaa.js +++ b/doc-dist/assets/js/10.b0d462d3.js @@ -4,7 +4,7 @@ 359: function(t, r, a) { t.exports = a.p + 'assets/img/dynamic.15a5303a.png'; }, - 388: function(t, r, a) { + 387: function(t, r, a) { 'use strict'; a.r(r); var n = a(42), diff --git a/doc-dist/assets/js/11.db03b544.js b/doc-dist/assets/js/11.df257dc3.js similarity index 99% rename from doc-dist/assets/js/11.db03b544.js rename to doc-dist/assets/js/11.df257dc3.js index da8c92a..08d30a8 100644 --- a/doc-dist/assets/js/11.db03b544.js +++ b/doc-dist/assets/js/11.df257dc3.js @@ -4,7 +4,7 @@ 360: function(t, _, v) { t.exports = v.p + 'assets/img/deploy.d1b1d698.png'; }, - 390: function(t, _, v) { + 391: function(t, _, v) { 'use strict'; v.r(_); var a = v(42), diff --git a/doc-dist/assets/js/12.d4cc4a96.js b/doc-dist/assets/js/12.584674f6.js similarity index 99% rename from doc-dist/assets/js/12.d4cc4a96.js rename to doc-dist/assets/js/12.584674f6.js index f310bfb..39f32bb 100644 --- a/doc-dist/assets/js/12.d4cc4a96.js +++ b/doc-dist/assets/js/12.584674f6.js @@ -4,7 +4,7 @@ 361: function(t, v, _) { t.exports = _.p + 'assets/img/v6.deploy.43cbe0de.png'; }, - 392: function(t, v, _) { + 395: function(t, v, _) { 'use strict'; _.r(v); var e = _(42), diff --git a/doc-dist/assets/js/13.9e2d642e.js b/doc-dist/assets/js/13.1b1b5748.js similarity index 97% rename from doc-dist/assets/js/13.9e2d642e.js rename to doc-dist/assets/js/13.1b1b5748.js index 9e9b52d..7dc1ee5 100644 --- a/doc-dist/assets/js/13.9e2d642e.js +++ b/doc-dist/assets/js/13.1b1b5748.js @@ -4,7 +4,7 @@ 364: function(t, e, s) { t.exports = s.p + 'assets/img/preview-machine.895a0711.png'; }, - 395: function(t, e, s) { + 397: function(t, e, s) { 'use strict'; s.r(e); var a = s(42), diff --git a/doc-dist/assets/js/15.0bec3d88.js b/doc-dist/assets/js/15.4eb9c19c.js similarity index 96% rename from doc-dist/assets/js/15.0bec3d88.js rename to doc-dist/assets/js/15.4eb9c19c.js index 30c9f87..8a025e2 100644 --- a/doc-dist/assets/js/15.0bec3d88.js +++ b/doc-dist/assets/js/15.4eb9c19c.js @@ -4,7 +4,7 @@ 368: function(t, s, e) { t.exports = e.p + 'assets/img/framework.1c9c696b.png'; }, - 401: function(t, s, e) { + 402: function(t, s, e) { 'use strict'; e.r(s); var n = e(42), diff --git a/doc-dist/assets/js/16.7a72453e.js b/doc-dist/assets/js/16.1b7e6603.js similarity index 99% rename from doc-dist/assets/js/16.7a72453e.js rename to doc-dist/assets/js/16.1b7e6603.js index bc47f78..57c0e58 100644 --- a/doc-dist/assets/js/16.7a72453e.js +++ b/doc-dist/assets/js/16.1b7e6603.js @@ -4,7 +4,7 @@ 369: function(t, a, r) { t.exports = r.p + 'assets/img/home.f76105db.png'; }, - 402: function(t, a, r) { + 403: function(t, a, r) { 'use strict'; r.r(a); var e = r(42), diff --git a/doc-dist/assets/js/19.90149f22.js b/doc-dist/assets/js/19.862b0c76.js similarity index 94% rename from doc-dist/assets/js/19.90149f22.js rename to doc-dist/assets/js/19.862b0c76.js index 07c6d00..b8df32d 100644 --- a/doc-dist/assets/js/19.90149f22.js +++ b/doc-dist/assets/js/19.862b0c76.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ [19], { - 385: function(t, e, n) { + 384: function(t, e, n) { 'use strict'; n.r(e); var s = n(42), diff --git a/doc-dist/assets/js/22.0e8b2b46.js b/doc-dist/assets/js/22.49b6f904.js similarity index 99% rename from doc-dist/assets/js/22.0e8b2b46.js rename to doc-dist/assets/js/22.49b6f904.js index e06ae6c..da5d3ff 100644 --- a/doc-dist/assets/js/22.0e8b2b46.js +++ b/doc-dist/assets/js/22.49b6f904.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ [22], { - 387: function(t, s, a) { + 388: function(t, s, a) { 'use strict'; a.r(s); var n = a(42), diff --git a/doc-dist/assets/js/23.83c4ae0b.js b/doc-dist/assets/js/23.64cb6fc9.js similarity index 99% rename from doc-dist/assets/js/23.83c4ae0b.js rename to doc-dist/assets/js/23.64cb6fc9.js index a47bc3b..4ec4075 100644 --- a/doc-dist/assets/js/23.83c4ae0b.js +++ b/doc-dist/assets/js/23.64cb6fc9.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ [23], { - 389: function(t, s, a) { + 390: function(t, s, a) { 'use strict'; a.r(s); var n = a(42), diff --git a/doc-dist/assets/js/24.919a8675.js b/doc-dist/assets/js/24.919a8675.js new file mode 100644 index 0000000..d31b510 --- /dev/null +++ b/doc-dist/assets/js/24.919a8675.js @@ -0,0 +1,69 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [24], + { + 389: function(v, _, l) { + 'use strict'; + l.r(_); + var i = l(42), + n = Object(i.a)( + {}, + function() { + var v = this, + _ = v.$createElement, + l = v._self._c || _; + return l('ContentSlotsDistributor', { attrs: { 'slot-key': v.$parent.slotKey } }, [ + l('p', [ + v._v('服务端主要是我们的'), + l('code', [v._v('server')]), + v._v('工程, 数据主要存放在'), + l('code', [v._v('server/public')]), + v._v('下, 具体数据指代含义我们接下来会详细介绍.'), + ]), + v._v(' '), + l('ul', [ + l('li', [ + v._v( + 'bed 存放图片库中的分类图片, 私有化部署的用户可以直接在此处扩充图片(更好的建议是直接存到第三方图床)', + ), + ]), + v._v(' '), + l('li', [v._v('h5 用户保存的h5数据文件, 一个页面对应一个json文件')]), + v._v(' '), + l('li', [ + v._v('h5_tpl 平台保存的模版数据文件夹\n'), + l('ul', [ + l('li', [v._v('xxx.json 模版页面文件')]), + v._v(' '), + l('li', [v._v('tpls.json 模版库中的模版列表数据, 可以手动清空')]), + ]), + ]), + v._v(' '), + l('li', [ + v._v('h5_vip 会员数据目录\n'), + l('ul', [ + l('li', [v._v('form 会员制作的含表单页面的表单收集数据')]), + v._v(' '), + l('li', [v._v('view.json 用户浏览量数据')]), + v._v(' '), + l('li', [v._v('vip.json 会员列表数据')]), + v._v(' '), + l('li', [v._v('vipCard.json 会员订单数据(暂时无用, 可删除)')]), + ]), + ]), + v._v(' '), + l('li', [v._v('image.json 图片库, 主要用来渲染页面的图片库数据')]), + v._v(' '), + l('li', [v._v('city.json 省市3级联动数据, 为表单组件提供数据支持')]), + ]), + ]); + }, + [], + !1, + null, + null, + null, + ); + _.default = n.exports; + }, + }, +]); diff --git a/doc-dist/assets/js/24.69d1e5e4.js b/doc-dist/assets/js/25.f099e2dd.js similarity index 99% rename from doc-dist/assets/js/24.69d1e5e4.js rename to doc-dist/assets/js/25.f099e2dd.js index c6bcbb2..c0a4176 100644 --- a/doc-dist/assets/js/24.69d1e5e4.js +++ b/doc-dist/assets/js/25.f099e2dd.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [24], + [25], { - 391: function(t, s, a) { + 393: function(t, s, a) { 'use strict'; a.r(s); var n = a(42), diff --git a/doc-dist/assets/js/25.e10c3e5e.js b/doc-dist/assets/js/26.1d9c2285.js similarity index 99% rename from doc-dist/assets/js/25.e10c3e5e.js rename to doc-dist/assets/js/26.1d9c2285.js index a0fe609..e2c4b24 100644 --- a/doc-dist/assets/js/25.e10c3e5e.js +++ b/doc-dist/assets/js/26.1d9c2285.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [25], + [26], { - 396: function(t, s, a) { + 392: function(t, s, a) { 'use strict'; a.r(s); var n = a(42), diff --git a/doc-dist/assets/js/26.c1e8d4c6.js b/doc-dist/assets/js/27.7c57ff72.js similarity index 99% rename from doc-dist/assets/js/26.c1e8d4c6.js rename to doc-dist/assets/js/27.7c57ff72.js index dc75214..ffcd9db 100644 --- a/doc-dist/assets/js/26.c1e8d4c6.js +++ b/doc-dist/assets/js/27.7c57ff72.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [26], + [27], { - 393: function(n, e, s) { + 394: function(n, e, s) { 'use strict'; s.r(e); var t = s(42), diff --git a/doc-dist/assets/js/27.faa6f053.js b/doc-dist/assets/js/28.ead47ae7.js similarity index 99% rename from doc-dist/assets/js/27.faa6f053.js rename to doc-dist/assets/js/28.ead47ae7.js index 5a62627..04102db 100644 --- a/doc-dist/assets/js/27.faa6f053.js +++ b/doc-dist/assets/js/28.ead47ae7.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [27], + [28], { - 399: function(t, s, a) { + 401: function(t, s, a) { 'use strict'; a.r(s); var n = a(42), diff --git a/doc-dist/assets/js/28.f591635f.js b/doc-dist/assets/js/29.3a117db5.js similarity index 98% rename from doc-dist/assets/js/28.f591635f.js rename to doc-dist/assets/js/29.3a117db5.js index 9a1832d..40124d8 100644 --- a/doc-dist/assets/js/28.f591635f.js +++ b/doc-dist/assets/js/29.3a117db5.js @@ -1,7 +1,7 @@ (window.webpackJsonp = window.webpackJsonp || []).push([ - [28], + [29], { - 397: function(t, n, e) { + 399: function(t, n, e) { 'use strict'; e.r(n); var o = e(42), diff --git a/doc-dist/assets/js/4.f2ae7e99.js b/doc-dist/assets/js/4.eddebdfd.js similarity index 96% rename from doc-dist/assets/js/4.f2ae7e99.js rename to doc-dist/assets/js/4.eddebdfd.js index bc99bfa..46f6fd8 100644 --- a/doc-dist/assets/js/4.f2ae7e99.js +++ b/doc-dist/assets/js/4.eddebdfd.js @@ -6,7 +6,7 @@ 'use strict'; n(333); }, - 403: function(t, e, n) { + 404: function(t, e, n) { 'use strict'; n.r(e); var i = { diff --git a/doc-dist/assets/js/7.6b0d225c.js b/doc-dist/assets/js/7.189d38be.js similarity index 97% rename from doc-dist/assets/js/7.6b0d225c.js rename to doc-dist/assets/js/7.189d38be.js index a903e4f..b7ce3e6 100644 --- a/doc-dist/assets/js/7.6b0d225c.js +++ b/doc-dist/assets/js/7.189d38be.js @@ -7,7 +7,7 @@ 363: function(t, s, e) { t.exports = e.p + 'assets/img/preview-page.3ec86df5.png'; }, - 394: function(t, s, e) { + 396: function(t, s, e) { 'use strict'; e.r(s); var r = e(42), diff --git a/doc-dist/assets/js/9.5e6217e4.js b/doc-dist/assets/js/9.7e1cf4d5.js similarity index 99% rename from doc-dist/assets/js/9.5e6217e4.js rename to doc-dist/assets/js/9.7e1cf4d5.js index 380c16d..7154fc4 100644 --- a/doc-dist/assets/js/9.5e6217e4.js +++ b/doc-dist/assets/js/9.7e1cf4d5.js @@ -4,7 +4,7 @@ 358: function(t, o, r) { t.exports = r.p + 'assets/img/logo.001d04e6.svg'; }, - 384: function(t, o, r) { + 385: function(t, o, r) { 'use strict'; r.r(o); var s = r(42), diff --git a/doc-dist/assets/js/app.7f190420.js b/doc-dist/assets/js/app.4588b99c.js similarity index 97% rename from doc-dist/assets/js/app.7f190420.js rename to doc-dist/assets/js/app.4588b99c.js index d7a7ed0..5d55c31 100644 --- a/doc-dist/assets/js/app.7f190420.js +++ b/doc-dist/assets/js/app.4588b99c.js @@ -49,31 +49,32 @@ { 2: '917402d3', 3: 'd2d22c88', - 4: 'f2ae7e99', + 4: 'eddebdfd', 5: '262c1769', 6: '5f53f889', - 7: '6b0d225c', + 7: '189d38be', 8: 'e0652172', - 9: '5e6217e4', - 10: '2d5d3aaa', - 11: 'db03b544', - 12: 'd4cc4a96', - 13: '9e2d642e', + 9: '7e1cf4d5', + 10: 'b0d462d3', + 11: 'df257dc3', + 12: '584674f6', + 13: '1b1b5748', 14: 'ea0f3745', - 15: '0bec3d88', - 16: '7a72453e', + 15: '4eb9c19c', + 16: '1b7e6603', 17: 'c8b6849e', 18: 'e7ced042', - 19: '90149f22', + 19: '862b0c76', 20: '4781e342', 21: 'f426ff47', - 22: '0e8b2b46', - 23: '83c4ae0b', - 24: '69d1e5e4', - 25: 'e10c3e5e', - 26: 'c1e8d4c6', - 27: 'faa6f053', - 28: 'f591635f', + 22: '49b6f904', + 23: '64cb6fc9', + 24: '919a8675', + 25: 'f099e2dd', + 26: '1d9c2285', + 27: '7c57ff72', + 28: 'ead47ae7', + 29: '3a117db5', }[t] + '.js' ); @@ -559,12 +560,12 @@ O = a(x.length), S = 0, j = m || u, - E = e ? j(d, O) : n || p ? j(d, 0) : void 0; + A = e ? j(d, O) : n || p ? j(d, 0) : void 0; O > S; S++ ) if ((h || S in x) && ((b = w((g = x[S]), S, _)), t)) - if (e) E[S] = b; + if (e) A[S] = b; else if (b) switch (t) { case 3: @@ -574,16 +575,16 @@ case 6: return S; case 2: - c.call(E, g); + c.call(A, g); } else switch (t) { case 4: return !1; case 7: - c.call(E, g); + c.call(A, g); } - return l ? -1 : s || f ? f : E; + return l ? -1 : s || f ? f : A; }; }; t.exports = { @@ -1029,8 +1030,8 @@ O = n(78), S = n(24), j = n(8), - E = n(77), - A = n(11), + A = n(77), + E = n(11), k = n(10), C = n(69), $ = n(48), @@ -1038,8 +1039,8 @@ T = n(45), L = n(2), R = n(135), - z = n(136), - D = n(49), + D = n(136), + z = n(49), I = n(28), M = n(29).forEach, N = $('hidden'), @@ -1052,7 +1053,7 @@ W = S.f, G = j.f, K = w.f, - J = E.f, + J = A.f, X = C('symbols'), Q = C('op-symbols'), Y = C('string-to-symbol-registry'), @@ -1172,7 +1173,7 @@ k(H, 'withoutSetter', function(t) { return ot(T(t), t); }), - (E.f = ct), + (A.f = ct), (j.f = at), (S.f = st), (x.f = w.f = ft), @@ -1190,7 +1191,7 @@ a || k(V, 'propertyIsEnumerable', ct, { unsafe: !0 }))), r({ global: !0, wrap: !0, forced: !c, sham: !c }, { Symbol: H }), M(_(tt), function(t) { - z(t); + D(t); }), r( { target: 'Symbol', stat: !0, forced: !c }, @@ -1269,7 +1270,7 @@ }, }, ); - H.prototype[U] || A(H.prototype, U, H.prototype.valueOf), D(H, 'Symbol'), (P[N] = !0); + H.prototype[U] || E(H.prototype, U, H.prototype.valueOf), z(H, 'Symbol'), (P[N] = !0); }, function(t, e, n) { 'use strict'; @@ -1664,21 +1665,21 @@ if ((x.push(w), !b)) break; '' === String(w[0]) && (y.lastIndex = c(m, i(y.lastIndex), _)); } - for (var O, S = '', j = 0, E = 0; E < x.length; E++) { - w = x[E]; + for (var O, S = '', j = 0, A = 0; A < x.length; A++) { + w = x[A]; for ( - var A = String(w[0]), k = l(p(a(w.index), m.length), 0), C = [], $ = 1; + var E = String(w[0]), k = l(p(a(w.index), m.length), 0), C = [], $ = 1; $ < w.length; $++ ) C.push(void 0 === (O = w[$]) ? O : String(O)); var P = w.groups; if (g) { - var T = [A].concat(C, k, m); + var T = [E].concat(C, k, m); void 0 !== P && T.push(P); var L = String(r.apply(void 0, T)); - } else L = s(A, m, k, C, P, r); - k >= j && ((S += m.slice(j, k) + L), (j = k + A.length)); + } else L = s(E, m, k, C, P, r); + k >= j && ((S += m.slice(j, k) + L), (j = k + E.length)); } return S + m.slice(j); }, @@ -2279,7 +2280,7 @@ w, O = function(t) { if (t === h && k) return k; - if (!v && t in E) return E[t]; + if (!v && t in A) return A[t]; switch (t) { case 'keys': case 'values': @@ -2294,10 +2295,10 @@ }, S = e + ' Iterator', j = !1, - E = t.prototype, - A = E[y] || E['@@iterator'] || (h && E[h]), - k = (!v && A) || O(h), - C = ('Array' == e && E.entries) || A; + A = t.prototype, + E = A[y] || A['@@iterator'] || (h && A[h]), + k = (!v && E) || O(h), + C = ('Array' == e && A.entries) || E; if ( (C && ((_ = i(C.call(new t()))), @@ -2307,18 +2308,18 @@ u(_, S, !0, !0), l && (p[S] = m))), 'values' == h && - A && - 'values' !== A.name && + E && + 'values' !== E.name && ((j = !0), (k = function() { - return A.call(this); + return E.call(this); })), - (l && !b) || E[y] === k || c(E, y, k), + (l && !b) || A[y] === k || c(A, y, k), (p[e] = k), h) ) if (((x = { values: O('values'), keys: g ? k : O('keys'), entries: O('entries') }), b)) - for (w in x) (v || j || !(w in E)) && s(E, w, x[w]); + for (w in x) (v || j || !(w in A)) && s(A, w, x[w]); else r({ target: e, proto: !0, forced: v || j }, x); return x; }; @@ -3899,8 +3900,8 @@ O = n(123).set, S = n(189), j = n(125), - E = n(191), - A = n(126), + A = n(191), + E = n(126), k = n(192), C = n(28), $ = n(100), @@ -3908,20 +3909,20 @@ T = n(51), L = n(52), R = P('species'), - z = 'Promise', - D = C.get, + D = 'Promise', + z = C.get, I = C.set, - M = C.getterFor(z), + M = C.getterFor(D), N = l, U = s.TypeError, F = s.document, B = s.process, V = f('fetch'), - H = A.f, + H = E.f, q = H, W = !!(F && F.createEvent && s.dispatchEvent), G = 'function' == typeof PromiseRejectionEvent, - K = $(z, function() { + K = $(D, function() { if (!(b(N) !== String(N))) { if (66 === L) return !0; if (!T && !G) return !0; @@ -3988,7 +3989,7 @@ : (r = { promise: e, reason: n }), !G && (o = s['on' + t]) ? o(r) - : 'unhandledrejection' === t && E('Unhandled promise rejection', n); + : 'unhandledrejection' === t && A('Unhandled promise rejection', n); }, Z = function(t) { O.call(s, function() { @@ -4046,8 +4047,8 @@ }; K && ((N = function(t) { - g(this, N, z), m(t), r.call(this); - var e = D(this); + g(this, N, D), m(t), r.call(this); + var e = z(this); try { t(nt(ot, e), nt(rt, e)); } catch (t) { @@ -4056,7 +4057,7 @@ }), ((r = function(t) { I(this, { - type: z, + type: D, done: !1, notified: !1, parent: !1, @@ -4085,10 +4086,10 @@ })), (o = function() { var t = new r(), - e = D(t); + e = z(t); (this.promise = t), (this.resolve = nt(ot, e)), (this.reject = nt(rt, e)); }), - (A.f = H = function(t) { + (E.f = H = function(t) { return t === N || t === i ? new o(t) : q(t); }), c || @@ -4115,11 +4116,11 @@ }, ))), u({ global: !0, wrap: !0, forced: K }, { Promise: N }), - d(N, z, !1, !0), - v(z), - (i = f(z)), + d(N, D, !1, !0), + v(D), + (i = f(D)), u( - { target: z, stat: !0, forced: K }, + { target: D, stat: !0, forced: K }, { reject: function(t) { var e = H(this); @@ -4128,7 +4129,7 @@ }, ), u( - { target: z, stat: !0, forced: c || K }, + { target: D, stat: !0, forced: c || K }, { resolve: function(t) { return j(c && this === i ? N : this, t); @@ -4136,7 +4137,7 @@ }, ), u( - { target: z, stat: !0, forced: J }, + { target: D, stat: !0, forced: J }, { all: function(t) { var e = this, @@ -5064,8 +5065,8 @@ S = x && p.call(e, '__wrapped__'); if (O || S) { var j = O ? t.value() : t, - E = S ? e.value() : e; - return v || (v = new r()), d(j, E, n, h, v); + A = S ? e.value() : e; + return v || (v = new r()), d(j, A, n, h, v); } } return !!w && (v || (v = new r()), a(t, e, n, h, d, v)); @@ -5881,12 +5882,12 @@ return e ? e.toUpperCase() : ''; }); }), - E = O(function(t) { + A = O(function(t) { return t.charAt(0).toUpperCase() + t.slice(1); }), - A = /\B([A-Z])/g, + E = /\B([A-Z])/g, k = O(function(t) { - return t.replace(A, '-$1').toLowerCase(); + return t.replace(E, '-$1').toLowerCase(); }); var C = Function.prototype.bind ? function(t, e) { @@ -5916,10 +5917,10 @@ var R = function(t, e, n) { return !1; }, - z = function(t) { + D = function(t) { return t; }; - function D(t, e) { + function z(t, e) { if (t === e) return !0; var n = f(t), r = f(e); @@ -5931,7 +5932,7 @@ return ( t.length === e.length && t.every(function(t, n) { - return D(t, e[n]); + return z(t, e[n]); }) ); if (t instanceof Date && e instanceof Date) return t.getTime() === e.getTime(); @@ -5941,7 +5942,7 @@ return ( a.length === u.length && a.every(function(n) { - return D(t[n], e[n]); + return z(t[n], e[n]); }) ); } catch (t) { @@ -5949,7 +5950,7 @@ } } function I(t, e) { - for (var n = 0; n < t.length; n++) if (D(t[n], e)) return n; + for (var n = 0; n < t.length; n++) if (z(t[n], e)) return n; return -1; } function M(t) { @@ -5987,7 +5988,7 @@ isReservedAttr: R, isUnknownElement: R, getTagNamespace: L, - parsePlatformTagName: z, + parsePlatformTagName: D, mustUseProp: R, async: !0, _lifecycleHooks: U, @@ -6174,7 +6175,7 @@ function jt(t) { St = t; } - var Et = function(t) { + var At = function(t) { (this.value = t), (this.dep = new pt()), (this.vmCount = 0), @@ -6193,18 +6194,18 @@ this.observeArray(t)) : this.walk(t); }; - function At(t, e) { + function Et(t, e) { var n; if (f(t) && !(t instanceof yt)) return ( - w(t, '__ob__') && t.__ob__ instanceof Et + w(t, '__ob__') && t.__ob__ instanceof At ? (n = t.__ob__) : St && !it() && (Array.isArray(t) || p(t)) && Object.isExtensible(t) && !t._isVue && - (n = new Et(t)), + (n = new At(t)), e && n && n.vmCount++, n ); @@ -6216,7 +6217,7 @@ var u = a && a.get, c = a && a.set; (u && !c) || 2 !== arguments.length || (n = t[e]); - var s = !o && At(n); + var s = !o && Et(n); Object.defineProperty(t, e, { enumerable: !0, configurable: !0, @@ -6229,7 +6230,7 @@ e === r || (e != e && r != r) || (u && !c) || - (c ? c.call(t, e) : (n = e), (s = !o && At(e)), i.notify()); + (c ? c.call(t, e) : (n = e), (s = !o && Et(e)), i.notify()); }, }); } @@ -6255,11 +6256,11 @@ for (var e = void 0, n = 0, r = t.length; n < r; n++) (e = t[n]) && e.__ob__ && e.__ob__.dep.depend(), Array.isArray(e) && Pt(e); } - (Et.prototype.walk = function(t) { + (At.prototype.walk = function(t) { for (var e = Object.keys(t), n = 0; n < e.length; n++) kt(t, e[n]); }), - (Et.prototype.observeArray = function(t) { - for (var e = 0, n = t.length; e < n; e++) At(t[e]); + (At.prototype.observeArray = function(t) { + for (var e = 0, n = t.length; e < n; e++) Et(t[e]); }); var Tt = F.optionMergeStrategies; function Lt(t, e) { @@ -6287,7 +6288,7 @@ : e : t; } - function zt(t, e) { + function Dt(t, e) { var n = e ? (t ? t.concat(e) : Array.isArray(e) ? e : [e]) : t; return n ? (function(t) { @@ -6296,7 +6297,7 @@ })(n) : n; } - function Dt(t, e, n, r) { + function zt(t, e, n, r) { var o = Object.create(t || null); return e ? P(o, e) : o; } @@ -6304,10 +6305,10 @@ return n ? Rt(t, e, n) : e && 'function' != typeof e ? t : Rt(t, e); }), U.forEach(function(t) { - Tt[t] = zt; + Tt[t] = Dt; }), N.forEach(function(t) { - Tt[t + 's'] = Dt; + Tt[t + 's'] = zt; }), (Tt.watch = function(t, e, n, r) { if ((t === nt && (t = void 0), e === nt && (e = void 0), !e)) @@ -6387,7 +6388,7 @@ if (w(o, n)) return o[n]; var i = j(n); if (w(o, i)) return o[i]; - var a = E(i); + var a = A(i); return w(o, a) ? o[a] : o[n] || o[i] || o[a]; } } @@ -6417,7 +6418,7 @@ return 'function' == typeof r && 'Function' !== Ft(e.type) ? r.call(t) : r; })(r, o, t); var s = St; - jt(!0), At(a), jt(s); + jt(!0), Et(a), jt(s); } return a; } @@ -6751,7 +6752,7 @@ return a ? this.$createElement('template', { slot: a }, o) : o; } function xe(t) { - return Nt(this.$options, 'filters', t) || z; + return Nt(this.$options, 'filters', t) || D; } function we(t, e) { return Array.isArray(t) ? -1 === t.indexOf(e) : t !== e; @@ -6793,7 +6794,7 @@ r = n[t]; return ( (r && !e) || - Ae( + Ee( (r = n[t] = this.$options.staticRenderFns[t].call(this._renderProxy, null, this)), '__static__' + t, !1, @@ -6801,10 +6802,10 @@ r ); } - function Ee(t, e, n) { - return Ae(t, '__once__' + e + (n ? '_' + n : ''), !0), t; - } function Ae(t, e, n) { + return Ee(t, '__once__' + e + (n ? '_' + n : ''), !0), t; + } + function Ee(t, e, n) { if (Array.isArray(t)) for (var r = 0; r < t.length; r++) t[r] && 'string' != typeof t[r] && ke(t[r], e + '_' + r, n); @@ -6844,12 +6845,12 @@ return 'string' == typeof t ? e + t : t; } function Le(t) { - (t._o = Ee), + (t._o = Ae), (t._n = m), (t._s = y), (t._l = be), (t._t = _e), - (t._q = D), + (t._q = z), (t._i = I), (t._m = je), (t._f = xe), @@ -6897,13 +6898,13 @@ return Fe(a, t, e, n, r, l); }); } - function ze(t, e, n, r, o) { + function De(t, e, n, r, o) { var i = _t(t); return ( (i.fnContext = n), (i.fnOptions = r), e.slot && ((i.data || (i.data = {})).slot = e.slot), i ); } - function De(t, e) { + function ze(t, e) { for (var n in e) t[j(n)] = e[n]; } Le(Re.prototype); @@ -7082,13 +7083,13 @@ c = {}, s = a.props; if (u(s)) for (var f in s) c[f] = Ut(f, s, e || i); - else u(n.attrs) && De(c, n.attrs), u(n.props) && De(c, n.props); + else u(n.attrs) && ze(c, n.attrs), u(n.props) && ze(c, n.props); var l = new Re(n, c, o, r, t), p = a.render.call(null, l._c, l); - if (p instanceof yt) return ze(p, n, l.parent, a, l); + if (p instanceof yt) return De(p, n, l.parent, a, l); if (Array.isArray(p)) { for (var h = le(p) || [], d = new Array(h.length), v = 0; v < h.length; v++) - d[v] = ze(h[v], n, l.parent, a, l); + d[v] = De(h[v], n, l.parent, a, l); return d; } })(t, p, e, n, r); @@ -7466,9 +7467,9 @@ 36 !== (a = (i + '').charCodeAt(0)) && 95 !== a && yn(t, '_data', i)); } var a; - At(e, !0); + Et(e, !0); })(t) - : At((t._data = {}), !0), + : Et((t._data = {}), !0), e.computed && (function(t, e) { var n = (t._computedWatchers = Object.create(null)), @@ -7536,7 +7537,7 @@ function jn(t) { this._init(t); } - function En(t) { + function An(t) { t.cid = 0; var e = 1; t.extend = function(t) { @@ -7579,7 +7580,7 @@ ); }; } - function An(t) { + function En(t) { return t && (t.Ctor.options.name || t.tag); } function kn(t, e) { @@ -7596,7 +7597,7 @@ for (var i in n) { var a = n[i]; if (a) { - var u = An(a.componentOptions); + var u = En(a.componentOptions); u && !e(u) && $n(n, i, r, o); } } @@ -7852,7 +7853,7 @@ e = We(t), n = e && e.componentOptions; if (n) { - var r = An(n), + var r = En(n), o = this.include, i = this.exclude; if ((o && (!r || !kn(o, r))) || (i && r && kn(i, r))) return e; @@ -7882,7 +7883,7 @@ (t.delete = $t), (t.nextTick = re), (t.observable = function(t) { - return At(t), t; + return Et(t), t; }), (t.options = Object.create(null)), N.forEach(function(e) { @@ -7910,7 +7911,7 @@ return (this.options = Mt(this.options, t)), this; }; })(t), - En(t), + An(t), (function(t) { N.forEach(function(e) { t[e] = function(t, n) { @@ -7936,8 +7937,8 @@ (jn.version = '2.6.12'); var Ln = g('style,class'), Rn = g('input,textarea,option,select,progress'), - zn = g('contenteditable,draggable,spellcheck'), - Dn = g('events,caret,typing,plaintext-only'), + Dn = g('contenteditable,draggable,spellcheck'), + zn = g('events,caret,typing,plaintext-only'), In = g( 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible', ), @@ -8175,7 +8176,7 @@ for (r in (u(s.__ob__) && (s = e.data.attrs = P({}, s)), s)) (o = s[r]), c[r] !== o && hr(i, r, o); for (r in ((Q || Z) && s.value !== c.value && hr(i, 'value', s.value), c)) - a(s[r]) && (Nn(r) ? i.removeAttributeNS(Mn, Un(r)) : zn(r) || i.removeAttribute(r)); + a(s[r]) && (Nn(r) ? i.removeAttributeNS(Mn, Un(r)) : Dn(r) || i.removeAttribute(r)); } } function hr(t, e, n) { @@ -8186,13 +8187,13 @@ ? t.removeAttribute(e) : ((n = 'allowfullscreen' === e && 'EMBED' === t.tagName ? 'true' : e), t.setAttribute(e, n)) - : zn(e) + : Dn(e) ? t.setAttribute( e, (function(t, e) { return Fn(e) || 'false' === e ? 'false' - : 'contenteditable' === t && Dn(e) + : 'contenteditable' === t && zn(e) ? e : 'true'; })(e, n), @@ -8274,7 +8275,7 @@ } var Sr, jr = { create: Or, update: Or }; - function Er(t, e) { + function Ar(t, e) { if (!a(t.data.domProps) || !a(e.data.domProps)) { var n, r, @@ -8290,7 +8291,7 @@ if ('value' === n && 'PROGRESS' !== o.tagName) { o._value = r; var s = a(r) ? '' : String(r); - Ar(o, s) && (o.value = s); + Er(o, s) && (o.value = s); } else if ('innerHTML' === n && Kn(o.tagName) && a(o.innerHTML)) { (Sr = Sr || document.createElement('div')).innerHTML = '' + r + ''; for (var f = Sr.firstChild; o.firstChild; ) o.removeChild(o.firstChild); @@ -8302,7 +8303,7 @@ } } } - function Ar(t, e) { + function Er(t, e) { return ( !t.composing && ('OPTION' === t.tagName || @@ -8324,7 +8325,7 @@ })(t, e)) ); } - var kr = { create: Er, update: Er }, + var kr = { create: Ar, update: Ar }, Cr = O(function(t) { var e = {}, n = /:(.+)/; @@ -8348,7 +8349,7 @@ var Tr, Lr = /^--/, Rr = /\s*!important$/, - zr = function(t, e, n) { + Dr = function(t, e, n) { if (Lr.test(e)) t.style.setProperty(e, n); else if (Rr.test(n)) t.style.setProperty(k(e), n.replace(Rr, ''), 'important'); else { @@ -8357,12 +8358,12 @@ else t.style[r] = n; } }, - Dr = ['Webkit', 'Moz', 'ms'], + zr = ['Webkit', 'Moz', 'ms'], Ir = O(function(t) { if (((Tr = Tr || document.createElement('div').style), 'filter' !== (t = j(t)) && t in Tr)) return t; - for (var e = t.charAt(0).toUpperCase() + t.slice(1), n = 0; n < Dr.length; n++) { - var r = Dr[n] + e; + for (var e = t.charAt(0).toUpperCase() + t.slice(1), n = 0; n < zr.length; n++) { + var r = zr[n] + e; if (r in Tr) return r; } }); @@ -8388,8 +8389,8 @@ for (var i = t; (i = i.parent); ) i.data && (n = $r(i.data)) && P(r, n); return r; })(e, !0); - for (i in l) a(h[i]) && zr(c, i, ''); - for (i in h) (o = h[i]) !== l[i] && zr(c, i, null == o ? '' : o); + for (i in l) a(h[i]) && Dr(c, i, ''); + for (i in h) (o = h[i]) !== l[i] && Dr(c, i, null == o ? '' : o); } } var Nr = { create: Mr, update: Mr }, @@ -8561,27 +8562,27 @@ O = r.appearCancelled, S = r.duration, j = Qe, - E = Qe.$vnode; - E && E.parent; + A = Qe.$vnode; + A && A.parent; ) - (j = E.context), (E = E.parent); - var A = !j._isMounted || !t.isRootInsert; - if (!A || x || '' === x) { - var k = A && p ? p : c, - C = A && d ? d : l, - $ = A && h ? h : s, - P = (A && _) || v, - T = A && 'function' == typeof x ? x : y, - L = (A && w) || g, - R = (A && O) || b, - z = m(f(S) ? S.enter : S); + (j = A.context), (A = A.parent); + var E = !j._isMounted || !t.isRootInsert; + if (!E || x || '' === x) { + var k = E && p ? p : c, + C = E && d ? d : l, + $ = E && h ? h : s, + P = (E && _) || v, + T = E && 'function' == typeof x ? x : y, + L = (E && w) || g, + R = (E && O) || b, + D = m(f(S) ? S.enter : S); 0; - var D = !1 !== o && !Y, + var z = !1 !== o && !Y, I = co(T), N = (n._enterCb = M(function() { - D && (Zr(n, $), Zr(n, C)), - N.cancelled ? (D && Zr(n, k), R && R(n)) : L && L(n), + z && (Zr(n, $), Zr(n, C)), + N.cancelled ? (z && Zr(n, k), R && R(n)) : L && L(n), (n._enterCb = null); })); t.data.show || @@ -8591,14 +8592,14 @@ r && r.tag === t.tag && r.elm._leaveCb && r.elm._leaveCb(), T && T(n, N); }), P && P(n), - D && + z && (Yr(n, k), Yr(n, C), Qr(function() { - Zr(n, k), N.cancelled || (Yr(n, $), I || (uo(z) ? setTimeout(N, z) : to(n, i, N))); + Zr(n, k), N.cancelled || (Yr(n, $), I || (uo(D) ? setTimeout(N, D) : to(n, i, N))); })), t.data.show && (e && e(), T && T(n, N)), - D || I || N(); + z || I || N(); } } } @@ -8803,7 +8804,7 @@ u(e.elm) && u(o) && (e = o[s] = _t(e)); var p = (e.elm = t.elm); if (c(t.isAsyncPlaceholder)) - u(e.asyncFactory.resolved) ? A(t.elm, e, n) : (e.isAsyncPlaceholder = !0); + u(e.asyncFactory.resolved) ? E(t.elm, e, n) : (e.isAsyncPlaceholder = !0); else if ( c(e.isStatic) && c(t.isStatic) && @@ -8883,8 +8884,8 @@ if (c(n) && u(t.parent)) t.parent.data.pendingInsert = e; else for (var r = 0; r < e.length; ++r) e[r].data.hook.insert(e[r]); } - var E = g('attrs,class,staticClass,staticStyle,key'); - function A(t, e, n, r) { + var A = g('attrs,class,staticClass,staticStyle,key'); + function E(t, e, n, r) { var o, i = e.tag, a = e.data, @@ -8900,7 +8901,7 @@ if (o !== t.innerHTML) return !1; } else { for (var f = !0, l = t.firstChild, h = 0; h < s.length; h++) { - if (!l || !A(l, s[h], n, r)) { + if (!l || !E(l, s[h], n, r)) { f = !1; break; } @@ -8912,7 +8913,7 @@ if (u(a)) { var v = !1; for (var m in a) - if (!E(m)) { + if (!A(m)) { (v = !0), y(e, n); break; } @@ -8936,7 +8937,7 @@ (1 === t.nodeType && t.hasAttribute('data-server-rendered') && (t.removeAttribute('data-server-rendered'), (n = !0)), - c(n) && A(t, e, p)) + c(n) && E(t, e, p)) ) return j(e, p, !0), t; (s = t), (t = new yt(i.tagName(s).toLowerCase(), {}, [], void 0, s)); @@ -8949,7 +8950,7 @@ if (((m.elm = e.elm), g)) { for (var w = 0; w < r.create.length; ++w) r.create[w](er, m); var O = m.data.hook.insert; - if (O.merged) for (var E = 1; E < O.fns.length; E++) O.fns[E](); + if (O.merged) for (var A = 1; A < O.fns.length; A++) O.fns[A](); } else tr(m); m = m.parent; } @@ -9008,7 +9009,7 @@ o = (t._vOptions = [].map.call(t.options, yo)); if ( o.some(function(t, e) { - return !D(t, r[e]); + return !z(t, r[e]); }) ) (t.multiple @@ -9032,13 +9033,13 @@ if (!o || Array.isArray(r)) { for (var i, a, u = 0, c = t.options.length; u < c; u++) if (((a = t.options[u]), o)) (i = I(r, yo(a)) > -1), a.selected !== i && (a.selected = i); - else if (D(yo(a), r)) return void (t.selectedIndex !== u && (t.selectedIndex = u)); + else if (z(yo(a), r)) return void (t.selectedIndex !== u && (t.selectedIndex = u)); o || (t.selectedIndex = -1); } } function vo(t, e) { return e.every(function(e) { - return !D(e, t); + return !z(e, t); }); } function yo(t) { @@ -9125,10 +9126,10 @@ if (/\d-keep-alive$/.test(e.tag)) return t('keep-alive', { props: e.componentOptions.propsData }); } - var Eo = function(t) { + var Ao = function(t) { return t.tag || qe(t); }, - Ao = function(t) { + Eo = function(t) { return 'show' === t.name; }, ko = { @@ -9138,7 +9139,7 @@ render: function(t) { var e = this, n = this.$slots.default; - if (n && (n = n.filter(Eo)).length) { + if (n && (n = n.filter(Ao)).length) { 0; var r = this.mode; 0; @@ -9167,7 +9168,7 @@ c = this._vnode, f = Oo(c); if ( - (i.data.directives && i.data.directives.some(Ao) && (i.data.show = !0), + (i.data.directives && i.data.directives.some(Eo) && (i.data.show = !0), f && f.data && !(function(t, e) { @@ -9382,18 +9383,18 @@ * vue-router v3.4.9 * (c) 2020 Evan You * @license MIT - */ function zo(t, e) { + */ function Do(t, e) { for (var n in e) t[n] = e[n]; return t; } - var Do = /[!'()*]/g, + var zo = /[!'()*]/g, Io = function(t) { return '%' + t.charCodeAt(0).toString(16); }, Mo = /%2C/g, No = function(t) { return encodeURIComponent(t) - .replace(Do, Io) + .replace(zo, Io) .replace(Mo, ','); }; function Uo(t) { @@ -9578,7 +9579,7 @@ Yo(c); }); var m = v.props && v.props[u]; - return m && (zo(s[u], { route: c, configProps: m }), ti(y, i, c, m)), a(y, i, r); + return m && (Do(s[u], { route: c, configProps: m }), ti(y, i, c, m)), a(y, i, r); }, }; function ti(t, e, n, r) { @@ -9597,7 +9598,7 @@ } })(n, r)); if (o) { - o = e.props = zo({}, o); + o = e.props = Do({}, o); var i = (e.attrs = e.attrs || {}); for (var a in o) (t.props && a in t.props) || ((i[a] = o[a]), delete o[a]); } @@ -9847,12 +9848,12 @@ var o = 'string' == typeof t ? { path: t } : t; if (o._normalized) return o; if (o.name) { - var i = (o = zo({}, t)).params; - return i && 'object' == typeof i && (o.params = zo({}, i)), o; + var i = (o = Do({}, t)).params; + return i && 'object' == typeof i && (o.params = Do({}, i)), o; } if (!o.path && o.params && e) { - (o = zo({}, o))._normalized = !0; - var a = zo(zo({}, e.params), o.params); + (o = Do({}, o))._normalized = !0; + var a = Do(Do({}, e.params), o.params); if (e.name) (o.name = e.name), (o.params = a); else if (e.matched.length) { var u = e.matched[e.matched.length - 1].path; @@ -9973,14 +9974,14 @@ })(this.$slots.default); if (x) { x.isStatic = !1; - var w = (x.data = zo({}, x.data)); + var w = (x.data = Do({}, x.data)); for (var O in ((w.on = w.on || {}), w.on)) { var S = w.on[O]; O in g && (w.on[O] = Array.isArray(S) ? S : [S]); } for (var j in g) j in w.on ? w.on[j].push(g[j]) : (w.on[j] = m); - var E = (x.data.attrs = zo({}, x.data.attrs)); - (E.href = u), (E['aria-current'] = y); + var A = (x.data.attrs = Do({}, x.data.attrs)); + (A.href = u), (A['aria-current'] = y); } else b.on = g; } return t(this.tag, b, this.$slots.default); @@ -10004,8 +10005,8 @@ return t.preventDefault && t.preventDefault(), !0; } } - var Ei = 'undefined' != typeof window; - function Ai(t, e, n, r) { + var Ai = 'undefined' != typeof window; + function Ei(t, e, n, r) { var o = e || [], i = n || Object.create(null), a = r || Object.create(null); @@ -10059,7 +10060,7 @@ return oi(t, [], e); } function Ci(t, e) { - var n = Ai(t), + var n = Ei(t), r = n.pathList, o = n.pathMap, i = n.nameMap; @@ -10137,7 +10138,7 @@ return { match: a, addRoutes: function(t) { - Ai(t, r, o, i); + Ei(t, r, o, i); }, }; } @@ -10151,7 +10152,7 @@ } return !0; } - var Pi = Ei && window.performance && window.performance.now ? window.performance : Date; + var Pi = Ai && window.performance && window.performance.now ? window.performance : Date; function Ti() { return Pi.now().toFixed(3); } @@ -10159,15 +10160,15 @@ function Ri() { return Li; } - function zi(t) { + function Di(t) { return (Li = t); } - var Di = Object.create(null); + var zi = Object.create(null); function Ii() { 'scrollRestoration' in window.history && (window.history.scrollRestoration = 'manual'); var t = window.location.protocol + '//' + window.location.host, e = window.location.href.replace(t, ''), - n = zo({}, window.history.state); + n = Do({}, window.history.state); return ( (n.key = Ri()), window.history.replaceState(n, '', e), @@ -10184,7 +10185,7 @@ t.app.$nextTick(function() { var i = (function() { var t = Ri(); - if (t) return Di[t]; + if (t) return zi[t]; })(), a = o.call(t, e, n, r ? i : null); a && @@ -10202,10 +10203,10 @@ } function Ni() { var t = Ri(); - t && (Di[t] = { x: window.pageXOffset, y: window.pageYOffset }); + t && (zi[t] = { x: window.pageXOffset, y: window.pageYOffset }); } function Ui(t) { - Ni(), t.state && t.state.key && zi(t.state.key); + Ni(), t.state && t.state.key && Di(t.state.key); } function Fi(t) { return Vi(t.x) || Vi(t.y); @@ -10240,7 +10241,7 @@ } var Wi, Gi = - Ei && + Ai && ((-1 === (Wi = window.navigator.userAgent).indexOf('Android 2.') && -1 === Wi.indexOf('Android 4.0')) || -1 === Wi.indexOf('Mobile Safari') || @@ -10253,9 +10254,9 @@ var n = window.history; try { if (e) { - var r = zo({}, n.state); + var r = Do({}, n.state); (r.key = Ri()), n.replaceState(r, '', t); - } else n.pushState({ key: zi(Ti()) }, '', t); + } else n.pushState({ key: Di(Ti()) }, '', t); } catch (n) { window.location[e ? 'replace' : 'assign'](t); } @@ -10382,7 +10383,7 @@ (this.router = t), (this.base = (function(t) { if (!t) - if (Ei) { + if (Ai) { var e = document.querySelector('base'); t = (t = (e && e.getAttribute('href')) || '/').replace(/^https?:\/\/[^\/]+/, ''); } else t = '/'; @@ -10823,7 +10824,7 @@ switch ( ((this.fallback = 'history' === e && !Gi && !1 !== t.fallback), this.fallback && (e = 'hash'), - Ei || (e = 'abstract'), + Ai || (e = 'abstract'), (this.mode = e), e) ) { @@ -11005,7 +11006,7 @@ (xa.version = '3.4.9'), (xa.isNavigationFailure = ra), (xa.NavigationFailureType = Qi), - Ei && window.Vue && window.Vue.use(xa); + Ai && window.Vue && window.Vue.use(xa); var Sa = xa; n(93), n(197), n(199), n(201), n(133), n(94), n(202), n(95); function ja(t) { @@ -11016,8 +11017,8 @@ Object.freeze(t); } n(174), n(134), n(43), n(176), n(66), n(56), n(57), n(82); - function Ea(t) { - return (Ea = + function Aa(t) { + return (Aa = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function(t) { return typeof t; @@ -11031,7 +11032,7 @@ : typeof t; })(t); } - var Aa = n(40), + var Ea = n(40), ka = { NotFound: function() { return n.e(18).then(n.bind(null, 378)); @@ -11044,62 +11045,65 @@ 'v-50357228': function() { return n.e(21).then(n.bind(null, 383)); }, - 'v-77cb6b9f': function() { - return n.e(9).then(n.bind(null, 384)); - }, 'v-11d3734f': function() { - return n.e(19).then(n.bind(null, 385)); + return n.e(19).then(n.bind(null, 384)); + }, + 'v-77cb6b9f': function() { + return n.e(9).then(n.bind(null, 385)); }, 'v-27f2dbac': function() { return n.e(20).then(n.bind(null, 386)); }, - 'v-2c7961a6': function() { - return n.e(22).then(n.bind(null, 387)); - }, 'v-358de850': function() { - return n.e(10).then(n.bind(null, 388)); + return n.e(10).then(n.bind(null, 387)); + }, + 'v-2c7961a6': function() { + return n.e(22).then(n.bind(null, 388)); + }, + 'v-50c154a8': function() { + return n.e(24).then(n.bind(null, 389)); }, 'v-6be2680e': function() { - return n.e(23).then(n.bind(null, 389)); + return n.e(23).then(n.bind(null, 390)); }, 'v-1c499b2c': function() { - return n.e(11).then(n.bind(null, 390)); - }, - 'v-3e53f828': function() { - return n.e(24).then(n.bind(null, 391)); - }, - 'v-94956b5c': function() { - return n.e(12).then(n.bind(null, 392)); - }, - 'v-4574ee28': function() { - return n.e(26).then(n.bind(null, 393)); - }, - 'v-f3d01ce0': function() { - return n.e(7).then(n.bind(null, 394)); - }, - 'v-1995786c': function() { - return n.e(13).then(n.bind(null, 395)); + return n.e(11).then(n.bind(null, 391)); }, 'v-25c71eb8': function() { - return n.e(25).then(n.bind(null, 396)); + return n.e(26).then(n.bind(null, 392)); }, - 'v-0be2f96c': function() { - return n.e(28).then(n.bind(null, 397)); + 'v-3e53f828': function() { + return n.e(25).then(n.bind(null, 393)); + }, + 'v-4574ee28': function() { + return n.e(27).then(n.bind(null, 394)); + }, + 'v-94956b5c': function() { + return n.e(12).then(n.bind(null, 395)); + }, + 'v-f3d01ce0': function() { + return n.e(7).then(n.bind(null, 396)); + }, + 'v-1995786c': function() { + return n.e(13).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-0be2f96c': function() { + return n.e(29).then(n.bind(null, 399)); }, 'v-a9b10980': function() { return n.e(8).then(n.bind(null, 400)); }, + 'v-76fd0d8c': function() { + return n.e(28).then(n.bind(null, 401)); + }, 'v-c2ed5468': function() { - return n.e(15).then(n.bind(null, 401)); + return n.e(15).then(n.bind(null, 402)); }, 'v-3f5a1068': function() { - return n.e(16).then(n.bind(null, 402)); + return n.e(16).then(n.bind(null, 403)); }, }; function $a(t) { @@ -11118,11 +11122,11 @@ Ra = $a(function(t) { return t.replace(La, '-$1').toLowerCase(); }), - za = $a(function(t) { + Da = $a(function(t) { return t.charAt(0).toUpperCase() + t.slice(1); }); - function Da(t, e) { - if (e) return t(e) ? t(e) : e.includes('-') ? t(za(Ta(e))) : t(za(e)) || t(Ra(e)); + function za(t, e) { + if (e) return t(e) ? t(e) : e.includes('-') ? t(Da(Ta(e))) : t(Da(e)) || t(Ra(e)); } var Ia = Object.assign({}, ka, Ca), Ma = function(t) { @@ -11138,16 +11142,16 @@ return Ro.component(t); }; function Ba(t) { - return Da(Na, t); + return za(Na, t); } function Va(t) { - return Da(Ua, t); + return za(Ua, t); } function Ha(t) { - return Da(Ma, t); + return za(Ma, t); } function qa(t) { - return Da(Fa, t); + return za(Fa, t); } function Wa() { for (var t = arguments.length, e = new Array(t), n = 0; n < t; n++) e[n] = arguments[n]; @@ -11265,7 +11269,7 @@ var e; }, mounted: function() { - (this.currentMetaTags = Object(Aa.a)(document.querySelectorAll('meta'))), + (this.currentMetaTags = Object(Ea.a)(document.querySelectorAll('meta'))), this.updateMeta(), this.updateCanonicalLink(); }, @@ -11310,7 +11314,7 @@ function eu(t, e) { if ( (e && - Object(Aa.a)(e) + Object(Ea.a)(e) .filter(function(t) { return t.parentNode === document.head; }) @@ -11454,7 +11458,7 @@ t[e] || (t[e] = {}), Object.assign(t[e], n); break; case 'mixins': - t[e] || (t[e] = []), (r = t[e]).push.apply(r, Object(Aa.a)(n)); + t[e] || (t[e] = []), (r = t[e]).push.apply(r, Object(Ea.a)(n)); break; default: throw new Error('Unknown option name.'); @@ -11469,15 +11473,6 @@ Wa('Layout', 'v-50357228').then(n); }, }, - { - name: 'v-77cb6b9f', - path: '/zh/guide/', - component: fu, - beforeEnter: function(t, e, n) { - Wa('Layout', 'v-77cb6b9f').then(n); - }, - }, - { path: '/zh/guide/index.html', redirect: '/zh/guide/' }, { name: 'v-11d3734f', path: '/', @@ -11487,6 +11482,15 @@ }, }, { path: '/index.html', redirect: '/' }, + { + name: 'v-77cb6b9f', + path: '/zh/guide/', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-77cb6b9f').then(n); + }, + }, + { path: '/zh/guide/index.html', redirect: '/zh/guide/' }, { name: 'v-27f2dbac', path: '/zh/guide/building.html', @@ -11495,6 +11499,14 @@ Wa('Layout', 'v-27f2dbac').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', @@ -11504,11 +11516,11 @@ }, }, { - name: 'v-358de850', - path: '/zh/guide/componentDev/dynamicLoading.html', + name: 'v-50c154a8', + path: '/zh/guide/deployDev/dir.html', component: fu, beforeEnter: function(t, e, n) { - Wa('Layout', 'v-358de850').then(n); + Wa('Layout', 'v-50c154a8').then(n); }, }, { @@ -11527,6 +11539,14 @@ Wa('Layout', 'v-1c499b2c').then(n); }, }, + { + name: 'v-25c71eb8', + path: '/zh/guide/deployDev/oss.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-25c71eb8').then(n); + }, + }, { name: 'v-3e53f828', path: '/zh/guide/deployDev/https.html', @@ -11535,14 +11555,6 @@ Wa('Layout', 'v-3e53f828').then(n); }, }, - { - name: 'v-94956b5c', - path: '/zh/guide/deployDev/deploy_v6.html', - component: fu, - beforeEnter: function(t, e, n) { - Wa('Layout', 'v-94956b5c').then(n); - }, - }, { name: 'v-4574ee28', path: '/zh/guide/directoryStructure.html', @@ -11551,6 +11563,14 @@ Wa('Layout', 'v-4574ee28').then(n); }, }, + { + name: 'v-94956b5c', + path: '/zh/guide/deployDev/deploy_v6.html', + component: fu, + beforeEnter: function(t, e, n) { + Wa('Layout', 'v-94956b5c').then(n); + }, + }, { name: 'v-f3d01ce0', path: '/zh/guide/functionRealization/pagePreview.html', @@ -11568,11 +11588,11 @@ }, }, { - name: 'v-25c71eb8', - path: '/zh/guide/deployDev/oss.html', + name: 'v-31643a8c', + path: '/zh/guide/functionRealization/screenshot.html', component: fu, beforeEnter: function(t, e, n) { - Wa('Layout', 'v-25c71eb8').then(n); + Wa('Layout', 'v-31643a8c').then(n); }, }, { @@ -11584,11 +11604,11 @@ }, }, { - name: 'v-31643a8c', - path: '/zh/guide/functionRealization/screenshot.html', + name: 'v-a9b10980', + path: '/zh/guide/functionRealization/templateLibrary.html', component: fu, beforeEnter: function(t, e, n) { - Wa('Layout', 'v-31643a8c').then(n); + Wa('Layout', 'v-a9b10980').then(n); }, }, { @@ -11599,14 +11619,6 @@ Wa('Layout', 'v-76fd0d8c').then(n); }, }, - { - name: 'v-a9b10980', - path: '/zh/guide/functionRealization/templateLibrary.html', - component: fu, - beforeEnter: function(t, e, n) { - Wa('Layout', 'v-a9b10980').then(n); - }, - }, { name: 'v-c2ed5468', path: '/zh/guide/introduced.html', @@ -11640,18 +11652,6 @@ 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: { @@ -11682,6 +11682,18 @@ path: '/', lastUpdated: '1/17/2021, 11:22:04 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', @@ -11690,6 +11702,15 @@ path: '/zh/guide/building.html', lastUpdated: '1/17/2021, 11:22:04 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', @@ -11706,12 +11727,10 @@ }, { 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', + regularPath: '/zh/guide/deployDev/dir.html', + relativePath: 'zh/guide/deployDev/dir.md', + key: 'v-50c154a8', + path: '/zh/guide/deployDev/dir.html', }, { frontmatter: {}, @@ -11759,6 +11778,15 @@ ], lastUpdated: '4/20/2021, 10:19:10 PM', }, + { + frontmatter: {}, + regularPath: '/zh/guide/deployDev/oss.html', + relativePath: 'zh/guide/deployDev/oss.md', + key: 'v-25c71eb8', + path: '/zh/guide/deployDev/oss.html', + headers: [{ level: 3, title: '前端上传文件到oss', slug: '前端上传文件到oss' }], + lastUpdated: '1/31/2021, 1:25:02 AM', + }, { frontmatter: {}, regularPath: '/zh/guide/deployDev/https.html', @@ -11771,6 +11799,14 @@ ], lastUpdated: '1/31/2021, 1:25:02 AM', }, + { + frontmatter: {}, + regularPath: '/zh/guide/directoryStructure.html', + relativePath: 'zh/guide/directoryStructure.md', + key: 'v-4574ee28', + path: '/zh/guide/directoryStructure.html', + lastUpdated: '1/17/2021, 7:12:02 PM', + }, { frontmatter: {}, regularPath: '/zh/guide/deployDev/deploy_v6.html', @@ -11781,14 +11817,7 @@ { level: 3, title: '部署架构图', slug: '部署架构图' }, { level: 3, title: '步骤3.4详细流程', slug: '步骤3-4详细流程' }, ], - }, - { - frontmatter: {}, - regularPath: '/zh/guide/directoryStructure.html', - relativePath: 'zh/guide/directoryStructure.md', - key: 'v-4574ee28', - path: '/zh/guide/directoryStructure.html', - lastUpdated: '1/17/2021, 7:12:02 PM', + lastUpdated: '5/8/2021, 12:34:13 AM', }, { frontmatter: {}, @@ -11806,23 +11835,6 @@ path: '/zh/guide/functionRealization/machinePreview.html', lastUpdated: '1/17/2021, 9:57:34 PM', }, - { - frontmatter: {}, - regularPath: '/zh/guide/deployDev/oss.html', - relativePath: 'zh/guide/deployDev/oss.md', - key: 'v-25c71eb8', - path: '/zh/guide/deployDev/oss.html', - 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', @@ -11833,10 +11845,10 @@ }, { frontmatter: {}, - regularPath: '/zh/guide/functionRealization/revocation.html', - relativePath: 'zh/guide/functionRealization/revocation.md', - key: 'v-76fd0d8c', - path: '/zh/guide/functionRealization/revocation.html', + 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', }, { @@ -11852,6 +11864,14 @@ ], lastUpdated: '1/17/2021, 9:57:34 PM', }, + { + frontmatter: {}, + regularPath: '/zh/guide/functionRealization/revocation.html', + relativePath: 'zh/guide/functionRealization/revocation.md', + key: 'v-76fd0d8c', + path: '/zh/guide/functionRealization/revocation.html', + lastUpdated: '1/17/2021, 9:57:34 PM', + }, { frontmatter: {}, regularPath: '/zh/guide/introduced.html', @@ -11873,7 +11893,7 @@ { level: 2, title: '源码工程', slug: '源码工程' }, { level: 2, title: '本地运行', slug: '本地运行' }, ], - lastUpdated: '1/17/2021, 7:12:02 PM', + lastUpdated: '5/8/2021, 12:34:13 AM', }, ], themeConfig: { @@ -11997,6 +12017,12 @@ collapsable: !1, sidebarDepth: 1, }, + { + title: '服务端数据说明', + path: '/zh/guide/deployDev/dir', + collapsable: !1, + sidebarDepth: 1, + }, { title: '支持https', path: '/zh/guide/deployDev/https', @@ -12025,7 +12051,7 @@ 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, 403)); + return Promise.all([n.e(0), n.e(4)]).then(n.bind(null, 404)); }), Ro.component('CodeBlock', function() { return Promise.all([n.e(0), n.e(5)]).then(n.bind(null, 381)); @@ -12089,7 +12115,7 @@ } n(138), n(98); function _u(t, e) { - return !e || ('object' !== Ea(e) && 'function' != typeof e) + return !e || ('object' !== Aa(e) && 'function' != typeof e) ? (function(t) { if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); @@ -12204,7 +12230,7 @@ }).length > 0 ); } - var Eu = { + var Au = { props: { pageKey: String, slotKey: { type: String, default: 'default' } }, render: function(t) { var e = this.pageKey || this.$parent.$page.key; @@ -12215,7 +12241,7 @@ ); }, }, - Au = { + Eu = { functional: !0, props: { slotKey: String, required: !0 }, render: function(t, e) { @@ -12508,8 +12534,8 @@ })(); }, pu), ), - Ro.component('Content', Eu), - Ro.component('ContentSlotsDistributor', Au), + Ro.component('Content', Au), + Ro.component('ContentSlotsDistributor', Eu), Ro.component('OutboundLink', Cu), Ro.component('ClientOnly', { functional: !0, @@ -12528,7 +12554,7 @@ var e = this.$site.base; return '/' === t.charAt(0) ? e + t.slice(1) : t; }), - (window.__VUEPRESS__ = { version: '1.8.0', hash: 'f428a54' }), + (window.__VUEPRESS__ = { version: '1.8.0', hash: 'bcdb6c0' }), (function(t) { return $u.apply(this, arguments); })(!1).then(function(t) { diff --git a/doc-dist/index.html b/doc-dist/index.html index 6f9318e..b20a92d 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 ef5e88f..b163c01 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 f391b9b..7e9febe 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 4a45e61..dfdd9af 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;
 }
 
@@ -148,6 +148,6 @@
       
       →
     

- + diff --git a/doc-dist/zh/guide/componentDev/dynamicLoading.html b/doc-dist/zh/guide/componentDev/dynamicLoading.html index f70a6ab..1e94120 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 2bc565b..294de9b 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 b7c9d90..c222bb8 100644 --- a/doc-dist/zh/guide/deployDev/deploy.html +++ b/doc-dist/zh/guide/deployDev/deploy.html @@ -8,7 +8,7 @@ - + @@ -28,7 +28,7 @@ 体验 (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 index e5e64bb..8a60e46 100644 --- a/doc-dist/zh/guide/deployDev/deploy_v6.html +++ b/doc-dist/zh/guide/deployDev/deploy_v6.html @@ -8,7 +8,7 @@ - + @@ -28,16 +28,16 @@ 体验 (opens new window)

私有化部署需要获取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启动项目

私有化部署需要获取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启动项目

Last Updated: 5/8/2021, 12:34:13 AM
- + diff --git a/doc-dist/zh/guide/deployDev/dir.html b/doc-dist/zh/guide/deployDev/dir.html new file mode 100644 index 0000000..b9fc7c1 --- /dev/null +++ b/doc-dist/zh/guide/deployDev/dir.html @@ -0,0 +1,44 @@ + + + + + + h5-dooring + + + + + + + + +

服务端主要是我们的server工程, 数据主要存放在server/public下, 具体数据指代含义我们接下来会详细介绍.

  • bed 存放图片库中的分类图片, 私有化部署的用户可以直接在此处扩充图片(更好的建议是直接存到第三方图床)
  • h5 用户保存的h5数据文件, 一个页面对应一个json文件
  • h5_tpl 平台保存的模版数据文件夹 +
    • xxx.json 模版页面文件
    • tpls.json 模版库中的模版列表数据, 可以手动清空
  • h5_vip 会员数据目录 +
    • form 会员制作的含表单页面的表单收集数据
    • view.json 用户浏览量数据
    • vip.json 会员列表数据
    • vipCard.json 会员订单数据(暂时无用, 可删除)
  • image.json 图片库, 主要用来渲染页面的图片库数据
  • city.json 省市3级联动数据, 为表单组件提供数据支持
+ + + diff --git a/doc-dist/zh/guide/deployDev/https.html b/doc-dist/zh/guide/deployDev/https.html index 669be49..d299d03 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 550f395..dc9a0c7 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 397e927..679079b 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)
- + diff --git a/doc-dist/zh/guide/functionRealization/machinePreview.html b/doc-dist/zh/guide/functionRealization/machinePreview.html index 75d0df9..274192f 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 0b0c32a..d605d8d 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 98fd5c4..2cae600 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 6376c4e..e7a4cb2 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 f3878a3..04a458e 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 c8c61e6..f60cd7c 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 49be58f..c99fb4d 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 251b3f9..c8003f5 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 de00f83..a065172 100644 --- a/doc-dist/zh/guide/startedQuickly.html +++ b/doc-dist/zh/guide/startedQuickly.html @@ -8,7 +8,7 @@ - + @@ -28,9 +28,9 @@ 体验 (opens new window)

# 快速上手

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

# 环境准备

首先得有 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

注:推荐使用 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: 5/8/2021, 12:34:13 AM
- + diff --git a/doc/.vuepress/config.js b/doc/.vuepress/config.js index 38984b4..8d38ac7 100755 --- a/doc/.vuepress/config.js +++ b/doc/.vuepress/config.js @@ -130,6 +130,12 @@ module.exports = { collapsable: false, sidebarDepth: 1, }, + { + title: '服务端数据说明', + path: '/zh/guide/deployDev/dir', + collapsable: false, + sidebarDepth: 1, + }, { title: '支持https', path: '/zh/guide/deployDev/https', diff --git a/doc/zh/guide/deployDev/dir.md b/doc/zh/guide/deployDev/dir.md new file mode 100644 index 0000000..4413de2 --- /dev/null +++ b/doc/zh/guide/deployDev/dir.md @@ -0,0 +1,21 @@ + + +服务端主要是我们的`server`工程, 数据主要存放在`server/public`下, 具体数据指代含义我们接下来会详细介绍. +- bed 存放图片库中的分类图片, 私有化部署的用户可以直接在此处扩充图片(更好的建议是直接存到第三方图床) +- h5 用户保存的h5数据文件, 一个页面对应一个json文件 +- h5_tpl 平台保存的模版数据文件夹 + - xxx.json 模版页面文件 + - tpls.json 模版库中的模版列表数据, 可以手动清空 +- h5_vip 会员数据目录 + - form 会员制作的含表单页面的表单收集数据 + - view.json 用户浏览量数据 + - vip.json 会员列表数据 + - vipCard.json 会员订单数据(暂时无用, 可删除) +- image.json 图片库, 主要用来渲染页面的图片库数据 +- city.json 省市3级联动数据, 为表单组件提供数据支持 +