[add] Vue版本

This commit is contained in:
建喵 2022-04-05 18:40:31 +08:00
parent 12e3282760
commit 0fb4ba3740
9 changed files with 10263 additions and 127 deletions

10073
lib/vue.js Normal file

File diff suppressed because it is too large Load Diff

108
main.js
View File

@ -21,63 +21,63 @@ const Indices = UuidTemplate.map((x, i) => x === '-' ? NaN : i).filter(isFinite)
let HexMap = {} let HexMap = {}
{ {
for (let i = 0; i < HexChars.length; i++) { for (let i = 0; i < HexChars.length; i++) {
let char = HexChars[i] let char = HexChars[i]
HexMap[char] = i HexMap[char] = i
} }
} }
module.exports = { module.exports = {
load() { load() {
this.init(); this.init();
}, },
unload() { unload() {
// Editor.log("卸載執行"); // Editor.log("卸載執行");
}, },
/** 初始化 */ /** 初始化 */
init() { init() {
// this.createDirectory(); // this.createDirectory();
}, },
/** 創建Spine節點 */ /** 創建Spine節點 */
uuidconvert(...args) { uuidconvert(...args) {
let self = this; let self = this;
try { try {
let needconvertuuid = args[0]; let needconvertuuid = args[0];
let uuid; let uuid;
if (needconvertuuid.indexOf("-") === -1) { if (needconvertuuid.indexOf("-") === -1) {
// let convertuuid = this.decodeUuid(needconvertuuid); // let convertuuid = this.decodeUuid(needconvertuuid);
let convertuuid = EditorAPI.decompressUuid(needconvertuuid); let convertuuid = EditorAPI.decompressUuid(needconvertuuid);
Editor.log('convertuuid', convertuuid); Editor.log('convertuuid', convertuuid);
uuid = convertuuid; uuid = convertuuid;
} else { } else {
// let convertuuid = this.compressUuid(needconvertuuid); // let convertuuid = this.compressUuid(needconvertuuid);
let convertuuid = EditorAPI.compressUuid(needconvertuuid); let convertuuid = EditorAPI.compressUuid(needconvertuuid);
Editor.log('convertuuid', convertuuid); Editor.log('convertuuid', convertuuid);
uuid = needconvertuuid; uuid = needconvertuuid;
} }
Editor.Ipc.sendToAll('assets:hint', uuid); Editor.Ipc.sendToAll('assets:hint', uuid);
Editor.log('path: ', Editor.assetdb.uuidToUrl(uuid)); Editor.log('path: ', Editor.assetdb.uuidToUrl(uuid));
} catch (error) { } catch (error) {
Editor.log(`uuidconvert error: ${error}`); Editor.log(`uuidconvert error: ${error}`);
} }
}, },
messages: { messages: {
/** 打開面板 */ /** 打開面板 */
"open-panel"() { "open-panel"() {
Editor.Panel.open("uuidconvert"); Editor.Panel.open("uuidconvert");
}, },
/** 保存按鈕點擊 */ /** 保存按鈕點擊 */
"run-click"(event, ...args) { "run-click"(event, ...args) {
this.uuidconvert(...args); this.uuidconvert(...args);
}, },
// /** 面板加載完成 */ // /** 面板加載完成 */
// "panel-load-finish"(evnet, ...args) { // "panel-load-finish"(evnet, ...args) {
// Editor.Scene.callSceneScript("uuidconvert", "get-default-info", { args: args }, function (err, response) { // Editor.Scene.callSceneScript("uuidconvert", "get-default-info", { args: args }, function (err, response) {
// // Editor.log("callSceneScript: " + response); // // Editor.log("callSceneScript: " + response);
// Editor.Ipc.sendToPanel("uuidconvert", "setDefault", response); // Editor.Ipc.sendToPanel("uuidconvert", "setDefault", response);
// }); // });
// }, // },
}, },
} }

View File

@ -1,21 +1,21 @@
{ {
"name": "uuidconvert", "name": "uuidconvert",
"version": "0.0.1", "version": "0.0.1",
"description": "Sample-Package", "description": "Sample-Package",
"author": "Sample", "author": "Sample",
"main": "main.js", "main": "main.js",
"scene-script": "scene-obtain.js", "scene-script": "scene-obtain.js",
"engineSupport": true, "engineSupport": true,
"main-menu": { "main-menu": {
"扩展/Uuid Convert": { "扩展/Uuid Convert": {
"message": "uuidconvert:open-panel" "message": "uuidconvert:open-panel"
} }
}, },
"panel": { "panel": {
"main": "panel/index.js", "main": "panel/index.js",
"type": "dockable", "type": "dockable",
"title": "Uuid Convert", "title": "Uuid Convert",
"width": 400, "width": 400,
"height": 350 "height": 350
} }
} }

View File

@ -1,57 +1,45 @@
const PACKAGE_NAME = "uuidconvert";
const fs = require("fs");
Editor.Panel.extend({ Editor.Panel.extend({
style: ` style: fs.readFileSync(Editor.url(`packages://${PACKAGE_NAME}/static/style/default/index.css`), 'utf-8')
:host { margin: 5px; } .concat(fs.readFileSync(Editor.url(`packages://${PACKAGE_NAME}/static/style/default/bootstrap.min.css`), 'utf-8')),
h2 { color: #f90; }
.bottom { template: fs.readFileSync(
height: 30px; Editor.url(`packages://${PACKAGE_NAME}/static/template/default/index.html`), 'utf-8'),
$: {
app: '#app',
},
ready() {
this.app = new Vue({
el: this.$app,
created: function () {
},
components: {
"counter": Editor.require(`packages://${PACKAGE_NAME}/static/template/vue/counter.js`)
},
data: function () {
return {}
},
methods: {
},
watch: {
}
})
},
methods: {
},
messages: {
} }
`,
template: `
<h2 style="text-align:center">Uuid Convert</h2>
<hr />
<div>
1. 填入要轉換的UUID<br>
</div>
<hr />
<div>
要轉換的UUID
<ui-input placeholder="UUID" id="uuid"></ui-input>
</div>
<hr />
<div style="text-align:right">
<ui-button id="run" class="blue">執行</ui-button>
</div>
`,
$: {
/** uuid */
uuid: "#uuid",
/** 生成按鈕 */
run: "#run",
},
ready() {
// Editor.Ipc.sendToMain("uuidconvert:panel-load-finish");
this.onClickRun();
},
/** 保存按鈕點擊事件 */
onClickRun() {
this.$run.addEventListener("confirm", () => {
if (!this.$uuid._value) {
Editor.error("請輸入要轉換的UUID");
return;
}
Editor.Ipc.sendToMain("uuidconvert:run-click", this.$uuid._value);
});
},
messages: {
// "setDefault": function (event, ...agrs) {
// if (event.reply) {
// //if no error, the first argument should be null
// event.reply(null, "Fine, thank you!");
// }
// }
}
}); });

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
#text {
color: var(--color-normal-contrast-weakest);
margin: auto;
width: 180px;
}
.counter {
text-align: center;
}

View File

@ -0,0 +1,6 @@
<div>
<link href="style/default/bootstrap.min.css" rel="stylesheet">
<div id="app">
<counter></counter>
</div>
</div>

View File

@ -0,0 +1,18 @@
<div class="counter">
<h1 style="text-align:center">Uuid Convert</h1>
<hr />
<div>
<h2 style="text-align:left">1. 填入要轉換的UUID</h2>
</div>
<hr />
<div>
<h1 style="text-align:left">要轉換的UUID</h1>
<div class="input-group input-group-lg">
<input id="uuid" v-model="uuid" type="text" class="form-control" placeholder="UUID">
</div>
</div>
<hr />
<div style="text-align:right">
<button id="run" @click="run()" type="button" class="btn btn-primary btn-lg btn-block">執行</button>
</div>
</div>

View File

@ -0,0 +1,36 @@
const PACKAGE_NAME = "uuidconvert";
const fs = require("fs");
module.exports = {
name: "counter",
template: fs.readFileSync(Editor.url(`packages://${PACKAGE_NAME}/static/template/vue/counter.html`), 'utf-8'),
created: function () {
},
data: function () {
return {
uuid: ""
}
},
props: {
},
methods: {
run() {
if (!this.uuid) {
Editor.error("請輸入要轉換的UUID");
return;
}
Editor.Ipc.sendToMain("uuidconvert:run-click", this.uuid);
},
},
watch: {
}
}