Merge remote-tracking branch 'origin/master'

This commit is contained in:
RalapChen 2021-06-01 23:05:21 +08:00
commit 7c406d175e
69 changed files with 2625 additions and 859 deletions

View File

@ -8,13 +8,13 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/18.e7ced042.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/17.c8b6849e.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/2.917402d3.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/19.67f92c26.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/18.81ac15ea.js"><link rel="prefetch" href="/doc/assets/js/2.a5de04a4.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><div class="theme-default-content"><h1>404</h1> <blockquote>How did we get here?</blockquote> <a href="/doc/" class="router-link-active">
<div id="app" data-server-rendered="true"><div class="theme-container"><div class="theme-default-content"><h1>404</h1> <blockquote>There's nothing here.</blockquote> <a href="/doc/" class="router-link-active">
Take me home.
</a></div></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/18.e7ced042.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/19.67f92c26.js" defer></script>
</body>
</html>

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 662 KiB

View File

@ -1,10 +1,10 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[11],
{
360: function(t, _, v) {
361: function(t, _, v) {
t.exports = v.p + 'assets/img/deploy.d1b1d698.png';
},
388: function(t, _, v) {
394: function(t, _, v) {
'use strict';
v.r(_);
var a = v(42),
@ -50,7 +50,7 @@
t._v(' 部署架构图'),
]),
t._v(' '),
a('img', { attrs: { src: v(360), alt: 'H5-dooring部署' } }),
a('img', { attrs: { src: v(361), alt: 'H5-dooring部署' } }),
t._v(' '),
a('p', [t._v('部署流程如下:')]),
t._v(' '),

View File

@ -1,10 +1,10 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[12],
{
361: function(t, v, _) {
360: function(t, v, _) {
t.exports = _.p + 'assets/img/v6.deploy.43cbe0de.png';
},
391: function(t, v, _) {
388: function(t, v, _) {
'use strict';
_.r(v);
var e = _(42),
@ -48,7 +48,7 @@
t._v(' 部署架构图'),
]),
t._v(' '),
e('img', { attrs: { src: _(361), alt: 'H5-dooring部署' } }),
e('img', { attrs: { src: _(360), alt: 'H5-dooring部署' } }),
t._v(' '),
e('p', [t._v('部署流程如下:')]),
t._v(' '),

View File

@ -0,0 +1,96 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[13],
{
362: function(s, a, t) {
s.exports = t.p + 'assets/img/down.75812dab.png';
},
395: function(s, a, t) {
'use strict';
t.r(a);
var n = t(42),
e = Object(n.a)(
{},
function() {
var s = this,
a = s.$createElement,
n = s._self._c || a;
return n('ContentSlotsDistributor', { attrs: { 'slot-key': s.$parent.slotKey } }, [
n('h2', { attrs: { id: '下载源码' } }, [
n('a', { staticClass: 'header-anchor', attrs: { href: '#下载源码' } }, [s._v('#')]),
s._v(' 下载源码'),
]),
s._v(' '),
n('p', [
s._v(
'目前Dooring已支持下载源码功能, 我们可以使用编辑器页面头部的下载按钮来实现下载用户搭建的H5源码.\n',
),
n('img', { attrs: { src: t(362), alt: 'foo' } }),
]),
s._v(' '),
n('p', [
s._v(
'源码下载之后是完整的React项目源代码, 开发人员可以直接根据自己的业务需求来二次编写代码来满足不同的业务需求.',
),
]),
s._v(' '),
n('p', [
s._v('在拿到源码之后, 我们需要进入项目, 使用npm或者yarn安装项目依赖, 如下:'),
]),
s._v(' '),
n('div', { staticClass: 'language-bash extra-class' }, [
n('pre', { pre: !0, attrs: { class: 'language-bash' } }, [
n('code', [
n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('npm')]),
s._v(' '),
n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('install')]),
s._v('\n// 或者\n'),
n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('yarn')]),
s._v('\n'),
]),
]),
]),
n('p', [s._v('之后我们就可以本地运行项目了:')]),
s._v(' '),
n('div', { staticClass: 'language-bash extra-class' }, [
n('pre', { pre: !0, attrs: { class: 'language-bash' } }, [
n('code', [
n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('npm')]),
s._v(' start\n// 或者\n'),
n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('yarn')]),
s._v(' start\n'),
]),
]),
]),
n('p', [
s._v('因为源码工程采用'),
n('code', [s._v('umi3.0')]),
s._v('搭建, 所以代码配置可以参考'),
n('code', [s._v('umi3.0')]),
s._v('规范, 比如路由配置, '),
n('code', [s._v('history')]),
s._v('模式, 打包路径等, 二次开发完成之后, 我们可以执行:'),
]),
s._v(' '),
n('div', { staticClass: 'language-bash extra-class' }, [
n('pre', { pre: !0, attrs: { class: 'language-bash' } }, [
n('code', [
n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('npm')]),
s._v(' run build\n// 或者\n'),
n('span', { pre: !0, attrs: { class: 'token function' } }, [s._v('yarn')]),
s._v(' build\n'),
]),
]),
]),
n('p', [s._v('将项目打包成html, 以便部署到任何服务器中.')]),
]);
},
[],
!1,
null,
null,
null,
);
a.default = e.exports;
},
},
]);

View File

@ -1,10 +1,10 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[13],
[14],
{
362: function(t, e, s) {
365: function(t, e, s) {
t.exports = s.p + 'assets/img/preview-machine.895a0711.png';
},
395: function(t, e, s) {
401: 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(362), alt: 'foo' } }),
a('img', { attrs: { src: s(365), alt: 'foo' } }),
t._v(' '),
a('p', [t._v('由于不同机型预览的效果有些许不同,最终效果以实际看到的为主。')]),
]);

View File

@ -1,10 +1,10 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[14],
[15],
{
365: function(t, s, e) {
368: function(t, s, e) {
t.exports = e.p + 'assets/img/screenshot.daeecedd.png';
},
401: function(t, s, e) {
405: function(t, s, e) {
'use strict';
e.r(s);
var a = e(42),
@ -27,7 +27,7 @@
),
]),
this._v(' '),
s('img', { attrs: { src: e(365), alt: 'foo' } }),
s('img', { attrs: { src: e(368), alt: 'foo' } }),
]);
},
[],

View File

@ -1,10 +1,10 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[15],
[16],
{
368: function(t, s, e) {
370: function(t, s, e) {
t.exports = e.p + 'assets/img/framework.1c9c696b.png';
},
403: function(t, s, e) {
407: 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(368), alt: 'foo' } }),
s('img', { attrs: { src: e(370), alt: 'foo' } }),
this._v(' '),
s('p', [this._v('注:灰色部分还未实现,正在更新中...')]),
]);

View File

@ -1,10 +1,10 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[16],
[17],
{
369: function(t, a, r) {
t.exports = r.p + 'assets/img/home.f76105db.png';
},
404: function(t, a, r) {
406: function(t, a, r) {
'use strict';
r.r(a);
var e = r(42),

View File

@ -1,12 +1,12 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[17],
[18],
{
379: function(t, e, a) {
380: function(t, e, a) {
'use strict';
a.r(e);
var o = a(375),
n = a(376),
i = a(377),
var o = a(376),
n = a(377),
i = a(378),
s = a(308),
r = {
name: 'Layout',

View File

@ -1,7 +1,7 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[18],
[19],
{
378: function(t, e, s) {
379: function(t, e, s) {
'use strict';
s.r(e);
var n = [

View File

@ -1290,7 +1290,7 @@
'use strict';
n(331);
},
375: function(t, e, n) {
376: function(t, e, n) {
'use strict';
n(339),
n(23),
@ -1705,7 +1705,7 @@
));
e.a = f.exports;
},
376: function(t, e, n) {
377: function(t, e, n) {
'use strict';
n(43), n(66);
var i = n(325),
@ -2019,7 +2019,7 @@
));
e.a = m.exports;
},
377: function(t, e, n) {
378: function(t, e, n) {
'use strict';
var i = n(336),
r = n(337),

View File

@ -1,7 +1,7 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[19],
[20],
{
385: function(t, e, n) {
390: function(t, e, n) {
'use strict';
n.r(e);
var s = n(42),

View File

@ -1,7 +1,7 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[20],
[21],
{
383: function(t, e, n) {
385: function(t, e, n) {
'use strict';
n.r(e);
var s = n(42),

View File

@ -1,7 +1,7 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[21],
[22],
{
386: function(t, s, a) {
384: function(t, s, a) {
'use strict';
a.r(s);
var n = a(42),

View File

@ -1,7 +1,7 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[22],
[23],
{
389: function(t, s, a) {
391: function(t, s, a) {
'use strict';
a.r(s);
var n = a(42),

View File

@ -1,7 +1,7 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[23],
[24],
{
390: function(t, s, a) {
389: function(t, s, a) {
'use strict';
a.r(s);
var n = a(42),
@ -28,9 +28,9 @@
t._v(' 用户相关'),
]),
t._v(' '),
a('h3', { attrs: { id: '登录' } }, [
a('a', { staticClass: 'header-anchor', attrs: { href: '#登录' } }, [t._v('#')]),
t._v(' 登录'),
a('h3', { attrs: { id: '用户登录' } }, [
a('a', { staticClass: 'header-anchor', attrs: { href: '#用户登录' } }, [t._v('#')]),
t._v(' 用户登录'),
]),
t._v(' '),
a('p', [t._v('用户登录接口')]),
@ -416,6 +416,115 @@
]),
]),
]),
a('h3', { attrs: { id: '生成登录码' } }, [
a('a', { staticClass: 'header-anchor', attrs: { href: '#生成登录码' } }, [
t._v('#'),
]),
t._v(' 生成登录码'),
]),
t._v(' '),
a('p', [t._v('生成登录码接口')]),
t._v(' '),
a('ul', [a('li', [a('code', [t._v('GET')]), t._v(' /vip/gcode')])]),
t._v(' '),
a('p', [t._v('先决条件:')]),
t._v(' '),
a('ul', [a('li', [t._v('用户已登陆')]), t._v(' '), a('li', [t._v('为超级管理员')])]),
t._v(' '),
a('p', [
t._v('注: 生成登录码是由笔者写的'),
a('code', [t._v('加密算法')]),
t._v('实现, 不需要手动实现, 如果有自定义需求, 可以自行二次开发实现.'),
]),
t._v(' '),
a('p', [t._v('返回示例')]),
t._v(' '),
a('div', { staticClass: 'language-json extra-class' }, [
a('pre', { pre: !0, attrs: { class: 'language-json' } }, [
a('code', [
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"co"')]),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [
t._v('"1x2fgggteee3456_zdd4"'),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v('\n'),
]),
]),
]),
a('p', [
a('code', [t._v('说明:')]),
t._v(' 为了保护用户信息安全, 返回的登录码是加密后的密文, 会调用笔者写的'),
a('code', [t._v('xib.xip')]),
t._v('方法进行加密, 如果想看到原始密码, 需要调用'),
a('code', [t._v('xib.uxip')]),
t._v('进行解密.'),
]),
t._v(' '),
a('h3', { attrs: { id: '获取用户真实密码' } }, [
a('a', { staticClass: 'header-anchor', attrs: { href: '#获取用户真实密码' } }, [
t._v('#'),
]),
t._v(' 获取用户真实密码'),
]),
t._v(' '),
a('p', [t._v('获取用户真实密码接口')]),
t._v(' '),
a('ul', [a('li', [a('code', [t._v('GET')]), t._v(' /vip/gcode/get')])]),
t._v(' '),
a('p', [t._v('先决条件:')]),
t._v(' '),
a('ul', [a('li', [t._v('用户已登陆')]), t._v(' '), a('li', [t._v('为超级管理员')])]),
t._v(' '),
a('table', [
a('thead', [
a('tr', [
a('th', [t._v('参数名')]),
t._v(' '),
a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('是否必选')]),
t._v(' '),
a('th', { staticStyle: { 'text-align': 'center' } }, [t._v('类型')]),
t._v(' '),
a('th', { staticStyle: { 'text-align': 'right' } }, [t._v('说明')]),
]),
]),
t._v(' '),
a('tbody', [
a('tr', [
a('td', [t._v('co')]),
t._v(' '),
a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('true')]),
t._v(' '),
a('td', { staticStyle: { 'text-align': 'center' } }, [t._v('string')]),
t._v(' '),
a('td', { staticStyle: { 'text-align': 'right' } }, [t._v('加密后的密码')]),
]),
]),
]),
t._v(' '),
a('p', [t._v('返回示例')]),
t._v(' '),
a('div', { staticClass: 'language-json extra-class' }, [
a('pre', { pre: !0, attrs: { class: 'language-json' } }, [
a('code', [
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token property' } }, [t._v('"co"')]),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('"12345678"')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v('\n'),
]),
]),
]),
a('h3', { attrs: { id: '修改用户信息' } }, [
a('a', { staticClass: 'header-anchor', attrs: { href: '#修改用户信息' } }, [
t._v('#'),

View File

@ -1,7 +1,7 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[24],
[25],
{
397: function(v, _, l) {
392: function(v, _, l) {
'use strict';
l.r(_);
var i = l(42),

View File

@ -1,217 +1,56 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[27],
[26],
{
394: function(t, s, a) {
393: function(t, s, a) {
'use strict';
a.r(s);
var n = a(42),
e = Object(n.a)(
p = Object(n.a)(
{},
function() {
var t = this,
s = t.$createElement,
a = t._self._c || s;
return a('ContentSlotsDistributor', { attrs: { 'slot-key': t.$parent.slotKey } }, [
a('p', [
a('strong', [t._v('H5-Dooring')]),
t._v('全面支持第三方对象存储服务, 我们以七牛云对象存储为例.'),
]),
t._v(' '),
a('h3', { attrs: { id: '前端上传文件到oss' } }, [
a('a', { staticClass: 'header-anchor', attrs: { href: '#前端上传文件到oss' } }, [
a('h3', { attrs: { id: '获取form组件的值数据' } }, [
a('a', { staticClass: 'header-anchor', attrs: { href: '#获取form组件的值数据' } }, [
t._v('#'),
]),
t._v(' 前端上传文件到oss'),
t._v(' 获取Form组件的值数据'),
]),
t._v(' '),
a('p', [
t._v('Form表单组件在'),
a('code', [t._v('editor')]),
t._v('目录下'),
a('code', [t._v('src/components/BasicShop/BasicComponents')]),
t._v('位置.'),
]),
t._v(' '),
a('p', [
t._v('Form组件是'),
a('code', [t._v('Dooring')]),
t._v(
'首先我们需要在第三方对象储存服务中配置对应的服务和域名. 其次安装对应的sdk, 如七牛云sdk:',
'的核心组件之一, 内部的值通过Form组件内部收集, 当然我们也可以暴露出来让其他交互或者组件消费(需要一定的二次开发), 关键代码如下:',
),
]),
t._v(' '),
a('div', { staticClass: 'language-js extra-class' }, [
a('pre', { pre: !0, attrs: { class: 'language-js' } }, [
a('code', [
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('import')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('*')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('as')]),
t._v(' qiniu '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('from')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'qiniu-js'")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n'),
]),
]),
]),
a('p', [
t._v('其次我们修改'),
a('code', [t._v('h5_plus')]),
t._v('工程的'),
a('code', [t._v('Upload')]),
t._v('组件, 详细地址为'),
a('code', [t._v('src/core/FormComponents/Upload')]),
t._v('.'),
]),
t._v(' '),
a('p', [t._v('修改内容如下:')]),
t._v(' '),
a('div', { staticClass: 'language-js extra-class' }, [
a('pre', { pre: !0, attrs: { class: 'language-js' } }, [
a('code', [
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' fileName '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' file'),
t._v('req'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('name\n'),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' suffix '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [
t._v("'自定义文件后缀'"),
]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' putExtra '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n fname'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' fileName'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v('\n params'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' uid '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('+')]),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('new')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token class-name' } }, [t._v('Date')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('post')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('+')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('uuid')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('16')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('8')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('+')]),
t._v(' suffix\n'),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [
t._v(
'// 使用七牛云上传api, 前提是提前在前端拿到对应的ticket, 可以通过请求的方式获取',
),
]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' observe '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' qiniu'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('upload')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('file'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' uid'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('state'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('qnToken'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('ticket'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' putExtra'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v('\nobserve'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('subscribe')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=>')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('null')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token parameter' } }, [t._v('res')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=>')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [
t._v('// 拼接路径'),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' url '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token template-string' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token template-punctuation string' } },
[t._v('`')],
),
a('span', { pre: !0, attrs: { class: 'token interpolation' } }, [
a(
'span',
{
pre: !0,
attrs: { class: 'token interpolation-punctuation punctuation' },
},
[t._v('${')],
),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('state'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('qnToken'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('domain'),
a(
'span',
{
pre: !0,
attrs: { class: 'token interpolation-punctuation punctuation' },
},
[t._v('}')],
),
a('span', { pre: !0, attrs: { class: 'token string' } }, [
t._v('/vip/h5/form/post'),
]),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('/')]),
a('span', { pre: !0, attrs: { class: 'token interpolation' } }, [
a(
'span',
@ -221,9 +60,9 @@
},
[t._v('${')],
),
t._v('res'),
t._v('location'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('key'),
t._v('search'),
a(
'span',
{
@ -239,60 +78,262 @@
[t._v('`')],
),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]),
t._v('fields'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]),
t._v('formData'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('then')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token parameter' } }, [t._v('res')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=>')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('type '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'link'")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [
t._v('// 解析参数'),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('let')]),
t._v(' isPre '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' content'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('indexOf')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'?'")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('<')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('0')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [t._v('// 存库')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' fileList '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('let')]),
t._v(' query '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('[')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v(' uid'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' name'),
t._v('dr'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' fileName'),
t._v(' Date'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('now')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' status'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'done'")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' url '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('from')]),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' urlParmas'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('tid'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('setState')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('try')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n curImgUrl'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' url'),
t._v('\n query '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' params '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('?')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]),
a('span', { pre: !0, attrs: { class: 'token constant' } }, [t._v('JSON')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('parse')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('params'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v('\n fileList\n '),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]),
t._v('query'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' query'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('catch')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('err'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n console'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('log')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('err'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('props'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('onChange '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('&&')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('props'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('onChange')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v('\n\n '),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [t._v('// 跳转')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('fileList'),
t._v('content'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('indexOf')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'http'")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('>')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('-')]),
a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('1')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n window'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('location'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('href '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' content '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('+')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('urlencode')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('query'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' isPre'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('return')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v('\n\n history'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('push')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token template-string' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token template-punctuation string' } },
[t._v('`')],
),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('/m?tid=')]),
a('span', { pre: !0, attrs: { class: 'token interpolation' } }, [
a(
'span',
{
pre: !0,
attrs: { class: 'token interpolation-punctuation punctuation' },
},
[t._v('${')],
),
t._v('content'),
a(
'span',
{
pre: !0,
attrs: { class: 'token interpolation-punctuation punctuation' },
},
[t._v('}')],
),
]),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('&')]),
a('span', { pre: !0, attrs: { class: 'token interpolation' } }, [
a(
'span',
{
pre: !0,
attrs: { class: 'token interpolation-punctuation punctuation' },
},
[t._v('${')],
),
a('span', { pre: !0, attrs: { class: 'token function' } }, [
t._v('urlencode'),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('query'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
a(
'span',
{
pre: !0,
attrs: { class: 'token interpolation-punctuation punctuation' },
},
[t._v('}')],
),
]),
a(
'span',
{ pre: !0, attrs: { class: 'token template-punctuation string' } },
[t._v('`')],
),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('else')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('type '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'modal'")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token function' } }, [
t._v('setVisible'),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token boolean' } }, [t._v('true')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('else')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('type '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'code'")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('eval')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('content'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
@ -301,20 +342,13 @@
]),
]),
a('p', [
t._v('其他oss服务类似, 如果不清楚如何配置, 可以在'),
a(
'a',
{
attrs: {
href: 'http://h5.dooring.cn/',
target: '_blank',
rel: 'noopener noreferrer',
},
},
[t._v('H5-Dooring官网'), a('OutboundLink')],
1,
),
t._v('中找到我们.'),
t._v('数据收集提交的核心代码在Form组件的第56-149行, 也就是'),
a('code', [t._v('submit')]),
t._v('方法. 表单组件收集到的数据统一存放在代码中的'),
a('code', [t._v('formData')]),
t._v('字段, 所以要想在其他地方获取用户表单填写的值, 我们只需要手动将'),
a('code', [t._v('formData')]),
t._v('传递出去, 或者挂载到全局(如window对象, localStorage, indexedDB等).'),
]),
]);
},
@ -324,7 +358,7 @@
null,
null,
);
s.default = e.exports;
s.default = p.exports;
},
},
]);

View File

@ -1,85 +0,0 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[26],
{
392: function(_, v, t) {
'use strict';
t.r(v);
var a = t(42),
l = Object(a.a)(
{},
function() {
var _ = this,
v = _.$createElement,
t = _._self._c || v;
return t('ContentSlotsDistributor', { attrs: { 'slot-key': _.$parent.slotKey } }, [
t('h3', { attrs: { id: '更新日志' } }, [
t('a', { staticClass: 'header-anchor', attrs: { href: '#更新日志' } }, [_._v('#')]),
_._v(' 更新日志'),
]),
_._v(' '),
t('h4', { attrs: { id: '_1-94' } }, [
t('a', { staticClass: 'header-anchor', attrs: { href: '#_1-94' } }, [_._v('#')]),
_._v(' 1.94'),
]),
_._v(' '),
t('ol', [
t('li', [_._v('转盘组件支持转盘交互功能(跳转链接/打开弹窗/自定义代码)')]),
_._v(' '),
t('li', [_._v('添加网站拦截, 防止页面误关导致页面无法保存')]),
_._v(' '),
t('li', [_._v('优化页面控制条组件样式')]),
_._v(' '),
t('li', [_._v('按钮组件添加组件动画')]),
_._v(' '),
t('li', [_._v('图片组件添加组件动画')]),
_._v(' '),
t('li', [_._v('媒体组件icon优化')]),
_._v(' '),
t('li', [_._v('全局错误监控组件添加一键清除缓存功能')]),
]),
_._v(' '),
t('h4', { attrs: { id: '_1-93' } }, [
t('a', { staticClass: 'header-anchor', attrs: { href: '#_1-93' } }, [_._v('#')]),
_._v(' 1.93'),
]),
_._v(' '),
t('ol', [
t('li', [_._v('上线源码下载功能')]),
_._v(' '),
t('li', [_._v('服务端支持下载源码服务和下载次数限制')]),
_._v(' '),
t('li', [_._v('界面部分文案优化')]),
_._v(' '),
t('li', [_._v('出码基座优化')]),
_._v(' '),
t('li', [_._v('抽奖组件支持抽奖后自定义交互(弹窗/链接/自定义代码)')]),
]),
_._v(' '),
t('h4', { attrs: { id: '_1-92' } }, [
t('a', { staticClass: 'header-anchor', attrs: { href: '#_1-92' } }, [_._v('#')]),
_._v(' 1.92'),
]),
_._v(' '),
t('ol', [
t('li', [_._v('修复背景图预览适配问题')]),
_._v(' '),
t('li', [_._v('转盘组件支持中奖后自定义交互/弹窗/自定义代码')]),
_._v(' '),
t('li', [_._v('界面局部调整')]),
_._v(' '),
t('li', [_._v('后台管理表单数据支持多键查询')]),
_._v(' '),
t('li', [_._v('可视化大屏柱状图组件支持实时数据请求')]),
]),
]);
},
[],
!1,
null,
null,
null,
);
v.default = l.exports;
},
},
]);

View File

@ -1,7 +1,7 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[25],
[27],
{
393: function(t, s, a) {
398: function(t, s, a) {
'use strict';
a.r(s);
var n = a(42),

View File

@ -0,0 +1,146 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[28],
{
400: function(_, v, i) {
'use strict';
i.r(v);
var t = i(42),
l = Object(t.a)(
{},
function() {
var _ = this,
v = _.$createElement,
i = _._self._c || v;
return i('ContentSlotsDistributor', { attrs: { 'slot-key': _.$parent.slotKey } }, [
i('h3', { attrs: { id: '更新日志' } }, [
i('a', { staticClass: 'header-anchor', attrs: { href: '#更新日志' } }, [_._v('#')]),
_._v(' 更新日志'),
]),
_._v(' '),
i('h4', { attrs: { id: '_1-98' } }, [
i('a', { staticClass: 'header-anchor', attrs: { href: '#_1-98' } }, [_._v('#')]),
_._v(' 1.98'),
]),
_._v(' '),
i('ol', [
i('li', [_._v('编辑器功能区添加更多折叠下拉框, 优化头部界面')]),
_._v(' '),
i('li', [_._v('添加数据源入口和界面')]),
_._v(' '),
i('li', [_._v('模版库优化, 剔除无用模版, 累计60+模版')]),
_._v(' '),
i('li', [_._v('入口页添加赞助墙')]),
_._v(' '),
i('li', [_._v('升级视频组件, 支持弹幕, 截屏, 模式设置等功能')]),
_._v(' '),
i('li', [_._v('文件上传路径兼容window服务器本地化部署')]),
]),
_._v(' '),
i('h4', { attrs: { id: '_1-96' } }, [
i('a', { staticClass: 'header-anchor', attrs: { href: '#_1-96' } }, [_._v('#')]),
_._v(' 1.96'),
]),
_._v(' '),
i('ol', [
i('li', [_._v('修复首页推荐项目外链地址和站内文案')]),
_._v(' '),
i('li', [_._v('替换Dooring网站logo')]),
_._v(' '),
i('li', [_._v('优化ios8以下访问H5时可能出现的页面卡顿问题')]),
_._v(' '),
i('li', [_._v('图片上传组件添加svg, gif图片格式支持')]),
_._v(' '),
i('li', [_._v('后台管理系统添加一键跳编辑器按钮')]),
_._v(' '),
i('li', [_._v('服务端编辑侧路由加固')]),
_._v(' '),
i('li', [
_._v(
'文件上传组件添加自定义上传文档支持七牛云腾讯云阿里oss等第三方图床方式',
),
]),
]),
_._v(' '),
i('h4', { attrs: { id: '_1-95' } }, [
i('a', { staticClass: 'header-anchor', attrs: { href: '#_1-95' } }, [_._v('#')]),
_._v(' 1.95'),
]),
_._v(' '),
i('ol', [
i('li', [_._v('dooring文档添加更新日志模块')]),
_._v(' '),
i('li', [_._v('dooring增报错监控函数, 提供一键清空缓存按钮和自动重载功能')]),
_._v(' '),
i('li', [_._v('新增电商商品H5模版')]),
_._v(' '),
i('li', [_._v('页面配置增加背景模式和背景重复')]),
_._v(' '),
i('li', [_._v('表单添加字段名配置项')]),
]),
_._v(' '),
i('h4', { attrs: { id: '_1-94' } }, [
i('a', { staticClass: 'header-anchor', attrs: { href: '#_1-94' } }, [_._v('#')]),
_._v(' 1.94'),
]),
_._v(' '),
i('ol', [
i('li', [_._v('转盘组件支持转盘交互功能(跳转链接/打开弹窗/自定义代码)')]),
_._v(' '),
i('li', [_._v('添加网站拦截, 防止页面误关导致页面无法保存')]),
_._v(' '),
i('li', [_._v('优化页面控制条组件样式')]),
_._v(' '),
i('li', [_._v('按钮组件添加组件动画')]),
_._v(' '),
i('li', [_._v('图片组件添加组件动画')]),
_._v(' '),
i('li', [_._v('媒体组件icon优化')]),
_._v(' '),
i('li', [_._v('全局错误监控组件添加一键清除缓存功能')]),
]),
_._v(' '),
i('h4', { attrs: { id: '_1-93' } }, [
i('a', { staticClass: 'header-anchor', attrs: { href: '#_1-93' } }, [_._v('#')]),
_._v(' 1.93'),
]),
_._v(' '),
i('ol', [
i('li', [_._v('上线源码下载功能')]),
_._v(' '),
i('li', [_._v('服务端支持下载源码服务和下载次数限制')]),
_._v(' '),
i('li', [_._v('界面部分文案优化')]),
_._v(' '),
i('li', [_._v('出码基座优化')]),
_._v(' '),
i('li', [_._v('抽奖组件支持抽奖后自定义交互(弹窗/链接/自定义代码)')]),
]),
_._v(' '),
i('h4', { attrs: { id: '_1-92' } }, [
i('a', { staticClass: 'header-anchor', attrs: { href: '#_1-92' } }, [_._v('#')]),
_._v(' 1.92'),
]),
_._v(' '),
i('ol', [
i('li', [_._v('修复背景图预览适配问题')]),
_._v(' '),
i('li', [_._v('转盘组件支持中奖后自定义交互/弹窗/自定义代码')]),
_._v(' '),
i('li', [_._v('界面局部调整')]),
_._v(' '),
i('li', [_._v('后台管理表单数据支持多键查询')]),
_._v(' '),
i('li', [_._v('可视化大屏柱状图组件支持实时数据请求')]),
]),
]);
},
[],
!1,
null,
null,
null,
);
v.default = l.exports;
},
},
]);

View File

@ -0,0 +1,996 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[29],
{
396: function(t, s, a) {
'use strict';
a.r(s);
var n = a(42),
p = Object(n.a)(
{},
function() {
var t = this,
s = t.$createElement,
a = t._self._c || s;
return a('ContentSlotsDistributor', { attrs: { 'slot-key': t.$parent.slotKey } }, [
a('p', [
a('strong', [t._v('H5-Dooring')]),
t._v('全面支持第三方对象存储服务, 我们以七牛云对象存储为例.'),
]),
t._v(' '),
a('h3', { attrs: { id: '前端上传文件到oss' } }, [
a('a', { staticClass: 'header-anchor', attrs: { href: '#前端上传文件到oss' } }, [
t._v('#'),
]),
t._v(' 前端上传文件到oss'),
]),
t._v(' '),
a('p', [
t._v(
'首先我们需要在第三方对象储存服务中配置对应的服务和域名. 其次安装对应的sdk, 如七牛云sdk:',
),
]),
t._v(' '),
a('div', { staticClass: 'language-js extra-class' }, [
a('pre', { pre: !0, attrs: { class: 'language-js' } }, [
a('code', [
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('import')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('*')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('as')]),
t._v(' qiniu '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('from')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'qiniu-js'")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n'),
]),
]),
]),
a('p', [
t._v('其次我们修改'),
a('code', [t._v('h5_plus')]),
t._v('工程的'),
a('code', [t._v('Upload')]),
t._v('组件, 详细地址为'),
a('code', [t._v('src/core/FormComponents/Upload')]),
t._v('.'),
]),
t._v(' '),
a('p', [t._v('修改内容如下:')]),
t._v(' '),
a('div', { staticClass: 'language-js extra-class' }, [
a('pre', { pre: !0, attrs: { class: 'language-js' } }, [
a('code', [
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' fileName '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' file'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('name\n'),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' suffix '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [
t._v("'自定义文件后缀'"),
]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' putExtra '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n fname'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' fileName'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v('\n params'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' uid '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('+')]),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('new')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token class-name' } }, [t._v('Date')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('+')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('uuid')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('16')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('8')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('+')]),
t._v(' suffix\n'),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [
t._v(
'// 使用七牛云上传api, 前提是提前在前端拿到对应的ticket, 可以通过请求的方式获取',
),
]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' observe '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' qiniu'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('upload')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('file'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' uid'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('state'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('qnToken'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('ticket'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' putExtra'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v('\nobserve'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('subscribe')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=>')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('null')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token parameter' } }, [t._v('res')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=>')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [
t._v('// 拼接路径'),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' url '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token template-string' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token template-punctuation string' } },
[t._v('`')],
),
a('span', { pre: !0, attrs: { class: 'token interpolation' } }, [
a(
'span',
{
pre: !0,
attrs: { class: 'token interpolation-punctuation punctuation' },
},
[t._v('${')],
),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('state'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('qnToken'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('domain'),
a(
'span',
{
pre: !0,
attrs: { class: 'token interpolation-punctuation punctuation' },
},
[t._v('}')],
),
]),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v('/')]),
a('span', { pre: !0, attrs: { class: 'token interpolation' } }, [
a(
'span',
{
pre: !0,
attrs: { class: 'token interpolation-punctuation punctuation' },
},
[t._v('${')],
),
t._v('res'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('key'),
a(
'span',
{
pre: !0,
attrs: { class: 'token interpolation-punctuation punctuation' },
},
[t._v('}')],
),
]),
a(
'span',
{ pre: !0, attrs: { class: 'token template-punctuation string' } },
[t._v('`')],
),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [t._v('// 存库')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' fileList '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('[')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v(' uid'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' name'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' fileName'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' status'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'done'")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' url '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('setState')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n curImgUrl'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' url'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v('\n fileList\n '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('props'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('onChange '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('&&')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('props'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('onChange')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('fileList'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v('\n'),
]),
]),
]),
a('p', [
t._v('其他oss服务类似, 如果不清楚如何配置, 可以在'),
a(
'a',
{
attrs: {
href: 'http://h5.dooring.cn/',
target: '_blank',
rel: 'noopener noreferrer',
},
},
[t._v('H5-Dooring官网'), a('OutboundLink')],
1,
),
t._v('中找到我们.'),
]),
t._v(' '),
a('h3', { attrs: { id: '如何接入任何第三方上传服务' } }, [
a(
'a',
{ staticClass: 'header-anchor', attrs: { href: '#如何接入任何第三方上传服务' } },
[t._v('#')],
),
t._v(' 如何接入任何第三方上传服务'),
]),
t._v(' '),
a('p', [
t._v('首先我们的上传组件'),
a('code', [t._v('Upload')]),
t._v('使用内部的服务接口来实现上传功能, 所以需要给组件的'),
a('code', [t._v('action')]),
t._v('赋值, 如下:'),
]),
t._v(' '),
a('div', { staticClass: 'language-jsx extra-class' }, [
a('pre', { pre: !0, attrs: { class: 'language-jsx' } }, [
a('code', [
a('span', { pre: !0, attrs: { class: 'token tag' } }, [
a('span', { pre: !0, attrs: { class: 'token tag' } }, [
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('<')]),
a('span', { pre: !0, attrs: { class: 'token class-name' } }, [
t._v('Upload'),
]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('fileList'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('fileList'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('onPreview'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('handlePreview'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('onChange'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('handleChange'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('onRemove'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('handleRemove'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [t._v('name')]),
a('span', { pre: !0, attrs: { class: 'token attr-value' } }, [
a('span', { pre: !0, attrs: { class: 'token punctuation attr-equals' } }, [
t._v('='),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]),
t._v('file'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('listType'),
]),
a('span', { pre: !0, attrs: { class: 'token attr-value' } }, [
a('span', { pre: !0, attrs: { class: 'token punctuation attr-equals' } }, [
t._v('='),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]),
t._v('picture-card'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('className'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('styles'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('avatarUploader'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [t._v('action')]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('sdk_upload_api '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('||')]),
t._v(' action'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('withCredentials'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('withCredentials'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('headers'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [
t._v("'x-requested-with'"),
]),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' localStorage'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [
t._v('getItem'),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'user'")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('||')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("''")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [
t._v("'authorization'"),
]),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' localStorage'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [
t._v('getItem'),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'token'")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('||')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("''")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]),
t._v('headers\n '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('beforeUpload'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('handleBeforeUpload'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('>')]),
]),
a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [t._v('\n ')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('fileList'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('length '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('>=')]),
t._v(' maxLen '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('?')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('null')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' uploadButton'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [t._v('\n')]),
a('span', { pre: !0, attrs: { class: 'token tag' } }, [
a('span', { pre: !0, attrs: { class: 'token tag' } }, [
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('</')]),
a('span', { pre: !0, attrs: { class: 'token class-name' } }, [
t._v('Upload'),
]),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('>')]),
]),
t._v('\n'),
]),
]),
]),
a('p', [
t._v('如果需要集成第三方oss, 如七牛云, 阿里oss等, 我们需要将'),
a('code', [t._v('Upload')]),
t._v('组件的'),
a('code', [t._v('action')]),
t._v('属性设置为空字符串, 其次删除'),
a('code', [t._v('onChange')]),
t._v('属性, 上传操作统一在'),
a('code', [t._v('beforeUpload')]),
t._v('中进行. 案例如下:'),
]),
t._v(' '),
a('div', { staticClass: 'language-jsx extra-class' }, [
a('pre', { pre: !0, attrs: { class: 'language-jsx' } }, [
a('code', [
a('span', { pre: !0, attrs: { class: 'token tag' } }, [
a('span', { pre: !0, attrs: { class: 'token tag' } }, [
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('<')]),
a('span', { pre: !0, attrs: { class: 'token class-name' } }, [
t._v('Upload'),
]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('fileList'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('fileList'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [t._v('action')]),
a('span', { pre: !0, attrs: { class: 'token attr-value' } }, [
a('span', { pre: !0, attrs: { class: 'token punctuation attr-equals' } }, [
t._v('='),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('onPreview'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('handlePreview'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('onRemove'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('onRemove'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [t._v('name')]),
a('span', { pre: !0, attrs: { class: 'token attr-value' } }, [
a('span', { pre: !0, attrs: { class: 'token punctuation attr-equals' } }, [
t._v('='),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]),
t._v('file'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('listType'),
]),
a('span', { pre: !0, attrs: { class: 'token attr-value' } }, [
a('span', { pre: !0, attrs: { class: 'token punctuation attr-equals' } }, [
t._v('='),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]),
t._v('picture-card'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('"')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('className'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('styles'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('avatarUploader'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('headers'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('...')]),
t._v('headers'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token attr-name' } }, [
t._v('beforeUpload'),
]),
a('span', { pre: !0, attrs: { class: 'token script language-javascript' } }, [
a(
'span',
{ pre: !0, attrs: { class: 'token script-punctuation punctuation' } },
[t._v('=')],
),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('handleBeforeUpload'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
]),
t._v('\n'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('>')]),
]),
a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [t._v('\n ')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('fileList'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('length '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('>=')]),
t._v(' maxLen '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('?')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('null')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' uploadButton'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token plain-text' } }, [t._v('\n')]),
a('span', { pre: !0, attrs: { class: 'token tag' } }, [
a('span', { pre: !0, attrs: { class: 'token tag' } }, [
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('</')]),
a('span', { pre: !0, attrs: { class: 'token class-name' } }, [
t._v('Upload'),
]),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('>')]),
]),
t._v('\n'),
]),
]),
]),
a('p', [
t._v('自定义上传的核心逻辑放在了'),
a('code', [t._v('beforeUpload')]),
t._v('上. 我们具体看看'),
a('code', [t._v('beforeUpload')]),
t._v('这个方法如何实现.'),
]),
t._v(' '),
a('div', { staticClass: 'language-js extra-class' }, [
a('pre', { pre: !0, attrs: { class: 'language-js' } }, [
a('code', [
a('span', { pre: !0, attrs: { class: 'token function-variable function' } }, [
t._v('handleBeforeUpload'),
]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token parameter' } }, [
t._v('file'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v('RcFile'),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=>')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [
t._v('// 1. 限制图片类型'),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' isJpgOrPng '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' file'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('type '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [
t._v("'image/jpeg'"),
]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('||')]),
t._v(' file'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('type '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'image/png'")]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('||')]),
t._v(' file'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('type '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'image/jpg'")]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('||')]),
t._v(' file'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('type '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('===')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'image/gif'")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('!')]),
t._v('isJpgOrPng'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n message'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('error')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token string' } }, [
t._v("'只能上传格式为jpeg/png/gif的图片'"),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [
t._v('// 限制上传文件大小'),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' isLt3M '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' file'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('size '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('/')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('1024')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('/')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('1024')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('<')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token number' } }, [t._v('3')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('!')]),
t._v('isLt3M'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n message'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('error')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token string' } }, [
t._v("'图片必须小于3MB!'"),
]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('if')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('isJpgOrPng '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('&&')]),
t._v(' isLt3M'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [
t._v('// 3. 正常上传逻辑'),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' fileName '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' file'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('name\n '),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [
t._v('// 3.1 调用oss接口, 将图片上传oss'),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [
t._v('// 3.2 将接口返回的url信息, 组装成fileList数据结构, 并更新state'),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('const')]),
t._v(' fileList '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('=')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('[')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v(' uid'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' name'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' fileName'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' status'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token string' } }, [t._v("'done'")]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v(' url '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(']')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('setState')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('{')]),
t._v('\n curImgUrl'),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v(':')]),
t._v(' url'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v('\n fileList'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(',')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token comment' } }, [
t._v('// 3.3 将数据传给上层保存'),
]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('props'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('onChange '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('&&')]),
t._v(' '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('this')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
t._v('props'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('.')]),
a('span', { pre: !0, attrs: { class: 'token function' } }, [t._v('onChange')]),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('(')]),
t._v('fileList'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(')')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token keyword' } }, [t._v('return')]),
t._v(' isJpgOrPng '),
a('span', { pre: !0, attrs: { class: 'token operator' } }, [t._v('&&')]),
t._v(' isLt3M'),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v(';')]),
t._v('\n '),
a('span', { pre: !0, attrs: { class: 'token punctuation' } }, [t._v('}')]),
t._v('\n'),
]),
]),
]),
]);
},
[],
!1,
null,
null,
null,
);
s.default = p.exports;
},
},
]);

View File

@ -454,14 +454,14 @@
};
},
332: function(t, n, e) {},
370: function(t, n, e) {
371: function(t, n, e) {
t.exports = e.p + 'assets/img/logo.001d04e6.svg';
},
371: function(t, n, e) {
372: function(t, n, e) {
'use strict';
e(332);
},
380: function(t, n, e) {
381: function(t, n, e) {
'use strict';
e.r(n);
var r = {
@ -476,7 +476,7 @@
},
},
},
i = (e(371), e(42)),
i = (e(372), 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(370), alt: t.data.heroAlt || 'hero' } }),
r('img', { attrs: { src: e(371), alt: t.data.heroAlt || 'hero' } }),
r('span', [t._v(t._s(t.data.heroText || t.$title || 'Hello'))]),
])
: t._e(),

View File

@ -1,7 +1,7 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[28],
[30],
{
396: function(n, e, s) {
397: function(n, e, s) {
'use strict';
s.r(e);
var t = s(42),

View File

@ -1,7 +1,7 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[29],
[31],
{
399: function(t, s, a) {
402: function(t, s, a) {
'use strict';
a.r(s);
var n = a(42),

View File

@ -1,7 +1,7 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[30],
[32],
{
400: function(t, n, e) {
404: function(t, n, e) {
'use strict';
e.r(n);
var o = e(42),

View File

@ -2,11 +2,11 @@
[4],
{
333: function(t, e, n) {},
372: function(t, e, n) {
373: function(t, e, n) {
'use strict';
n(333);
},
405: function(t, e, n) {
408: function(t, e, n) {
'use strict';
n.r(e);
var i = {
@ -26,7 +26,7 @@
);
},
},
r = (n(372), n(42)),
r = (n(373), n(42)),
p = Object(r.a)(i, void 0, void 0, !1, null, '15b7b770', null);
e.default = p.exports;
},

View File

@ -1,19 +1,19 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[5],
{
334: function(e, t, c) {},
373: function(e, t, c) {
335: function(e, t, c) {},
375: function(e, t, c) {
'use strict';
c(334);
c(335);
},
381: function(e, t, c) {
383: 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(373), c(42)),
n = (c(375), c(42)),
s = Object(n.a)(
i,
function() {

View File

@ -1,10 +1,10 @@
(window.webpackJsonp = window.webpackJsonp || []).push([
[6],
{
335: function(e, t, o) {},
334: function(e, t, o) {},
374: function(e, t, o) {
'use strict';
o(335);
o(334);
},
382: function(e, t, o) {
'use strict';

View File

@ -7,7 +7,7 @@
364: function(t, s, e) {
t.exports = e.p + 'assets/img/preview-page.3ec86df5.png';
},
398: function(t, s, e) {
399: function(t, s, e) {
'use strict';
e.r(s);
var r = e(42),

View File

@ -7,7 +7,7 @@
367: function(t, s, a) {
t.exports = a.p + 'assets/img/template-bg.244b9ac7.png';
},
402: function(t, s, a) {
403: function(t, s, a) {
'use strict';
a.r(s);
var e = a(42),

View File

@ -4,7 +4,7 @@
358: function(t, o, r) {
t.exports = r.p + 'assets/img/logo.001d04e6.svg';
},
384: function(t, o, r) {
386: function(t, o, r) {
'use strict';
r.r(o);
var s = r(42),

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/3.d2d22c88.js" as="script"><link rel="preload" href="/doc/assets/js/19.90149f22.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/3.ececc857.js" as="script"><link rel="preload" href="/doc/assets/js/20.3e91412b.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container no-sidebar"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" aria-current="page" class="home-link router-link-exact-active router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" aria-current="page" class="nav-link router-link-exact-active router-link-active">
@ -28,11 +28,11 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main aria-labelledby="main-title" class="home"><header class="hero"><h1 id="main-title"><img src="/doc/assets/img/logo.001d04e6.svg" alt="hero"><span>一款所见即所得的H5编辑器</span></h1></header> <div class="features"><div class="container"><div class="feature"><div class="feature-index">1</div> <h2>简洁方便</h2> <p>任何人只需傻瓜式拖拽或进行简单编辑即可生成精美的H5页面</p></div><div class="feature"><div class="feature-index">2</div> <h2>插拔式体验</h2> <p>产品以GPL协议开源, 授权后可植入任何系统,并支持二次开发</p></div><div class="feature"><div class="feature-index">3</div> <h2>持续迭代,无限可能</h2> <p>目前正在持续迭代中,后续可根据需求开发功能更强大的可视化系统</p></div></div></div> <div class="theme-default-content custom content__default"></div> <div class="hero"><p class="action"><a href="/doc/zh/guide/" class="nav-link action-button">
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main aria-labelledby="main-title" class="home"><header class="hero"><h1 id="main-title"><img src="/doc/assets/img/logo.001d04e6.svg" alt="hero"><span>一款所见即所得的H5编辑器</span></h1></header> <div class="features"><div class="container"><div class="feature"><div class="feature-index">1</div> <h2>简洁方便</h2> <p>任何人只需傻瓜式拖拽或进行简单编辑即可生成精美的H5页面</p></div><div class="feature"><div class="feature-index">2</div> <h2>插拔式体验</h2> <p>产品以GPL协议开源, 授权后可植入任何系统,并支持二次开发</p></div><div class="feature"><div class="feature-index">3</div> <h2>持续迭代,无限可能</h2> <p>目前正在持续迭代中,后续可根据需求开发功能更强大的可视化系统</p></div></div></div> <div class="theme-default-content custom content__default"></div> <div class="hero"><p class="action"><a href="/doc/zh/guide/" class="nav-link action-button">
快速上手 →
</a></p></div> <div class="footer">
GPL Licensed | Copyright © 2020-present H5-Dooring
</div></main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/3.d2d22c88.js" defer></script><script src="/doc/assets/js/19.90149f22.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/3.ececc857.js" defer></script><script src="/doc/assets/js/20.3e91412b.js" defer></script>
</body>
</html>

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/20.fdb45864.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/21.ab262167.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,7 +28,7 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><p>正在建设中...</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/17/2021, 11:22:04 PM</span></div></footer> <!----> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/20.fdb45864.js" defer></script>
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><p>正在建设中...</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/17/2021, 11:22:04 PM</span></div></footer> <!----> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/21.ab262167.js" defer></script>
</body>
</html>

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/21.d6a1c6a8.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/22.a7421118.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,7 +28,7 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" aria-current="page" class="active sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="dsl设计"><a href="#dsl设计" class="header-anchor">#</a> DSL设计</h1> <p>DSL层主要约定了Dooring组件的数据协议包括组件的可编辑属性、编辑类型、初始值等之所以定义一致的协议层主要是方便后期的组件扩展配置后移有助于不同后端语言开发和数据存储接下来我们看看header组件的schema。</p> <p>1.editData 可编辑的属性类型DSL</p> <p>2.config 可编辑组件的默认属性</p> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">const</span> Header<span class="token operator">:</span> IHeaderSchema <span class="token operator">=</span> <span class="token punctuation">{</span>
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" aria-current="page" class="active sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="dsl设计"><a href="#dsl设计" class="header-anchor">#</a> DSL设计</h1> <p>DSL层主要约定了Dooring组件的数据协议包括组件的可编辑属性、编辑类型、初始值等之所以定义一致的协议层主要是方便后期的组件扩展配置后移有助于不同后端语言开发和数据存储接下来我们看看header组件的schema。</p> <p>1.editData 可编辑的属性类型DSL</p> <p>2.config 可编辑组件的默认属性</p> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">const</span> Header<span class="token operator">:</span> IHeaderSchema <span class="token operator">=</span> <span class="token punctuation">{</span>
editData<span class="token operator">:</span> <span class="token punctuation">[</span>
<span class="token punctuation">{</span>
key<span class="token operator">:</span> <span class="token string">'bgColor'</span><span class="token punctuation">,</span>
@ -88,6 +88,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/21.d6a1c6a8.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/22.a7421118.js" defer></script>
</body>
</html>

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/22.be7d4cd5.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/23.b2f0953d.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,7 +28,7 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" aria-current="page" class="active sidebar-link">组件结构</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/doc/zh/guide/componentDev/componentStructure.html#组件设计" class="sidebar-link">组件设计</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/componentDev/componentStructure.html#template设计" class="sidebar-link">template设计</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/componentDev/componentStructure.html#schema设计" class="sidebar-link">schema设计</a></li></ul></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="组件结构"><a href="#组件结构" class="header-anchor">#</a> 组件结构</h1> <p>dooring的组件设计包含以下3个部分组件</p> <p>1、component 组件主体</p> <p>2、schema 组件的DSL结构协议层</p> <p>3、template 定义了组件的类型、外观、从属关系后期考虑纳入schema</p> <p>接下来我会介绍一个基本的组件主体设计以为template设计在下一章会具体介绍schema部分。</p> <h2 id="组件设计"><a href="#组件设计" class="header-anchor">#</a> 组件设计</h2> <p>我们这里拿基本的header组件来举例如下是header组件的代码</p> <div class="language-jsx extra-class"><pre class="language-jsx"><code><span class="token keyword">interface</span> <span class="token class-name">HeaderPropTypes</span> <span class="token keyword">extends</span> <span class="token class-name">IHeaderConfig</span> <span class="token punctuation">{</span>
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" aria-current="page" class="active sidebar-link">组件结构</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/doc/zh/guide/componentDev/componentStructure.html#组件设计" class="sidebar-link">组件设计</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/componentDev/componentStructure.html#template设计" class="sidebar-link">template设计</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/componentDev/componentStructure.html#schema设计" class="sidebar-link">schema设计</a></li></ul></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="组件结构"><a href="#组件结构" class="header-anchor">#</a> 组件结构</h1> <p>dooring的组件设计包含以下3个部分组件</p> <p>1、component 组件主体</p> <p>2、schema 组件的DSL结构协议层</p> <p>3、template 定义了组件的类型、外观、从属关系后期考虑纳入schema</p> <p>接下来我会介绍一个基本的组件主体设计以为template设计在下一章会具体介绍schema部分。</p> <h2 id="组件设计"><a href="#组件设计" class="header-anchor">#</a> 组件设计</h2> <p>我们这里拿基本的header组件来举例如下是header组件的代码</p> <div class="language-jsx extra-class"><pre class="language-jsx"><code><span class="token keyword">interface</span> <span class="token class-name">HeaderPropTypes</span> <span class="token keyword">extends</span> <span class="token class-name">IHeaderConfig</span> <span class="token punctuation">{</span>
isTpl<span class="token operator">:</span> boolean<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
@ -148,6 +148,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/22.be7d4cd5.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/23.b2f0953d.js" defer></script>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/23.64cb6fc9.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/24.945f07e2.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,8 +28,8 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" aria-current="page" class="active sidebar-link">API接口文档</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/doc/zh/guide/deployDev/api.html#用户相关" class="sidebar-link">用户相关</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/deployDev/api.html#h5页面管理" class="sidebar-link">H5页面管理</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/deployDev/api.html#h5表单数据管理" class="sidebar-link">H5表单数据管理</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/deployDev/api.html#模版管理" class="sidebar-link">模版管理</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/deployDev/api.html#文件上传" class="sidebar-link">文件上传</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/deployDev/api.html#数据统计" class="sidebar-link">数据统计</a></li></ul></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><p><strong>H5-Dooring</strong>后端部分主要使用 <code>Nodejs</code> 开发, 为了满足更多定制化需求和服务的可移植性, 特意编写了API接口文档,
方便大家使用不同的后端语言实现服务接入.</p> <ul><li>注意: 接口统一前缀为<code>/api/v0</code></li></ul> <h2 id="用户相关"><a href="#用户相关" class="header-anchor">#</a> 用户相关</h2> <h3 id="登录"><a href="#登录" class="header-anchor">#</a> 登录</h3> <p>用户登录接口</p> <ul><li><code>POST</code> /vip/check</li></ul> <table><thead><tr><th>参数名</th> <th style="text-align:center;">是否必选</th> <th style="text-align:center;">类型</th> <th style="text-align:right;">说明</th></tr></thead> <tbody><tr><td>n</td> <td style="text-align:center;">true</td> <td style="text-align:center;">string</td> <td style="text-align:right;">用户名</td></tr> <tr><td>co</td> <td style="text-align:center;">true</td> <td style="text-align:center;">string</td> <td style="text-align:right;">密码</td></tr></tbody></table> <p>返回示例</p> <div class="language-json extra-class"><pre class="language-json"><code><span class="token punctuation">{</span>
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" aria-current="page" class="active sidebar-link">API接口文档</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/doc/zh/guide/deployDev/api.html#用户相关" class="sidebar-link">用户相关</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/deployDev/api.html#h5页面管理" class="sidebar-link">H5页面管理</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/deployDev/api.html#h5表单数据管理" class="sidebar-link">H5表单数据管理</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/deployDev/api.html#模版管理" class="sidebar-link">模版管理</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/deployDev/api.html#文件上传" class="sidebar-link">文件上传</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/deployDev/api.html#数据统计" class="sidebar-link">数据统计</a></li></ul></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><p><strong>H5-Dooring</strong>后端部分主要使用 <code>Nodejs</code> 开发, 为了满足更多定制化需求和服务的可移植性, 特意编写了API接口文档,
方便大家使用不同的后端语言实现服务接入.</p> <ul><li>注意: 接口统一前缀为<code>/api/v0</code></li></ul> <h2 id="用户相关"><a href="#用户相关" class="header-anchor">#</a> 用户相关</h2> <h3 id="用户登录"><a href="#用户登录" class="header-anchor">#</a> 用户登录</h3> <p>用户登录接口</p> <ul><li><code>POST</code> /vip/check</li></ul> <table><thead><tr><th>参数名</th> <th style="text-align:center;">是否必选</th> <th style="text-align:center;">类型</th> <th style="text-align:right;">说明</th></tr></thead> <tbody><tr><td>n</td> <td style="text-align:center;">true</td> <td style="text-align:center;">string</td> <td style="text-align:right;">用户名</td></tr> <tr><td>co</td> <td style="text-align:center;">true</td> <td style="text-align:center;">string</td> <td style="text-align:right;">密码</td></tr></tbody></table> <p>返回示例</p> <div class="language-json extra-class"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;result&quot;</span><span class="token operator">:</span> <span class="token punctuation">{</span>
<span class="token property">&quot;n&quot;</span><span class="token operator">:</span> <span class="token string">&quot;test&quot;</span><span class="token punctuation">,</span>
<span class="token property">&quot;od&quot;</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span>
@ -75,6 +75,12 @@
<span class="token property">&quot;h5Num&quot;</span><span class="token operator">:</span> <span class="token number">10</span><span class="token punctuation">,</span>
<span class="token property">&quot;tplNum&quot;</span><span class="token operator">:</span> <span class="token number">3</span>
<span class="token punctuation">}</span>
</code></pre></div><h3 id="生成登录码"><a href="#生成登录码" class="header-anchor">#</a> 生成登录码</h3> <p>生成登录码接口</p> <ul><li><code>GET</code> /vip/gcode</li></ul> <p>先决条件:</p> <ul><li>用户已登陆</li> <li>为超级管理员</li></ul> <p>注: 生成登录码是由笔者写的<code>加密算法</code>实现, 不需要手动实现, 如果有自定义需求, 可以自行二次开发实现.</p> <p>返回示例</p> <div class="language-json extra-class"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;co&quot;</span><span class="token operator">:</span> <span class="token string">&quot;1x2fgggteee3456_zdd4&quot;</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span>
</code></pre></div><p><code>说明:</code> 为了保护用户信息安全, 返回的登录码是加密后的密文, 会调用笔者写的<code>xib.xip</code>方法进行加密, 如果想看到原始密码, 需要调用<code>xib.uxip</code>进行解密.</p> <h3 id="获取用户真实密码"><a href="#获取用户真实密码" class="header-anchor">#</a> 获取用户真实密码</h3> <p>获取用户真实密码接口</p> <ul><li><code>GET</code> /vip/gcode/get</li></ul> <p>先决条件:</p> <ul><li>用户已登陆</li> <li>为超级管理员</li></ul> <table><thead><tr><th>参数名</th> <th style="text-align:center;">是否必选</th> <th style="text-align:center;">类型</th> <th style="text-align:right;">说明</th></tr></thead> <tbody><tr><td>co</td> <td style="text-align:center;">true</td> <td style="text-align:center;">string</td> <td style="text-align:right;">加密后的密码</td></tr></tbody></table> <p>返回示例</p> <div class="language-json extra-class"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;co&quot;</span><span class="token operator">:</span> <span class="token string">&quot;12345678&quot;</span><span class="token punctuation">,</span>
<span class="token punctuation">}</span>
</code></pre></div><h3 id="修改用户信息"><a href="#修改用户信息" class="header-anchor">#</a> 修改用户信息</h3> <p>修改用户接口</p> <ul><li><code>POST</code> /vip/edit</li></ul> <p>先决条件:</p> <ul><li>用户已登陆</li> <li>为超级管理员</li></ul> <table><thead><tr><th>参数名</th> <th style="text-align:center;">是否必选</th> <th style="text-align:center;">类型</th> <th style="text-align:right;">说明</th></tr></thead> <tbody><tr><td>id</td> <td style="text-align:center;">false</td> <td style="text-align:center;">string</td> <td style="text-align:right;">用户ID</td></tr> <tr><td>nickname</td> <td style="text-align:center;">false</td> <td style="text-align:center;">string</td> <td style="text-align:right;">用户名</td></tr> <tr><td>co</td> <td style="text-align:center;">false</td> <td style="text-align:center;">string</td> <td style="text-align:right;">登录码</td></tr> <tr><td>wx</td> <td style="text-align:center;">false</td> <td style="text-align:center;">string</td> <td style="text-align:right;">微信号</td></tr></tbody></table> <p>返回示例</p> <div class="language-json extra-class"><pre class="language-json"><code><span class="token punctuation">{</span>
<span class="token property">&quot;state&quot;</span><span class="token operator">:</span> <span class="token number">200</span><span class="token punctuation">,</span>
<span class="token property">&quot;result&quot;</span><span class="token operator">:</span> <span class="token null keyword">null</span><span class="token punctuation">,</span>
@ -303,15 +309,15 @@
<span class="token property">&quot;result&quot;</span><span class="token operator">:</span> <span class="token null keyword">null</span><span class="token punctuation">,</span>
<span class="token property">&quot;msg&quot;</span><span class="token operator">:</span> <span class="token string">&quot;删除成功&quot;</span>
<span class="token punctuation">}</span>
</code></pre></div><h2 id="文件上传"><a href="#文件上传" class="header-anchor">#</a> 文件上传</h2> <h2 id="数据统计"><a href="#数据统计" class="header-anchor">#</a> 数据统计</h2> <h3 id="数据大盘接口"><a href="#数据大盘接口" class="header-anchor">#</a> 数据大盘接口</h3> <h3 id="页面埋点"><a href="#页面埋点" class="header-anchor">#</a> 页面埋点</h3></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">2/15/2021, 12:27:31 AM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
</code></pre></div><h2 id="文件上传"><a href="#文件上传" class="header-anchor">#</a> 文件上传</h2> <h2 id="数据统计"><a href="#数据统计" class="header-anchor">#</a> 数据统计</h2> <h3 id="数据大盘接口"><a href="#数据大盘接口" class="header-anchor">#</a> 数据大盘接口</h3> <h3 id="页面埋点"><a href="#页面埋点" class="header-anchor">#</a> 页面埋点</h3></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">5/21/2021, 12:53:47 AM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/doc/zh/guide/deployDev/oss.html" class="prev">
接入第三方oss
<a href="/doc/zh/guide/deployDev/form.html" class="prev">
获取Form组件的值数据
</a></span> <span class="next"><a href="/doc/zh/guide/deployDev/log.html">
更新日志
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/23.64cb6fc9.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/24.945f07e2.js" defer></script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/24.0fb33088.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/25.55896e11.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,7 +28,7 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" aria-current="page" class="active sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><p>服务端主要是我们的<code>server</code>工程, 数据主要存放在<code>server/public</code>下, 具体数据指代含义我们接下来会详细介绍.</p> <ul><li>bed 存放图片库中的分类图片, 私有化部署的用户可以直接在此处扩充图片(更好的建议是直接存到第三方图床)</li> <li>h5 用户保存的h5数据文件, 一个页面对应一个json文件</li> <li>h5_tpl 平台保存的模版数据文件夹
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" aria-current="page" class="active sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><p>服务端主要是我们的<code>server</code>工程, 数据主要存放在<code>server/public</code>下, 具体数据指代含义我们接下来会详细介绍.</p> <ul><li>bed 存放图片库中的分类图片, 私有化部署的用户可以直接在此处扩充图片(更好的建议是直接存到第三方图床)</li> <li>h5 用户保存的h5数据文件, 一个页面对应一个json文件</li> <li>h5_tpl 平台保存的模版数据文件夹
<ul><li>xxx.json 模版页面文件</li> <li>tpls.json 模版库中的模版列表数据, 可以手动清空</li></ul></li> <li>h5_vip 会员数据目录
<ul><li>form 会员制作的含表单页面的表单收集数据</li> <li>view.json 用户浏览量数据</li> <li>vip.json 会员列表数据</li> <li>vipCard.json 会员订单数据(暂时无用, 可删除)</li></ul></li> <li>image.json 图片库, 主要用来渲染页面的图片库数据</li> <li>city.json 省市3级联动数据, 为表单组件提供数据支持</li></ul></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">5/13/2021, 9:56:54 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
@ -39,6 +39,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/24.0fb33088.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/25.55896e11.js" defer></script>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/25.f099e2dd.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/27.3c7e8c9e.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,7 +28,7 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" aria-current="page" class="active sidebar-link">支持https</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><p>目前<strong>H5-Dooring</strong>全面支持https部署, 具体方式方案如下.</p> <h3 id="前端工程"><a href="#前端工程" class="header-anchor">#</a> 前端工程</h3> <p>我们需要在前端工程中的<code>src/pages/document.ejs</code>中的<code>head</code>中添加如下代码:</p> <div class="language-html extra-class"><pre class="language-html"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>meta</span> <span class="token attr-name">http-equiv</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>Content-Security-Policy<span class="token punctuation">&quot;</span></span> <span class="token attr-name">content</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>upgrade-insecure-requests<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" aria-current="page" class="active sidebar-link">支持https</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><p>目前<strong>H5-Dooring</strong>全面支持https部署, 具体方式方案如下.</p> <h3 id="前端工程"><a href="#前端工程" class="header-anchor">#</a> 前端工程</h3> <p>我们需要在前端工程中的<code>src/pages/document.ejs</code>中的<code>head</code>中添加如下代码:</p> <div class="language-html extra-class"><pre class="language-html"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>meta</span> <span class="token attr-name">http-equiv</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>Content-Security-Policy<span class="token punctuation">&quot;</span></span> <span class="token attr-name">content</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>upgrade-insecure-requests<span class="token punctuation">&quot;</span></span><span class="token punctuation">&gt;</span></span>
</code></pre></div><p>目的是强制将页面中HTTP请求转换为HTTPS.</p> <h3 id="服务器工程"><a href="#服务器工程" class="header-anchor">#</a> 服务器工程</h3> <h4 id="_1-申请ssl证书"><a href="#_1-申请ssl证书" class="header-anchor">#</a> 1. 申请SSL证书</h4> <h4 id="_2-生成-server-csr-server-key"><a href="#_2-生成-server-csr-server-key" class="header-anchor">#</a> 2. 生成 server.csr+server.key</h4> <h4 id="_3-通过证书链生成-pem文件"><a href="#_3-通过证书链生成-pem文件" class="header-anchor">#</a> 3. 通过证书链生成.pem文件</h4> <h4 id="在server中的src-index-js按如下方式修改"><a href="#在server中的src-index-js按如下方式修改" class="header-anchor">#</a><code>server</code>中的<code>src/index.js</code>按如下方式修改</h4> <div class="language-js extra-class"><pre class="language-js"><code><span class="token comment">// 忽略部分无影响代码</span>
<span class="token keyword">import</span> https <span class="token keyword">from</span> <span class="token string">'https'</span><span class="token punctuation">;</span>
@ -66,6 +66,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/25.f099e2dd.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/27.3c7e8c9e.js" defer></script>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/27.8cd051f4.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/29.27514922.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,7 +28,7 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" aria-current="page" class="active sidebar-link">接入第三方oss</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><p><strong>H5-Dooring</strong>全面支持第三方对象存储服务, 我们以七牛云对象存储为例.</p> <h3 id="前端上传文件到oss"><a href="#前端上传文件到oss" class="header-anchor">#</a> 前端上传文件到oss</h3> <p>首先我们需要在第三方对象储存服务中配置对应的服务和域名. 其次安装对应的sdk, 如七牛云sdk:</p> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">import</span> <span class="token operator">*</span> <span class="token keyword">as</span> qiniu <span class="token keyword">from</span> <span class="token string">'qiniu-js'</span><span class="token punctuation">;</span>
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" aria-current="page" class="active sidebar-link">接入第三方oss</a><ul class="sidebar-sub-headers"></ul></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><p><strong>H5-Dooring</strong>全面支持第三方对象存储服务, 我们以七牛云对象存储为例.</p> <h3 id="前端上传文件到oss"><a href="#前端上传文件到oss" class="header-anchor">#</a> 前端上传文件到oss</h3> <p>首先我们需要在第三方对象储存服务中配置对应的服务和域名. 其次安装对应的sdk, 如七牛云sdk:</p> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">import</span> <span class="token operator">*</span> <span class="token keyword">as</span> qiniu <span class="token keyword">from</span> <span class="token string">'qiniu-js'</span><span class="token punctuation">;</span>
</code></pre></div><p>其次我们修改<code>h5_plus</code>工程的<code>Upload</code>组件, 详细地址为<code>src/core/FormComponents/Upload</code>.</p> <p>修改内容如下:</p> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">const</span> fileName <span class="token operator">=</span> file<span class="token punctuation">.</span>name
<span class="token keyword">const</span> suffix <span class="token operator">=</span> <span class="token string">'自定义文件后缀'</span>
<span class="token keyword">const</span> putExtra <span class="token operator">=</span> <span class="token punctuation">{</span>
@ -49,15 +49,73 @@ observe<span class="token punctuation">.</span><span class="token function">subs
<span class="token punctuation">}</span><span class="token punctuation">)</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>onChange <span class="token operator">&amp;&amp;</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span><span class="token function">onChange</span><span class="token punctuation">(</span>fileList<span class="token punctuation">)</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span>
</code></pre></div><p>其他oss服务类似, 如果不清楚如何配置, 可以在<a href="http://h5.dooring.cn/" target="_blank" rel="noopener noreferrer">H5-Dooring官网<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>中找到我们.</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/31/2021, 1:25:02 AM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
</code></pre></div><p>其他oss服务类似, 如果不清楚如何配置, 可以在<a href="http://h5.dooring.cn/" target="_blank" rel="noopener noreferrer">H5-Dooring官网<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>中找到我们.</p> <h3 id="如何接入任何第三方上传服务"><a href="#如何接入任何第三方上传服务" class="header-anchor">#</a> 如何接入任何第三方上传服务</h3> <p>首先我们的上传组件<code>Upload</code>使用内部的服务接口来实现上传功能, 所以需要给组件的<code>action</code>赋值, 如下:</p> <div class="language-jsx extra-class"><pre class="language-jsx"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token class-name">Upload</span></span>
<span class="token attr-name">fileList</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span>fileList<span class="token punctuation">}</span></span>
<span class="token attr-name">onPreview</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handlePreview<span class="token punctuation">}</span></span>
<span class="token attr-name">onChange</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleChange<span class="token punctuation">}</span></span>
<span class="token attr-name">onRemove</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleRemove<span class="token punctuation">}</span></span>
<span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>file<span class="token punctuation">&quot;</span></span>
<span class="token attr-name">listType</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>picture-card<span class="token punctuation">&quot;</span></span>
<span class="token attr-name">className</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span>avatarUploader<span class="token punctuation">}</span></span>
<span class="token attr-name">action</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span>sdk_upload_api <span class="token operator">||</span> action<span class="token punctuation">}</span></span>
<span class="token attr-name">withCredentials</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span>withCredentials<span class="token punctuation">}</span></span>
<span class="token attr-name">headers</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span>
<span class="token string">'x-requested-with'</span><span class="token operator">:</span> localStorage<span class="token punctuation">.</span><span class="token function">getItem</span><span class="token punctuation">(</span><span class="token string">'user'</span><span class="token punctuation">)</span> <span class="token operator">||</span> <span class="token string">''</span><span class="token punctuation">,</span>
<span class="token string">'authorization'</span><span class="token operator">:</span> localStorage<span class="token punctuation">.</span><span class="token function">getItem</span><span class="token punctuation">(</span><span class="token string">'token'</span><span class="token punctuation">)</span> <span class="token operator">||</span> <span class="token string">''</span><span class="token punctuation">,</span>
<span class="token operator">...</span>headers
<span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">beforeUpload</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleBeforeUpload<span class="token punctuation">}</span></span>
<span class="token punctuation">&gt;</span></span><span class="token plain-text">
</span><span class="token punctuation">{</span>fileList<span class="token punctuation">.</span>length <span class="token operator">&gt;=</span> maxLen <span class="token operator">?</span> <span class="token keyword">null</span> <span class="token operator">:</span> uploadButton<span class="token punctuation">}</span><span class="token plain-text">
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span><span class="token class-name">Upload</span></span><span class="token punctuation">&gt;</span></span>
</code></pre></div><p>如果需要集成第三方oss, 如七牛云, 阿里oss等, 我们需要将<code>Upload</code>组件的<code>action</code>属性设置为空字符串, 其次删除<code>onChange</code>属性, 上传操作统一在<code>beforeUpload</code>中进行. 案例如下:</p> <div class="language-jsx extra-class"><pre class="language-jsx"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span><span class="token class-name">Upload</span></span>
<span class="token attr-name">fileList</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span>fileList<span class="token punctuation">}</span></span>
<span class="token attr-name">action</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span><span class="token punctuation">&quot;</span></span>
<span class="token attr-name">onPreview</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handlePreview<span class="token punctuation">}</span></span>
<span class="token attr-name">onRemove</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>onRemove<span class="token punctuation">}</span></span>
<span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>file<span class="token punctuation">&quot;</span></span>
<span class="token attr-name">listType</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>picture-card<span class="token punctuation">&quot;</span></span>
<span class="token attr-name">className</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span>styles<span class="token punctuation">.</span>avatarUploader<span class="token punctuation">}</span></span>
<span class="token attr-name">headers</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span><span class="token punctuation">{</span><span class="token operator">...</span>headers<span class="token punctuation">}</span><span class="token punctuation">}</span></span>
<span class="token attr-name">beforeUpload</span><span class="token script language-javascript"><span class="token script-punctuation punctuation">=</span><span class="token punctuation">{</span><span class="token keyword">this</span><span class="token punctuation">.</span>handleBeforeUpload<span class="token punctuation">}</span></span>
<span class="token punctuation">&gt;</span></span><span class="token plain-text">
</span><span class="token punctuation">{</span>fileList<span class="token punctuation">.</span>length <span class="token operator">&gt;=</span> maxLen <span class="token operator">?</span> <span class="token keyword">null</span> <span class="token operator">:</span> uploadButton<span class="token punctuation">}</span><span class="token plain-text">
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span><span class="token class-name">Upload</span></span><span class="token punctuation">&gt;</span></span>
</code></pre></div><p>自定义上传的核心逻辑放在了<code>beforeUpload</code>上. 我们具体看看<code>beforeUpload</code>这个方法如何实现.</p> <div class="language-js extra-class"><pre class="language-js"><code><span class="token function-variable function">handleBeforeUpload</span> <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token parameter">file<span class="token operator">:</span>RcFile</span><span class="token punctuation">)</span> <span class="token operator">=&gt;</span> <span class="token punctuation">{</span>
<span class="token comment">// 1. 限制图片类型</span>
<span class="token keyword">const</span> isJpgOrPng <span class="token operator">=</span> file<span class="token punctuation">.</span>type <span class="token operator">===</span> <span class="token string">'image/jpeg'</span> <span class="token operator">||</span> file<span class="token punctuation">.</span>type <span class="token operator">===</span> <span class="token string">'image/png'</span> <span class="token operator">||</span> file<span class="token punctuation">.</span>type <span class="token operator">===</span> <span class="token string">'image/jpg'</span> <span class="token operator">||</span> file<span class="token punctuation">.</span>type <span class="token operator">===</span> <span class="token string">'image/gif'</span><span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>isJpgOrPng<span class="token punctuation">)</span> <span class="token punctuation">{</span>
message<span class="token punctuation">.</span><span class="token function">error</span><span class="token punctuation">(</span><span class="token string">'只能上传格式为jpeg/png/gif的图片'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token comment">// 限制上传文件大小</span>
<span class="token keyword">const</span> isLt3M <span class="token operator">=</span> file<span class="token punctuation">.</span>size <span class="token operator">/</span> <span class="token number">1024</span> <span class="token operator">/</span> <span class="token number">1024</span> <span class="token operator">&lt;</span> <span class="token number">3</span><span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span><span class="token operator">!</span>isLt3M<span class="token punctuation">)</span> <span class="token punctuation">{</span>
message<span class="token punctuation">.</span><span class="token function">error</span><span class="token punctuation">(</span><span class="token string">'图片必须小于3MB!'</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">if</span><span class="token punctuation">(</span>isJpgOrPng <span class="token operator">&amp;&amp;</span> isLt3M<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token comment">// 3. 正常上传逻辑</span>
<span class="token keyword">const</span> fileName <span class="token operator">=</span> file<span class="token punctuation">.</span>name
<span class="token comment">// 3.1 调用oss接口, 将图片上传oss</span>
<span class="token comment">// 3.2 将接口返回的url信息, 组装成fileList数据结构, 并更新state</span>
<span class="token keyword">const</span> fileList <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">{</span> uid<span class="token punctuation">,</span> name<span class="token operator">:</span> fileName<span class="token punctuation">,</span> status<span class="token operator">:</span> <span class="token string">'done'</span><span class="token punctuation">,</span> url <span class="token punctuation">}</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">this</span><span class="token punctuation">.</span><span class="token function">setState</span><span class="token punctuation">(</span><span class="token punctuation">{</span>
curImgUrl<span class="token operator">:</span> url<span class="token punctuation">,</span>
fileList<span class="token punctuation">,</span>
<span class="token punctuation">}</span><span class="token punctuation">)</span>
<span class="token comment">// 3.3 将数据传给上层保存</span>
<span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span>onChange <span class="token operator">&amp;&amp;</span> <span class="token keyword">this</span><span class="token punctuation">.</span>props<span class="token punctuation">.</span><span class="token function">onChange</span><span class="token punctuation">(</span>fileList<span class="token punctuation">)</span>
<span class="token punctuation">}</span>
<span class="token keyword">return</span> isJpgOrPng <span class="token operator">&amp;&amp;</span> isLt3M<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</code></pre></div></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/31/2021, 1:25:02 AM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/doc/zh/guide/deployDev/https.html" class="prev">
支持https
</a></span> <span class="next"><a href="/doc/zh/guide/deployDev/api.html">
API接口文档
</a></span> <span class="next"><a href="/doc/zh/guide/deployDev/form.html">
获取Form组件的值数据
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/27.8cd051f4.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/29.27514922.js" defer></script>
</body>
</html>

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/28.a632ec96.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/30.e6444117.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,7 +28,7 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" aria-current="page" class="active sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><div class="language- extra-class"><pre class="language-text"><code>src
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" aria-current="page" class="active sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><div class="language- extra-class"><pre class="language-text"><code>src
├─ assets
│ ├─ header.png
│ ├─ form.png
@ -322,6 +322,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/28.a632ec96.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/30.e6444117.js" defer></script>
</body>
</html>

View File

@ -0,0 +1,52 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>h5-dooring</title>
<meta name="generator" content="VuePress 1.8.0">
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/13.96be485c.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
首页
</a></div><div class="nav-item"><a href="/doc/zh/guide/" class="nav-link router-link-active">
文档
</a></div><div class="nav-item"><a href="http://h5.dooring.cn" target="_blank" rel="noopener noreferrer" class="nav-link external">
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/doc/" class="nav-link">
首页
</a></div><div class="nav-item"><a href="/doc/zh/guide/" class="nav-link router-link-active">
文档
</a></div><div class="nav-item"><a href="http://h5.dooring.cn" target="_blank" rel="noopener noreferrer" class="nav-link external">
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" aria-current="page" class="active sidebar-link">下载源码</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/doc/zh/guide/functionRealization/download.html#下载源码" class="sidebar-link">下载源码</a></li></ul></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h2 id="下载源码"><a href="#下载源码" class="header-anchor">#</a> 下载源码</h2> <p>目前Dooring已支持下载源码功能, 我们可以使用编辑器页面头部的下载按钮来实现下载用户搭建的H5源码.
<img src="/doc/assets/img/down.75812dab.png" alt="foo"></p> <p>源码下载之后是完整的React项目源代码, 开发人员可以直接根据自己的业务需求来二次编写代码来满足不同的业务需求.</p> <p>在拿到源码之后, 我们需要进入项目, 使用npm或者yarn安装项目依赖, 如下:</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">npm</span> <span class="token function">install</span>
// 或者
<span class="token function">yarn</span>
</code></pre></div><p>之后我们就可以本地运行项目了:</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">npm</span> start
// 或者
<span class="token function">yarn</span> start
</code></pre></div><p>因为源码工程采用<code>umi3.0</code>搭建, 所以代码配置可以参考<code>umi3.0</code>规范, 比如路由配置, <code>history</code>模式, 打包路径等, 二次开发完成之后, 我们可以执行:</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">npm</span> run build
// 或者
<span class="token function">yarn</span> build
</code></pre></div><p>将项目打包成html, 以便部署到任何服务器中.</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">5/18/2021, 9:49:30 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/doc/zh/guide/functionRealization/saveJson.html" class="prev">
保存json
</a></span> <span class="next"><a href="/doc/zh/guide/functionRealization/pagePreview.html">
网页预览
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/13.96be485c.js" defer></script>
</body>
</html>

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/13.92f62c85.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/14.c3ed6dd7.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,7 +28,7 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" aria-current="page" class="active sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="真机预览"><a href="#真机预览" class="header-anchor">#</a> 真机预览</h1> <p>真机预览和网页预览的流程类似,工作流程如下:</p> <img src="/doc/assets/img/preview-machine.895a0711.png" alt="foo"> <p>由于不同机型预览的效果有些许不同,最终效果以实际看到的为主。</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/17/2021, 9:57:34 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" aria-current="page" class="active sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="真机预览"><a href="#真机预览" class="header-anchor">#</a> 真机预览</h1> <p>真机预览和网页预览的流程类似,工作流程如下:</p> <img src="/doc/assets/img/preview-machine.895a0711.png" alt="foo"> <p>由于不同机型预览的效果有些许不同,最终效果以实际看到的为主。</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/17/2021, 9:57:34 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/doc/zh/guide/functionRealization/pagePreview.html" class="prev">
网页预览
@ -37,6 +37,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/13.92f62c85.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/14.c3ed6dd7.js" defer></script>
</body>
</html>

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/7.b81baac3.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/7.4f98f3a5.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,15 +28,15 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" aria-current="page" class="active sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="网页预览"><a href="#网页预览" class="header-anchor">#</a> 网页预览</h1> <p>我们看看网页预览的工作流程:</p> <img src="/doc/assets/img/preview-flow.b37c7798.png" alt="foo"> <p>前端预览界面:</p> <img src="/doc/assets/img/preview-page.3ec86df5.png" alt="foo"></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/17/2021, 9:57:34 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" aria-current="page" class="active sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="网页预览"><a href="#网页预览" class="header-anchor">#</a> 网页预览</h1> <p>我们看看网页预览的工作流程:</p> <img src="/doc/assets/img/preview-flow.b37c7798.png" alt="foo"> <p>前端预览界面:</p> <img src="/doc/assets/img/preview-page.3ec86df5.png" alt="foo"></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/17/2021, 9:57:34 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/doc/zh/guide/functionRealization/saveJson.html" class="prev">
保存json
<a href="/doc/zh/guide/functionRealization/download.html" class="prev">
下载源码
</a></span> <span class="next"><a href="/doc/zh/guide/functionRealization/machinePreview.html">
真机预览
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/7.b81baac3.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/7.4f98f3a5.js" defer></script>
</body>
</html>

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/29.4deb4e94.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/31.7251d101.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,7 +28,7 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" aria-current="page" class="active sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="撤销-重做"><a href="#撤销-重做" class="header-anchor">#</a> 撤销/重做</h1> <p>撤销重做我们主要使用了redux-undo这个库配合Dva使用具体使用方法参考如下操作</p> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">import</span> <span class="token punctuation">{</span> createLogger <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'redux-logger'</span><span class="token punctuation">;</span>
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" aria-current="page" class="active sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="撤销-重做"><a href="#撤销-重做" class="header-anchor">#</a> 撤销/重做</h1> <p>撤销重做我们主要使用了redux-undo这个库配合Dva使用具体使用方法参考如下操作</p> <div class="language-js extra-class"><pre class="language-js"><code><span class="token keyword">import</span> <span class="token punctuation">{</span> createLogger <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'redux-logger'</span><span class="token punctuation">;</span>
<span class="token keyword">import</span> <span class="token punctuation">{</span> message <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'antd'</span><span class="token punctuation">;</span>
<span class="token keyword">import</span> undoable<span class="token punctuation">,</span> <span class="token punctuation">{</span> StateWithHistory <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'redux-undo'</span><span class="token punctuation">;</span>
<span class="token keyword">import</span> <span class="token punctuation">{</span> Reducer<span class="token punctuation">,</span> AnyAction <span class="token punctuation">}</span> <span class="token keyword">from</span> <span class="token string">'redux'</span><span class="token punctuation">;</span>
@ -58,6 +58,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/29.4deb4e94.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/31.7251d101.js" defer></script>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/14.0f62422c.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/15.751a6d56.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,7 +28,7 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" aria-current="page" class="active sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="截图功能"><a href="#截图功能" class="header-anchor">#</a> 截图功能</h1> <p>截图功能这里我们主要使用了dom-to-image这个库来将html转化为图片并进行分享。</p> <img src="/doc/assets/img/screenshot.daeecedd.png" alt="foo"></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/17/2021, 9:57:34 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" aria-current="page" class="active sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="截图功能"><a href="#截图功能" class="header-anchor">#</a> 截图功能</h1> <p>截图功能这里我们主要使用了dom-to-image这个库来将html转化为图片并进行分享。</p> <img src="/doc/assets/img/screenshot.daeecedd.png" alt="foo"></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/17/2021, 9:57:34 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/doc/zh/guide/functionRealization/revocation.html" class="prev">
撤销/重做
@ -37,6 +37,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/14.0f62422c.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/15.751a6d56.js" defer></script>
</body>
</html>

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/8.774e8d70.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/8.63e7a89b.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,7 +28,7 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" aria-current="page" class="active sidebar-link">模板库</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/doc/zh/guide/functionRealization/templateLibrary.html#模板库实现思路" class="sidebar-link">模板库实现思路</a></li></ul></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h2 id="模板库实现思路"><a href="#模板库实现思路" class="header-anchor">#</a> 模板库实现思路</h2> <p>我们目前开放了模板库功能一方面我们会定期配置行业模板另一个方面Dooring还支持用户自己配置模板可以一键保存到云端供用户使用。我们也可以将模板变成自己的页面共享给其他人。实现方式本质上是保存用户的配置信息上传到服务器中做存储在后台提供了管理模板的模块可以修改删除模板。如下图所示</p> <h3 id="模板前台展示"><a href="#模板前台展示" class="header-anchor">#</a> 模板前台展示:</h3> <img src="/doc/assets/img/template-ft.4f6e0d14.png" alt="foo"> <h3 id="模板后台展示"><a href="#模板后台展示" class="header-anchor">#</a> 模板后台展示:</h3> <img src="/doc/assets/img/template-bg.244b9ac7.png" alt="foo"></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/17/2021, 9:57:34 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" aria-current="page" class="active sidebar-link">模板库</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/doc/zh/guide/functionRealization/templateLibrary.html#模板库实现思路" class="sidebar-link">模板库实现思路</a></li></ul></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h2 id="模板库实现思路"><a href="#模板库实现思路" class="header-anchor">#</a> 模板库实现思路</h2> <p>我们目前开放了模板库功能一方面我们会定期配置行业模板另一个方面Dooring还支持用户自己配置模板可以一键保存到云端供用户使用。我们也可以将模板变成自己的页面共享给其他人。实现方式本质上是保存用户的配置信息上传到服务器中做存储在后台提供了管理模板的模块可以修改删除模板。如下图所示</p> <h3 id="模板前台展示"><a href="#模板前台展示" class="header-anchor">#</a> 模板前台展示:</h3> <img src="/doc/assets/img/template-ft.4f6e0d14.png" alt="foo"> <h3 id="模板后台展示"><a href="#模板后台展示" class="header-anchor">#</a> 模板后台展示:</h3> <img src="/doc/assets/img/template-bg.244b9ac7.png" alt="foo"></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/17/2021, 9:57:34 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="prev">
动态加载
@ -37,6 +37,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/8.774e8d70.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/8.63e7a89b.js" defer></script>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/15.32ecee4e.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/16.35510801.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/16.b025618a.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/17.bf2e8f73.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,7 +28,7 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" aria-current="page" class="active sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><img src="/doc/assets/img/framework.1c9c696b.png" alt="foo"> <p>注:灰色部分还未实现,正在更新中...</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/17/2021, 7:12:02 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" aria-current="page" class="active sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" class="sidebar-link">快速上手</a></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><img src="/doc/assets/img/framework.1c9c696b.png" alt="foo"> <p>注:灰色部分还未实现,正在更新中...</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">1/17/2021, 7:12:02 PM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/doc/zh/guide/" class="prev router-link-active">
基本介绍
@ -37,6 +37,6 @@
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/15.32ecee4e.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/16.b025618a.js" defer></script>
</body>
</html>

View File

@ -8,8 +8,8 @@
<meta name="description" content="">
<link rel="preload" href="/doc/assets/css/0.styles.690c58c3.css" as="style"><link rel="preload" href="/doc/assets/js/app.6f018bb2.js" as="script"><link rel="preload" href="/doc/assets/js/17.c8b6849e.js" as="script"><link rel="preload" href="/doc/assets/js/2.917402d3.js" as="script"><link rel="preload" href="/doc/assets/js/16.35510801.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.c5f47d34.js"><link rel="prefetch" href="/doc/assets/js/12.f88d7615.js"><link rel="prefetch" href="/doc/assets/js/13.92f62c85.js"><link rel="prefetch" href="/doc/assets/js/14.0f62422c.js"><link rel="prefetch" href="/doc/assets/js/15.32ecee4e.js"><link rel="prefetch" href="/doc/assets/js/18.e7ced042.js"><link rel="prefetch" href="/doc/assets/js/19.90149f22.js"><link rel="prefetch" href="/doc/assets/js/20.fdb45864.js"><link rel="prefetch" href="/doc/assets/js/21.d6a1c6a8.js"><link rel="prefetch" href="/doc/assets/js/22.be7d4cd5.js"><link rel="prefetch" href="/doc/assets/js/23.64cb6fc9.js"><link rel="prefetch" href="/doc/assets/js/24.0fb33088.js"><link rel="prefetch" href="/doc/assets/js/25.f099e2dd.js"><link rel="prefetch" href="/doc/assets/js/26.c490ea36.js"><link rel="prefetch" href="/doc/assets/js/27.8cd051f4.js"><link rel="prefetch" href="/doc/assets/js/28.a632ec96.js"><link rel="prefetch" href="/doc/assets/js/29.4deb4e94.js"><link rel="prefetch" href="/doc/assets/js/3.d2d22c88.js"><link rel="prefetch" href="/doc/assets/js/30.78ee027a.js"><link rel="prefetch" href="/doc/assets/js/4.d6c5e12d.js"><link rel="prefetch" href="/doc/assets/js/5.262c1769.js"><link rel="prefetch" href="/doc/assets/js/6.5f53f889.js"><link rel="prefetch" href="/doc/assets/js/7.b81baac3.js"><link rel="prefetch" href="/doc/assets/js/8.774e8d70.js"><link rel="prefetch" href="/doc/assets/js/9.5e6217e4.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.690c58c3.css">
<link rel="preload" href="/doc/assets/css/0.styles.150aeb2b.css" as="style"><link rel="preload" href="/doc/assets/js/app.95eb3fd8.js" as="script"><link rel="preload" href="/doc/assets/js/18.81ac15ea.js" as="script"><link rel="preload" href="/doc/assets/js/2.a5de04a4.js" as="script"><link rel="preload" href="/doc/assets/js/17.bf2e8f73.js" as="script"><link rel="prefetch" href="/doc/assets/js/10.b0d462d3.js"><link rel="prefetch" href="/doc/assets/js/11.6f1d3bfc.js"><link rel="prefetch" href="/doc/assets/js/12.fab21abd.js"><link rel="prefetch" href="/doc/assets/js/13.96be485c.js"><link rel="prefetch" href="/doc/assets/js/14.c3ed6dd7.js"><link rel="prefetch" href="/doc/assets/js/15.751a6d56.js"><link rel="prefetch" href="/doc/assets/js/16.b025618a.js"><link rel="prefetch" href="/doc/assets/js/19.67f92c26.js"><link rel="prefetch" href="/doc/assets/js/20.3e91412b.js"><link rel="prefetch" href="/doc/assets/js/21.ab262167.js"><link rel="prefetch" href="/doc/assets/js/22.a7421118.js"><link rel="prefetch" href="/doc/assets/js/23.b2f0953d.js"><link rel="prefetch" href="/doc/assets/js/24.945f07e2.js"><link rel="prefetch" href="/doc/assets/js/25.55896e11.js"><link rel="prefetch" href="/doc/assets/js/26.3f135e70.js"><link rel="prefetch" href="/doc/assets/js/27.3c7e8c9e.js"><link rel="prefetch" href="/doc/assets/js/28.47b21cca.js"><link rel="prefetch" href="/doc/assets/js/29.27514922.js"><link rel="prefetch" href="/doc/assets/js/3.ececc857.js"><link rel="prefetch" href="/doc/assets/js/30.e6444117.js"><link rel="prefetch" href="/doc/assets/js/31.7251d101.js"><link rel="prefetch" href="/doc/assets/js/32.dab5a5d2.js"><link rel="prefetch" href="/doc/assets/js/4.cde629ec.js"><link rel="prefetch" href="/doc/assets/js/5.be0f7e94.js"><link rel="prefetch" href="/doc/assets/js/6.4ee07341.js"><link rel="prefetch" href="/doc/assets/js/7.4f98f3a5.js"><link rel="prefetch" href="/doc/assets/js/8.63e7a89b.js"><link rel="prefetch" href="/doc/assets/js/9.b96234f5.js">
<link rel="stylesheet" href="/doc/assets/css/0.styles.150aeb2b.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/doc/" class="home-link router-link-active"><!----> <span class="site-name">h5-dooring</span></a> <div class="links"><!----> <nav class="nav-links can-hide"><div class="nav-item"><a href="/doc/" class="nav-link">
@ -28,7 +28,7 @@
体验
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://github.com/MrXujiang/h5-Dooring" target="_blank" rel="noopener noreferrer" class="nav-link external">
github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" aria-current="page" class="active sidebar-link">快速上手</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/doc/zh/guide/startedQuickly.html#从零搭建一个h5表单页面" class="sidebar-link">从零搭建一个H5表单页面</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/startedQuickly.html#环境准备" class="sidebar-link">环境准备</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/startedQuickly.html#源码工程" class="sidebar-link">源码工程</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/startedQuickly.html#本地运行" class="sidebar-link">本地运行</a></li></ul></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="快速上手"><a href="#快速上手" class="header-anchor">#</a> 快速上手</h1> <h2 id="从零搭建一个h5表单页面"><a href="#从零搭建一个h5表单页面" class="header-anchor">#</a> 从零搭建一个H5表单页面</h2> <iframe src="//player.bilibili.com/player.html?aid=715343955&amp;bvid=BV1QQ4y1Z725&amp;cid=332145157&amp;page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="allowfullscreen" style="width:100%;height:420px;margin-top:20px;"></iframe> <h2 id="环境准备"><a href="#环境准备" class="header-anchor">#</a> 环境准备</h2> <p>首先得有 node并确保 node 版本是 <code>10.13</code> 或以上mac/win 下推荐使用 n 来管理 node 版本)</p> <div class="language- extra-class"><pre class="language-text"><code>$ node-v
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><a href="/doc/zh/guide/" aria-current="page" class="sidebar-link">基本介绍</a></li><li><a href="/doc/zh/guide/introduced.html" class="sidebar-link">doring如何工作</a></li><li><a href="/doc/zh/guide/startedQuickly.html" aria-current="page" class="active sidebar-link">快速上手</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/doc/zh/guide/startedQuickly.html#从零搭建一个h5表单页面" class="sidebar-link">从零搭建一个H5表单页面</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/startedQuickly.html#环境准备" class="sidebar-link">环境准备</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/startedQuickly.html#源码工程" class="sidebar-link">源码工程</a></li><li class="sidebar-sub-header"><a href="/doc/zh/guide/startedQuickly.html#本地运行" class="sidebar-link">本地运行</a></li></ul></li><li><a href="/doc/zh/guide/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>组件开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/componentDev/componentStructure.html" class="sidebar-link">组件结构</a></li><li><a href="/doc/zh/guide/componentDev/DSLAnalysis.html" class="sidebar-link">DSL设计</a></li><li><a href="/doc/zh/guide/componentDev/dynamicLoading.html" class="sidebar-link">动态加载</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>功能实现</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/functionRealization/templateLibrary.html" class="sidebar-link">模板库</a></li><li><a href="/doc/zh/guide/functionRealization/saveJson.html" class="sidebar-link">保存json</a></li><li><a href="/doc/zh/guide/functionRealization/download.html" class="sidebar-link">下载源码</a></li><li><a href="/doc/zh/guide/functionRealization/pagePreview.html" class="sidebar-link">网页预览</a></li><li><a href="/doc/zh/guide/functionRealization/machinePreview.html" class="sidebar-link">真机预览</a></li><li><a href="/doc/zh/guide/functionRealization/revocation.html" class="sidebar-link">撤销/重做</a></li><li><a href="/doc/zh/guide/functionRealization/screenshot.html" class="sidebar-link">截图功能</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>私有化部署和二次开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/doc/zh/guide/deployDev/deploy.html" class="sidebar-link">私有化部署</a></li><li><a href="/doc/zh/guide/deployDev/deploy_v6.html" class="sidebar-link">v6.dooring私有化部署(临时)</a></li><li><a href="/doc/zh/guide/deployDev/dir.html" class="sidebar-link">服务端数据说明</a></li><li><a href="/doc/zh/guide/deployDev/https.html" class="sidebar-link">支持https</a></li><li><a href="/doc/zh/guide/deployDev/oss.html" class="sidebar-link">接入第三方oss</a></li><li><a href="/doc/zh/guide/deployDev/form.html" class="sidebar-link">获取Form组件的值数据</a></li><li><a href="/doc/zh/guide/deployDev/api.html" class="sidebar-link">API接口文档</a></li><li><a href="/doc/zh/guide/deployDev/log.html" class="sidebar-link">更新日志</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="快速上手"><a href="#快速上手" class="header-anchor">#</a> 快速上手</h1> <h2 id="从零搭建一个h5表单页面"><a href="#从零搭建一个h5表单页面" class="header-anchor">#</a> 从零搭建一个H5表单页面</h2> <iframe src="//player.bilibili.com/player.html?aid=715343955&amp;bvid=BV1QQ4y1Z725&amp;cid=332145157&amp;page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="allowfullscreen" style="width:100%;height:420px;margin-top:20px;"></iframe> <h2 id="环境准备"><a href="#环境准备" class="header-anchor">#</a> 环境准备</h2> <p>首先得有 node并确保 node 版本是 <code>10.13</code> 或以上mac/win 下推荐使用 n 来管理 node 版本)</p> <div class="language- extra-class"><pre class="language-text"><code>$ node-v
v10.13.0
</code></pre></div><p>注:推荐使用 yarn 管理 npm 依赖</p> <h2 id="源码工程"><a href="#源码工程" class="header-anchor">#</a> 源码工程</h2> <table><thead><tr><th>h5_plus(编辑器项目)</th> <th>admin(管理后台)</th> <th>Server(服务端项目)</th></tr></thead> <tbody></tbody></table> <p>本地拿到源码工程之后先安装对应依赖,在对应工程目录里执行 yarn 命令,等待依赖安装完成。</p> <h2 id="本地运行"><a href="#本地运行" class="header-anchor">#</a> 本地运行</h2> <p>1.首先本地启动 server在 src 目录的 index.js 中修改跨域白名单,改为本地的 ip+端口如http://192.167.0.3:8000</p> <p>2.其次本地启动 h5_plus,启动完毕在浏览器打开对应的启动地址即可查看,如下:</p> <img src="/doc/assets/img/home.f76105db.png" alt="foo"></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">Last Updated:</span> <span class="time">5/8/2021, 12:34:13 AM</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
@ -39,6 +39,6 @@ v10.13.0
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
<script src="/doc/assets/js/app.6f018bb2.js" defer></script><script src="/doc/assets/js/17.c8b6849e.js" defer></script><script src="/doc/assets/js/2.917402d3.js" defer></script><script src="/doc/assets/js/16.35510801.js" defer></script>
<script src="/doc/assets/js/app.95eb3fd8.js" defer></script><script src="/doc/assets/js/18.81ac15ea.js" defer></script><script src="/doc/assets/js/2.a5de04a4.js" defer></script><script src="/doc/assets/js/17.bf2e8f73.js" defer></script>
</body>
</html>

View File

@ -86,6 +86,12 @@ module.exports = {
collapsable: false,
sidebarDepth: 1,
},
{
title: '下载源码',
path: '/zh/guide/functionRealization/download',
collapsable: false,
sidebarDepth: 1,
},
{
title: '网页预览',
path: '/zh/guide/functionRealization/pagePreview',
@ -148,6 +154,12 @@ module.exports = {
collapsable: false,
sidebarDepth: 1,
},
{
title: '获取Form组件的值数据',
path: '/zh/guide/deployDev/form',
collapsable: false,
sidebarDepth: 1,
},
{
title: 'API接口文档',
path: '/zh/guide/deployDev/api',

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 662 KiB

View File

@ -11,7 +11,7 @@
## 用户相关
### 登录
### 用户登录
用户登录接口
- `POST` /vip/check
@ -119,6 +119,47 @@
}
```
### 生成登录码
生成登录码接口
- `GET` /vip/gcode
先决条件:
- 用户已登陆
- 为超级管理员
注: 生成登录码是由笔者写的`加密算法`实现, 不需要手动实现, 如果有自定义需求, 可以自行二次开发实现.
返回示例
``` json
{
"co": "1x2fgggteee3456_zdd4",
}
```
`说明:` 为了保护用户信息安全, 返回的登录码是加密后的密文, 会调用笔者写的`xib.xip`方法进行加密, 如果想看到原始密码, 需要调用`xib.uxip`进行解密.
### 获取用户真实密码
获取用户真实密码接口
- `GET` /vip/gcode/get
先决条件:
- 用户已登陆
- 为超级管理员
| 参数名 | 是否必选 | 类型 | 说明 |
| ------------- |:-------------:|:-----:| -------------:|
| co | true | string | 加密后的密码 |
返回示例
``` json
{
"co": "12345678",
}
```
### 修改用户信息
修改用户接口

View File

@ -0,0 +1,41 @@
<!--
* @Date: 2021-01-20 23:25:29
* @LastEditors: xuxiaoxi
* @LastEditTime: 2021-01-22 21:48:34
* @FilePath: /github-h5-Dooring/doc/zh/guide/deployDev/deploy.md
-->
### 获取Form组件的值数据
Form表单组件在`editor`目录下`src/components/BasicShop/BasicComponents`位置.
Form组件是`Dooring`的核心组件之一, 内部的值通过Form组件内部收集, 当然我们也可以暴露出来让其他交互或者组件消费(需要一定的二次开发), 关键代码如下:
``` js
req.post(`/vip/h5/form/post${location.search}`, {...fields, ...formData}).then(res => {
if(type === 'link') {
// 解析参数
let isPre = content.indexOf('?') < 0;
let query = {dr: Date.now(), from: urlParmas.tid};
try {
query = params ? {...JSON.parse(params), ...query} : query;
}catch(err) {
console.log(err)
}
// 跳转
if(content.indexOf('http') > -1) {
window.location.href = content + urlencode(query, isPre);
return
}
history.push(`/m?tid=${content}&${urlencode(query)}`);
}else if(type === 'modal') {
setVisible(true);
}else if(type === 'code') {
eval(content);
}
})
```
数据收集提交的核心代码在Form组件的第56-149行, 也就是`submit`方法. 表单组件收集到的数据统一存放在代码中的`formData`字段, 所以要想在其他地方获取用户表单填写的值, 我们只需要手动将`formData`传递出去, 或者挂载到全局(如window对象, localStorage, indexedDB等).

View File

@ -7,6 +7,33 @@
### 更新日志
#### 1.98
1. 编辑器功能区添加更多折叠下拉框, 优化头部界面
2. 添加数据源入口和界面
3. 模版库优化, 剔除无用模版, 累计60+模版
4. 入口页添加赞助墙
5. 升级视频组件, 支持弹幕, 截屏, 模式设置等功能
6. 文件上传路径兼容window服务器本地化部署
#### 1.96
1. 修复首页推荐项目外链地址和站内文案
2. 替换Dooring网站logo
3. 优化ios8以下访问H5时可能出现的页面卡顿问题
4. 图片上传组件添加svg, gif图片格式支持
5. 后台管理系统添加一键跳编辑器按钮
6. 服务端编辑侧路由加固
7. 文件上传组件添加自定义上传文档支持七牛云腾讯云阿里oss等第三方图床方式
#### 1.95
1. dooring文档添加更新日志模块
2. dooring增报错监控函数, 提供一键清空缓存按钮和自动重载功能
3. 新增电商商品H5模版
4. 页面配置增加背景模式和背景重复
5. 表单添加字段名配置项
#### 1.94
1. 转盘组件支持转盘交互功能(跳转链接/打开弹窗/自定义代码)

View File

@ -43,3 +43,76 @@ observe.subscribe(() => {}, null, (res) => {
其他oss服务类似, 如果不清楚如何配置, 可以在[H5-Dooring官网](http://h5.dooring.cn/)中找到我们.
### 如何接入任何第三方上传服务
首先我们的上传组件`Upload`使用内部的服务接口来实现上传功能, 所以需要给组件的`action`赋值, 如下:
``` jsx
<Upload
fileList={fileList}
onPreview={this.handlePreview}
onChange={this.handleChange}
onRemove={this.handleRemove}
name="file"
listType="picture-card"
className={styles.avatarUploader}
action={sdk_upload_api || action}
withCredentials={withCredentials}
headers={{
'x-requested-with': localStorage.getItem('user') || '',
'authorization': localStorage.getItem('token') || '',
...headers
}}
beforeUpload={this.handleBeforeUpload}
>
{fileList.length >= maxLen ? null : uploadButton}
</Upload>
```
如果需要集成第三方oss, 如七牛云, 阿里oss等, 我们需要将`Upload`组件的`action`属性设置为空字符串, 其次删除`onChange`属性, 上传操作统一在`beforeUpload`中进行. 案例如下:
``` jsx
<Upload
fileList={fileList}
action=""
onPreview={this.handlePreview}
onRemove={this.onRemove}
name="file"
listType="picture-card"
className={styles.avatarUploader}
headers={{...headers}}
beforeUpload={this.handleBeforeUpload}
>
{fileList.length >= maxLen ? null : uploadButton}
</Upload>
```
自定义上传的核心逻辑放在了`beforeUpload`上. 我们具体看看`beforeUpload`这个方法如何实现.
``` js
handleBeforeUpload = (file:RcFile) => {
// 1. 限制图片类型
const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png' || file.type === 'image/jpg' || file.type === 'image/gif';
if (!isJpgOrPng) {
message.error('只能上传格式为jpeg/png/gif的图片');
}
// 限制上传文件大小
const isLt3M = file.size / 1024 / 1024 < 3;
if (!isLt3M) {
message.error('图片必须小于3MB!');
}
if(isJpgOrPng && isLt3M) {
// 3. 正常上传逻辑
const fileName = file.name
// 3.1 调用oss接口, 将图片上传oss
// 3.2 将接口返回的url信息, 组装成fileList数据结构, 并更新state
const fileList = [{ uid, name: fileName, status: 'done', url }];
this.setState({
curImgUrl: url,
fileList,
})
// 3.3 将数据传给上层保存
this.props.onChange && this.props.onChange(fileList)
}
return isJpgOrPng && isLt3M;
}
```

View File

@ -0,0 +1,35 @@
<!--
* @Date: 2021-01-17 14:26:00
* @LastEditors: xuxiaoxi
* @LastEditTime: 2021-05-17 21:32:58
* @FilePath: /github-h5-Dooring/doc/zh/guide/functionRealization/saveJson.md
-->
## 下载源码
目前Dooring已支持下载源码功能, 我们可以使用编辑器页面头部的下载按钮来实现下载用户搭建的H5源码.
<img src="../../../img/functionRealization/down.png" alt="foo">
源码下载之后是完整的React项目源代码, 开发人员可以直接根据自己的业务需求来二次编写代码来满足不同的业务需求.
在拿到源码之后, 我们需要进入项目, 使用npm或者yarn安装项目依赖, 如下:
``` bash
npm install
// 或者
yarn
```
之后我们就可以本地运行项目了:
``` bash
npm start
// 或者
yarn start
```
因为源码工程采用`umi3.0`搭建, 所以代码配置可以参考`umi3.0`规范, 比如路由配置, `history`模式, 打包路径等, 二次开发完成之后, 我们可以执行:
``` bash
npm run build
// 或者
yarn build
```
将项目打包成html, 以便部署到任何服务器中.

BIN
logo.ff7fc6bb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -1,7 +1,7 @@
> 让H5制作像搭积木一样简单!
<p align="center">
<img src="./public/logo.png" width="260" alt="H5编辑器,H5制作神器,H5 editor,lowcode">
<img src="./logo.ff7fc6bb.png" width="260" alt="H5编辑器,H5制作神器,H5 editor,lowcode">
</p>
<h1 align="center">Welcome to H5-Dooring 👋</h1>
<p>
@ -14,7 +14,7 @@
</a>
</p>
> H5-Dooring是一款功能强大专业可靠的H5可视化页面配置解决方案致力于提供一套简单方便、专业可靠、无限可能的H5落地页最佳实践。技术栈以react为主 后台采用nodejs开发。
> H5-Dooring是一款功能强大专业可靠的H5可视化页面配置解决方案致力于提供一套简单方便、专业可靠、无限可能的H5落地页最佳实践。技术栈以react和typescript为主, 后台采用nodejs开发, 正在探索h5-lowcode解决方案
> H5-Dooring is a powerful, open source, free H5 visual page configuration solution dedicated to providing a simple, convenient, professional and reliable, unlimited set of H5 landing page best practices. The technology stack is mainly react, developed in the background using nodejs.
@ -27,7 +27,7 @@
### [视频教程 | Video tutorial](https://www.zhihu.com/zvideo/1326300284608417792)
<!-- <img src="http://io.nainor.com/uploads/face_17512320c6d.png" alt="H5可视化编辑器" /> -->
![](http://h5.dooring.cn/uploads/dooring-sdk_1763cbe7028.png)
![](http://h5.dooring.cn/uploads/face_179ac70dd56.png)
相关产品: [V6.Dooring | 大屏可视化编辑器](https://github.com/MrXujiang/v6.dooring.public)