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
63495d5f
Commit
63495d5f
authored
Nov 23, 2019
by
劳工
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into 'master'
Dev See merge request
!1
parents
519d7866
b0177d52
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
9 additions
and
5 deletions
+9
-5
index.es.js
dist/index.es.js
+1
-0
index.es.js.map
dist/index.es.js.map
+1
-1
index.js
dist/index.js
+1
-0
index.js.map
dist/index.js.map
+1
-1
index.umd.js
dist/index.umd.js
+1
-0
index.umd.js.map
dist/index.umd.js.map
+1
-1
package.json
package.json
+1
-1
index.js
src/index.js
+1
-0
test.json
tests/test.json
+1
-1
No files found.
dist/index.es.js
View file @
63495d5f
...
@@ -29,6 +29,7 @@ async function packData(data, {getProcesses, getScripts}) {
...
@@ -29,6 +29,7 @@ async function packData(data, {getProcesses, getScripts}) {
newData
.
assets
=
data
.
assets
;
newData
.
assets
=
data
.
assets
;
newData
.
dataMapping
=
data
.
dataMapping
;
newData
.
dataMapping
=
data
.
dataMapping
;
newData
.
processes
=
data
.
processes
;
newData
.
processes
=
data
.
processes
;
newData
.
customs
=
data
.
customs
;
let
scriptIDs
=
[];
let
scriptIDs
=
[];
for
(
let
view
of
newData
.
views
)
{
for
(
let
view
of
newData
.
views
)
{
...
...
dist/index.es.js.map
View file @
63495d5f
{
"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 camelcase = require('camelcase');
\n\n
const replaceFields = ['page_title', 'container_id', 'version'];
\n\n
export async function pack(project, options) {\n
\t
let version = Date.now() + Math.floor(Math.random() * 1000);
\n\t
let data = JSON.parse(project.data);
\n\t
const newTpl = await pageTemplate(data, options, version);
\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
if (scriptIDs.length > 0) {\n
\t\t
const scripts = await getScripts(scriptIDs);
\n\t\t
for (let scriptData of scripts) {\n
\t\t\t
let {id, code} = JSON.parse(scriptData);
\n\t\t\t
scriptsContainer[id] = code;
\n\t\t
}
\n\t\t
//console.log('scripts:', scriptsContainer);
\n\t
}
\n\n\t
let processIDs = [];
\n\t
findDepPidsBat(processIDs, newData.processes);
\n\t
//console.log('processIDs:', processIDs);
\n\t
let builtinProcesses = newData.builtinProcesses = [];
\n\n\t
let bProcessIDs = processIDs;
\n\t
while (true) {\n
\t\t
let newPids = await addBuiltinProcesses(builtinProcesses, bProcessIDs, getProcesses);
\n\t\t
bProcessIDs = [];
\n\t\t
for (let id of newPids) {\n
\t\t\t
if (!processIDs.includes(id))
{
\n\t\t\t\tbProcessIDs.push(id);\n\t\t\t\tprocessIDs.push(id);\n\t\t\t}\n\t\t
}
\n\t\t
if (bProcessIDs.length === 0)
{
\n\t\t\tbreak;\n\t\t}\n\t
}
\n\n\t
return JSON.stringify(newData);
\n
}
\n\n
function findDepPids(list, process) {\n
\t
if(process.sub){\n
\t\t
for (let key in process.sub) {\n
\t\t\t
let p = process.sub[key];
\n\t\t\t
if (!list.includes(p.meta))
{
\n\t\t\t\tlist.push(p.meta);\n\t\t\t}\n\t\t}\n\t}\n
}
\n\n
function findDepPidsBat(list, processes) {\n
\t
for (let process of processes) {\n
\t\t
findDepPids(list, process);
\n\t
}
\n
}
\n\n
async function addBuiltinProcesses(list, ids, getProcesses) {\n
\t
let newPids = [];
\n\t
if (ids.length > 0) {\n
\t\t
let processes = await getProcesses(ids);
\n\t\t
for (let processData of processes) {\n
\t\t\t
let process = JSON.parse(processData);
\n\t\t\t
list.push(process);
\n\t\t\t
findDepPids(newPids, process);
\n\t\t
}
\n\t\t
//console.log('processes:', data.processes);
\n\t
}
\n\t
return newPids;
\n
}
\n\n
async function pageTemplate(data, options, version) {\n
\t
const
{
tpl,
}
= data.options;
\n\t
let newTpl = tpl;
\n\t
let newOptions = Object.assign(data.options,
{
\n\t\tversion,\n\t
}
);
\n\t
delete newOptions.tpl;
\n\t
for (let field of replaceFields) {\n
\t\t
const key = camelcase(field);
\n\t\t
newTpl = newTpl.replace(new RegExp(`
\\\\
$${field.toUpperCase()}
\\\\
$`, 'g'), newOptions[key]);
\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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"
}
{
"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 camelcase = require('camelcase');
\n\n
const replaceFields = ['page_title', 'container_id', 'version'];
\n\n
export async function pack(project, options) {\n
\t
let version = Date.now() + Math.floor(Math.random() * 1000);
\n\t
let data = JSON.parse(project.data);
\n\t
const newTpl = await pageTemplate(data, options, version);
\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\t
newData.customs = data.customs;
\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
if (scriptIDs.length > 0) {\n
\t\t
const scripts = await getScripts(scriptIDs);
\n\t\t
for (let scriptData of scripts) {\n
\t\t\t
let {id, code} = JSON.parse(scriptData);
\n\t\t\t
scriptsContainer[id] = code;
\n\t\t
}
\n\t\t
//console.log('scripts:', scriptsContainer);
\n\t
}
\n\n\t
let processIDs = [];
\n\t
findDepPidsBat(processIDs, newData.processes);
\n\t
//console.log('processIDs:', processIDs);
\n\t
let builtinProcesses = newData.builtinProcesses = [];
\n\n\t
let bProcessIDs = processIDs;
\n\t
while (true) {\n
\t\t
let newPids = await addBuiltinProcesses(builtinProcesses, bProcessIDs, getProcesses);
\n\t\t
bProcessIDs = [];
\n\t\t
for (let id of newPids) {\n
\t\t\t
if (!processIDs.includes(id))
{
\n\t\t\t\tbProcessIDs.push(id);\n\t\t\t\tprocessIDs.push(id);\n\t\t\t}\n\t\t
}
\n\t\t
if (bProcessIDs.length === 0)
{
\n\t\t\tbreak;\n\t\t}\n\t
}
\n\n\t
return JSON.stringify(newData);
\n
}
\n\n
function findDepPids(list, process) {\n
\t
if(process.sub){\n
\t\t
for (let key in process.sub) {\n
\t\t\t
let p = process.sub[key];
\n\t\t\t
if (!list.includes(p.meta))
{
\n\t\t\t\tlist.push(p.meta);\n\t\t\t}\n\t\t}\n\t}\n
}
\n\n
function findDepPidsBat(list, processes) {\n
\t
for (let process of processes) {\n
\t\t
findDepPids(list, process);
\n\t
}
\n
}
\n\n
async function addBuiltinProcesses(list, ids, getProcesses) {\n
\t
let newPids = [];
\n\t
if (ids.length > 0) {\n
\t\t
let processes = await getProcesses(ids);
\n\t\t
for (let processData of processes) {\n
\t\t\t
let process = JSON.parse(processData);
\n\t\t\t
list.push(process);
\n\t\t\t
findDepPids(newPids, process);
\n\t\t
}
\n\t\t
//console.log('processes:', data.processes);
\n\t
}
\n\t
return newPids;
\n
}
\n\n
async function pageTemplate(data, options, version) {\n
\t
const
{
tpl,
}
= data.options;
\n\t
let newTpl = tpl;
\n\t
let newOptions = Object.assign(data.options,
{
\n\t\tversion,\n\t
}
);
\n\t
delete newOptions.tpl;
\n\t
for (let field of replaceFields) {\n
\t\t
const key = camelcase(field);
\n\t\t
newTpl = newTpl.replace(new RegExp(`
\\\\
$${field.toUpperCase()}
\\\\
$`, 'g'), newOptions[key]);
\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
\ No newline at end of file
dist/index.js
View file @
63495d5f
...
@@ -33,6 +33,7 @@ async function packData(data, {getProcesses, getScripts}) {
...
@@ -33,6 +33,7 @@ async function packData(data, {getProcesses, getScripts}) {
newData
.
assets
=
data
.
assets
;
newData
.
assets
=
data
.
assets
;
newData
.
dataMapping
=
data
.
dataMapping
;
newData
.
dataMapping
=
data
.
dataMapping
;
newData
.
processes
=
data
.
processes
;
newData
.
processes
=
data
.
processes
;
newData
.
customs
=
data
.
customs
;
let
scriptIDs
=
[];
let
scriptIDs
=
[];
for
(
let
view
of
newData
.
views
)
{
for
(
let
view
of
newData
.
views
)
{
...
...
dist/index.js.map
View file @
63495d5f
{
"version"
:
3
,
"file"
:
"index.js"
,
"sources"
:
[
"../src/index.js"
],
"sourcesContent"
:
[
"/**
\n
* Created by rockyl on 2019-11-13.
\n
*
\n
* 项目打包
\n
*/
\n\n
const camelcase = require('camelcase');
\n\n
const replaceFields = ['page_title', 'container_id', 'version'];
\n\n
export async function pack(project, options) {\n
\t
let version = Date.now() + Math.floor(Math.random() * 1000);
\n\t
let data = JSON.parse(project.data);
\n\t
const newTpl = await pageTemplate(data, options, version);
\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
if (scriptIDs.length > 0) {\n
\t\t
const scripts = await getScripts(scriptIDs);
\n\t\t
for (let scriptData of scripts) {\n
\t\t\t
let {id, code} = JSON.parse(scriptData);
\n\t\t\t
scriptsContainer[id] = code;
\n\t\t
}
\n\t\t
//console.log('scripts:', scriptsContainer);
\n\t
}
\n\n\t
let processIDs = [];
\n\t
findDepPidsBat(processIDs, newData.processes);
\n\t
//console.log('processIDs:', processIDs);
\n\t
let builtinProcesses = newData.builtinProcesses = [];
\n\n\t
let bProcessIDs = processIDs;
\n\t
while (true) {\n
\t\t
let newPids = await addBuiltinProcesses(builtinProcesses, bProcessIDs, getProcesses);
\n\t\t
bProcessIDs = [];
\n\t\t
for (let id of newPids) {\n
\t\t\t
if (!processIDs.includes(id))
{
\n\t\t\t\tbProcessIDs.push(id);\n\t\t\t\tprocessIDs.push(id);\n\t\t\t}\n\t\t
}
\n\t\t
if (bProcessIDs.length === 0)
{
\n\t\t\tbreak;\n\t\t}\n\t
}
\n\n\t
return JSON.stringify(newData);
\n
}
\n\n
function findDepPids(list, process) {\n
\t
if(process.sub){\n
\t\t
for (let key in process.sub) {\n
\t\t\t
let p = process.sub[key];
\n\t\t\t
if (!list.includes(p.meta))
{
\n\t\t\t\tlist.push(p.meta);\n\t\t\t}\n\t\t}\n\t}\n
}
\n\n
function findDepPidsBat(list, processes) {\n
\t
for (let process of processes) {\n
\t\t
findDepPids(list, process);
\n\t
}
\n
}
\n\n
async function addBuiltinProcesses(list, ids, getProcesses) {\n
\t
let newPids = [];
\n\t
if (ids.length > 0) {\n
\t\t
let processes = await getProcesses(ids);
\n\t\t
for (let processData of processes) {\n
\t\t\t
let process = JSON.parse(processData);
\n\t\t\t
list.push(process);
\n\t\t\t
findDepPids(newPids, process);
\n\t\t
}
\n\t\t
//console.log('processes:', data.processes);
\n\t
}
\n\t
return newPids;
\n
}
\n\n
async function pageTemplate(data, options, version) {\n
\t
const
{
tpl,
}
= data.options;
\n\t
let newTpl = tpl;
\n\t
let newOptions = Object.assign(data.options,
{
\n\t\tversion,\n\t
}
);
\n\t
delete newOptions.tpl;
\n\t
for (let field of replaceFields) {\n
\t\t
const key = camelcase(field);
\n\t\t
newTpl = newTpl.replace(new RegExp(`
\\\\
$${field.toUpperCase()}
\\\\
$`, 'g'), newOptions[key]);
\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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"
}
{
"version"
:
3
,
"file"
:
"index.js"
,
"sources"
:
[
"../src/index.js"
],
"sourcesContent"
:
[
"/**
\n
* Created by rockyl on 2019-11-13.
\n
*
\n
* 项目打包
\n
*/
\n\n
const camelcase = require('camelcase');
\n\n
const replaceFields = ['page_title', 'container_id', 'version'];
\n\n
export async function pack(project, options) {\n
\t
let version = Date.now() + Math.floor(Math.random() * 1000);
\n\t
let data = JSON.parse(project.data);
\n\t
const newTpl = await pageTemplate(data, options, version);
\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\t
newData.customs = data.customs;
\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
if (scriptIDs.length > 0) {\n
\t\t
const scripts = await getScripts(scriptIDs);
\n\t\t
for (let scriptData of scripts) {\n
\t\t\t
let {id, code} = JSON.parse(scriptData);
\n\t\t\t
scriptsContainer[id] = code;
\n\t\t
}
\n\t\t
//console.log('scripts:', scriptsContainer);
\n\t
}
\n\n\t
let processIDs = [];
\n\t
findDepPidsBat(processIDs, newData.processes);
\n\t
//console.log('processIDs:', processIDs);
\n\t
let builtinProcesses = newData.builtinProcesses = [];
\n\n\t
let bProcessIDs = processIDs;
\n\t
while (true) {\n
\t\t
let newPids = await addBuiltinProcesses(builtinProcesses, bProcessIDs, getProcesses);
\n\t\t
bProcessIDs = [];
\n\t\t
for (let id of newPids) {\n
\t\t\t
if (!processIDs.includes(id))
{
\n\t\t\t\tbProcessIDs.push(id);\n\t\t\t\tprocessIDs.push(id);\n\t\t\t}\n\t\t
}
\n\t\t
if (bProcessIDs.length === 0)
{
\n\t\t\tbreak;\n\t\t}\n\t
}
\n\n\t
return JSON.stringify(newData);
\n
}
\n\n
function findDepPids(list, process) {\n
\t
if(process.sub){\n
\t\t
for (let key in process.sub) {\n
\t\t\t
let p = process.sub[key];
\n\t\t\t
if (!list.includes(p.meta))
{
\n\t\t\t\tlist.push(p.meta);\n\t\t\t}\n\t\t}\n\t}\n
}
\n\n
function findDepPidsBat(list, processes) {\n
\t
for (let process of processes) {\n
\t\t
findDepPids(list, process);
\n\t
}
\n
}
\n\n
async function addBuiltinProcesses(list, ids, getProcesses) {\n
\t
let newPids = [];
\n\t
if (ids.length > 0) {\n
\t\t
let processes = await getProcesses(ids);
\n\t\t
for (let processData of processes) {\n
\t\t\t
let process = JSON.parse(processData);
\n\t\t\t
list.push(process);
\n\t\t\t
findDepPids(newPids, process);
\n\t\t
}
\n\t\t
//console.log('processes:', data.processes);
\n\t
}
\n\t
return newPids;
\n
}
\n\n
async function pageTemplate(data, options, version) {\n
\t
const
{
tpl,
}
= data.options;
\n\t
let newTpl = tpl;
\n\t
let newOptions = Object.assign(data.options,
{
\n\t\tversion,\n\t
}
);
\n\t
delete newOptions.tpl;
\n\t
for (let field of replaceFields) {\n
\t\t
const key = camelcase(field);
\n\t\t
newTpl = newTpl.replace(new RegExp(`
\\\\
$${field.toUpperCase()}
\\\\
$`, 'g'), newOptions[key]);
\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
\ No newline at end of file
dist/index.umd.js
View file @
63495d5f
...
@@ -35,6 +35,7 @@
...
@@ -35,6 +35,7 @@
newData
.
assets
=
data
.
assets
;
newData
.
assets
=
data
.
assets
;
newData
.
dataMapping
=
data
.
dataMapping
;
newData
.
dataMapping
=
data
.
dataMapping
;
newData
.
processes
=
data
.
processes
;
newData
.
processes
=
data
.
processes
;
newData
.
customs
=
data
.
customs
;
let
scriptIDs
=
[];
let
scriptIDs
=
[];
for
(
let
view
of
newData
.
views
)
{
for
(
let
view
of
newData
.
views
)
{
...
...
dist/index.umd.js.map
View file @
63495d5f
{
"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 camelcase = require('camelcase');
\n\n
const replaceFields = ['page_title', 'container_id', 'version'];
\n\n
export async function pack(project, options) {\n
\t
let version = Date.now() + Math.floor(Math.random() * 1000);
\n\t
let data = JSON.parse(project.data);
\n\t
const newTpl = await pageTemplate(data, options, version);
\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
if (scriptIDs.length > 0) {\n
\t\t
const scripts = await getScripts(scriptIDs);
\n\t\t
for (let scriptData of scripts) {\n
\t\t\t
let {id, code} = JSON.parse(scriptData);
\n\t\t\t
scriptsContainer[id] = code;
\n\t\t
}
\n\t\t
//console.log('scripts:', scriptsContainer);
\n\t
}
\n\n\t
let processIDs = [];
\n\t
findDepPidsBat(processIDs, newData.processes);
\n\t
//console.log('processIDs:', processIDs);
\n\t
let builtinProcesses = newData.builtinProcesses = [];
\n\n\t
let bProcessIDs = processIDs;
\n\t
while (true) {\n
\t\t
let newPids = await addBuiltinProcesses(builtinProcesses, bProcessIDs, getProcesses);
\n\t\t
bProcessIDs = [];
\n\t\t
for (let id of newPids) {\n
\t\t\t
if (!processIDs.includes(id))
{
\n\t\t\t\tbProcessIDs.push(id);\n\t\t\t\tprocessIDs.push(id);\n\t\t\t}\n\t\t
}
\n\t\t
if (bProcessIDs.length === 0)
{
\n\t\t\tbreak;\n\t\t}\n\t
}
\n\n\t
return JSON.stringify(newData);
\n
}
\n\n
function findDepPids(list, process) {\n
\t
if(process.sub){\n
\t\t
for (let key in process.sub) {\n
\t\t\t
let p = process.sub[key];
\n\t\t\t
if (!list.includes(p.meta))
{
\n\t\t\t\tlist.push(p.meta);\n\t\t\t}\n\t\t}\n\t}\n
}
\n\n
function findDepPidsBat(list, processes) {\n
\t
for (let process of processes) {\n
\t\t
findDepPids(list, process);
\n\t
}
\n
}
\n\n
async function addBuiltinProcesses(list, ids, getProcesses) {\n
\t
let newPids = [];
\n\t
if (ids.length > 0) {\n
\t\t
let processes = await getProcesses(ids);
\n\t\t
for (let processData of processes) {\n
\t\t\t
let process = JSON.parse(processData);
\n\t\t\t
list.push(process);
\n\t\t\t
findDepPids(newPids, process);
\n\t\t
}
\n\t\t
//console.log('processes:', data.processes);
\n\t
}
\n\t
return newPids;
\n
}
\n\n
async function pageTemplate(data, options, version) {\n
\t
const
{
tpl,
}
= data.options;
\n\t
let newTpl = tpl;
\n\t
let newOptions = Object.assign(data.options,
{
\n\t\tversion,\n\t
}
);
\n\t
delete newOptions.tpl;
\n\t
for (let field of replaceFields) {\n
\t\t
const key = camelcase(field);
\n\t\t
newTpl = newTpl.replace(new RegExp(`
\\\\
$${field.toUpperCase()}
\\\\
$`, 'g'), newOptions[key]);
\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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"
}
{
"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 camelcase = require('camelcase');
\n\n
const replaceFields = ['page_title', 'container_id', 'version'];
\n\n
export async function pack(project, options) {\n
\t
let version = Date.now() + Math.floor(Math.random() * 1000);
\n\t
let data = JSON.parse(project.data);
\n\t
const newTpl = await pageTemplate(data, options, version);
\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\t
newData.customs = data.customs;
\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
if (scriptIDs.length > 0) {\n
\t\t
const scripts = await getScripts(scriptIDs);
\n\t\t
for (let scriptData of scripts) {\n
\t\t\t
let {id, code} = JSON.parse(scriptData);
\n\t\t\t
scriptsContainer[id] = code;
\n\t\t
}
\n\t\t
//console.log('scripts:', scriptsContainer);
\n\t
}
\n\n\t
let processIDs = [];
\n\t
findDepPidsBat(processIDs, newData.processes);
\n\t
//console.log('processIDs:', processIDs);
\n\t
let builtinProcesses = newData.builtinProcesses = [];
\n\n\t
let bProcessIDs = processIDs;
\n\t
while (true) {\n
\t\t
let newPids = await addBuiltinProcesses(builtinProcesses, bProcessIDs, getProcesses);
\n\t\t
bProcessIDs = [];
\n\t\t
for (let id of newPids) {\n
\t\t\t
if (!processIDs.includes(id))
{
\n\t\t\t\tbProcessIDs.push(id);\n\t\t\t\tprocessIDs.push(id);\n\t\t\t}\n\t\t
}
\n\t\t
if (bProcessIDs.length === 0)
{
\n\t\t\tbreak;\n\t\t}\n\t
}
\n\n\t
return JSON.stringify(newData);
\n
}
\n\n
function findDepPids(list, process) {\n
\t
if(process.sub){\n
\t\t
for (let key in process.sub) {\n
\t\t\t
let p = process.sub[key];
\n\t\t\t
if (!list.includes(p.meta))
{
\n\t\t\t\tlist.push(p.meta);\n\t\t\t}\n\t\t}\n\t}\n
}
\n\n
function findDepPidsBat(list, processes) {\n
\t
for (let process of processes) {\n
\t\t
findDepPids(list, process);
\n\t
}
\n
}
\n\n
async function addBuiltinProcesses(list, ids, getProcesses) {\n
\t
let newPids = [];
\n\t
if (ids.length > 0) {\n
\t\t
let processes = await getProcesses(ids);
\n\t\t
for (let processData of processes) {\n
\t\t\t
let process = JSON.parse(processData);
\n\t\t\t
list.push(process);
\n\t\t\t
findDepPids(newPids, process);
\n\t\t
}
\n\t\t
//console.log('processes:', data.processes);
\n\t
}
\n\t
return newPids;
\n
}
\n\n
async function pageTemplate(data, options, version) {\n
\t
const
{
tpl,
}
= data.options;
\n\t
let newTpl = tpl;
\n\t
let newOptions = Object.assign(data.options,
{
\n\t\tversion,\n\t
}
);
\n\t
delete newOptions.tpl;
\n\t
for (let field of replaceFields) {\n
\t\t
const key = camelcase(field);
\n\t\t
newTpl = newTpl.replace(new RegExp(`
\\\\
$${field.toUpperCase()}
\\\\
$`, 'g'), newOptions[key]);
\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
\ No newline at end of file
package.json
View file @
63495d5f
{
{
"name"
:
"zeroing-pack"
,
"name"
:
"zeroing-pack"
,
"version"
:
"1.0.
0
"
,
"version"
:
"1.0.
1
"
,
"main"
:
"dist/index.js"
,
"main"
:
"dist/index.js"
,
"license"
:
"
MIT
"
,
"license"
:
"
MIT
"
,
"dependencies"
:
{
"dependencies"
:
{
...
...
src/index.js
View file @
63495d5f
...
@@ -29,6 +29,7 @@ async function packData(data, {getProcesses, getScripts}) {
...
@@ -29,6 +29,7 @@ async function packData(data, {getProcesses, getScripts}) {
newData
.
assets
=
data
.
assets
;
newData
.
assets
=
data
.
assets
;
newData
.
dataMapping
=
data
.
dataMapping
;
newData
.
dataMapping
=
data
.
dataMapping
;
newData
.
processes
=
data
.
processes
;
newData
.
processes
=
data
.
processes
;
newData
.
customs
=
data
.
customs
;
let
scriptIDs
=
[];
let
scriptIDs
=
[];
for
(
let
view
of
newData
.
views
)
{
for
(
let
view
of
newData
.
views
)
{
...
...
tests/test.json
View file @
63495d5f
{
"options"
:{
"pageTitle"
:
"hahaha"
,
"entrySceneView"
:
"view1"
,
"containerId"
:
"game-container"
,
"designWidth"
:
750
,
"designHeight"
:
1334
,
"frameRate"
:
60
,
"scaleMode"
:
"fixedWidth"
,
"rendererType"
:
"webgl"
,
"version"
:
1573717718320
},
"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"
]}]}
{
"options"
:{
"pageTitle"
:
"hahaha"
,
"entrySceneView"
:
"view1"
,
"containerId"
:
"game-container"
,
"designWidth"
:
750
,
"designHeight"
:
1334
,
"frameRate"
:
60
,
"scaleMode"
:
"fixedWidth"
,
"rendererType"
:
"webgl"
,
"version"
:
1573805539171
},
"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
}},
"a3"
:{
"uuid"
:
"a3"
,
"meta"
:
"ddd"
}}},{
"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"
]},{
"id"
:
"ddd"
,
"name"
:
"DDD"
,
"props"
:{},
"sub"
:{
"1"
:{
"uuid"
:
1
,
"meta"
:
"eee"
}}},{
"id"
:
"eee"
,
"name"
:
"EEE"
,
"props"
:{}},{
"id"
:
"entry"
,
"name"
:
"Entry"
,
"props"
:{},
"script"
:
"resolve({type: 'success', payload: args});"
,
"output"
:[
"success"
]},{
"id"
:
"ddd"
,
"name"
:
"DDD"
,
"props"
:{},
"sub"
:{
"1"
:{
"uuid"
:
1
,
"meta"
:
"eee"
}}},{
"id"
:
"eee"
,
"name"
:
"EEE"
,
"props"
:{}}]}
\ No newline at end of file
\ 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