@ives_xxz/packages 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AddComponent/main.js +32 -0
- package/AddComponent/package.json +26 -0
- package/AddComponent/panel/index.js +233 -0
- package/AddComponent/readme.md +38 -0
- package/AddComponent/scene-accessor.js +109 -0
- package/AddComponent/template-auto-dock.js +73 -0
- package/BitmapFontTools/i18n/en.js +1 -0
- package/BitmapFontTools/i18n/zh.js +1 -0
- package/BitmapFontTools/main.js +1 -0
- package/BitmapFontTools/package-lock.json +83 -0
- package/BitmapFontTools/package.json +37 -0
- package/BitmapFontTools/panel/font.css +1 -0
- package/BitmapFontTools/panel/font.js +58 -0
- package/BitmapFontTools/panel/font_panel.js +1 -0
- package/BitmapFontTools/panel/ttf.css +1 -0
- package/BitmapFontTools/panel/ttf.js +68 -0
- package/BitmapFontTools/panel/ttf_panel.js +1 -0
- package/FWAssetsFinder/main.js +9 -0
- package/FWAssetsFinder/package.json +20 -0
- package/FWAssetsFinder/panel/index.css +2 -0
- package/FWAssetsFinder/panel/index.html +52 -0
- package/FWAssetsFinder/panel/index.js +265 -0
- package/FWAssetsFinder/panel/less.css +71 -0
- package/FWAssetsFinder/panel/scene.js +194 -0
- package/FWExcelGenerator/main.js +367 -0
- package/FWExcelGenerator/package-lock.json +109 -0
- package/FWExcelGenerator/package.json +23 -0
- package/FWExcelGenerator/panel/index.js +648 -0
- package/FWLayerGenerator/main.js +186 -0
- package/FWLayerGenerator/package.json +21 -0
- package/FWLayerGenerator/panel/index.css +36 -0
- package/FWLayerGenerator/panel/index.html +17 -0
- package/FWLayerGenerator/panel/index.js +29 -0
- package/FWMask/inspector.js +26 -0
- package/FWMask/main.js +16 -0
- package/FWMask/package.json +6 -0
- package/FWPolygonPoints/main.js +149 -0
- package/FWPolygonPoints/package.json +9 -0
- package/PNG Auto Compress/CHANGELOG.md +32 -0
- package/PNG Auto Compress/LICENSE +21 -0
- package/PNG Auto Compress/README.md +113 -0
- package/PNG Auto Compress/config-manager.js +72 -0
- package/PNG Auto Compress/i18n/en.js +14 -0
- package/PNG Auto Compress/i18n/zh.js +14 -0
- package/PNG Auto Compress/images/setting.png +0 -0
- package/PNG Auto Compress/jsconfig.json +1 -0
- package/PNG Auto Compress/main.js +377 -0
- package/PNG Auto Compress/package.json +41 -0
- package/PNG Auto Compress/panel.setting/index.css +13 -0
- package/PNG Auto Compress/panel.setting/index.html +51 -0
- package/PNG Auto Compress/panel.setting/index.js +124 -0
- package/PNG Auto Compress/pngquant/macos/COPYRIGHT +687 -0
- package/PNG Auto Compress/pngquant/macos/README.md +78 -0
- package/PNG Auto Compress/pngquant/macos/pngquant +0 -0
- package/PNG Auto Compress/pngquant/macos/pngquant-compat +0 -0
- package/PNG Auto Compress/pngquant/windows/COPYRIGHT +687 -0
- package/PNG Auto Compress/pngquant/windows/Drag PNG here to reduce palette automatically.bat +11 -0
- package/PNG Auto Compress/pngquant/windows/Drag PNG here to reduce palette to 256.bat +10 -0
- package/PNG Auto Compress/pngquant/windows/README.txt +78 -0
- package/PNG Auto Compress/pngquant/windows/pngquant.exe +0 -0
- package/PNG Auto Compress/typings/cocos/editor.d.ts +1053 -0
- package/PNG Auto Compress/utils/file-utils.js +67 -0
- package/Quick Finder/CHANGELOG.md +100 -0
- package/Quick Finder/LICENSE +21 -0
- package/Quick Finder/README.en.md +141 -0
- package/Quick Finder/README.md +149 -0
- package/Quick Finder/i18n/en.js +42 -0
- package/Quick Finder/i18n/zh.js +42 -0
- package/Quick Finder/images/assets/animation-clip.png +0 -0
- package/Quick Finder/images/assets/asset.png +0 -0
- package/Quick Finder/images/assets/atlas.png +0 -0
- package/Quick Finder/images/assets/audio-clip.png +0 -0
- package/Quick Finder/images/assets/auto-atlas.png +0 -0
- package/Quick Finder/images/assets/bitmap-font.png +0 -0
- package/Quick Finder/images/assets/buffer.png +0 -0
- package/Quick Finder/images/assets/coffeescript.png +0 -0
- package/Quick Finder/images/assets/component.png +0 -0
- package/Quick Finder/images/assets/css.png +0 -0
- package/Quick Finder/images/assets/dragonbones-atlas.png +0 -0
- package/Quick Finder/images/assets/folder.png +0 -0
- package/Quick Finder/images/assets/html.png +0 -0
- package/Quick Finder/images/assets/javascript.png +0 -0
- package/Quick Finder/images/assets/json.png +0 -0
- package/Quick Finder/images/assets/label-atlas.png +0 -0
- package/Quick Finder/images/assets/markdown.png +0 -0
- package/Quick Finder/images/assets/material.png +0 -0
- package/Quick Finder/images/assets/mesh.png +0 -0
- package/Quick Finder/images/assets/mount.png +0 -0
- package/Quick Finder/images/assets/node.png +0 -0
- package/Quick Finder/images/assets/particle.png +0 -0
- package/Quick Finder/images/assets/physics-material.png +0 -0
- package/Quick Finder/images/assets/prefab.png +0 -0
- package/Quick Finder/images/assets/raw-asset.png +0 -0
- package/Quick Finder/images/assets/scene.png +0 -0
- package/Quick Finder/images/assets/shader.png +0 -0
- package/Quick Finder/images/assets/skeleton.png +0 -0
- package/Quick Finder/images/assets/spine.png +0 -0
- package/Quick Finder/images/assets/sprite-animation.png +0 -0
- package/Quick Finder/images/assets/sprite-atlas.png +0 -0
- package/Quick Finder/images/assets/sprite-frame.png +0 -0
- package/Quick Finder/images/assets/text.png +0 -0
- package/Quick Finder/images/assets/tiled-map.png +0 -0
- package/Quick Finder/images/assets/ttf-font.png +0 -0
- package/Quick Finder/images/assets/typescript.png +0 -0
- package/Quick Finder/images/search.png +0 -0
- package/Quick Finder/images/settings.png +0 -0
- package/Quick Finder/images/update.png +0 -0
- package/Quick Finder/images/version.png +0 -0
- package/Quick Finder/jsconfig.json +17 -0
- package/Quick Finder/lib/node-fetch.js +1649 -0
- package/Quick Finder/lib/vue.global.prod.js +7 -0
- package/Quick Finder/package.json +45 -0
- package/Quick Finder/src/common/config-manager.js +122 -0
- package/Quick Finder/src/eazax/browser-util.js +61 -0
- package/Quick Finder/src/eazax/color-util.js +37 -0
- package/Quick Finder/src/eazax/css/cocos-class.css +202 -0
- package/Quick Finder/src/eazax/css/cocos-tag.css +197 -0
- package/Quick Finder/src/eazax/css/eazax-colors.css +18 -0
- package/Quick Finder/src/eazax/editor-main-kit.js +53 -0
- package/Quick Finder/src/eazax/editor-main-util.js +112 -0
- package/Quick Finder/src/eazax/editor-renderer-kit.js +26 -0
- package/Quick Finder/src/eazax/file-util.js +158 -0
- package/Quick Finder/src/eazax/i18n.js +36 -0
- package/Quick Finder/src/eazax/main-event.js +81 -0
- package/Quick Finder/src/eazax/package-util.js +47 -0
- package/Quick Finder/src/eazax/renderer-event.js +80 -0
- package/Quick Finder/src/eazax/updater.js +92 -0
- package/Quick Finder/src/eazax/version-util.js +61 -0
- package/Quick Finder/src/eazax/window-util.js +80 -0
- package/Quick Finder/src/main/finder.js +101 -0
- package/Quick Finder/src/main/index.js +155 -0
- package/Quick Finder/src/main/opener.js +95 -0
- package/Quick Finder/src/main/panel-manager.js +159 -0
- package/Quick Finder/src/renderer/search/index.css +222 -0
- package/Quick Finder/src/renderer/search/index.html +46 -0
- package/Quick Finder/src/renderer/search/index.js +348 -0
- package/Quick Finder/src/renderer/settings/index.css +101 -0
- package/Quick Finder/src/renderer/settings/index.html +86 -0
- package/Quick Finder/src/renderer/settings/index.js +219 -0
- package/Quick Finder/typings/cocos/editor.d.ts +1053 -0
- package/Quick Finder/typings/vue.d.ts +1 -0
- package/README.md +93 -0
- package/package.json +12 -0
- package/unpack plist/main.js +253 -0
- package/unpack plist/package.json +13 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/CHANGELOG.md +30 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/LICENSE +21 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/README.en.md +111 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/README.md +115 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/i18n/en.js +55 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/i18n/zh.js +55 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/images/search.png +0 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/images/settings.png +0 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/images/update.png +0 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/images/version.png +0 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/jsconfig.json +17 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/lib/node-fetch.js +1649 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/lib/vue.global.prod.js +7 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/package.json +44 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/common/config-manager.js +104 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/browser-util.js +61 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/color-util.js +37 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/css/cocos-class.css +201 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/css/cocos-tag.css +197 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/css/eazax-colors.css +18 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/editor-main-kit.js +53 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/editor-main-util.js +147 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/editor-renderer-kit.js +26 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/file-util.js +158 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/i18n.js +36 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/main-event.js +81 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/package-util.js +47 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/renderer-event.js +80 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/updater.js +92 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/version-util.js +61 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/eazax/window-util.js +80 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/main/editor-api.js +90 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/main/finder.js +248 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/main/index.js +155 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/main/object-util.js +70 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/main/panel-manager.js +86 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/main/parser.js +161 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/main/printer.js +108 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/renderer/settings/index.css +61 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/renderer/settings/index.html +90 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/src/renderer/settings/index.js +191 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/typings/cocos/editor.d.ts +1053 -0
- package//345/274/225/347/224/250/346/237/245/346/211/276/345/231/250/typings/vue.d.ts +1 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<!-- 样式 -->
|
|
7
|
+
<link rel="stylesheet" type="text/css" href="../../eazax/css/cocos-tag.css">
|
|
8
|
+
<link rel="stylesheet" type="text/css" href="../../eazax/css/cocos-class.css">
|
|
9
|
+
<link rel="stylesheet" type="text/css" href="index.css">
|
|
10
|
+
<!-- 脚本 -->
|
|
11
|
+
<script type="text/javascript" src="../../../lib/vue.global.prod.js" defer></script>
|
|
12
|
+
<script type="text/javascript" src="index.js" defer></script>
|
|
13
|
+
</head>
|
|
14
|
+
|
|
15
|
+
<body>
|
|
16
|
+
<div id="app" v-cloak>
|
|
17
|
+
<!-- 标题 -->
|
|
18
|
+
<div class="title">{{ t('settings') }}</div>
|
|
19
|
+
<!-- 配置 -->
|
|
20
|
+
<div class="properties">
|
|
21
|
+
<!-- 文件类型 -->
|
|
22
|
+
<div class="property">
|
|
23
|
+
<div class="label">
|
|
24
|
+
<span class="text">{{ t('openable') }}</span>
|
|
25
|
+
<span class="tooltip">{{ t('openableTooltip') }}</span>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="content">
|
|
28
|
+
<div class="openable">
|
|
29
|
+
<div class="item" v-for="(item, index) in OPENABLE_LIST" :key="index">
|
|
30
|
+
<input class="checkbox" type="checkbox" :checked="openable.indexOf(item.ext) !== -1"
|
|
31
|
+
@change="onOpenableChanged($event, item)" />
|
|
32
|
+
<div class="type">{{ `${item.type} (${item.ext})` }}</div>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
<!-- 选择快捷键 -->
|
|
38
|
+
<div class="property">
|
|
39
|
+
<div class="label">
|
|
40
|
+
<span class="text">{{ t('selectKey') }}</span>
|
|
41
|
+
<span class="tooltip">{{ t('selectKeyTooltip') }}</span>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="content">
|
|
44
|
+
<select v-model="selectKey">
|
|
45
|
+
<option v-for="item in presets" :key="item.key" :value="item.key">{{ item.name }}</option>
|
|
46
|
+
</select>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
<!-- 自定义快捷键 -->
|
|
50
|
+
<div class="property">
|
|
51
|
+
<div class="label">
|
|
52
|
+
<span class="text">{{ t('customKey') }}</span>
|
|
53
|
+
<span class="tooltip">{{ t('customKeyTooltip') }}</span>
|
|
54
|
+
</div>
|
|
55
|
+
<div class="content">
|
|
56
|
+
<input v-model="customKey" :placeholder="t('customKeyPlaceholder')" />
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
<!-- 自动检查更新 -->
|
|
60
|
+
<div class="property">
|
|
61
|
+
<div class="label">
|
|
62
|
+
<span class="text">{{ t('autoCheck') }}</span>
|
|
63
|
+
<span class="tooltip">{{ t('autoCheckTooltip') }}</span>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="content">
|
|
66
|
+
<input type="checkbox" v-model="autoCheckUpdate" />
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
<!-- 快捷键参考 -->
|
|
70
|
+
<div class="tip">
|
|
71
|
+
<span>{{ t('reference') }}</span>
|
|
72
|
+
<a href="https://www.electronjs.org/docs/api/accelerator" target="_blank">{{ t('accelerator') }}</a>
|
|
73
|
+
</div>
|
|
74
|
+
<!-- Git 仓库 -->
|
|
75
|
+
<div class="tip">
|
|
76
|
+
<span>{{ t('repository') }}</span>
|
|
77
|
+
<a :href="repositoryUrl" target="_blank">{{ packageName }}</a>
|
|
78
|
+
</div>
|
|
79
|
+
<div class="line"></div>
|
|
80
|
+
<!-- 应用按钮 -->
|
|
81
|
+
<button class="apply-btn" @click="onApplyBtnClick">{{ t('apply') }}</button>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
</body>
|
|
85
|
+
|
|
86
|
+
</html>
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
const { shell } = require('electron');
|
|
2
|
+
const { getUrlParam } = require('../../eazax/browser-util');
|
|
3
|
+
const { translate } = require('../../eazax/i18n');
|
|
4
|
+
const RendererEvent = require('../../eazax/renderer-event');
|
|
5
|
+
const PackageUtil = require('../../eazax/package-util');
|
|
6
|
+
const EditorRendererKit = require('../../eazax/editor-renderer-kit');
|
|
7
|
+
const ConfigManager = require('../../common/config-manager');
|
|
8
|
+
|
|
9
|
+
// 导入 Vue 工具函数
|
|
10
|
+
const { ref, watch, onMounted, onBeforeUnmount, createApp } = Vue;
|
|
11
|
+
|
|
12
|
+
/** 当前语言 */
|
|
13
|
+
const LANG = getUrlParam('lang');
|
|
14
|
+
|
|
15
|
+
// 构建 Vue 应用
|
|
16
|
+
const App = {
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 设置
|
|
20
|
+
* @param {*} props
|
|
21
|
+
* @param {*} context
|
|
22
|
+
*/
|
|
23
|
+
setup(props, context) {
|
|
24
|
+
|
|
25
|
+
// 可以直接打开的所有文件类型
|
|
26
|
+
const OPENABLE_LIST = ref([
|
|
27
|
+
{ ext: '.fire', type: t('scene') },
|
|
28
|
+
{ ext: '.prefab', type: t('prefab') },
|
|
29
|
+
{ ext: '.ts', type: t('typescript') },
|
|
30
|
+
{ ext: '.js', type: t('javascript') },
|
|
31
|
+
{ ext: '.json', type: t('json') },
|
|
32
|
+
{ ext: '.md', type: t('markdown') },
|
|
33
|
+
{ ext: '.txt', type: t('txt') },
|
|
34
|
+
]);
|
|
35
|
+
// 可以直接打开的文件类型列表
|
|
36
|
+
const openable = ref([]);
|
|
37
|
+
|
|
38
|
+
// 预设快捷键
|
|
39
|
+
const presets = ref([
|
|
40
|
+
{ key: '', name: t('none') },
|
|
41
|
+
{ key: 'custom', name: t('customKey') },
|
|
42
|
+
{ key: 'F1', name: 'F1' },
|
|
43
|
+
{ key: 'F3', name: 'F3' },
|
|
44
|
+
{ key: 'F4', name: 'F4' },
|
|
45
|
+
{ key: 'F5', name: 'F5' },
|
|
46
|
+
{ key: 'F6', name: 'F6' },
|
|
47
|
+
{ key: 'CmdOrCtrl+F', name: 'Cmd/Ctrl + F' },
|
|
48
|
+
{ key: 'CmdOrCtrl+B', name: 'Cmd/Ctrl + B' },
|
|
49
|
+
{ key: 'CmdOrCtrl+Shift+F', name: 'Cmd/Ctrl + Shift + F' },
|
|
50
|
+
]);
|
|
51
|
+
// 选择
|
|
52
|
+
const selectKey = ref('');
|
|
53
|
+
// 自定义
|
|
54
|
+
const customKey = ref('');
|
|
55
|
+
// 自动检查更新
|
|
56
|
+
const autoCheckUpdate = ref(false);
|
|
57
|
+
|
|
58
|
+
// 仓库地址
|
|
59
|
+
const repositoryUrl = PackageUtil.repository;
|
|
60
|
+
// 包名
|
|
61
|
+
const packageName = PackageUtil.name;
|
|
62
|
+
|
|
63
|
+
// 监听选择快捷键
|
|
64
|
+
watch(selectKey, (value) => {
|
|
65
|
+
if (value !== 'custom') {
|
|
66
|
+
customKey.value = '';
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
// 监听自定义
|
|
71
|
+
watch(customKey, (value) => {
|
|
72
|
+
if (value !== '' && selectKey.value !== 'custom') {
|
|
73
|
+
selectKey.value = 'custom';
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* 获取配置
|
|
79
|
+
*/
|
|
80
|
+
function getConfig() {
|
|
81
|
+
const config = ConfigManager.get();
|
|
82
|
+
if (!config) return;
|
|
83
|
+
// 可打开文件类型
|
|
84
|
+
openable.value = config.openable;
|
|
85
|
+
// 自动检查更新
|
|
86
|
+
autoCheckUpdate.value = config.autoCheckUpdate;
|
|
87
|
+
// 快捷键
|
|
88
|
+
const hotkey = config.hotkey;
|
|
89
|
+
if (!hotkey || hotkey === '') {
|
|
90
|
+
selectKey.value = '';
|
|
91
|
+
customKey.value = '';
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// 预设快捷键
|
|
95
|
+
for (let i = 0, l = presets.value.length; i < l; i++) {
|
|
96
|
+
if (presets.value[i].key === hotkey) {
|
|
97
|
+
selectKey.value = hotkey;
|
|
98
|
+
customKey.value = '';
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// 自定义快捷键
|
|
103
|
+
selectKey.value = 'custom';
|
|
104
|
+
customKey.value = hotkey;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* 保存配置
|
|
109
|
+
*/
|
|
110
|
+
function setConfig() {
|
|
111
|
+
const config = {
|
|
112
|
+
openable: openable.value,
|
|
113
|
+
hotkey: null,
|
|
114
|
+
autoCheckUpdate: autoCheckUpdate.value,
|
|
115
|
+
};
|
|
116
|
+
if (selectKey.value === 'custom') {
|
|
117
|
+
// 自定义输入是否有效
|
|
118
|
+
if (customKey.value === '') {
|
|
119
|
+
EditorRendererKit.print('warn', translate('customKeyError'));
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
// 不可以使用双引号(避免 json 值中出现双引号而解析错误,导致插件加载失败)
|
|
123
|
+
if (customKey.value.includes('"')) {
|
|
124
|
+
customKey.value = customKey.value.replace(/\"/g, '');
|
|
125
|
+
EditorRendererKit.print('warn', translate('quoteError'));
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
config.hotkey = customKey.value;
|
|
129
|
+
} else {
|
|
130
|
+
config.hotkey = selectKey.value;
|
|
131
|
+
}
|
|
132
|
+
// 保存到本地
|
|
133
|
+
ConfigManager.set(config);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* 可打开文件类型勾选变化回调
|
|
138
|
+
* @param {*} event
|
|
139
|
+
* @param {{ ext:string, type: string }} item
|
|
140
|
+
*/
|
|
141
|
+
function onOpenableChanged(event, item) {
|
|
142
|
+
const { ext } = item,
|
|
143
|
+
index = openable.value.indexOf(ext);
|
|
144
|
+
if (event.target.checked) {
|
|
145
|
+
if (index === -1) {
|
|
146
|
+
openable.value.push(ext);
|
|
147
|
+
}
|
|
148
|
+
} else {
|
|
149
|
+
if (index !== -1) {
|
|
150
|
+
openable.value.splice(index, 1);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* 应用按钮点击回调
|
|
157
|
+
* @param {*} event
|
|
158
|
+
*/
|
|
159
|
+
function onApplyBtnClick(event) {
|
|
160
|
+
// 保存配置
|
|
161
|
+
setConfig();
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* 翻译
|
|
166
|
+
* @param {string} key
|
|
167
|
+
*/
|
|
168
|
+
function t(key) {
|
|
169
|
+
return translate(LANG, key);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* 生命周期:挂载后
|
|
174
|
+
*/
|
|
175
|
+
onMounted(() => {
|
|
176
|
+
// 获取配置
|
|
177
|
+
getConfig();
|
|
178
|
+
// 覆盖 a 标签点击回调(使用默认浏览器打开网页)
|
|
179
|
+
const links = document.querySelectorAll('a[href]');
|
|
180
|
+
links.forEach((link) => {
|
|
181
|
+
link.addEventListener('click', (event) => {
|
|
182
|
+
event.preventDefault();
|
|
183
|
+
const url = link.getAttribute('href');
|
|
184
|
+
shell.openExternal(url);
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
// (主进程)检查更新
|
|
188
|
+
RendererEvent.send('check-update', false);
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* 生命周期:卸载前
|
|
193
|
+
*/
|
|
194
|
+
onBeforeUnmount(() => {
|
|
195
|
+
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
return {
|
|
199
|
+
OPENABLE_LIST,
|
|
200
|
+
openable,
|
|
201
|
+
presets,
|
|
202
|
+
selectKey,
|
|
203
|
+
customKey,
|
|
204
|
+
autoCheckUpdate,
|
|
205
|
+
repositoryUrl,
|
|
206
|
+
packageName,
|
|
207
|
+
onOpenableChanged,
|
|
208
|
+
onApplyBtnClick,
|
|
209
|
+
t,
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
},
|
|
213
|
+
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
// 创建实例
|
|
217
|
+
const app = createApp(App);
|
|
218
|
+
// 挂载
|
|
219
|
+
app.mount('#app');
|