Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Z
zeroing-pack
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
劳工
zeroing-pack
Commits
3422ea62
Commit
3422ea62
authored
Nov 13, 2019
by
rockyl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
init
parent
ad946193
Pipeline
#175348
failed with stages
in 0 seconds
Changes
10
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
193 additions
and
398 deletions
+193
-398
index.es.js
dist/index.es.js
+36
-8
index.es.js.map
dist/index.es.js.map
+1
-1
index.js
dist/index.js
+36
-8
index.js.map
dist/index.js.map
+1
-1
index.umd.js
dist/index.umd.js
+36
-8
index.umd.js.map
dist/index.umd.js.map
+1
-1
index.js
src/index.js
+36
-8
project.js
tests/project.js
+34
-2
test.js
tests/test.js
+11
-3
test.json
tests/test.json
+1
-358
No files found.
dist/index.es.js
View file @
3422ea62
...
...
@@ -4,13 +4,32 @@
* 项目发布
*/
const
fs
=
require
(
'fs'
)
;
const
replaceFields
=
[
'page_title'
,
'container_id'
]
;
async
function
pack
(
project
,
getProcesses
,
getScripts
)
{
async
function
pack
(
project
,
options
)
{
let
version
=
Date
.
now
();
let
data
=
JSON
.
parse
(
project
.
data
);
const
newTpl
=
await
pageTemplate
(
data
);
const
newData
=
await
packData
(
data
,
options
);
return
{
version
,
data
:
newData
,
tpl
:
newTpl
,
}
}
async
function
packData
(
data
,
{
getProcesses
,
getScripts
})
{
let
newData
=
{};
newData
.
options
=
data
.
options
;
delete
newData
.
options
.
tpl
;
newData
.
views
=
data
.
views
;
newData
.
assets
=
data
.
assets
;
newData
.
dataMapping
=
data
.
dataMapping
;
newData
.
processes
=
data
.
processes
;
let
scriptIDs
=
[];
for
(
let
view
of
data
.
views
)
{
for
(
let
view
of
newData
.
views
)
{
traverseNode
(
view
,
(
node
)
=>
{
if
(
node
.
scripts
&&
node
.
scripts
.
length
>
0
)
{
for
(
let
{
script
}
of
node
.
scripts
)
{
...
...
@@ -22,7 +41,7 @@ async function pack(project, getProcesses, getScripts) {
});
}
//console.log('scriptIDs:', scriptIDs);
let
scriptsContainer
=
d
ata
.
scripts
=
{};
let
scriptsContainer
=
newD
ata
.
scripts
=
{};
const
scripts
=
await
getScripts
(
scriptIDs
);
for
(
let
scriptData
of
scripts
)
{
let
{
id
,
code
}
=
JSON
.
parse
(
scriptData
);
...
...
@@ -31,7 +50,7 @@ async function pack(project, getProcesses, getScripts) {
//console.log('scripts:', scriptsContainer);
let
processIDs
=
[];
for
(
let
process
of
d
ata
.
processes
)
{
for
(
let
process
of
newD
ata
.
processes
)
{
for
(
let
key
in
process
.
sub
)
{
let
p
=
process
.
sub
[
key
];
if
(
!
processIDs
.
includes
(
p
.
meta
))
{
...
...
@@ -40,15 +59,24 @@ async function pack(project, getProcesses, getScripts) {
}
}
//console.log('processIDs:', processIDs);
let
builtinProcesses
=
d
ata
.
builtinProcesses
=
[];
let
builtinProcesses
=
newD
ata
.
builtinProcesses
=
[];
let
processes
=
await
getProcesses
(
processIDs
);
for
(
let
processData
of
processes
)
{
for
(
let
processData
of
processes
)
{
let
process
=
JSON
.
parse
(
processData
);
builtinProcesses
.
push
(
process
);
}
//console.log('processes:', data.processes);
fs
.
writeFileSync
(
'test.json'
,
JSON
.
stringify
(
data
));
return
JSON
.
stringify
(
newData
);
}
async
function
pageTemplate
(
data
,
options
)
{
const
{
tpl
,}
=
data
.
options
;
let
newTpl
=
tpl
;
for
(
let
field
of
replaceFields
)
{
newTpl
=
newTpl
.
replace
(
`$
${
field
.
toUpperCase
()}
$`
,
data
.
options
[
field
]);
}
return
newTpl
;
}
function
traverseNode
(
root
,
callback
)
{
...
...
dist/index.es.js.map
View file @
3422ea62
{
"version"
:
3
,
"file"
:
"index.es.js"
,
"sources"
:
[
"../src/index.js"
],
"sourcesContent"
:
[
"/**
\n
* Created by rockyl on 2019-11-13.
\n
*
\n
* 项目发布
\n
*/
\n\n
const fs = require('fs');
\n\n
export async function pack(project, getProcesses, getScripts) {\n
\t
let data = JSON.parse(project.data);
\n\n\t
let scriptIDs = [];
\n\t
for(let view of data.views){\n
\t\t
traverseNode(view, (node) => {\n
\t\t\t
if (node.scripts && node.scripts.length > 0) {\n
\t\t\t\t
for (let
{
script
}
of node.scripts) {\n
\t\t\t\t\t
if (!scriptIDs.includes(script))
{
\n\t\t\t\t\t\tscriptIDs.push(script);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t
}
\n\t
//console.log('scriptIDs:', scriptIDs);
\n\t
let scriptsContainer = data.scripts = {};
\n\t
const scripts = await getScripts(scriptIDs);
\n\t
for (let scriptData of scripts) {\n
\t\t
let {id, code} = JSON.parse(scriptData);
\n\t\t
scriptsContainer[id] = code;
\n\t
}
\n\t
//console.log('scripts:', scriptsContainer);
\n\n\t
let processIDs = [];
\n\t
for (let process of data.processes) {\n
\t\t
for (let key in process.sub) {\n
\t\t\t
let p = process.sub[key];
\n\t\t\t
if (!processIDs.includes(p.meta))
{
\n\t\t\t\tprocessIDs.push(p.meta);\n\t\t\t}\n\t\t}\n\t
}
\n\t
//console.log('processIDs:', processIDs);
\n\t
let builtinProcesses = data.builtinProcesses = [];
\n\t
let processes = await getProcesses(processIDs);
\n\t
for(let processData of processes){\n
\t\t
let process = JSON.parse(processData);
\n\t\t
builtinProcesses.push(process);
\n\t
}
\n\t
//console.log('processes:', data.processes);
\n\n\t
fs.writeFileSync('test.json', JSON.stringify(data));
\n
}
\n\n
function traverseNode(root, callback) {\n
\t
callback(root);
\n\t
if (root.children && root.children.length > 0) {\n
\t\t
for (let childNode of root.children) {\n
\t\t\t
traverseNode(childNode, callback);
\n\t\t
}
\n\t
}
\n
}
\n
"
],
"names"
:
[],
"mappings"
:
"AAAA;;;;;;AAMA,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;;AAEzB,AAAO,eAAe,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE;CAC7D,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;CAEpC,IAAI,SAAS,GAAG,EAAE,CAAC;CACnB,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;EAC1B,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK;GAC5B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;IAC5C,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;KAClC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;MAChC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;MACvB;KACD;IACD;GACD,CAAC,CAAC;EACH;;CAED,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;CACzC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;CAC5C,KAAK,IAAI,UAAU,IAAI,OAAO,EAAE;EAC/B,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;EACxC,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;EAC5B;;;CAGD,IAAI,UAAU,GAAG,EAAE,CAAC;CACpB,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;EACnC,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;GAC5B,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;GACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;IACjC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxB;GACD;EACD;;CAED,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;CAClD,IAAI,SAAS,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;CAC/C,IAAI,IAAI,WAAW,IAAI,SAAS,CAAC;EAChC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;EACtC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAC/B;;;CAGD,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;CACpD;;AAED,SAAS,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE;CACrC,QAAQ,CAAC,IAAI,CAAC,CAAC;CACf,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;EAC9C,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;GACpC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;GAClC;EACD;CACD;;;;"
}
\ No newline at end of file
{
"version"
:
3
,
"file"
:
"index.es.js"
,
"sources"
:
[
"../src/index.js"
],
"sourcesContent"
:
[
"/**
\n
* Created by rockyl on 2019-11-13.
\n
*
\n
* 项目发布
\n
*/
\n\n
const replaceFields = ['page_title', 'container_id'];
\n\n
export async function pack(project, options) {\n
\t
let version = Date.now();
\n\t
let data = JSON.parse(project.data);
\n\t
const newTpl = await pageTemplate(data, options);
\n\t
const newData = await packData(data, options);
\n\n\t
return {\n
\t\t
version,
\n\t\t
data: newData,
\n\t\t
tpl: newTpl,
\n\t
}
\n
}
\n\n
async function packData(data, {getProcesses, getScripts}) {\n
\t
let newData = {};
\n\t
newData.options = data.options;
\n\t
delete newData.options.tpl;
\n\t
newData.views = data.views;
\n\t
newData.assets = data.assets;
\n\t
newData.dataMapping = data.dataMapping;
\n\t
newData.processes = data.processes;
\n\n\t
let scriptIDs = [];
\n\t
for (let view of newData.views) {\n
\t\t
traverseNode(view, (node) => {\n
\t\t\t
if (node.scripts && node.scripts.length > 0) {\n
\t\t\t\t
for (let
{
script
}
of node.scripts) {\n
\t\t\t\t\t
if (!scriptIDs.includes(script))
{
\n\t\t\t\t\t\tscriptIDs.push(script);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t
}
\n\t
//console.log('scriptIDs:', scriptIDs);
\n\t
let scriptsContainer = newData.scripts = {};
\n\t
const scripts = await getScripts(scriptIDs);
\n\t
for (let scriptData of scripts) {\n
\t\t
let {id, code} = JSON.parse(scriptData);
\n\t\t
scriptsContainer[id] = code;
\n\t
}
\n\t
//console.log('scripts:', scriptsContainer);
\n\n\t
let processIDs = [];
\n\t
for (let process of newData.processes) {\n
\t\t
for (let key in process.sub) {\n
\t\t\t
let p = process.sub[key];
\n\t\t\t
if (!processIDs.includes(p.meta))
{
\n\t\t\t\tprocessIDs.push(p.meta);\n\t\t\t}\n\t\t}\n\t
}
\n\t
//console.log('processIDs:', processIDs);
\n\t
let builtinProcesses = newData.builtinProcesses = [];
\n\t
let processes = await getProcesses(processIDs);
\n\t
for (let processData of processes) {\n
\t\t
let process = JSON.parse(processData);
\n\t\t
builtinProcesses.push(process);
\n\t
}
\n\t
//console.log('processes:', data.processes);
\n\n\t
return JSON.stringify(newData);
\n
}
\n\n
async function pageTemplate(data, options) {\n
\t
const
{
tpl,
}
= data.options;
\n\t
let newTpl = tpl;
\n\t
for (let field of replaceFields) {\n
\t\t
newTpl = newTpl.replace(`$${field.toUpperCase()}$`, data.options[field]);
\n\t
}
\n\t
return newTpl;
\n
}
\n\n
function traverseNode(root, callback) {\n
\t
callback(root);
\n\t
if (root.children && root.children.length > 0) {\n
\t\t
for (let childNode of root.children) {\n
\t\t\t
traverseNode(childNode, callback);
\n\t\t
}
\n\t
}
\n
}
\n
"
],
"names"
:
[],
"mappings"
:
"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"
}
\ No newline at end of file
dist/index.js
View file @
3422ea62
...
...
@@ -8,13 +8,32 @@ Object.defineProperty(exports, '__esModule', { value: true });
* 项目发布
*/
const
fs
=
require
(
'fs'
)
;
const
replaceFields
=
[
'page_title'
,
'container_id'
]
;
async
function
pack
(
project
,
getProcesses
,
getScripts
)
{
async
function
pack
(
project
,
options
)
{
let
version
=
Date
.
now
();
let
data
=
JSON
.
parse
(
project
.
data
);
const
newTpl
=
await
pageTemplate
(
data
);
const
newData
=
await
packData
(
data
,
options
);
return
{
version
,
data
:
newData
,
tpl
:
newTpl
,
}
}
async
function
packData
(
data
,
{
getProcesses
,
getScripts
})
{
let
newData
=
{};
newData
.
options
=
data
.
options
;
delete
newData
.
options
.
tpl
;
newData
.
views
=
data
.
views
;
newData
.
assets
=
data
.
assets
;
newData
.
dataMapping
=
data
.
dataMapping
;
newData
.
processes
=
data
.
processes
;
let
scriptIDs
=
[];
for
(
let
view
of
data
.
views
)
{
for
(
let
view
of
newData
.
views
)
{
traverseNode
(
view
,
(
node
)
=>
{
if
(
node
.
scripts
&&
node
.
scripts
.
length
>
0
)
{
for
(
let
{
script
}
of
node
.
scripts
)
{
...
...
@@ -26,7 +45,7 @@ async function pack(project, getProcesses, getScripts) {
});
}
//console.log('scriptIDs:', scriptIDs);
let
scriptsContainer
=
d
ata
.
scripts
=
{};
let
scriptsContainer
=
newD
ata
.
scripts
=
{};
const
scripts
=
await
getScripts
(
scriptIDs
);
for
(
let
scriptData
of
scripts
)
{
let
{
id
,
code
}
=
JSON
.
parse
(
scriptData
);
...
...
@@ -35,7 +54,7 @@ async function pack(project, getProcesses, getScripts) {
//console.log('scripts:', scriptsContainer);
let
processIDs
=
[];
for
(
let
process
of
d
ata
.
processes
)
{
for
(
let
process
of
newD
ata
.
processes
)
{
for
(
let
key
in
process
.
sub
)
{
let
p
=
process
.
sub
[
key
];
if
(
!
processIDs
.
includes
(
p
.
meta
))
{
...
...
@@ -44,15 +63,24 @@ async function pack(project, getProcesses, getScripts) {
}
}
//console.log('processIDs:', processIDs);
let
builtinProcesses
=
d
ata
.
builtinProcesses
=
[];
let
builtinProcesses
=
newD
ata
.
builtinProcesses
=
[];
let
processes
=
await
getProcesses
(
processIDs
);
for
(
let
processData
of
processes
)
{
for
(
let
processData
of
processes
)
{
let
process
=
JSON
.
parse
(
processData
);
builtinProcesses
.
push
(
process
);
}
//console.log('processes:', data.processes);
fs
.
writeFileSync
(
'test.json'
,
JSON
.
stringify
(
data
));
return
JSON
.
stringify
(
newData
);
}
async
function
pageTemplate
(
data
,
options
)
{
const
{
tpl
,}
=
data
.
options
;
let
newTpl
=
tpl
;
for
(
let
field
of
replaceFields
)
{
newTpl
=
newTpl
.
replace
(
`$
${
field
.
toUpperCase
()}
$`
,
data
.
options
[
field
]);
}
return
newTpl
;
}
function
traverseNode
(
root
,
callback
)
{
...
...
dist/index.js.map
View file @
3422ea62
{
"version"
:
3
,
"file"
:
"index.js"
,
"sources"
:
[
"../src/index.js"
],
"sourcesContent"
:
[
"/**
\n
* Created by rockyl on 2019-11-13.
\n
*
\n
* 项目发布
\n
*/
\n\n
const fs = require('fs');
\n\n
export async function pack(project, getProcesses, getScripts) {\n
\t
let data = JSON.parse(project.data);
\n\n\t
let scriptIDs = [];
\n\t
for(let view of data.views){\n
\t\t
traverseNode(view, (node) => {\n
\t\t\t
if (node.scripts && node.scripts.length > 0) {\n
\t\t\t\t
for (let
{
script
}
of node.scripts) {\n
\t\t\t\t\t
if (!scriptIDs.includes(script))
{
\n\t\t\t\t\t\tscriptIDs.push(script);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t
}
\n\t
//console.log('scriptIDs:', scriptIDs);
\n\t
let scriptsContainer = data.scripts = {};
\n\t
const scripts = await getScripts(scriptIDs);
\n\t
for (let scriptData of scripts) {\n
\t\t
let {id, code} = JSON.parse(scriptData);
\n\t\t
scriptsContainer[id] = code;
\n\t
}
\n\t
//console.log('scripts:', scriptsContainer);
\n\n\t
let processIDs = [];
\n\t
for (let process of data.processes) {\n
\t\t
for (let key in process.sub) {\n
\t\t\t
let p = process.sub[key];
\n\t\t\t
if (!processIDs.includes(p.meta))
{
\n\t\t\t\tprocessIDs.push(p.meta);\n\t\t\t}\n\t\t}\n\t
}
\n\t
//console.log('processIDs:', processIDs);
\n\t
let builtinProcesses = data.builtinProcesses = [];
\n\t
let processes = await getProcesses(processIDs);
\n\t
for(let processData of processes){\n
\t\t
let process = JSON.parse(processData);
\n\t\t
builtinProcesses.push(process);
\n\t
}
\n\t
//console.log('processes:', data.processes);
\n\n\t
fs.writeFileSync('test.json', JSON.stringify(data));
\n
}
\n\n
function traverseNode(root, callback) {\n
\t
callback(root);
\n\t
if (root.children && root.children.length > 0) {\n
\t\t
for (let childNode of root.children) {\n
\t\t\t
traverseNode(childNode, callback);
\n\t\t
}
\n\t
}
\n
}
\n
"
],
"names"
:
[],
"mappings"
:
";;;;AAAA;;;;;;AAMA,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;;AAEzB,AAAO,eAAe,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE;CAC7D,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;CAEpC,IAAI,SAAS,GAAG,EAAE,CAAC;CACnB,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;EAC1B,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK;GAC5B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;IAC5C,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;KAClC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;MAChC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;MACvB;KACD;IACD;GACD,CAAC,CAAC;EACH;;CAED,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;CACzC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;CAC5C,KAAK,IAAI,UAAU,IAAI,OAAO,EAAE;EAC/B,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;EACxC,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;EAC5B;;;CAGD,IAAI,UAAU,GAAG,EAAE,CAAC;CACpB,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;EACnC,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;GAC5B,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;GACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;IACjC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxB;GACD;EACD;;CAED,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;CAClD,IAAI,SAAS,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;CAC/C,IAAI,IAAI,WAAW,IAAI,SAAS,CAAC;EAChC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;EACtC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAC/B;;;CAGD,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;CACpD;;AAED,SAAS,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE;CACrC,QAAQ,CAAC,IAAI,CAAC,CAAC;CACf,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;EAC9C,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;GACpC,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;GAClC;EACD;CACD;;;;"
}
\ No newline at end of file
{
"version"
:
3
,
"file"
:
"index.js"
,
"sources"
:
[
"../src/index.js"
],
"sourcesContent"
:
[
"/**
\n
* Created by rockyl on 2019-11-13.
\n
*
\n
* 项目发布
\n
*/
\n\n
const replaceFields = ['page_title', 'container_id'];
\n\n
export async function pack(project, options) {\n
\t
let version = Date.now();
\n\t
let data = JSON.parse(project.data);
\n\t
const newTpl = await pageTemplate(data, options);
\n\t
const newData = await packData(data, options);
\n\n\t
return {\n
\t\t
version,
\n\t\t
data: newData,
\n\t\t
tpl: newTpl,
\n\t
}
\n
}
\n\n
async function packData(data, {getProcesses, getScripts}) {\n
\t
let newData = {};
\n\t
newData.options = data.options;
\n\t
delete newData.options.tpl;
\n\t
newData.views = data.views;
\n\t
newData.assets = data.assets;
\n\t
newData.dataMapping = data.dataMapping;
\n\t
newData.processes = data.processes;
\n\n\t
let scriptIDs = [];
\n\t
for (let view of newData.views) {\n
\t\t
traverseNode(view, (node) => {\n
\t\t\t
if (node.scripts && node.scripts.length > 0) {\n
\t\t\t\t
for (let
{
script
}
of node.scripts) {\n
\t\t\t\t\t
if (!scriptIDs.includes(script))
{
\n\t\t\t\t\t\tscriptIDs.push(script);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t
}
\n\t
//console.log('scriptIDs:', scriptIDs);
\n\t
let scriptsContainer = newData.scripts = {};
\n\t
const scripts = await getScripts(scriptIDs);
\n\t
for (let scriptData of scripts) {\n
\t\t
let {id, code} = JSON.parse(scriptData);
\n\t\t
scriptsContainer[id] = code;
\n\t
}
\n\t
//console.log('scripts:', scriptsContainer);
\n\n\t
let processIDs = [];
\n\t
for (let process of newData.processes) {\n
\t\t
for (let key in process.sub) {\n
\t\t\t
let p = process.sub[key];
\n\t\t\t
if (!processIDs.includes(p.meta))
{
\n\t\t\t\tprocessIDs.push(p.meta);\n\t\t\t}\n\t\t}\n\t
}
\n\t
//console.log('processIDs:', processIDs);
\n\t
let builtinProcesses = newData.builtinProcesses = [];
\n\t
let processes = await getProcesses(processIDs);
\n\t
for (let processData of processes) {\n
\t\t
let process = JSON.parse(processData);
\n\t\t
builtinProcesses.push(process);
\n\t
}
\n\t
//console.log('processes:', data.processes);
\n\n\t
return JSON.stringify(newData);
\n
}
\n\n
async function pageTemplate(data, options) {\n
\t
const
{
tpl,
}
= data.options;
\n\t
let newTpl = tpl;
\n\t
for (let field of replaceFields) {\n
\t\t
newTpl = newTpl.replace(`$${field.toUpperCase()}$`, data.options[field]);
\n\t
}
\n\t
return newTpl;
\n
}
\n\n
function traverseNode(root, callback) {\n
\t
callback(root);
\n\t
if (root.children && root.children.length > 0) {\n
\t\t
for (let childNode of root.children) {\n
\t\t\t
traverseNode(childNode, callback);
\n\t\t
}
\n\t
}
\n
}
\n
"
],
"names"
:
[],
"mappings"
:
"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"
}
\ No newline at end of file
dist/index.umd.js
View file @
3422ea62
...
...
@@ -10,13 +10,32 @@
* 项目发布
*/
const
fs
=
require
(
'fs'
)
;
const
replaceFields
=
[
'page_title'
,
'container_id'
]
;
async
function
pack
(
project
,
getProcesses
,
getScripts
)
{
async
function
pack
(
project
,
options
)
{
let
version
=
Date
.
now
();
let
data
=
JSON
.
parse
(
project
.
data
);
const
newTpl
=
await
pageTemplate
(
data
);
const
newData
=
await
packData
(
data
,
options
);
return
{
version
,
data
:
newData
,
tpl
:
newTpl
,
}
}
async
function
packData
(
data
,
{
getProcesses
,
getScripts
})
{
let
newData
=
{};
newData
.
options
=
data
.
options
;
delete
newData
.
options
.
tpl
;
newData
.
views
=
data
.
views
;
newData
.
assets
=
data
.
assets
;
newData
.
dataMapping
=
data
.
dataMapping
;
newData
.
processes
=
data
.
processes
;
let
scriptIDs
=
[];
for
(
let
view
of
data
.
views
)
{
for
(
let
view
of
newData
.
views
)
{
traverseNode
(
view
,
(
node
)
=>
{
if
(
node
.
scripts
&&
node
.
scripts
.
length
>
0
)
{
for
(
let
{
script
}
of
node
.
scripts
)
{
...
...
@@ -28,7 +47,7 @@
});
}
//console.log('scriptIDs:', scriptIDs);
let
scriptsContainer
=
d
ata
.
scripts
=
{};
let
scriptsContainer
=
newD
ata
.
scripts
=
{};
const
scripts
=
await
getScripts
(
scriptIDs
);
for
(
let
scriptData
of
scripts
)
{
let
{
id
,
code
}
=
JSON
.
parse
(
scriptData
);
...
...
@@ -37,7 +56,7 @@
//console.log('scripts:', scriptsContainer);
let
processIDs
=
[];
for
(
let
process
of
d
ata
.
processes
)
{
for
(
let
process
of
newD
ata
.
processes
)
{
for
(
let
key
in
process
.
sub
)
{
let
p
=
process
.
sub
[
key
];
if
(
!
processIDs
.
includes
(
p
.
meta
))
{
...
...
@@ -46,15 +65,24 @@
}
}
//console.log('processIDs:', processIDs);
let
builtinProcesses
=
d
ata
.
builtinProcesses
=
[];
let
builtinProcesses
=
newD
ata
.
builtinProcesses
=
[];
let
processes
=
await
getProcesses
(
processIDs
);
for
(
let
processData
of
processes
)
{
for
(
let
processData
of
processes
)
{
let
process
=
JSON
.
parse
(
processData
);
builtinProcesses
.
push
(
process
);
}
//console.log('processes:', data.processes);
fs
.
writeFileSync
(
'test.json'
,
JSON
.
stringify
(
data
));
return
JSON
.
stringify
(
newData
);
}
async
function
pageTemplate
(
data
,
options
)
{
const
{
tpl
,}
=
data
.
options
;
let
newTpl
=
tpl
;
for
(
let
field
of
replaceFields
)
{
newTpl
=
newTpl
.
replace
(
`$
${
field
.
toUpperCase
()}
$`
,
data
.
options
[
field
]);
}
return
newTpl
;
}
function
traverseNode
(
root
,
callback
)
{
...
...
dist/index.umd.js.map
View file @
3422ea62
{
"version"
:
3
,
"file"
:
"index.umd.js"
,
"sources"
:
[
"../src/index.js"
],
"sourcesContent"
:
[
"/**
\n
* Created by rockyl on 2019-11-13.
\n
*
\n
* 项目发布
\n
*/
\n\n
const fs = require('fs');
\n\n
export async function pack(project, getProcesses, getScripts) {\n
\t
let data = JSON.parse(project.data);
\n\n\t
let scriptIDs = [];
\n\t
for(let view of data.views){\n
\t\t
traverseNode(view, (node) => {\n
\t\t\t
if (node.scripts && node.scripts.length > 0) {\n
\t\t\t\t
for (let
{
script
}
of node.scripts) {\n
\t\t\t\t\t
if (!scriptIDs.includes(script))
{
\n\t\t\t\t\t\tscriptIDs.push(script);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t
}
\n\t
//console.log('scriptIDs:', scriptIDs);
\n\t
let scriptsContainer = data.scripts = {};
\n\t
const scripts = await getScripts(scriptIDs);
\n\t
for (let scriptData of scripts) {\n
\t\t
let {id, code} = JSON.parse(scriptData);
\n\t\t
scriptsContainer[id] = code;
\n\t
}
\n\t
//console.log('scripts:', scriptsContainer);
\n\n\t
let processIDs = [];
\n\t
for (let process of data.processes) {\n
\t\t
for (let key in process.sub) {\n
\t\t\t
let p = process.sub[key];
\n\t\t\t
if (!processIDs.includes(p.meta))
{
\n\t\t\t\tprocessIDs.push(p.meta);\n\t\t\t}\n\t\t}\n\t
}
\n\t
//console.log('processIDs:', processIDs);
\n\t
let builtinProcesses = data.builtinProcesses = [];
\n\t
let processes = await getProcesses(processIDs);
\n\t
for(let processData of processes){\n
\t\t
let process = JSON.parse(processData);
\n\t\t
builtinProcesses.push(process);
\n\t
}
\n\t
//console.log('processes:', data.processes);
\n\n\t
fs.writeFileSync('test.json', JSON.stringify(data));
\n
}
\n\n
function traverseNode(root, callback) {\n
\t
callback(root);
\n\t
if (root.children && root.children.length > 0) {\n
\t\t
for (let childNode of root.children) {\n
\t\t\t
traverseNode(childNode, callback);
\n\t\t
}
\n\t
}
\n
}
\n
"
],
"names"
:
[],
"mappings"
:
";;;;;;CAAA;CACA;CACA;CACA;CACA;;CAEA,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;;AAEzB,CAAO,eAAe,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE;CAC9D,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;CAErC,CAAC,IAAI,SAAS,GAAG,EAAE,CAAC;CACpB,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;CAC5B,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK;CAC/B,GAAG,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;CAChD,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;CACvC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;CACtC,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;CAC7B,MAAM;CACN,KAAK;CACL,IAAI;CACJ,GAAG,CAAC,CAAC;CACL,EAAE;CACF;CACA,CAAC,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;CAC1C,CAAC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC;CAC7C,CAAC,KAAK,IAAI,UAAU,IAAI,OAAO,EAAE;CACjC,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;CAC1C,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;CAC9B,EAAE;CACF;;CAEA,CAAC,IAAI,UAAU,GAAG,EAAE,CAAC;CACrB,CAAC,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;CACrC,EAAE,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;CAC/B,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAC5B,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;CACrC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;CAC5B,IAAI;CACJ,GAAG;CACH,EAAE;CACF;CACA,CAAC,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;CACnD,CAAC,IAAI,SAAS,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;CAChD,CAAC,IAAI,IAAI,WAAW,IAAI,SAAS,CAAC;CAClC,EAAE,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;CACxC,EAAE,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;CACjC,EAAE;CACF;;CAEA,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;CACrD,CAAC;;CAED,SAAS,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE;CACtC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;CAChB,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;CAChD,EAAE,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;CACvC,GAAG,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;CACrC,GAAG;CACH,EAAE;CACF,CAAC;;;;;;;;;;;;"
}
\ No newline at end of file
{
"version"
:
3
,
"file"
:
"index.umd.js"
,
"sources"
:
[
"../src/index.js"
],
"sourcesContent"
:
[
"/**
\n
* Created by rockyl on 2019-11-13.
\n
*
\n
* 项目发布
\n
*/
\n\n
const replaceFields = ['page_title', 'container_id'];
\n\n
export async function pack(project, options) {\n
\t
let version = Date.now();
\n\t
let data = JSON.parse(project.data);
\n\t
const newTpl = await pageTemplate(data, options);
\n\t
const newData = await packData(data, options);
\n\n\t
return {\n
\t\t
version,
\n\t\t
data: newData,
\n\t\t
tpl: newTpl,
\n\t
}
\n
}
\n\n
async function packData(data, {getProcesses, getScripts}) {\n
\t
let newData = {};
\n\t
newData.options = data.options;
\n\t
delete newData.options.tpl;
\n\t
newData.views = data.views;
\n\t
newData.assets = data.assets;
\n\t
newData.dataMapping = data.dataMapping;
\n\t
newData.processes = data.processes;
\n\n\t
let scriptIDs = [];
\n\t
for (let view of newData.views) {\n
\t\t
traverseNode(view, (node) => {\n
\t\t\t
if (node.scripts && node.scripts.length > 0) {\n
\t\t\t\t
for (let
{
script
}
of node.scripts) {\n
\t\t\t\t\t
if (!scriptIDs.includes(script))
{
\n\t\t\t\t\t\tscriptIDs.push(script);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t
}
\n\t
//console.log('scriptIDs:', scriptIDs);
\n\t
let scriptsContainer = newData.scripts = {};
\n\t
const scripts = await getScripts(scriptIDs);
\n\t
for (let scriptData of scripts) {\n
\t\t
let {id, code} = JSON.parse(scriptData);
\n\t\t
scriptsContainer[id] = code;
\n\t
}
\n\t
//console.log('scripts:', scriptsContainer);
\n\n\t
let processIDs = [];
\n\t
for (let process of newData.processes) {\n
\t\t
for (let key in process.sub) {\n
\t\t\t
let p = process.sub[key];
\n\t\t\t
if (!processIDs.includes(p.meta))
{
\n\t\t\t\tprocessIDs.push(p.meta);\n\t\t\t}\n\t\t}\n\t
}
\n\t
//console.log('processIDs:', processIDs);
\n\t
let builtinProcesses = newData.builtinProcesses = [];
\n\t
let processes = await getProcesses(processIDs);
\n\t
for (let processData of processes) {\n
\t\t
let process = JSON.parse(processData);
\n\t\t
builtinProcesses.push(process);
\n\t
}
\n\t
//console.log('processes:', data.processes);
\n\n\t
return JSON.stringify(newData);
\n
}
\n\n
async function pageTemplate(data, options) {\n
\t
const
{
tpl,
}
= data.options;
\n\t
let newTpl = tpl;
\n\t
for (let field of replaceFields) {\n
\t\t
newTpl = newTpl.replace(`$${field.toUpperCase()}$`, data.options[field]);
\n\t
}
\n\t
return newTpl;
\n
}
\n\n
function traverseNode(root, callback) {\n
\t
callback(root);
\n\t
if (root.children && root.children.length > 0) {\n
\t\t
for (let childNode of root.children) {\n
\t\t\t
traverseNode(childNode, callback);
\n\t\t
}
\n\t
}
\n
}
\n
"
],
"names"
:
[],
"mappings"
:
"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"
}
\ No newline at end of file
src/index.js
View file @
3422ea62
...
...
@@ -4,13 +4,32 @@
* 项目发布
*/
const
fs
=
require
(
'fs'
)
;
const
replaceFields
=
[
'page_title'
,
'container_id'
]
;
export
async
function
pack
(
project
,
getProcesses
,
getScripts
)
{
export
async
function
pack
(
project
,
options
)
{
let
version
=
Date
.
now
();
let
data
=
JSON
.
parse
(
project
.
data
);
const
newTpl
=
await
pageTemplate
(
data
,
options
);
const
newData
=
await
packData
(
data
,
options
);
return
{
version
,
data
:
newData
,
tpl
:
newTpl
,
}
}
async
function
packData
(
data
,
{
getProcesses
,
getScripts
})
{
let
newData
=
{};
newData
.
options
=
data
.
options
;
delete
newData
.
options
.
tpl
;
newData
.
views
=
data
.
views
;
newData
.
assets
=
data
.
assets
;
newData
.
dataMapping
=
data
.
dataMapping
;
newData
.
processes
=
data
.
processes
;
let
scriptIDs
=
[];
for
(
let
view
of
data
.
views
)
{
for
(
let
view
of
newData
.
views
)
{
traverseNode
(
view
,
(
node
)
=>
{
if
(
node
.
scripts
&&
node
.
scripts
.
length
>
0
)
{
for
(
let
{
script
}
of
node
.
scripts
)
{
...
...
@@ -22,7 +41,7 @@ export async function pack(project, getProcesses, getScripts) {
});
}
//console.log('scriptIDs:', scriptIDs);
let
scriptsContainer
=
d
ata
.
scripts
=
{};
let
scriptsContainer
=
newD
ata
.
scripts
=
{};
const
scripts
=
await
getScripts
(
scriptIDs
);
for
(
let
scriptData
of
scripts
)
{
let
{
id
,
code
}
=
JSON
.
parse
(
scriptData
);
...
...
@@ -31,7 +50,7 @@ export async function pack(project, getProcesses, getScripts) {
//console.log('scripts:', scriptsContainer);
let
processIDs
=
[];
for
(
let
process
of
d
ata
.
processes
)
{
for
(
let
process
of
newD
ata
.
processes
)
{
for
(
let
key
in
process
.
sub
)
{
let
p
=
process
.
sub
[
key
];
if
(
!
processIDs
.
includes
(
p
.
meta
))
{
...
...
@@ -40,15 +59,24 @@ export async function pack(project, getProcesses, getScripts) {
}
}
//console.log('processIDs:', processIDs);
let
builtinProcesses
=
d
ata
.
builtinProcesses
=
[];
let
builtinProcesses
=
newD
ata
.
builtinProcesses
=
[];
let
processes
=
await
getProcesses
(
processIDs
);
for
(
let
processData
of
processes
)
{
for
(
let
processData
of
processes
)
{
let
process
=
JSON
.
parse
(
processData
);
builtinProcesses
.
push
(
process
);
}
//console.log('processes:', data.processes);
fs
.
writeFileSync
(
'test.json'
,
JSON
.
stringify
(
data
));
return
JSON
.
stringify
(
newData
);
}
async
function
pageTemplate
(
data
,
options
)
{
const
{
tpl
,}
=
data
.
options
;
let
newTpl
=
tpl
;
for
(
let
field
of
replaceFields
)
{
newTpl
=
newTpl
.
replace
(
`$
${
field
.
toUpperCase
()}
$`
,
data
.
options
[
field
]);
}
return
newTpl
;
}
function
traverseNode
(
root
,
callback
)
{
...
...
tests/project.js
View file @
3422ea62
...
...
@@ -3,7 +3,7 @@
*/
const
data
=
{
launchO
ptions
:
{
o
ptions
:
{
entrySceneView
:
'view1'
,
containerID
:
'game-container'
,
designWidth
:
750
,
...
...
@@ -11,6 +11,38 @@ const data = {
frameRate
:
60
,
scaleMode
:
'fixedWidth'
,
rendererType
:
'webgl'
,
tpl
:
` <meta charset="UTF-8">
<title>$PAGE_TITLE$</title>
<meta name="viewport"
content="width=device-width,initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="full-screen" content="true"/>
<meta name="screen-orientation" content="portrait"/>
<meta name="x5-fullscreen" content="true"/>
<meta name="360-fullscreen" content="true"/>
<style>
html,
body {
padding: 0;
margin: 0;
border: 0;
width: 100%;
height: 100%;
overflow: hidden;
position: absolute;
background-color: white;
}
</style>
</head>
<body>
<div id="$CONTAINER_ID$" style="line-height:0;font-size:0"></div>
<script src="http://10.10.94.134:4002/dist/index.js"></script>
<script>
engine.launch('http://10.10.94.134:4002/examples/mock/test.json');
</script>
`
},
"views"
:
[{
"name"
:
"view1"
,
...
...
@@ -240,7 +272,7 @@ const data = {
alias
:
'test'
,
meta
:
'test'
,
props
:
{
text
:
'
$_linked_$
'
,
text
:
'
Hello
'
,
},
output
:
{
success
:
[],
...
...
tests/test.js
View file @
3422ea62
...
...
@@ -4,11 +4,19 @@
const
projectData
=
require
(
'./project'
);
const
{
pack
}
=
require
(
'../dist/index'
);
const
fs
=
require
(
'fs'
);
let
project
=
projectData
();
pack
(
project
.
data
,
getProcesses
,
getScripts
);
(
async
function
()
{
const
result
=
await
pack
(
project
.
data
,
{
getProcesses
,
getScripts
});
function
getProcesses
(
ids
){
const
{
version
,
data
,
tpl
}
=
result
;
fs
.
writeFileSync
(
'test.json'
,
data
);
console
.
log
(
'version:'
,
version
);
console
.
log
(
'template:
\
n'
,
tpl
);
})();
function
getProcesses
(
ids
)
{
return
[
JSON
.
stringify
({
id
:
'entry'
,
...
...
@@ -20,7 +28,7 @@ function getProcesses(ids){
]
}
function
getScripts
(
ids
){
function
getScripts
(
ids
)
{
return
[
JSON
.
stringify
({
id
:
'wave'
,
...
...
tests/test.json
View file @
3422ea62
{
"launchOptions"
:
{
"entrySceneView"
:
"view1"
,
"containerID"
:
"game-container"
,
"designWidth"
:
750
,
"designHeight"
:
1334
,
"frameRate"
:
60
,
"scaleMode"
:
"fixedWidth"
,
"rendererType"
:
"webgl"
},
"views"
:
[
{
"name"
:
"view1"
,
"type"
:
"node"
,
"properties"
:
{},
"uuid"
:
"3a357816-5581-41ba-aa6f-4a6cc40ae396"
,
"children"
:
[
{
"name"
:
"rect"
,
"type"
:
"rect"
,
"properties"
:
{
"width"
:
50
,
"height"
:
50
,
"fillColor"
:
"rgba(105, 182, 255, 1)"
,
"strokeWidth"
:
0
,
"x"
:
10
,
"y"
:
10
},
"uuid"
:
"f97bbf76-6923-4669-b5a3-e6382753e49a"
,
"events"
:
{
"click"
:
{
"once"
:
false
,
"behaviors"
:
[
{
"uuid"
:
"aa1"
,
"alias"
:
"主过程"
,
"meta"
:
"main"
}
]
}
},
"scripts"
:
[
{
"script"
:
"wave"
,
"props"
:
{
"duration"
:
500
,
"autoPlay"
:
true
,
"type"
:
"cubicIn"
}
}
]
}
]
}
],
"assets"
:
[
{
"name"
:
"face"
,
"ext"
:
".png"
,
"url"
:
"//yun.duiba.com.cn/aurora/58323a0469a7467c99b34f8933ea65b507a0c655.png"
,
"uuid"
:
"3e496939-5fe6-42f2-b8fa-42c7a742e880"
},
{
"name"
:
"还以是bug"
,
"ext"
:
".jpg"
,
"url"
:
"//yun.duiba.com.cn/aurora/094832ace87c94bdb9e4a7821b3a3ebca0df2cd7.jpg"
,
"uuid"
:
"ec67a8a0-8708-43a4-888e-efb0fe7c2bd6"
},
{
"name"
:
"嘿嘿"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/1ad10a4cf3488ef1400af1d6f353d9c577fe1049.gif"
,
"uuid"
:
"429803eb-0f68-4071-b68c-468980883ac4"
},
{
"name"
:
"1643017"
,
"ext"
:
".jpg"
,
"url"
:
"//yun.duiba.com.cn/aurora/2e4adf3d8646ffbd027038cb2c6627a6bca44e44.jpg"
,
"uuid"
:
"cc1ad757-ff4c-4cb9-b629-be355119d018"
},
{
"name"
:
"0"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/616a413facbd406b81daac809a52bd0b648a7f4c.gif"
,
"uuid"
:
"0a5f2064-f5b4-41a9-8a54-2085e208d20f"
},
{
"name"
:
"3"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/e052cb4a88d63330c37ecaf55ae8e7eb2246c433.gif"
,
"uuid"
:
"e4dacdd2-064f-413e-a8f0-6425ce6dcf12"
},
{
"name"
:
"5"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/881193ea1bd975c8a59f38f2d1f0d0094db6ec7a.gif"
,
"uuid"
:
"bf822d51-a1b1-4ab6-8f49-a821863731d0"
},
{
"name"
:
"4"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/2df4a5c5238f86704388517d2ba0faa6782fea1e.gif"
,
"uuid"
:
"9c1d46b4-d2f1-4733-8b93-39b2bb4db9d1"
},
{
"name"
:
"1"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/0bc24c7bb68e3691bad89c8ae096b253af874a73.gif"
,
"uuid"
:
"db076340-e1db-4e2d-8bb2-7cc32ccdee43"
},
{
"name"
:
"7"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/3e218541244d1ed1192274ad49ea70588b6cd0dc.gif"
,
"uuid"
:
"02aa47c3-dbdf-43d2-8cdc-869cab544bcc"
},
{
"name"
:
"2"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/1e1344fabf25cf2ea6f1407cd42afc1f1de0bb07.gif"
,
"uuid"
:
"264f7a8d-475e-4fd0-ac83-96e13a7702f3"
},
{
"name"
:
"8"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/90080b186e0507b70f64c2020880dd1ddd3b7cd8.gif"
,
"uuid"
:
"ec63930b-8aff-4108-9ceb-ddf9353d4412"
},
{
"name"
:
"0"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/616a413facbd406b81daac809a52bd0b648a7f4c.gif"
,
"uuid"
:
"7c475d4d-0ae2-4b9a-81ff-76fb8264721f"
},
{
"name"
:
"9"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/f41b70c1003ff703386a5a80ed7092db5fdc11f4.gif"
,
"uuid"
:
"473b82ec-c9b9-43d7-b2e5-b5399a55d239"
},
{
"name"
:
"12"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/99660ca0a9a578cd6c5eb38b1f35aee9a77849b3.gif"
,
"uuid"
:
"84f549d3-9bb1-4066-9668-3705e94b5891"
},
{
"name"
:
"11"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/f88c5de6bb6ab80f24cc56978e92cedf4af201f0.gif"
,
"uuid"
:
"a4470420-60bd-4578-a2dc-100663ba6256"
},
{
"name"
:
"13"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/c5c446eba840899d364bcdb010a2aea8d2ae02ab.gif"
,
"uuid"
:
"7383d2db-43dd-408a-aa69-261bd39865ac"
},
{
"name"
:
"6"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/881193ea1bd975c8a59f38f2d1f0d0094db6ec7a.gif"
,
"uuid"
:
"894a28f8-a814-4c8c-a5d9-619194b3073d"
},
{
"name"
:
"btn-join"
,
"ext"
:
".png"
,
"url"
:
"//yun.duiba.com.cn/aurora/e50e0fe70f4b2c96d2deee1d93a0a2444732be6a.png"
,
"uuid"
:
"e3301bc4-7b51-4868-a613-26298f87988b"
},
{
"name"
:
"bg"
,
"ext"
:
".jpg"
,
"url"
:
"//yun.duiba.com.cn/aurora/7dbe10dba2a92d830f0f9ff72f3d82e07a4c4649.jpg"
,
"uuid"
:
"bab58ec1-24b1-4d5d-9c95-7014b9915cb3"
},
{
"name"
:
"1643017"
,
"ext"
:
".png"
,
"uuid"
:
"54f7916f-dc10-49f7-b3b1-0bda9d4f5bcd"
,
"url"
:
"//yun.duiba.com.cn/aurora/4090d0acf7dbf29cd6ab0690795e0b00b715280c.png"
},
{
"name"
:
"bg"
,
"ext"
:
".png"
,
"uuid"
:
"5fe14ca0-5b86-405e-98a6-54ca733f2180"
,
"url"
:
"//yun.duiba.com.cn/aurora/070159098034ae2cd8c8e4bf4f47b1d45b87024a.png"
},
{
"name"
:
"rule_button"
,
"ext"
:
".png"
,
"uuid"
:
"82a9d493-078a-4b7c-8352-616abc99f24a"
,
"url"
:
"//yun.duiba.com.cn/aurora/d0c3ed2bf9abc5748c01eb88abb7e0830669b1c5.png"
},
{
"name"
:
"wheel_items"
,
"ext"
:
".png"
,
"uuid"
:
"b899e2f0-36da-42dc-a9ac-c8f4093e4457"
,
"url"
:
"//yun.duiba.com.cn/aurora/897ee802eb89999c2019c683c084f4b7e2d7f554.png"
},
{
"name"
:
"wheel_bg"
,
"ext"
:
".png"
,
"uuid"
:
"8f531f60-b48e-4a7a-bd7a-9488a3c3dd2d"
,
"url"
:
"//yun.duiba.com.cn/aurora/479cbb31bfdaee48893bf34f7d0c8fc702b1459a.png"
},
{
"name"
:
"start_bg"
,
"ext"
:
".png"
,
"uuid"
:
"62fe5f9b-47ec-4c1e-b508-f566501caa72"
,
"url"
:
"//yun.duiba.com.cn/aurora/3191ba684512b9e9391ab4a9d2a2df31cad4825d.png"
},
{
"name"
:
"0"
,
"ext"
:
".png"
,
"uuid"
:
"562af6d0-6b73-4de8-bed0-ed3a4507962c"
,
"url"
:
"//yun.duiba.com.cn/aurora/be2fa0d9e91b58d9aafcd18f7934784742069cb6.png"
},
{
"name"
:
"1"
,
"ext"
:
".png"
,
"uuid"
:
"6cf1bc08-bcc8-4cec-88d8-3e979b35dd0f"
,
"url"
:
"//yun.duiba.com.cn/aurora/3f64f753e272d17a1f5807ddf1a8965a0e2de9d5.png"
},
{
"name"
:
"0"
,
"ext"
:
".png"
,
"uuid"
:
"378851d3-6664-4b0e-8407-342f4ffaf334"
,
"url"
:
"//yun.duiba.com.cn/aurora/3c292a9c6c5b1a3dab684e95d1f7b7cb4f369a8a.png"
},
{
"name"
:
"1"
,
"ext"
:
".png"
,
"uuid"
:
"dee35c49-db44-4722-a412-a8b7123d20b7"
,
"url"
:
"//yun.duiba.com.cn/aurora/b22420f2322326359e2b3e1dae66dc7e34ce6978.png"
},
{
"name"
:
"bg"
,
"ext"
:
".png"
,
"uuid"
:
"2b0cc6bd-fc10-43ee-a217-aaf1c40a0ad3"
,
"url"
:
"//yun.duiba.com.cn/aurora/93fbb49529a3b4617f4cdc41dba7c297989baa5e.png"
}
],
"dataMapping"
:
[
{
"name"
:
"nickname"
,
"path"
:
"test.hello.aaa.name"
},
{
"name"
:
"avatar"
,
"path"
:
"test.hello.aaa.avatar"
}
],
"processes"
:
[
{
"id"
:
"main"
,
"name"
:
"Main"
,
"props"
:
{},
"subEntry"
:
"a1"
,
"sub"
:
{
"a1"
:
{
"uuid"
:
"a1"
,
"alias"
:
"入口"
,
"meta"
:
"entry"
,
"output"
:
{
"success"
:
[
"a2"
]
},
"design"
:
{
"x"
:
10
,
"y"
:
10
}
},
"a2"
:
{
"uuid"
:
"a2"
,
"alias"
:
"test"
,
"meta"
:
"test"
,
"props"
:
{
"text"
:
"Test"
},
"output"
:
{
"success"
:
[],
"failed"
:
[]
},
"design"
:
{
"x"
:
20
,
"y"
:
100
}
}
}
},
{
"id"
:
"test"
,
"name"
:
"Test"
,
"desc"
:
"测试过程"
,
"props"
:
{
"text"
:
{
"alias"
:
"文本"
,
"type"
:
"string"
,
"default"
:
"你好"
},
"num"
:
{
"alias"
:
"数字"
,
"type"
:
"number"
,
"default"
:
1
},
"type"
:
{
"alias"
:
"类型"
,
"type"
:
"enum"
,
"enum"
:
[
"rotate"
,
"jump"
,
"breath"
],
"default"
:
"rotate"
},
"autoPlay"
:
{
"alias"
:
"自动播放"
,
"type"
:
"boolean"
,
"default"
:
false
},
"color"
:
{
"alias"
:
"颜色"
,
"type"
:
"color"
,
"default"
:
"#123456"
},
"asset"
:
{
"alias"
:
"素材"
,
"type"
:
"asset"
},
"node"
:
{
"alias"
:
"节点"
,
"type"
:
"node"
}
},
"output"
:
[
"success"
,
"failed"
],
"script"
:
"console.log('test');resolve({type: 'success'})"
}
],
"scripts"
:
{
"wave"
:
"
\"
use strict
\"
;
\n
exports.__esModule = true;
\n
var Wave = (function () {
\n
function Wave() {
\n
}
\n
Wave.prototype.mounted = function () {
\n
console.log('mounted', this.duration);
\n
this.host.anchorX = this.host.width / 2;
\n
this.host.anchorY = this.host.height / 2;
\n
};
\n
Wave.prototype.destroy = function () {
\n
console.log('destroy');
\n
};
\n
Wave.prototype.update = function (t) {
\n
this.host.rotation = t * 0.1;
\n
};
\n
Wave.prototype.awake = function () {
\n
console.log('awake');
\n
};
\n
Wave.prototype.sleep = function () {
\n
console.log('sleep');
\n
};
\n
return Wave;
\n
}());
\n
exports[
\"
default
\"
] = Wave;"
},
"builtinProcesses"
:
[
{
"id"
:
"entry"
,
"name"
:
"Entry"
,
"props"
:
{},
"script"
:
"resolve({type: 'success', payload: args});"
,
"output"
:
[
"success"
]
}
]
}
\ No newline at end of file
{
"options"
:{
"entrySceneView"
:
"view1"
,
"containerID"
:
"game-container"
,
"designWidth"
:
750
,
"designHeight"
:
1334
,
"frameRate"
:
60
,
"scaleMode"
:
"fixedWidth"
,
"rendererType"
:
"webgl"
},
"views"
:[{
"name"
:
"view1"
,
"type"
:
"node"
,
"properties"
:{},
"uuid"
:
"3a357816-5581-41ba-aa6f-4a6cc40ae396"
,
"children"
:[{
"name"
:
"rect"
,
"type"
:
"rect"
,
"properties"
:{
"width"
:
50
,
"height"
:
50
,
"fillColor"
:
"rgba(105, 182, 255, 1)"
,
"strokeWidth"
:
0
,
"x"
:
10
,
"y"
:
10
},
"uuid"
:
"f97bbf76-6923-4669-b5a3-e6382753e49a"
,
"events"
:{
"click"
:{
"once"
:
false
,
"behaviors"
:[{
"uuid"
:
"aa1"
,
"alias"
:
"主过程"
,
"meta"
:
"main"
}]}},
"scripts"
:[{
"script"
:
"wave"
,
"props"
:{
"duration"
:
500
,
"autoPlay"
:
true
,
"type"
:
"cubicIn"
}}]}]}],
"assets"
:[{
"name"
:
"face"
,
"ext"
:
".png"
,
"url"
:
"//yun.duiba.com.cn/aurora/58323a0469a7467c99b34f8933ea65b507a0c655.png"
,
"uuid"
:
"3e496939-5fe6-42f2-b8fa-42c7a742e880"
},{
"name"
:
"还以是bug"
,
"ext"
:
".jpg"
,
"url"
:
"//yun.duiba.com.cn/aurora/094832ace87c94bdb9e4a7821b3a3ebca0df2cd7.jpg"
,
"uuid"
:
"ec67a8a0-8708-43a4-888e-efb0fe7c2bd6"
},{
"name"
:
"嘿嘿"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/1ad10a4cf3488ef1400af1d6f353d9c577fe1049.gif"
,
"uuid"
:
"429803eb-0f68-4071-b68c-468980883ac4"
},{
"name"
:
"1643017"
,
"ext"
:
".jpg"
,
"url"
:
"//yun.duiba.com.cn/aurora/2e4adf3d8646ffbd027038cb2c6627a6bca44e44.jpg"
,
"uuid"
:
"cc1ad757-ff4c-4cb9-b629-be355119d018"
},{
"name"
:
"0"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/616a413facbd406b81daac809a52bd0b648a7f4c.gif"
,
"uuid"
:
"0a5f2064-f5b4-41a9-8a54-2085e208d20f"
},{
"name"
:
"3"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/e052cb4a88d63330c37ecaf55ae8e7eb2246c433.gif"
,
"uuid"
:
"e4dacdd2-064f-413e-a8f0-6425ce6dcf12"
},{
"name"
:
"5"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/881193ea1bd975c8a59f38f2d1f0d0094db6ec7a.gif"
,
"uuid"
:
"bf822d51-a1b1-4ab6-8f49-a821863731d0"
},{
"name"
:
"4"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/2df4a5c5238f86704388517d2ba0faa6782fea1e.gif"
,
"uuid"
:
"9c1d46b4-d2f1-4733-8b93-39b2bb4db9d1"
},{
"name"
:
"1"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/0bc24c7bb68e3691bad89c8ae096b253af874a73.gif"
,
"uuid"
:
"db076340-e1db-4e2d-8bb2-7cc32ccdee43"
},{
"name"
:
"7"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/3e218541244d1ed1192274ad49ea70588b6cd0dc.gif"
,
"uuid"
:
"02aa47c3-dbdf-43d2-8cdc-869cab544bcc"
},{
"name"
:
"2"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/1e1344fabf25cf2ea6f1407cd42afc1f1de0bb07.gif"
,
"uuid"
:
"264f7a8d-475e-4fd0-ac83-96e13a7702f3"
},{
"name"
:
"8"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/90080b186e0507b70f64c2020880dd1ddd3b7cd8.gif"
,
"uuid"
:
"ec63930b-8aff-4108-9ceb-ddf9353d4412"
},{
"name"
:
"0"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/616a413facbd406b81daac809a52bd0b648a7f4c.gif"
,
"uuid"
:
"7c475d4d-0ae2-4b9a-81ff-76fb8264721f"
},{
"name"
:
"9"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/f41b70c1003ff703386a5a80ed7092db5fdc11f4.gif"
,
"uuid"
:
"473b82ec-c9b9-43d7-b2e5-b5399a55d239"
},{
"name"
:
"12"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/99660ca0a9a578cd6c5eb38b1f35aee9a77849b3.gif"
,
"uuid"
:
"84f549d3-9bb1-4066-9668-3705e94b5891"
},{
"name"
:
"11"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/f88c5de6bb6ab80f24cc56978e92cedf4af201f0.gif"
,
"uuid"
:
"a4470420-60bd-4578-a2dc-100663ba6256"
},{
"name"
:
"13"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/c5c446eba840899d364bcdb010a2aea8d2ae02ab.gif"
,
"uuid"
:
"7383d2db-43dd-408a-aa69-261bd39865ac"
},{
"name"
:
"6"
,
"ext"
:
".gif"
,
"url"
:
"//yun.duiba.com.cn/aurora/881193ea1bd975c8a59f38f2d1f0d0094db6ec7a.gif"
,
"uuid"
:
"894a28f8-a814-4c8c-a5d9-619194b3073d"
},{
"name"
:
"btn-join"
,
"ext"
:
".png"
,
"url"
:
"//yun.duiba.com.cn/aurora/e50e0fe70f4b2c96d2deee1d93a0a2444732be6a.png"
,
"uuid"
:
"e3301bc4-7b51-4868-a613-26298f87988b"
},{
"name"
:
"bg"
,
"ext"
:
".jpg"
,
"url"
:
"//yun.duiba.com.cn/aurora/7dbe10dba2a92d830f0f9ff72f3d82e07a4c4649.jpg"
,
"uuid"
:
"bab58ec1-24b1-4d5d-9c95-7014b9915cb3"
},{
"name"
:
"1643017"
,
"ext"
:
".png"
,
"uuid"
:
"54f7916f-dc10-49f7-b3b1-0bda9d4f5bcd"
,
"url"
:
"//yun.duiba.com.cn/aurora/4090d0acf7dbf29cd6ab0690795e0b00b715280c.png"
},{
"name"
:
"bg"
,
"ext"
:
".png"
,
"uuid"
:
"5fe14ca0-5b86-405e-98a6-54ca733f2180"
,
"url"
:
"//yun.duiba.com.cn/aurora/070159098034ae2cd8c8e4bf4f47b1d45b87024a.png"
},{
"name"
:
"rule_button"
,
"ext"
:
".png"
,
"uuid"
:
"82a9d493-078a-4b7c-8352-616abc99f24a"
,
"url"
:
"//yun.duiba.com.cn/aurora/d0c3ed2bf9abc5748c01eb88abb7e0830669b1c5.png"
},{
"name"
:
"wheel_items"
,
"ext"
:
".png"
,
"uuid"
:
"b899e2f0-36da-42dc-a9ac-c8f4093e4457"
,
"url"
:
"//yun.duiba.com.cn/aurora/897ee802eb89999c2019c683c084f4b7e2d7f554.png"
},{
"name"
:
"wheel_bg"
,
"ext"
:
".png"
,
"uuid"
:
"8f531f60-b48e-4a7a-bd7a-9488a3c3dd2d"
,
"url"
:
"//yun.duiba.com.cn/aurora/479cbb31bfdaee48893bf34f7d0c8fc702b1459a.png"
},{
"name"
:
"start_bg"
,
"ext"
:
".png"
,
"uuid"
:
"62fe5f9b-47ec-4c1e-b508-f566501caa72"
,
"url"
:
"//yun.duiba.com.cn/aurora/3191ba684512b9e9391ab4a9d2a2df31cad4825d.png"
},{
"name"
:
"0"
,
"ext"
:
".png"
,
"uuid"
:
"562af6d0-6b73-4de8-bed0-ed3a4507962c"
,
"url"
:
"//yun.duiba.com.cn/aurora/be2fa0d9e91b58d9aafcd18f7934784742069cb6.png"
},{
"name"
:
"1"
,
"ext"
:
".png"
,
"uuid"
:
"6cf1bc08-bcc8-4cec-88d8-3e979b35dd0f"
,
"url"
:
"//yun.duiba.com.cn/aurora/3f64f753e272d17a1f5807ddf1a8965a0e2de9d5.png"
},{
"name"
:
"0"
,
"ext"
:
".png"
,
"uuid"
:
"378851d3-6664-4b0e-8407-342f4ffaf334"
,
"url"
:
"//yun.duiba.com.cn/aurora/3c292a9c6c5b1a3dab684e95d1f7b7cb4f369a8a.png"
},{
"name"
:
"1"
,
"ext"
:
".png"
,
"uuid"
:
"dee35c49-db44-4722-a412-a8b7123d20b7"
,
"url"
:
"//yun.duiba.com.cn/aurora/b22420f2322326359e2b3e1dae66dc7e34ce6978.png"
},{
"name"
:
"bg"
,
"ext"
:
".png"
,
"uuid"
:
"2b0cc6bd-fc10-43ee-a217-aaf1c40a0ad3"
,
"url"
:
"//yun.duiba.com.cn/aurora/93fbb49529a3b4617f4cdc41dba7c297989baa5e.png"
}],
"dataMapping"
:[{
"name"
:
"nickname"
,
"path"
:
"test.hello.aaa.name"
},{
"name"
:
"avatar"
,
"path"
:
"test.hello.aaa.avatar"
}],
"processes"
:[{
"id"
:
"main"
,
"name"
:
"Main"
,
"props"
:{},
"subEntry"
:
"a1"
,
"sub"
:{
"a1"
:{
"uuid"
:
"a1"
,
"alias"
:
"入口"
,
"meta"
:
"entry"
,
"output"
:{
"success"
:[
"a2"
]},
"design"
:{
"x"
:
10
,
"y"
:
10
}},
"a2"
:{
"uuid"
:
"a2"
,
"alias"
:
"test"
,
"meta"
:
"test"
,
"props"
:{
"text"
:
"Hello"
},
"output"
:{
"success"
:[],
"failed"
:[]},
"design"
:{
"x"
:
20
,
"y"
:
100
}}}},{
"id"
:
"test"
,
"name"
:
"Test"
,
"desc"
:
"测试过程"
,
"props"
:{
"text"
:{
"alias"
:
"文本"
,
"type"
:
"string"
,
"default"
:
"你好"
},
"num"
:{
"alias"
:
"数字"
,
"type"
:
"number"
,
"default"
:
1
},
"type"
:{
"alias"
:
"类型"
,
"type"
:
"enum"
,
"enum"
:[
"rotate"
,
"jump"
,
"breath"
],
"default"
:
"rotate"
},
"autoPlay"
:{
"alias"
:
"自动播放"
,
"type"
:
"boolean"
,
"default"
:
false
},
"color"
:{
"alias"
:
"颜色"
,
"type"
:
"color"
,
"default"
:
"#123456"
},
"asset"
:{
"alias"
:
"素材"
,
"type"
:
"asset"
},
"node"
:{
"alias"
:
"节点"
,
"type"
:
"node"
}},
"output"
:[
"success"
,
"failed"
],
"script"
:
"console.log('test');resolve({type: 'success'})"
}],
"scripts"
:{
"wave"
:
"
\"
use strict
\"
;
\n
exports.__esModule = true;
\n
var Wave = (function () {
\n
function Wave() {
\n
}
\n
Wave.prototype.mounted = function () {
\n
console.log('mounted', this.duration);
\n
this.host.anchorX = this.host.width / 2;
\n
this.host.anchorY = this.host.height / 2;
\n
};
\n
Wave.prototype.destroy = function () {
\n
console.log('destroy');
\n
};
\n
Wave.prototype.update = function (t) {
\n
this.host.rotation = t * 0.1;
\n
};
\n
Wave.prototype.awake = function () {
\n
console.log('awake');
\n
};
\n
Wave.prototype.sleep = function () {
\n
console.log('sleep');
\n
};
\n
return Wave;
\n
}());
\n
exports[
\"
default
\"
] = Wave;"
},
"builtinProcesses"
:[{
"id"
:
"entry"
,
"name"
:
"Entry"
,
"props"
:{},
"script"
:
"resolve({type: 'success', payload: args});"
,
"output"
:[
"success"
]}]}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment