@oxiaom/adoremix 1.0.15 → 1.0.17
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/package.json +3 -2
- package/src/cli.js +15 -0
- package/src/config/defaults.js +2 -1
- package/src/config/webui.js +118 -0
- package/src/install.js +17 -0
- package/webui/high/assets/AdminLayout-BeGqmJmh.js +1 -0
- package/webui/high/assets/AdminLayout-Dg0cblhW.css +1 -0
- package/webui/high/assets/Announce-2364DXIw.css +1 -0
- package/webui/high/assets/Announce-BxOu3PDa.js +1 -0
- package/webui/high/assets/Billing-9pkW40cw.css +1 -0
- package/webui/high/assets/Billing-DkKexnBS.js +1 -0
- package/webui/high/assets/Gallery-BUO8AayT.js +1 -0
- package/webui/high/assets/Gallery-CvDy0BG_.css +1 -0
- package/webui/high/assets/Info-BRpM9vrH.css +1 -0
- package/webui/high/assets/Info-jgxOyI48.js +1 -0
- package/webui/high/assets/LanguageSwitcher-wcRpxcC2.css +1 -0
- package/webui/high/assets/LanguageSwitcher.vue_vue_type_style_index_0_lang-7lwszLYh.js +1 -0
- package/webui/high/assets/MainLayout-Cg9w3D6H.js +1 -0
- package/webui/high/assets/MainLayout-CtxzU51m.css +1 -0
- package/webui/high/assets/Upload-BUllX3F9.css +1 -0
- package/webui/high/assets/Upload-BhZe08V8.js +1 -0
- package/webui/high/assets/Users-BajKphJ2.css +1 -0
- package/webui/high/assets/Users-C-uvafHe.js +1 -0
- package/webui/high/assets/_plugin-vue_export-helper-BCo6x5W8.js +1 -0
- package/webui/high/assets/api-C3Fyph-A.js +1 -0
- package/webui/high/assets/index-6wTg37PL.js +1 -0
- package/webui/high/assets/index-BU_CDG5n.js +1 -0
- package/webui/high/assets/index-B_eXN_Ka.css +1 -0
- package/webui/high/assets/index-BeMdB8li.css +1 -0
- package/webui/high/assets/index-BeyjdvRw.css +1 -0
- package/webui/high/assets/index-Bqlp4X7Z.css +1 -0
- package/webui/high/assets/index-BwGOSVLU.css +1 -0
- package/webui/high/assets/index-C0plBGGv.js +1 -0
- package/webui/high/assets/index-CG0Cxnu7.js +1 -0
- package/webui/high/assets/index-CGTbAKLR.css +1 -0
- package/webui/high/assets/index-CTbFCtHG.js +1 -0
- package/webui/high/assets/index-CTtQ-PJh.css +1 -0
- package/webui/high/assets/index-Ci-5piG7.css +1 -0
- package/webui/high/assets/index-DPlPWsqM.js +1 -0
- package/webui/high/assets/index-DbeENJC3.css +1 -0
- package/webui/high/assets/index-DdwHcYZD.js +1 -0
- package/webui/high/assets/index-KMJ_Zaix.js +1 -0
- package/webui/high/assets/index-LP7k5pkh.js +1 -0
- package/webui/high/assets/index-MthettIa.css +1 -0
- package/webui/high/assets/index-_3H0q9yh.css +1 -0
- package/webui/high/assets/index-npdYRXyk.js +18 -0
- package/webui/high/assets/index-ptOpmqku.js +1 -0
- package/webui/high/assets/index-r_gAV5lM.css +1 -0
- package/webui/high/assets/index-u4IuHZw8.js +1 -0
- package/webui/high/assets/test-BQUWlKVf.css +1 -0
- package/webui/high/assets/test-Bt3E-Okh.js +1 -0
- package/webui/high/assets/useDeviceScan-CM8xsf7h.js +1 -0
- package/webui/high/assets/vue-vendor-BaBirIg_.js +38 -0
- package/webui/high/index.html +23 -0
- package/webui/high/js/lame.min.js +308 -0
- package/webui/high/js/worker-realtime.js +81 -0
- package/webui/low/assets/AdminLayout-Dg0cblhW.css +1 -0
- package/webui/low/assets/AdminLayout-Dio6Q0f_.js +1 -0
- package/webui/low/assets/Announce-2364DXIw.css +1 -0
- package/webui/low/assets/Announce-DiogX_-D.js +1 -0
- package/webui/low/assets/Billing-9pkW40cw.css +1 -0
- package/webui/low/assets/Billing-C42F8wIt.js +1 -0
- package/webui/low/assets/Gallery-CvDy0BG_.css +1 -0
- package/webui/low/assets/Gallery-DGUAhDtI.js +1 -0
- package/webui/low/assets/Info-BRpM9vrH.css +1 -0
- package/webui/low/assets/Info-BolVapGU.js +1 -0
- package/webui/low/assets/LanguageSwitcher-wcRpxcC2.css +1 -0
- package/webui/low/assets/LanguageSwitcher.vue_vue_type_style_index_0_lang-BUO99DZc.js +1 -0
- package/webui/low/assets/MainLayout-BmBcNVVu.js +1 -0
- package/webui/low/assets/MainLayout-CtxzU51m.css +1 -0
- package/webui/low/assets/Upload-BUllX3F9.css +1 -0
- package/webui/low/assets/Upload-B_Cx6QMR.js +1 -0
- package/webui/low/assets/Users-BajKphJ2.css +1 -0
- package/webui/low/assets/Users-an7uFkx4.js +1 -0
- package/webui/low/assets/_plugin-vue_export-helper-BCo6x5W8.js +1 -0
- package/webui/low/assets/api-C3Fyph-A.js +1 -0
- package/webui/low/assets/index-2JKvpOh3.js +1 -0
- package/webui/low/assets/index-B_eXN_Ka.css +1 -0
- package/webui/low/assets/index-BeMdB8li.css +1 -0
- package/webui/low/assets/index-BeyjdvRw.css +1 -0
- package/webui/low/assets/index-BoV0S81L.js +1 -0
- package/webui/low/assets/index-Bqlp4X7Z.css +1 -0
- package/webui/low/assets/index-BuEwLgbU.js +18 -0
- package/webui/low/assets/index-BwGOSVLU.css +1 -0
- package/webui/low/assets/index-CGTbAKLR.css +1 -0
- package/webui/low/assets/index-CSahVaR0.js +1 -0
- package/webui/low/assets/index-CTtQ-PJh.css +1 -0
- package/webui/low/assets/index-CgyUlqk5.js +1 -0
- package/webui/low/assets/index-Ci-5piG7.css +1 -0
- package/webui/low/assets/index-Cjg2XVty.js +1 -0
- package/webui/low/assets/index-D-BJ_vlf.js +1 -0
- package/webui/low/assets/index-D0uan-_I.js +1 -0
- package/webui/low/assets/index-DWP2gbuh.js +1 -0
- package/webui/low/assets/index-DbeENJC3.css +1 -0
- package/webui/low/assets/index-DdPisNCE.js +1 -0
- package/webui/low/assets/index-F-Qi4toA.js +1 -0
- package/webui/low/assets/index-FUUYrqc8.js +1 -0
- package/webui/low/assets/index-MthettIa.css +1 -0
- package/webui/low/assets/index-_3H0q9yh.css +1 -0
- package/webui/low/assets/index-r_gAV5lM.css +1 -0
- package/webui/low/assets/test-BQUWlKVf.css +1 -0
- package/webui/low/assets/test-DI2hJTQF.js +1 -0
- package/webui/low/assets/useDeviceScan-CM8xsf7h.js +1 -0
- package/webui/low/assets/vue-vendor-BaBirIg_.js +38 -0
- package/webui/low/index.html +23 -0
- package/webui/low/js/lame.min.js +308 -0
- package/webui/low/js/worker-realtime.js +81 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxiaom/adoremix",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.17",
|
|
4
4
|
"description": "AdoreMix broadcast server - cross-platform installer, runner and service manager",
|
|
5
5
|
"bin": {
|
|
6
6
|
"adoremix": "./bin/adoremix.js"
|
|
@@ -38,7 +38,8 @@
|
|
|
38
38
|
"bin",
|
|
39
39
|
"src",
|
|
40
40
|
"templates",
|
|
41
|
-
"tts"
|
|
41
|
+
"tts",
|
|
42
|
+
"webui"
|
|
42
43
|
],
|
|
43
44
|
"keywords": [
|
|
44
45
|
"adoremix",
|
package/src/cli.js
CHANGED
|
@@ -229,6 +229,21 @@ function buildProgram() {
|
|
|
229
229
|
process.exitCode = code || 0;
|
|
230
230
|
});
|
|
231
231
|
|
|
232
|
+
config
|
|
233
|
+
.command('webui')
|
|
234
|
+
.description('切换 WebUI 版本(low=16k 互联网 / high=44.1k 局域网)')
|
|
235
|
+
.option('--workdir <path>')
|
|
236
|
+
.option('--variant <v>', '直接指定: low | high')
|
|
237
|
+
.option('--no-interactive', '用当前配置部署')
|
|
238
|
+
.action(async (opts) => {
|
|
239
|
+
const webui = require('./config/webui');
|
|
240
|
+
const code = await webui.setupWebui(resolveWorkdir(opts.workdir), {
|
|
241
|
+
variant: opts.variant,
|
|
242
|
+
interactive: opts.interactive !== false
|
|
243
|
+
});
|
|
244
|
+
process.exitCode = code || 0;
|
|
245
|
+
});
|
|
246
|
+
|
|
232
247
|
const runner = require('./runner');
|
|
233
248
|
const nativeRef = () => {
|
|
234
249
|
try { return paths.loadNative(); }
|
package/src/config/defaults.js
CHANGED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const fse = require('fs-extra');
|
|
6
|
+
const prompts = require('prompts');
|
|
7
|
+
const logger = require('../logger');
|
|
8
|
+
const cfg = require('./index');
|
|
9
|
+
|
|
10
|
+
const WEBUI_KEY = 'Settings.webui';
|
|
11
|
+
|
|
12
|
+
const WEBUI_VARIANTS = {
|
|
13
|
+
low: {
|
|
14
|
+
name: '低码率',
|
|
15
|
+
desc: '16k stereo / 32kbps(WiFi 音响、互联网环境)',
|
|
16
|
+
dir: 'low'
|
|
17
|
+
},
|
|
18
|
+
high: {
|
|
19
|
+
name: '高码率',
|
|
20
|
+
desc: '44.1k stereo / 64kbps(局域网、音质要求高)',
|
|
21
|
+
dir: 'high'
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
function getWebuiDir(variant) {
|
|
26
|
+
const v = WEBUI_VARIANTS[variant];
|
|
27
|
+
if (!v) return null;
|
|
28
|
+
// npm 包里 webui/ 在主包根
|
|
29
|
+
return path.join(__dirname, '..', '..', 'webui', v.dir);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function deployWebui(workdir, variant) {
|
|
33
|
+
const srcDir = getWebuiDir(variant);
|
|
34
|
+
if (!srcDir) {
|
|
35
|
+
logger.error(`未知 webui 变体: ${variant}(可选: low / high)`);
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
if (!fs.existsSync(srcDir)) {
|
|
39
|
+
logger.error(`webui 源目录不存在: ${srcDir}`);
|
|
40
|
+
logger.warn('主包可能没包含 webui/(旧版?)');
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
const docroot = path.join(workdir, 'etc', 'docroot');
|
|
44
|
+
// 备份原 docroot(如果存在且不是我们自己部署的)
|
|
45
|
+
// 简单做法:直接覆盖(用户业务资源应该在其他地方,docroot 是纯前端 UI)
|
|
46
|
+
if (fs.existsSync(docroot)) {
|
|
47
|
+
// 保留 docroot/mp3/ 目录(广播系统运行时存 mp3 的地方)
|
|
48
|
+
const mp3Backup = path.join(workdir, 'etc', 'docroot_mp3_backup');
|
|
49
|
+
const mp3Dir = path.join(docroot, 'mp3');
|
|
50
|
+
if (fs.existsSync(mp3Dir)) {
|
|
51
|
+
fse.removeSync(mp3Backup);
|
|
52
|
+
fse.moveSync(mp3Dir, mp3Backup);
|
|
53
|
+
}
|
|
54
|
+
fse.removeSync(docroot);
|
|
55
|
+
} else {
|
|
56
|
+
fse.ensureDirSync(path.join(workdir, 'etc'));
|
|
57
|
+
}
|
|
58
|
+
fse.copySync(srcDir, docroot);
|
|
59
|
+
// 恢复 mp3/
|
|
60
|
+
const mp3Backup = path.join(workdir, 'etc', 'docroot_mp3_backup');
|
|
61
|
+
if (fs.existsSync(mp3Backup)) {
|
|
62
|
+
fse.moveSync(mp3Backup, path.join(docroot, 'mp3'));
|
|
63
|
+
}
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
async function setupWebui(workdir, opts) {
|
|
68
|
+
opts = opts || {};
|
|
69
|
+
const current = cfg.getConfigValue(workdir, WEBUI_KEY) || 'low';
|
|
70
|
+
|
|
71
|
+
let variant;
|
|
72
|
+
if (opts.variant) {
|
|
73
|
+
if (!WEBUI_VARIANTS[opts.variant]) {
|
|
74
|
+
logger.error(`未知变体: ${opts.variant}(可选: ${Object.keys(WEBUI_VARIANTS).join(' / ')})`);
|
|
75
|
+
return 1;
|
|
76
|
+
}
|
|
77
|
+
variant = opts.variant;
|
|
78
|
+
} else if (opts.interactive === false) {
|
|
79
|
+
variant = current;
|
|
80
|
+
} else {
|
|
81
|
+
logger.log('');
|
|
82
|
+
logger.log('=== WebUI 版本选择 ===');
|
|
83
|
+
logger.log('说明:');
|
|
84
|
+
logger.log(' • 低码率 (16k/32kbps) - WiFi 音响、互联网环境,省流量');
|
|
85
|
+
logger.log(' • 高码率 (44.1k/64kbps) - 局域网、音质要求高');
|
|
86
|
+
logger.log(`当前:${current}(${WEBUI_VARIANTS[current].desc})`);
|
|
87
|
+
logger.log('');
|
|
88
|
+
const resp = await prompts({
|
|
89
|
+
type: 'select',
|
|
90
|
+
name: 'variant',
|
|
91
|
+
message: '选择 WebUI 版本',
|
|
92
|
+
choices: Object.keys(WEBUI_VARIANTS).map(k => ({
|
|
93
|
+
title: `${WEBUI_VARIANTS[k].name.padEnd(6)} ${WEBUI_VARIANTS[k].desc}`,
|
|
94
|
+
value: k
|
|
95
|
+
})),
|
|
96
|
+
initial: Object.keys(WEBUI_VARIANTS).indexOf(current)
|
|
97
|
+
});
|
|
98
|
+
if (!resp.variant) return 1;
|
|
99
|
+
variant = resp.variant;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
logger.info(`部署 WebUI: ${variant} (${WEBUI_VARIANTS[variant].desc})`);
|
|
103
|
+
const ok = deployWebui(workdir, variant);
|
|
104
|
+
if (!ok) return 1;
|
|
105
|
+
|
|
106
|
+
cfg.setConfigValue(workdir, WEBUI_KEY, variant);
|
|
107
|
+
logger.ok(`Settings.webui = ${variant}`);
|
|
108
|
+
logger.ok(`已部署到 ${path.join(workdir, 'etc', 'docroot')}`);
|
|
109
|
+
logger.log('改完后记得:adoremix restart');
|
|
110
|
+
return 0;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
module.exports = {
|
|
114
|
+
setupWebui,
|
|
115
|
+
deployWebui,
|
|
116
|
+
WEBUI_VARIANTS,
|
|
117
|
+
WEBUI_KEY
|
|
118
|
+
};
|
package/src/install.js
CHANGED
|
@@ -140,6 +140,22 @@ function deployTtsDispatcher(workdir) {
|
|
|
140
140
|
logger.log(' 测试:adoremix tts test "你好"');
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
+
// 部署 WebUI 到 etc/docroot/(按 Settings.webui 配置选 low/high)
|
|
144
|
+
function deployWebuiIfPresent(workdir) {
|
|
145
|
+
try {
|
|
146
|
+
const webui = require('./config/webui');
|
|
147
|
+
const cfg = require('./config');
|
|
148
|
+
const variant = cfg.getConfigValue(workdir, 'Settings.webui') || 'low';
|
|
149
|
+
if (webui.deployWebui(workdir, variant)) {
|
|
150
|
+
logger.ok(`部署 WebUI: ${variant} → etc/docroot/`);
|
|
151
|
+
logger.log(' 切换:adoremix config webui');
|
|
152
|
+
}
|
|
153
|
+
} catch (e) {
|
|
154
|
+
// 静默失败(webui 目录不存在时不算错误)
|
|
155
|
+
logger.warn(`WebUI 部署跳过:${e.message}`);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
143
159
|
async function runInstall(opts) {
|
|
144
160
|
opts = opts || {};
|
|
145
161
|
const workdir = opts.workdir || paths.defaultWorkdir();
|
|
@@ -177,6 +193,7 @@ async function runInstall(opts) {
|
|
|
177
193
|
return 1;
|
|
178
194
|
}
|
|
179
195
|
deployTtsDispatcher(workdir);
|
|
196
|
+
deployWebuiIfPresent(workdir);
|
|
180
197
|
|
|
181
198
|
const config = require('./config');
|
|
182
199
|
const cfgOk = await config.ensureConfig(workdir, { interactive: opts.interactive !== false, force: opts.force });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as a,o as e,n as l,y as s,M as n,B as i,P as t,u as o,A as r,m as c,Q as d,p as v,J as p,c as u,q as g,r as m,t as x,U as y,R as h,V as f,K as k}from"./vue-vendor-BaBirIg_.js";import{u as w,b,a as C}from"./index-npdYRXyk.js";import{_ as M}from"./LanguageSwitcher.vue_vue_type_style_index_0_lang-7lwszLYh.js";import{_ as L}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./api-C3Fyph-A.js";const _={class:"sidebar-header"},H={class:"logo-area"},T=["innerHTML"],B=["innerHTML"],A={class:"sidebar-nav"},U={class:"nav-group"},j=["innerHTML"],G=["innerHTML"],S=["innerHTML"],I={class:"nav-group"},P=["innerHTML"],R=["innerHTML"],V={class:"nav-group"},q=["innerHTML"],z={class:"sidebar-footer"},J={class:"user-info"},K={class:"user-avatar"},N={class:"user-details"},Q={class:"user-name"},$={class:"user-role"},D=["innerHTML"],E={class:"main-content"},F={class:"topbar"},O={class:"topbar-left"},W={class:"page-title"},X={class:"topbar-right"},Y=["data-theme"],Z={class:"page-content"},aa=L(a({__name:"AdminLayout",setup(a){const L=p(),aa=k(),{t:ea}=w(),la=b(),sa=C(),na=m(!1),ia=u(()=>aa.meta.title||"后台管理"),ta={users:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>',info:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></svg>',upload:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/></svg>',announce:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.73 21a2 2 0 0 1-3.46 0"/></svg>',billing:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="1" y="4" width="22" height="16" rx="2" ry="2"/><line x1="1" y1="10" x2="23" y2="10"/></svg>',gallery:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/></svg>'};function oa(a){return{"collapse-left":'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="15 18 9 12 15 6"/></svg>',"collapse-right":'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="9 18 15 12 9 6"/></svg>',logout:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" y1="12" x2="9" y2="12"/></svg>'}[a]||""}function ra(){na.value=!na.value}async function ca(){await sa.logoutUser();const a=!!window.electronAPI;L.push(a?"/client-login":"/login"),window.location.reload()}return e(()=>{sa.isAdmin||L.replace("/")}),(a,e)=>{var p,u;const m=g("router-link"),k=g("router-view");return x(),l("div",{class:v(["main-layout",`theme-${o(la).theme}`])},[e[5]||(e[5]=s("div",{class:"diablo-bg"},null,-1)),s("aside",{class:v(["sidebar",{collapsed:o(la).sidebarCollapsed}])},[s("div",_,[s("div",H,[e[2]||(e[2]=n('<div class="logo-icon" data-v-3c705172><svg viewBox="0 0 50 50" class="mini-logo" data-v-3c705172><path d="M10 20 L5 8 L12 18" stroke="#0a84ff" stroke-width="2" fill="none" data-v-3c705172></path><path d="M40 20 L45 8 L38 18" stroke="#5856d6" stroke-width="2" fill="none" data-v-3c705172></path><circle cx="25" cy="22" r="12" stroke="#0a84ff" stroke-width="2" fill="none" data-v-3c705172></circle><circle cx="20" cy="20" r="3" fill="#0a84ff" data-v-3c705172></circle><circle cx="30" cy="20" r="3" fill="#5856d6" data-v-3c705172></circle></svg></div>',1)),i(s("span",{class:"app-name"},r(o(ea)("common.appName"))+" - "+r(o(ea)("admin.title")),513),[[t,!o(la).sidebarCollapsed]])]),s("button",{class:"collapse-btn",onClick:e[0]||(e[0]=(...a)=>o(la).toggleSidebar&&o(la).toggleSidebar(...a))},[o(la).sidebarCollapsed?(x(),l("span",{key:1,innerHTML:oa("collapse-right")},null,8,B)):(x(),l("span",{key:0,innerHTML:oa("collapse-left")},null,8,T))])]),s("nav",A,[s("div",U,[i(s("div",{class:"nav-group-title"},r(o(ea)("admin.navGroupUser")),513),[[t,!o(la).sidebarCollapsed]]),c(m,{to:"/admin/users",class:"nav-item","active-class":"active"},{default:d(()=>[s("span",{class:"nav-icon",innerHTML:ta.users},null,8,j),i(s("span",{class:"nav-text"},r(o(ea)("admin.navUsers")),513),[[t,!o(la).sidebarCollapsed]])]),_:1}),c(m,{to:"/admin/info",class:"nav-item","active-class":"active"},{default:d(()=>[s("span",{class:"nav-icon",innerHTML:ta.info},null,8,G),i(s("span",{class:"nav-text"},r(o(ea)("admin.navInfo")),513),[[t,!o(la).sidebarCollapsed]])]),_:1}),c(m,{to:"/admin/upload",class:"nav-item","active-class":"active"},{default:d(()=>[s("span",{class:"nav-icon",innerHTML:ta.upload},null,8,S),i(s("span",{class:"nav-text"},r(o(ea)("admin.navUpload")),513),[[t,!o(la).sidebarCollapsed]])]),_:1})]),s("div",I,[i(s("div",{class:"nav-group-title"},r(o(ea)("admin.navGroupSystem")),513),[[t,!o(la).sidebarCollapsed]]),c(m,{to:"/admin/announce",class:"nav-item","active-class":"active"},{default:d(()=>[s("span",{class:"nav-icon",innerHTML:ta.announce},null,8,P),i(s("span",{class:"nav-text"},r(o(ea)("admin.navAnnounce")),513),[[t,!o(la).sidebarCollapsed]])]),_:1}),c(m,{to:"/admin/billing",class:"nav-item","active-class":"active"},{default:d(()=>[s("span",{class:"nav-icon",innerHTML:ta.billing},null,8,R),i(s("span",{class:"nav-text"},r(o(ea)("admin.navBilling")),513),[[t,!o(la).sidebarCollapsed]])]),_:1})]),s("div",V,[i(s("div",{class:"nav-group-title"},r(o(ea)("admin.navGroupGallery")),513),[[t,!o(la).sidebarCollapsed]]),c(m,{to:"/admin/gallery",class:"nav-item","active-class":"active"},{default:d(()=>[s("span",{class:"nav-icon",innerHTML:ta.gallery},null,8,q),i(s("span",{class:"nav-text"},r(o(ea)("admin.navGallery")),513),[[t,!o(la).sidebarCollapsed]])]),_:1})])]),i(s("div",z,[s("div",J,[s("div",K,r((null==(u=null==(p=o(sa).username)?void 0:p.charAt(0))?void 0:u.toUpperCase())||"A"),1),s("div",N,[s("div",Q,r(o(sa).username),1),s("div",$,r(o(ea)("admin.adminRole")),1)])]),s("button",{class:"logout-btn",onClick:ca},[s("span",{innerHTML:oa("logout")},null,8,D),s("span",null,r(o(ea)("common.logout")),1)])],512),[[t,!o(la).sidebarCollapsed]])],2),s("main",E,[s("header",F,[s("div",O,[s("button",{class:"hamburger-btn",onClick:ra},[...e[3]||(e[3]=[s("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[s("line",{x1:"3",y1:"6",x2:"21",y2:"6"}),s("line",{x1:"3",y1:"12",x2:"21",y2:"12"}),s("line",{x1:"3",y1:"18",x2:"21",y2:"18"})],-1)])]),s("h2",W,r(ia.value),1)]),s("div",X,[c(M),s("div",{class:"theme-toggle","data-theme":o(la).theme,onClick:e[1]||(e[1]=(...a)=>o(la).toggleTheme&&o(la).toggleTheme(...a))},[...e[4]||(e[4]=[n('<div class="theme-toggle-track" data-v-3c705172><svg class="theme-toggle-icon sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-3c705172><circle cx="12" cy="12" r="5" data-v-3c705172></circle><line x1="12" y1="1" x2="12" y2="3" data-v-3c705172></line><line x1="12" y1="21" x2="12" y2="23" data-v-3c705172></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64" data-v-3c705172></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78" data-v-3c705172></line><line x1="1" y1="12" x2="3" y2="12" data-v-3c705172></line><line x1="21" y1="12" x2="23" y2="12" data-v-3c705172></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36" data-v-3c705172></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22" data-v-3c705172></line></svg><svg class="theme-toggle-icon moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-3c705172><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" data-v-3c705172></path></svg><div class="theme-toggle-thumb" data-v-3c705172></div></div>',1)])],8,Y)])]),s("div",Z,[c(k,null,{default:d(({Component:a})=>[c(y,{name:"page-fade",mode:"out-in"},{default:d(()=>[(x(),h(f(a)))]),_:2},1024)]),_:1})])])],2)}}}),[["__scopeId","data-v-3c705172"]]);export{aa as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.main-layout[data-v-3c705172]{display:flex;height:100vh;position:relative;overflow:hidden}.sidebar[data-v-3c705172]{width:260px;min-width:260px;background:var(--glass-bg-sidebar);-webkit-backdrop-filter:blur(var(--glass-blur-heavy));backdrop-filter:blur(var(--glass-blur-heavy));border-right:1px solid var(--glass-border);display:flex;flex-direction:column;transition:width .3s cubic-bezier(.25,.46,.45,.94),min-width .3s cubic-bezier(.25,.46,.45,.94);z-index:100;position:relative;overflow:hidden}.sidebar.collapsed[data-v-3c705172]{width:68px;min-width:68px}.sidebar-header[data-v-3c705172]{padding:20px 16px;border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between}.logo-area[data-v-3c705172]{display:flex;align-items:center;gap:12px;overflow:hidden}.logo-icon[data-v-3c705172]{width:36px;height:36px;flex-shrink:0}.app-name[data-v-3c705172]{font-size:14px;font-weight:600;color:var(--diablo-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapse-btn[data-v-3c705172]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--diablo-text-muted);cursor:pointer;flex-shrink:0}.collapse-btn[data-v-3c705172]:hover{color:var(--diablo-text)}.sidebar-nav[data-v-3c705172]{flex:1;padding:12px 8px;overflow-y:auto}.nav-item[data-v-3c705172]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:var(--diablo-text-muted);text-decoration:none;transition:all .2s;margin-bottom:4px}.nav-item[data-v-3c705172]:hover{background:var(--glass-bg-hover);color:var(--diablo-text)}.nav-item.active[data-v-3c705172]{background:var(--glass-bg-active);color:var(--diablo-primary)}.nav-icon[data-v-3c705172]{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nav-icon[data-v-3c705172] svg{width:100%;height:100%}.nav-text[data-v-3c705172]{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer[data-v-3c705172]{padding:16px;border-top:1px solid var(--glass-border)}.user-info[data-v-3c705172]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.user-avatar[data-v-3c705172]{width:36px;height:36px;border-radius:50%;background:var(--diablo-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.user-details[data-v-3c705172]{overflow:hidden}.user-name[data-v-3c705172]{font-size:14px;color:var(--diablo-text);font-weight:500}.user-role[data-v-3c705172]{font-size:12px;color:var(--diablo-accent)}.logout-btn[data-v-3c705172]{width:100%;padding:8px;display:flex;align-items:center;justify-content:center;gap:8px;background:none;border:1px solid var(--glass-border);border-radius:8px;color:var(--diablo-text-muted);cursor:pointer;font-size:13px;transition:all .2s}.logout-btn[data-v-3c705172]:hover{background:#ff3b301a;border-color:#ff3b304d;color:#ff3b30}.main-content[data-v-3c705172]{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1}.topbar[data-v-3c705172]{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--glass-border);background:var(--glass-bg-card);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));flex-shrink:0}.topbar-left[data-v-3c705172]{display:flex;align-items:center;gap:16px}.page-title[data-v-3c705172]{font-size:18px;font-weight:600;color:var(--diablo-text)}.hamburger-btn[data-v-3c705172]{display:none;width:36px;height:36px;align-items:center;justify-content:center;background:none;border:none;color:var(--diablo-text);cursor:pointer}.topbar-right[data-v-3c705172]{display:flex;align-items:center;gap:16px}.theme-toggle[data-v-3c705172]{cursor:pointer}.theme-toggle-track[data-v-3c705172]{width:52px;height:28px;border-radius:14px;background:var(--diablo-bg-input);position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 6px}.theme-toggle-icon[data-v-3c705172]{width:14px;height:14px;color:var(--diablo-text-muted);z-index:1}.theme-toggle-thumb[data-v-3c705172]{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--diablo-primary);top:3px;left:3px;transition:transform .3s}.theme-toggle[data-theme=light] .theme-toggle-thumb[data-v-3c705172]{transform:translate(24px)}.page-content[data-v-3c705172]{flex:1;overflow-y:auto;padding:0}.page-fade-enter-active[data-v-3c705172],.page-fade-leave-active[data-v-3c705172]{transition:opacity .2s}.page-fade-enter-from[data-v-3c705172],.page-fade-leave-to[data-v-3c705172]{opacity:0}@media (max-width: 768px){.hamburger-btn[data-v-3c705172]{display:flex}.sidebar[data-v-3c705172]{position:fixed;left:-260px;top:0;bottom:0;z-index:200}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.admin-page[data-v-673f4f3b]{padding:20px}.page-header[data-v-673f4f3b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.diablo-textarea[data-v-673f4f3b]{width:100%;padding:10px;background:var(--diablo-bg-input);border:1px solid var(--diablo-border);border-radius:6px;color:var(--diablo-text);font-size:14px;resize:vertical}.gallery-grid[data-v-673f4f3b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.gallery-card[data-v-673f4f3b]{padding:12px;background:var(--glass-bg-card);border:1px solid var(--glass-border);border-radius:8px}.gallery-img[data-v-673f4f3b]{width:100%;max-height:240px;object-fit:cover;border-radius:6px}.gallery-title[data-v-673f4f3b]{padding:8px 0;color:var(--diablo-text-muted);font-size:13px}.info-notice[data-v-673f4f3b]{padding:16px;color:var(--diablo-text)}.empty-text[data-v-673f4f3b]{color:var(--diablo-text-muted);text-align:center;padding:30px}.modal-overlay[data-v-673f4f3b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-673f4f3b]{background:var(--diablo-bg-card);border:1px solid var(--glass-border);border-radius:12px;padding:24px;width:90%;max-width:500px;box-shadow:0 8px 32px #00000080}.modal-content h3[data-v-673f4f3b]{margin-bottom:16px;color:var(--diablo-text)}.modal-content .diablo-input[data-v-673f4f3b]{margin-bottom:10px}.modal-actions[data-v-673f4f3b]{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.toast-msg[data-v-673f4f3b]{position:fixed;top:20px;right:20px;background:var(--diablo-bg-card);color:var(--diablo-text);border:1px solid var(--diablo-primary);border-radius:8px;padding:10px 20px;font-size:13px;z-index:9999;box-shadow:0 4px 16px #0006}.toast-enter-active[data-v-673f4f3b],.toast-leave-active[data-v-673f4f3b]{transition:all .3s ease}.toast-enter-from[data-v-673f4f3b],.toast-leave-to[data-v-673f4f3b]{opacity:0;transform:translateY(-12px)}.diablo-btn[data-v-673f4f3b]{padding:8px 16px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg-card);color:var(--diablo-text);cursor:pointer;font-size:13px}.btn-primary[data-v-673f4f3b]{background:var(--diablo-primary);border-color:var(--diablo-primary);color:#fff}.btn-secondary[data-v-673f4f3b]{background:transparent}.btn-danger[data-v-673f4f3b]{border-color:#ff3b30;color:#ff3b30}.btn-sm[data-v-673f4f3b]{padding:4px 12px;font-size:12px}.diablo-input[data-v-673f4f3b]{width:100%;padding:8px 12px;background:var(--diablo-bg-input);border:1px solid var(--diablo-border);border-radius:6px;color:var(--diablo-text);font-size:13px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as n,o as a,n as e,y as l,A as t,u as o,B as s,C as i,F as c,z as r,E as u,N as d,m as p,Q as m,U as v,r as f,t as g,H as y}from"./vue-vendor-BaBirIg_.js";import{u as b,a as k}from"./index-npdYRXyk.js";import{ac as h}from"./api-C3Fyph-A.js";import{_ as x}from"./_plugin-vue_export-helper-BCo6x5W8.js";const w={class:"admin-page"},C={class:"page-header"},_={class:"page-title"},j={class:"glass-section",style:{padding:"20px","margin-bottom":"20px"}},T=["placeholder"],F={style:{"margin-top":"10px",display:"flex",gap:"10px"}},S={class:"glass-section",style:{padding:"20px"}},A={style:{display:"flex","justify-content":"space-between","align-items":"center","margin-bottom":"16px"}},D={class:"gallery-grid"},I=["src"],P={class:"gallery-title"},U=["onClick"],z={key:1,class:"info-notice"},G={key:0,class:"empty-text"},H={class:"modal-content"},O=["placeholder"],V={style:{margin:"12px 0 8px",color:"var(--diablo-text-muted)","font-size":"13px"}},B={class:"modal-actions"},E={key:0,class:"toast-msg"},L=x(n({__name:"Announce",setup(n){const{t:x}=b(),L=k(),N=f(""),Q=f([]),q=f(!1),J=f("");let K=null;const M=f("");let R=null;function W(n){M.value=n,R&&clearTimeout(R),R=setTimeout(()=>{M.value=""},1500)}function X(n){var a;const e=new FormData;e.append("id",String((null==(a=L.userInfo)?void 0:a.id)||"")),e.append("token",L.token||"");for(const[l,t]of Object.entries(n))e.append(l,String(t));return e}async function Y(){var n;try{const a=await h.post("/user/fnckukei/getswap_reget_info",X({}));a.res&&(null==(n=a.results)?void 0:n.length)>0&&(N.value=a.results[0].title)}catch(a){console.error(a)}}async function Z(){if(N.value.length<5)return W(x("admin.announce.tooShort"));try{W((await h.post("/user/fnckukei/getswap_resave_info",X({title:N.value}))).res?x("admin.announce.saved"):x("admin.announce.saveFailed"))}catch(n){console.error(n)}}async function $(){try{const n=await h.post("/user/fnckukei/getswapinfo",X({}));n.res&&(Q.value=n.data)}catch(n){console.error(n)}}function nn(n){var a;K=(null==(a=n.target.files)?void 0:a[0])||null}async function an(){var n;if(!J.value)return W(x("admin.announce.fillTitle"));if(!K)return W(x("admin.announce.selectFile"));const a=new FormData;a.append("id",String((null==(n=L.userInfo)?void 0:n.id)||"")),a.append("token",L.token||""),a.append("name",K.name),a.append("type","image"),a.append("to","#"),a.append("lunbotext",J.value),a.append("file",K);try{(await fetch("/user/swapupload",{method:"POST",body:a})).ok?(q.value=!1,J.value="",$()):W(x("admin.announce.uploadFailed"))}catch(e){console.error(e)}}return a(()=>{Y(),$()}),(n,a)=>(g(),e("div",w,[l("div",C,[l("h2",_,t(o(x)("admin.announce.title")),1),l("button",{class:"diablo-btn btn-primary",onClick:Y},t(o(x)("common.refresh")),1)]),l("div",j,[l("h4",null,t(o(x)("admin.announce.scrollTitle")),1),s(l("textarea",{"onUpdate:modelValue":a[0]||(a[0]=n=>N.value=n),class:"diablo-textarea",rows:"3",maxlength:"50",placeholder:o(x)("admin.announce.scrollPlaceholder")},null,8,T),[[i,N.value]]),l("div",F,[l("button",{class:"diablo-btn btn-secondary",onClick:Y},t(o(x)("admin.announce.getCurrent")),1),l("button",{class:"diablo-btn btn-primary",onClick:Z},t(o(x)("admin.announce.saveAnnounce")),1)])]),l("div",S,[l("div",A,[l("h4",null,t(o(x)("admin.announce.galleryTitle")),1),l("button",{class:"diablo-btn btn-primary",onClick:a[1]||(a[1]=n=>q.value=!0)},t(o(x)("admin.announce.addGallery")),1)]),l("div",D,[(g(!0),e(c,null,r(Q.value,n=>(g(),e("div",{key:n.id,class:"gallery-card"},["image"===n.type?(g(),e(c,{key:0},[l("img",{src:n.url,class:"gallery-img"},null,8,I),l("div",P,t(n.title),1),l("button",{class:"diablo-btn btn-sm btn-danger",onClick:a=>async function(n){if(confirm(x("admin.announce.deleteConfirm")))try{(await h.post("/user/fnckukei/delete_swapinfo",X({swapid:n}))).res&&$()}catch(a){console.error(a)}}(n.id)},t(o(x)("admin.announce.deleteGallery")),9,U)],64)):(g(),e("div",z,[l("strong",null,t(o(x)("admin.announce.noticeLabel")),1),y(t(n.title),1)]))]))),128))]),0===Q.value.length?(g(),e("div",G,t(o(x)("admin.announce.noData")),1)):u("",!0)]),q.value?(g(),e("div",{key:0,class:"modal-overlay",onClick:a[4]||(a[4]=d(n=>q.value=!1,["self"]))},[l("div",H,[l("h3",null,t(o(x)("admin.announce.addTitle")),1),s(l("input",{"onUpdate:modelValue":a[2]||(a[2]=n=>J.value=n),class:"diablo-input",placeholder:o(x)("admin.announce.titlePlaceholder"),maxlength:"50"},null,8,O),[[i,J.value]]),l("p",V,t(o(x)("admin.announce.fileHint")),1),l("input",{type:"file",accept:"image/jpeg",onChange:nn,class:"diablo-input"},null,32),l("div",B,[l("button",{class:"diablo-btn btn-secondary",onClick:a[3]||(a[3]=n=>q.value=!1)},t(o(x)("common.cancel")),1),l("button",{class:"diablo-btn btn-primary",onClick:an},t(o(x)("common.confirm")),1)])])])):u("",!0),p(v,{name:"toast"},{default:m(()=>[M.value?(g(),e("div",E,t(M.value),1)):u("",!0)]),_:1})]))}}),[["__scopeId","data-v-673f4f3b"]]);export{L as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.admin-page[data-v-f5215b75]{padding:20px}.page-header[data-v-f5215b75]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.header-actions[data-v-f5215b75]{display:flex;gap:10px}.data-table[data-v-f5215b75]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-f5215b75],.data-table td[data-v-f5215b75]{padding:10px 8px;text-align:left;border-bottom:1px solid var(--glass-border);color:var(--diablo-text)}.data-table th[data-v-f5215b75]{font-weight:600;color:var(--diablo-text-muted);font-size:11px;text-transform:uppercase;white-space:nowrap}.data-table tr[data-v-f5215b75]:hover{background:var(--glass-bg-hover)}.sn-cell[data-v-f5215b75]{font-family:monospace;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag[data-v-f5215b75]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:600}.tag-on[data-v-f5215b75]{background:#34c75926;color:#34c759}.tag-off[data-v-f5215b75]{background:#ff3b3026;color:#ff3b30}.renew-btns[data-v-f5215b75]{display:flex;gap:4px;flex-wrap:wrap}.inline-edit[data-v-f5215b75]{display:flex;gap:4px;align-items:center}.input-sm[data-v-f5215b75]{width:70px!important;padding:4px 6px}.input-md[data-v-f5215b75]{width:120px!important;padding:4px 6px}.empty-text[data-v-f5215b75]{color:var(--diablo-text-muted);text-align:center}.field-label[data-v-f5215b75]{display:block;margin:10px 0 4px;color:var(--diablo-text-muted);font-size:13px}.modal-overlay[data-v-f5215b75]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-f5215b75]{background:var(--diablo-bg-card);border:1px solid var(--glass-border);border-radius:12px;padding:24px;width:90%;max-width:500px;box-shadow:0 8px 32px #00000080}.modal-content h3[data-v-f5215b75]{margin-bottom:16px;color:var(--diablo-text)}.modal-content .diablo-input[data-v-f5215b75]{margin-bottom:8px}.modal-actions[data-v-f5215b75]{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.toast-msg[data-v-f5215b75]{position:fixed;top:20px;right:20px;background:var(--diablo-bg-card);color:var(--diablo-text);border:1px solid var(--diablo-primary);border-radius:8px;padding:10px 20px;font-size:13px;z-index:9999;box-shadow:0 4px 16px #0006}.toast-enter-active[data-v-f5215b75],.toast-leave-active[data-v-f5215b75]{transition:all .3s ease}.toast-enter-from[data-v-f5215b75],.toast-leave-to[data-v-f5215b75]{opacity:0;transform:translateY(-12px)}.diablo-btn[data-v-f5215b75]{padding:6px 14px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg-card);color:var(--diablo-text);cursor:pointer;font-size:13px;transition:all .2s;white-space:nowrap}.diablo-btn[data-v-f5215b75]:hover{background:var(--glass-bg-hover)}.btn-primary[data-v-f5215b75]{background:var(--diablo-primary);border-color:var(--diablo-primary);color:#fff}.btn-secondary[data-v-f5215b75]{background:transparent}.btn-success[data-v-f5215b75]{border-color:#34c759;color:#34c759}.btn-danger[data-v-f5215b75]{border-color:#ff3b30;color:#ff3b30}.btn-sm[data-v-f5215b75]{padding:4px 10px;font-size:12px}.btn-xs[data-v-f5215b75]{padding:2px 8px;font-size:11px}.diablo-input[data-v-f5215b75]{width:100%;padding:8px 12px;background:var(--diablo-bg-input);border:1px solid var(--diablo-border);border-radius:6px;color:var(--diablo-text);font-size:13px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as n,o as l,n as a,y as i,A as t,u as e,F as s,z as o,E as d,N as c,B as u,C as b,m as r,Q as m,U as p,r as v,t as g}from"./vue-vendor-BaBirIg_.js";import{u as k,a as y}from"./index-npdYRXyk.js";import{ac as h}from"./api-C3Fyph-A.js";import{_ as f}from"./_plugin-vue_export-helper-BCo6x5W8.js";const C={class:"admin-page"},x={class:"page-header"},_={class:"page-title"},w={class:"header-actions"},S={class:"glass-section"},D={class:"data-table"},U={class:"sn-cell"},F={key:0,class:"tag tag-on"},V={key:1,class:"tag tag-off"},$=["onClick"],j=["onClick"],E={key:0,class:"renew-btns"},T=["onClick"],I=["onClick"],L=["onClick"],B=["onClick"],M=["onClick"],N=["onClick"],P=["onClick"],R={class:"inline-edit"},q=["onUpdate:modelValue"],z=["onClick"],A={class:"inline-edit"},H=["onUpdate:modelValue"],O=["onClick"],Q={key:0},Y={colspan:"10",class:"empty-text"},G={class:"modal-content"},J={class:"field-label"},K=["placeholder"],W={class:"field-label"},X={class:"modal-actions"},Z={key:0,class:"toast-msg"},nn=f(n({__name:"Billing",setup(n){const{t:f}=k(),nn=y(),ln=v([]),an=v(!1),tn=v(""),en=v(""),sn=v("");let on=null;function dn(n){sn.value=n,on&&clearTimeout(on),on=setTimeout(()=>{sn.value=""},1500)}function cn(n){var l;const a=new FormData;a.append("id",String((null==(l=nn.userInfo)?void 0:l.id)||"")),a.append("token",nn.token||"");for(const[i,t]of Object.entries(n))a.append(i,String(t));return a}function un(n){const l=n=>String(n).padStart(2,"0");return`${n.getFullYear()}-${l(n.getMonth()+1)}-${l(n.getDate())} ${l(n.getHours())}:${l(n.getMinutes())}:${l(n.getSeconds())}`}async function bn(){try{const n=await h.post("/user/fnckukei/list_skdevsn",cn({}));n.res&&(ln.value=n.results)}catch(n){console.error(n)}}async function rn(){if(32!==tn.value.length)return dn(f("admin.billing.snLengthError"));if(!en.value)return dn(f("admin.billing.expiryRequired"));try{(await h.post("/user/fnckukei/add_skdevsn",cn({addsn:tn.value,overtime:un(new Date(en.value))}))).res?(an.value=!1,tn.value="",bn()):dn(f("admin.billing.addFailed"))}catch(n){console.error(n)}}async function mn(n,l){const a=new Date;a.setTime(a.getTime()+2592e6*l);try{(await h.post("/user/fnckukei/enable_skdevsn",cn({sn:ln.value[n].sn,overtime:un(a)}))).res&&bn()}catch(i){console.error(i)}}return l(bn),(n,l)=>(g(),a("div",C,[i("div",x,[i("h2",_,t(e(f)("admin.billing.title")),1),i("div",w,[i("button",{class:"diablo-btn btn-primary",onClick:l[0]||(l[0]=n=>an.value=!0)},t(e(f)("admin.billing.addDevice")),1),i("button",{class:"diablo-btn btn-secondary",onClick:bn},t(e(f)("admin.billing.refreshStatus")),1)])]),i("div",S,[i("table",D,[i("thead",null,[i("tr",null,[i("th",null,t(e(f)("admin.billing.thId")),1),i("th",null,t(e(f)("admin.billing.thSn")),1),i("th",null,t(e(f)("admin.billing.thExpiry")),1),i("th",null,t(e(f)("admin.billing.thStatus")),1),i("th",null,t(e(f)("admin.billing.thEnable")),1),i("th",null,t(e(f)("admin.billing.thDisable")),1),i("th",null,t(e(f)("admin.billing.thRenew")),1),i("th",null,t(e(f)("admin.billing.thDelete")),1),i("th",null,t(e(f)("admin.billing.thPay")),1),i("th",null,t(e(f)("admin.billing.thIccid")),1)])]),i("tbody",null,[(g(!0),a(s,null,o(ln.value,(n,l)=>(g(),a("tr",{key:n.id},[i("td",null,t(n.id),1),i("td",U,t(n.sn),1),i("td",null,t(n.overtime),1),i("td",null,[n.ispassed?(g(),a("span",F,t(e(f)("admin.billing.tagNormal")),1)):(g(),a("span",V,t(e(f)("admin.billing.tagExpired")),1))]),i("td",null,[2===n.statu?(g(),a("button",{key:0,class:"diablo-btn btn-sm btn-success",onClick:n=>mn(l,1188)},t(e(f)("admin.billing.btn99y")),9,$)):d("",!0)]),i("td",null,[1===n.statu?(g(),a("button",{key:0,class:"diablo-btn btn-sm btn-danger",onClick:n=>async function(n){try{(await h.post("/user/fnckukei/dis_skdevsn",cn({sn:ln.value[n].sn,overtime:un(new Date("2019-12-12"))}))).res&&bn()}catch(l){console.error(l)}}(l)},t(e(f)("admin.billing.btnDisable")),9,j)):d("",!0)]),i("td",null,[2===n.statu?(g(),a("div",E,[i("button",{class:"diablo-btn btn-xs",onClick:n=>mn(l,1)},"1"+t(e(f)("common.months")),9,T),i("button",{class:"diablo-btn btn-xs",onClick:n=>mn(l,3)},"3"+t(e(f)("common.months")),9,I),i("button",{class:"diablo-btn btn-xs",onClick:n=>mn(l,6)},"6"+t(e(f)("common.months")),9,L),i("button",{class:"diablo-btn btn-xs",onClick:n=>mn(l,12)},"1"+t(e(f)("common.years")),9,B),i("button",{class:"diablo-btn btn-xs",onClick:n=>mn(l,24)},"2"+t(e(f)("common.years")),9,M),i("button",{class:"diablo-btn btn-xs",onClick:n=>mn(l,36)},"3"+t(e(f)("common.years")),9,N)])):d("",!0)]),i("td",null,[i("button",{class:"diablo-btn btn-sm btn-danger",onClick:n=>async function(n){if(confirm(f("admin.billing.deleteConfirm")))try{(await h.post("/user/fnckukei/del_skdevsn",cn({sn:ln.value[n].sn,devid:ln.value[n].id}))).res&&bn()}catch(l){console.error(l)}}(l)},t(e(f)("admin.billing.btnDelete")),9,P)]),i("td",null,[i("div",R,[u(i("input",{type:"number",class:"diablo-input input-sm","onUpdate:modelValue":l=>n.pay=l},null,8,q),[[b,n.pay]]),i("button",{class:"diablo-btn btn-xs",onClick:n=>async function(n){try{dn((await h.post("/user/fnckukei/edit_skdevpay",cn({sn:ln.value[n].sn,pays:ln.value[n].pay}))).res?f("admin.billing.editSuccess"):f("admin.billing.editFailed"))}catch(l){console.error(l)}}(l)},t(e(f)("admin.billing.btnSave")),9,z)])]),i("td",null,[i("div",A,[u(i("input",{class:"diablo-input input-md","onUpdate:modelValue":l=>n.iccid=l},null,8,H),[[b,n.iccid]]),i("button",{class:"diablo-btn btn-xs",onClick:n=>async function(n){try{dn((await h.post("/user/fnckukei/edit_skdeviccid",cn({sn:ln.value[n].sn,iccid:ln.value[n].iccid,devid:ln.value[n].id}))).res?f("admin.billing.editSuccess"):f("admin.billing.editFailed"))}catch(l){console.error(l)}}(l)},t(e(f)("admin.billing.btnSave")),9,O)])])]))),128)),0===ln.value.length?(g(),a("tr",Q,[i("td",Y,t(e(f)("admin.billing.noDevices")),1)])):d("",!0)])])]),an.value?(g(),a("div",{key:0,class:"modal-overlay",onClick:l[4]||(l[4]=c(n=>an.value=!1,["self"]))},[i("div",G,[i("h3",null,t(e(f)("admin.billing.addTitle")),1),i("label",J,t(e(f)("admin.billing.snLabel")),1),u(i("input",{"onUpdate:modelValue":l[1]||(l[1]=n=>tn.value=n),class:"diablo-input",placeholder:e(f)("admin.billing.snPlaceholder")},null,8,K),[[b,tn.value]]),i("label",W,t(e(f)("admin.billing.expiryLabel")),1),u(i("input",{"onUpdate:modelValue":l[2]||(l[2]=n=>en.value=n),class:"diablo-input",type:"date"},null,512),[[b,en.value]]),i("div",X,[i("button",{class:"diablo-btn btn-secondary",onClick:l[3]||(l[3]=n=>an.value=!1)},t(e(f)("common.cancel")),1),i("button",{class:"diablo-btn btn-primary",onClick:rn},t(e(f)("common.confirm")),1)])])])):d("",!0),r(p,{name:"toast"},{default:m(()=>[sn.value?(g(),a("div",Z,t(sn.value),1)):d("",!0)]),_:1})]))}}),[["__scopeId","data-v-f5215b75"]]);export{nn as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as a,o as e,n as l,y as n,A as t,u as i,F as s,z as o,E as r,N as d,B as c,C as u,m as p,Q as m,U as y,r as g,t as v}from"./vue-vendor-BaBirIg_.js";import{u as f,a as b}from"./index-npdYRXyk.js";import{ac as k}from"./api-C3Fyph-A.js";import{_ as h}from"./_plugin-vue_export-helper-BCo6x5W8.js";const x={class:"admin-page"},w={class:"page-header"},C={class:"page-title"},_={class:"gallery-grid"},j=["src"],F={class:"gallery-footer"},T={class:"gallery-title"},S=["onClick"],z={key:1,class:"notice-card"},D={key:0,class:"empty-text"},I={class:"modal-content"},B=["placeholder"],G={style:{margin:"12px 0 8px",color:"var(--diablo-text-muted)","font-size":"13px"}},O={class:"modal-actions"},P={key:0,class:"toast-msg"},U=h(a({__name:"Gallery",setup(a){const{t:h}=f(),U=b(),A=g([]),E=g(!1),H=g("");let L=null;const N=g("");let Q=null;function V(a){N.value=a,Q&&clearTimeout(Q),Q=setTimeout(()=>{N.value=""},1500)}function q(a){var e;const l=new FormData;l.append("id",String((null==(e=U.userInfo)?void 0:e.id)||"")),l.append("token",U.token||"");for(const[n,t]of Object.entries(a))l.append(n,String(t));return l}async function J(){try{const a=await k.post("/user/fnckukei/getswapinfo",q({}));a.res&&(A.value=a.data)}catch(a){console.error(a)}}function K(a){var e;L=(null==(e=a.target.files)?void 0:e[0])||null}async function M(){var a;if(!H.value)return V(h("admin.gallery.fillTitle"));if(!L)return V(h("admin.gallery.selectFile"));const e=new FormData;e.append("id",String((null==(a=U.userInfo)?void 0:a.id)||"")),e.append("token",U.token||""),e.append("name",L.name),e.append("type","image"),e.append("to","#"),e.append("lunbotext",H.value),e.append("file",L);try{(await fetch("/user/swapupload",{method:"POST",body:e})).ok?(E.value=!1,H.value="",J()):V(h("admin.gallery.uploadFailed"))}catch(l){console.error(l)}}return e(J),(a,e)=>(v(),l("div",x,[n("div",w,[n("h2",C,t(i(h)("admin.gallery.title")),1),n("button",{class:"diablo-btn btn-primary",onClick:e[0]||(e[0]=a=>E.value=!0)},t(i(h)("admin.gallery.addGallery")),1)]),n("div",_,[(v(!0),l(s,null,o(A.value,a=>(v(),l("div",{key:a.id,class:"gallery-card glass-section"},["image"===a.type?(v(),l(s,{key:0},[n("img",{src:a.url,class:"gallery-img",loading:"lazy"},null,8,j),n("div",F,[n("span",T,t(a.title),1),n("button",{class:"diablo-btn btn-sm btn-danger",onClick:e=>async function(a){if(confirm(h("admin.gallery.deleteConfirm")))try{(await k.post("/user/fnckukei/delete_swapinfo",q({swapid:a}))).res&&J()}catch(e){console.error(e)}}(a.id)},t(i(h)("admin.gallery.deleteBtn")),9,S)])],64)):(v(),l("div",z,[n("strong",null,t(i(h)("admin.gallery.noticeLabel")),1),n("p",null,t(a.title),1)]))]))),128))]),0===A.value.length?(v(),l("div",D,t(i(h)("admin.gallery.noData")),1)):r("",!0),E.value?(v(),l("div",{key:1,class:"modal-overlay",onClick:e[3]||(e[3]=d(a=>E.value=!1,["self"]))},[n("div",I,[n("h3",null,t(i(h)("admin.gallery.addTitle")),1),c(n("input",{"onUpdate:modelValue":e[1]||(e[1]=a=>H.value=a),class:"diablo-input",placeholder:i(h)("admin.gallery.titlePlaceholder"),maxlength:"50"},null,8,B),[[u,H.value]]),n("p",G,t(i(h)("admin.gallery.fileHint")),1),n("input",{type:"file",accept:"image/jpeg",onChange:K,class:"diablo-input"},null,32),n("div",O,[n("button",{class:"diablo-btn btn-secondary",onClick:e[2]||(e[2]=a=>E.value=!1)},t(i(h)("common.cancel")),1),n("button",{class:"diablo-btn btn-primary",onClick:M},t(i(h)("common.confirm")),1)])])])):r("",!0),p(y,{name:"toast"},{default:m(()=>[N.value?(v(),l("div",P,t(N.value),1)):r("",!0)]),_:1})]))}}),[["__scopeId","data-v-f9626781"]]);export{U as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.admin-page[data-v-f9626781]{padding:20px}.page-header[data-v-f9626781]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.gallery-grid[data-v-f9626781]{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.gallery-card[data-v-f9626781]{border-radius:12px;overflow:hidden}.gallery-img[data-v-f9626781]{width:100%;height:240px;object-fit:cover}.gallery-footer[data-v-f9626781]{padding:12px;display:flex;justify-content:space-between;align-items:center}.gallery-title[data-v-f9626781]{color:var(--diablo-text-muted);font-size:13px}.notice-card[data-v-f9626781]{padding:24px}.notice-card strong[data-v-f9626781]{display:block;margin-bottom:8px;color:var(--diablo-accent)}.notice-card p[data-v-f9626781]{color:var(--diablo-text)}.empty-text[data-v-f9626781]{color:var(--diablo-text-muted);text-align:center;padding:40px}.modal-overlay[data-v-f9626781]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-f9626781]{background:var(--diablo-bg-card);border:1px solid var(--glass-border);border-radius:12px;padding:24px;width:90%;max-width:500px;box-shadow:0 8px 32px #00000080}.modal-content h3[data-v-f9626781]{margin-bottom:16px;color:var(--diablo-text)}.modal-content .diablo-input[data-v-f9626781]{margin-bottom:10px}.modal-actions[data-v-f9626781]{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.toast-msg[data-v-f9626781]{position:fixed;top:20px;right:20px;background:var(--diablo-bg-card);color:var(--diablo-text);border:1px solid var(--diablo-primary);border-radius:8px;padding:10px 20px;font-size:13px;z-index:9999;box-shadow:0 4px 16px #0006}.toast-enter-active[data-v-f9626781],.toast-leave-active[data-v-f9626781]{transition:all .3s ease}.toast-enter-from[data-v-f9626781],.toast-leave-to[data-v-f9626781]{opacity:0;transform:translateY(-12px)}.diablo-btn[data-v-f9626781]{padding:8px 16px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg-card);color:var(--diablo-text);cursor:pointer;font-size:13px}.btn-primary[data-v-f9626781]{background:var(--diablo-primary);border-color:var(--diablo-primary);color:#fff}.btn-secondary[data-v-f9626781]{background:transparent}.btn-danger[data-v-f9626781]{border-color:#ff3b30;color:#ff3b30}.btn-sm[data-v-f9626781]{padding:4px 12px;font-size:12px}.diablo-input[data-v-f9626781]{width:100%;padding:8px 12px;background:var(--diablo-bg-input);border:1px solid var(--diablo-border);border-radius:6px;color:var(--diablo-text);font-size:13px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.admin-page[data-v-be608eec]{padding:20px}.diablo-textarea[data-v-be608eec]{width:100%;padding:12px;background:var(--diablo-bg-input);border:1px solid var(--diablo-border);border-radius:8px;color:var(--diablo-text);font-size:14px;resize:vertical;line-height:1.6}.char-count[data-v-be608eec]{color:var(--diablo-text-muted);font-size:13px}.diablo-btn[data-v-be608eec]{padding:8px 20px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg-card);color:var(--diablo-text);cursor:pointer}.btn-primary[data-v-be608eec]{background:var(--diablo-primary);border-color:var(--diablo-primary);color:#fff}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as e,o as a,n,y as t,A as s,u as o,B as i,C as r,r as c,t as l}from"./vue-vendor-BaBirIg_.js";import{u as d,a as p}from"./index-npdYRXyk.js";import{ac as u}from"./api-C3Fyph-A.js";import{_ as f}from"./_plugin-vue_export-helper-BCo6x5W8.js";const m={class:"admin-page"},v={class:"page-title"},y={class:"glass-section",style:{padding:"20px"}},x=["placeholder"],g={style:{"margin-top":"12px",display:"flex","justify-content":"space-between","align-items":"center"}},h={class:"char-count"},_=f(e({__name:"Info",setup(e){const{t:f}=d(),_=p(),b=c("");function k(e){var a;const n=new FormData;n.append("id",String((null==(a=_.userInfo)?void 0:a.id)||"")),n.append("token",_.token||"");for(const[t,s]of Object.entries(e))n.append(t,String(s));return n}async function j(){if(b.value.length<3e3)return alert(f("admin.info.tooShort"));try{const e=btoa(unescape(encodeURIComponent(b.value))),a=await u.post("/user/fnckukei/save_user_yinsixieyi",k({xieyi:e}));alert(a.res?f("admin.info.saveSuccess"):f("admin.info.saveFailed"))}catch(e){console.error(e)}}return a(async function(){var e;try{const a=await u.post("/user/fnckukei/get_user_yinsixieyi",k({}));a.res&&(null==(e=a.data)?void 0:e.xieyi)&&(b.value=decodeURIComponent(escape(atob(a.data.xieyi))))}catch(a){console.error(a)}}),(e,a)=>(l(),n("div",m,[t("h2",v,s(o(f)("admin.info.title")),1),t("div",y,[i(t("textarea",{"onUpdate:modelValue":a[0]||(a[0]=e=>b.value=e),class:"diablo-textarea",rows:"25",placeholder:o(f)("admin.info.placeholder")},null,8,x),[[r,b.value]]),t("div",g,[t("span",h,s(o(f)("admin.info.charCount",{count:b.value.length})),1),t("button",{class:"diablo-btn btn-primary",onClick:j},s(o(f)("admin.info.saveBtn")),1)])])]))}}),[["__scopeId","data-v-be608eec"]]);export{_ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.language-switcher{display:inline-block}.language-select{min-width:140px;padding:6px 10px;background:var(--diablo-bg-card);border:1px solid var(--diablo-border);border-radius:4px;color:var(--diablo-text);font-size:14px;cursor:pointer;transition:all .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.language-select:hover{background:var(--diablo-bg-input);border-color:var(--diablo-accent)}.language-select:focus{outline:none;border-color:var(--diablo-accent)}.language-select option{background:var(--diablo-bg-input);color:var(--diablo-text);padding:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400;font-size:14px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as e,n as t,B as a,W as n,y as s,F as l,z as o,u,c,t as r,A as m}from"./vue-vendor-BaBirIg_.js";import{u as d,c as g}from"./index-npdYRXyk.js";const i={class:"language-switcher"},v=["value"],p=e({__name:"LanguageSwitcher",setup(e){const{locale:p,t:A}=d(),f=c({get:()=>p.value,set:e=>{var t;p.value=e,localStorage.setItem("language",e),"ar-SA"===(t=e)?(document.documentElement.setAttribute("dir","rtl"),document.documentElement.setAttribute("lang",t)):(document.documentElement.setAttribute("dir","ltr"),document.documentElement.setAttribute("lang",t))}});function b(e){console.log("Language changed to:",e)}return(e,c)=>(r(),t("div",i,[a(s("select",{"onUpdate:modelValue":c[0]||(c[0]=e=>f.value=e),class:"language-select",onChange:b},[(r(!0),t(l,null,o(u(g),e=>(r(),t("option",{key:e.code,value:e.code},m(e.flag)+" "+m(e.name),9,v))),128))],544),[[n,f.value]])]))}});export{p as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as a,o as e,k as t,w as l,O as o,n,y as s,u as i,p as c,E as r,M as d,B as v,P as u,A as h,F as p,z as m,m as g,Q as b,R as f,N as y,S as x,C as w,K as k,J as M,r as C,c as L,q as B,t as H,U as V,V as _}from"./vue-vendor-BaBirIg_.js";import{u as z,a as P,b as T}from"./index-npdYRXyk.js";import{c as U}from"./api-C3Fyph-A.js";import{_ as S}from"./LanguageSwitcher.vue_vue_type_style_index_0_lang-7lwszLYh.js";import{_ as F}from"./_plugin-vue_export-helper-BCo6x5W8.js";const A={class:"sidebar-header"},E={class:"logo-area"},j=["title"],$=["innerHTML"],N=["innerHTML"],O={class:"sidebar-nav"},I=["innerHTML"],D={key:0,class:"nav-badge"},q={class:"sidebar-footer"},J={class:"user-info"},K={class:"user-avatar"},Q={class:"user-details"},R={class:"user-name"},W=["title"],X=["innerHTML"],Y=["title"],G=["innerHTML"],Z={class:"main-content"},aa={class:"topbar"},ea={class:"topbar-left"},ta=["title"],la={class:"page-title"},oa={class:"topbar-right"},na=["title"],sa=["data-theme","title"],ia={class:"page-content"},ca={key:2,class:"mobile-tab-bar"},ra={class:"logout-modal-box"},da={class:"logout-modal-title"},va={class:"logout-modal-body"},ua={class:"logout-modal-actions"},ha={class:"logout-modal-box"},pa={class:"logout-modal-title"},ma={class:"change-pwd-form"},ga=["placeholder"],ba=["placeholder"],fa={class:"logout-modal-actions"},ya=["disabled"],xa=F(a({__name:"MainLayout",setup(a){var F,xa;const{t:wa}=z(),ka="undefined"!=typeof window&&!!(null==(xa=null==(F=window.Capacitor)?void 0:F.isNativePlatform)?void 0:xa.call(F));function Ma(a){const e=a.clientX/window.innerWidth*100,t=a.clientY/window.innerHeight*100;document.documentElement.style.setProperty("--mouse-x",`${e}%`),document.documentElement.style.setProperty("--mouse-y",`${t}%`)}e(()=>{window.addEventListener("mousemove",Ma)}),t(()=>{window.removeEventListener("mousemove",Ma)});const Ca=k(),La=M(),Ba=P(),Ha=T(),Va=C(!1);function _a(){Va.value=!Va.value}function za(){Va.value=!1}l(()=>Ca.path,()=>{za()});const Pa=[{path:"/dashboard",meta:{title:"dashboard",icon:"dashboard"}},{path:"/devices",meta:{title:"devices",icon:"devices"}},{path:"/groups",meta:{title:"groups",icon:"groups",perm:"canUploadFile"}},{path:"/tasks",meta:{title:"tasks",icon:"tasks",perm:"canUploadFile"}},{path:"/media",meta:{title:"media",icon:"media",perm:"canUploadFile"}},{path:"/broadcast",meta:{title:"broadcast",icon:"broadcast"}},{path:"/alarm",meta:{title:"alarm",icon:"alarm",masterOnly:!0}},{path:"/account",meta:{title:"account",icon:"account",perm:"canCreateSub"}},{path:"/logs",meta:{title:"logs",icon:"logs"}}],{canCreateSub:Ta,canManageDevice:Ua,canUploadFile:Sa}=o(Ba),Fa={canCreateSub:Ta,canManageDevice:Ua,canUploadFile:Sa},Aa=L(()=>Pa.filter(a=>{var e,t,l;if((null==(e=a.meta)?void 0:e.adminOnly)&&!Ba.isAdmin)return!1;if((null==(t=a.meta)?void 0:t.masterOnly)&&!Ba.isMaster)return!1;if(!(null==(l=a.meta)?void 0:l.perm))return!0;const o=Fa[a.meta.perm];return!o||o.value})),Ea=L(()=>{const a=ja(Ca.path);return wa(`menu.${a}`)});function ja(a){return a.replace("/","").replace(/-([a-z])/g,(a,e)=>e.toUpperCase())||"dashboard"}function $a(a){const e={dashboard:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="9"/><rect x="14" y="3" width="7" height="5"/><path d="M14 8v5h-7v5"/><path d="M10 22v-4"/><path d="M14 22v-4"/><path d="M6 22v-4"/><path d="M18 22v-4"/></svg>',devices:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="2" width="20" height="8" rx="2"/><rect x="2" y="14" width="20" height="8" rx="2"/><line x1="6" y1="6" x2="6.01"/><line x1="6" y1="18" x2="6.01"/></svg>',groups:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/></svg>',tasks:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/><polyline points="12 18 12.01 18"/></svg>',media:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 18V5l12-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/></svg>',broadcast:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"/><path d="M19.07 4.93L17.66 6.34C18.5 7.18 19 8.26 19 9.5c0 2.48-2.02 4.5-4.5 4.5S10 11.98 10 9.5c0-1.24.5-2.32 1.34-3.16l-1.41 1.41C11.21 9.1 12 9.5 12 9.5c1.93 0 3.5 1.57 3.5 3.5s-1.57 3.5-3.5 3.5c-.5 0-.96-.11-1.38-.3l-1.41 1.41c.98.58 2.12.91 3.29.91 2.48 0 4.5-2.02 4.5-4.5s-2.02-4.5-4.5-4.5c-1.17 0-2.31.33-3.29.91l1.41-1.41c.42.19.88.3 1.38.3 1.93 0 3.5-1.57 3.5-3.5s-1.57-3.5-3.5-3.5c-1.17 0-2.31.33-3.29.91l1.41-1.41c.19.42.3.88.3 1.38zM21 21l-4.35-4.35"/></svg>',alarm:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/></svg>',account:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>',logs:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/></svg>',test:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l-1.4 1.4a1 1 0 0 0-1.4 0L9 10.6V6a1 1 0 0 0-1-1H5a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h6a1 1 0 0 0 1-1v-2a1 1 0 0 0 1-1H9a1 1 0 0 0-1-1V8a1 1 0 0 0-1-1h-.01V8a1 1 0 0 0-1-1zM9 10.6L6.3 7.9a1 1 0 0 0-1.4 0L3.5 9.2a1 1 0 0 0-.3-1.4l2-4.6a1 1 0 0 0 .8-1.2L9.6 4.5a1 1 0 0 0 1.2.8l-2 4.6a1 1 0 0 0 .8 1.2L8.6 13.8a1 1 0 0 0 .3 1.4L6 9.8l-2 4.6a1 1 0 0 0-.8-1.2l4.6-2a1 1 0 0 0 1.2-.8l-2 4.6a1 1 0 0 0 .8-1.2L18.8 12.1a1 1 0 0 0 .3-1.4L17 10.6l1.4-1.4a1 1 0 0 0 0-1.4zM19 16v-2h2v2h-2zM16.5 14a2.5 2.5 0 1 0-2.5-2.5H6a2.5 2.5 0 0 0-2.5 2.5v5a2.5 2.5 0 0 0 2.5 2.5h2v2h-2zM12.5 14v5"/></svg>'};return e[a||"dashboard"]||e.dashboard}function Na(a){return{logout:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" y1="12" x2="9" y2="12"/></svg>',key:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4"/></svg>',theme:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="5"/><path d="M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"/></svg>',notification:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.73 21a2 2 0 0 1-3.46 0"/></svg>',"collapse-left":'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="15 18 9 12 15 6"/></svg>',"collapse-right":'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="9 18 15 12 9 6"/></svg>',settings:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0 1.51-1V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1 2.83 0l.06-.06a1.65 1.65 0 0 0 1.82.33 1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 0-2-2 2 2 0 0 0-2 2v.09a1.65 1.65 0 0 0-1 1.51 1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0 2.83l.06.06a1.65 1.65 0 0 0 .33 1.82V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09a1.65 1.65 0 0 0-1-1.51 1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06.06a1.65 1.65 0 0 0 1.82.33z"/></svg>'}[a]||""}const Oa=C(!1),Ia=C(!1),Da=C(""),qa=C(""),Ja=C(!1);function Ka(){Oa.value=!0}async function Qa(){Oa.value=!1,await Ba.logoutUser();const a=!!window.electronAPI;La.push(a?"/client-login":"/login"),window.location.reload()}async function Ra(){var a;if(!Da.value||Da.value.length<6)alert(wa("account.pwdLengthError"));else if(Da.value===qa.value){Ja.value=!0;try{(await U({id:(null==(a=Ba.userInfo)?void 0:a.id)||0,token:Ba.token||"",newpass:Da.value})).res?(alert(wa("account.changePwdSuccess")),Ia.value=!1,Da.value="",qa.value=""):alert(wa("account.changePwdFailed"))}catch(e){alert(wa("account.changePwdFailed"))}Ja.value=!1}else alert(wa("account.pwdNotMatch"))}return(a,e)=>{var t,l;const o=B("router-link"),k=B("router-view");return H(),n("div",{class:c(["main-layout",[`theme-${i(Ha).theme}`,{"native-app-layout":i(ka)}]])},[e[23]||(e[23]=s("div",{class:"diablo-bg"},null,-1)),i(ka)?r("",!0):(H(),n("div",{key:0,class:c(["mobile-overlay",{active:Va.value}]),onClick:za},null,2)),i(ka)?r("",!0):(H(),n("aside",{key:1,class:c(["sidebar",{collapsed:i(Ha).sidebarCollapsed,"mobile-open":Va.value}])},[s("div",A,[s("div",E,[e[14]||(e[14]=d('<div class="logo-icon" data-v-b8f39308><svg viewBox="0 0 50 50" class="mini-logo" data-v-b8f39308><path d="M10 20 L5 8 L12 18" stroke="#0a84ff" stroke-width="2" fill="none" data-v-b8f39308></path><path d="M40 20 L45 8 L38 18" stroke="#5856d6" stroke-width="2" fill="none" data-v-b8f39308></path><circle cx="25" cy="22" r="12" stroke="#0a84ff" stroke-width="2" fill="none" data-v-b8f39308></circle><circle cx="20" cy="20" r="3" fill="#0a84ff" data-v-b8f39308></circle><circle cx="30" cy="20" r="3" fill="#5856d6" data-v-b8f39308></circle></svg></div>',1)),v(s("span",{class:"app-name"},h(i(wa)("common.appName")),513),[[u,!i(Ha).sidebarCollapsed]])]),s("button",{class:"collapse-btn",onClick:e[0]||(e[0]=(...a)=>i(Ha).toggleSidebar&&i(Ha).toggleSidebar(...a)),title:i(wa)("common.back")},[i(Ha).sidebarCollapsed?(H(),n("span",{key:1,innerHTML:Na("collapse-right")},null,8,N)):(H(),n("span",{key:0,innerHTML:Na("collapse-left")},null,8,$))],8,j)]),s("nav",O,[(H(!0),n(p,null,m(Aa.value,a=>{var e;return H(),f(o,{key:a.path+(null==(e=a.meta)?void 0:e.title),to:a.path,class:"nav-item","active-class":"active"},{default:b(()=>{var e,t;return[s("span",{class:"nav-icon",innerHTML:$a(null==(e=a.meta)?void 0:e.icon)},null,8,I),v(s("span",{class:"nav-text"},h(i(wa)(`menu.${ja(a.path)}`)),513),[[u,!i(Ha).sidebarCollapsed]]),(null==(t=a.meta)?void 0:t.badge)?(H(),n("span",D,h(a.meta.badge),1)):r("",!0)]}),_:2},1032,["to"])}),128))]),v(s("div",q,[s("div",J,[s("div",K,h((null==(l=null==(t=i(Ba).username)?void 0:t.charAt(0))?void 0:l.toUpperCase())||"U"),1),s("div",Q,[s("div",R,h(i(Ba).username),1)])]),s("button",{class:"change-pwd-btn",onClick:e[1]||(e[1]=a=>Ia.value=!0),title:i(wa)("account.changePassword")},[s("span",{innerHTML:Na("key")},null,8,X),s("span",null,h(i(wa)("account.changePassword")),1)],8,W),s("button",{class:"logout-btn",onClick:Ka,title:i(wa)("common.logout")},[s("span",{innerHTML:Na("logout")},null,8,G),s("span",null,h(i(wa)("common.logout")),1)],8,Y)],512),[[u,!i(Ha).sidebarCollapsed]])],2)),s("main",Z,[s("header",aa,[s("div",ea,[s("button",{class:"hamburger-btn",onClick:_a,title:i(wa)("common.menu")},[...e[15]||(e[15]=[s("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[s("line",{x1:"3",y1:"6",x2:"21",y2:"6"}),s("line",{x1:"3",y1:"12",x2:"21",y2:"12"}),s("line",{x1:"3",y1:"18",x2:"21",y2:"18"})],-1)])],8,ta),s("h2",la,h(Ea.value),1)]),s("div",oa,[i(ka)?(H(),n("button",{key:0,class:"native-logout-btn",onClick:Ka,title:i(wa)("common.logout")},[...e[16]||(e[16]=[s("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"18",height:"18"},[s("path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}),s("polyline",{points:"16 17 21 12 16 7"}),s("line",{x1:"21",y1:"12",x2:"9",y2:"12"})],-1)])],8,na)):r("",!0),g(S),s("div",{class:"theme-toggle","data-theme":i(Ha).theme,onClick:e[2]||(e[2]=(...a)=>i(Ha).toggleTheme&&i(Ha).toggleTheme(...a)),title:"diablo"===i(Ha).theme?"切换到白色调":"切换到暗色调"},[...e[17]||(e[17]=[d('<div class="theme-toggle-track" data-v-b8f39308><svg class="theme-toggle-icon sun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-b8f39308><circle cx="12" cy="12" r="5" data-v-b8f39308></circle><line x1="12" y1="1" x2="12" y2="3" data-v-b8f39308></line><line x1="12" y1="21" x2="12" y2="23" data-v-b8f39308></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64" data-v-b8f39308></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78" data-v-b8f39308></line><line x1="1" y1="12" x2="3" y2="12" data-v-b8f39308></line><line x1="21" y1="12" x2="23" y2="12" data-v-b8f39308></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36" data-v-b8f39308></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22" data-v-b8f39308></line></svg><svg class="theme-toggle-icon moon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-b8f39308><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" data-v-b8f39308></path></svg><div class="theme-toggle-thumb" data-v-b8f39308></div></div>',1)])],8,sa)])]),s("div",ia,[g(k,null,{default:b(({Component:a})=>[g(V,{name:"page-fade",mode:"out-in"},{default:b(()=>[(H(),f(_(a)))]),_:2},1024)]),_:1})])]),i(ka)?(H(),n("nav",ca,[s("button",{class:c(["tab-item",{active:"/dashboard"===i(Ca).path}]),onClick:e[3]||(e[3]=a=>i(La).push("/dashboard"))},[e[18]||(e[18]=d('<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-b8f39308><rect x="3" y="3" width="7" height="9" data-v-b8f39308></rect><rect x="14" y="3" width="7" height="5" data-v-b8f39308></rect><path d="M14 8v5h-7v5" data-v-b8f39308></path><path d="M10 22v-4" data-v-b8f39308></path><path d="M14 22v-4" data-v-b8f39308></path><path d="M6 22v-4" data-v-b8f39308></path><path d="M18 22v-4" data-v-b8f39308></path></svg>',1)),s("span",null,h(i(wa)("menu.home")),1)],2),s("button",{class:c(["tab-item",{active:"/devices"===i(Ca).path}]),onClick:e[4]||(e[4]=a=>i(La).push("/devices"))},[e[19]||(e[19]=s("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[s("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2"}),s("line",{x1:"8",y1:"21",x2:"16",y2:"21"}),s("line",{x1:"12",y1:"17",x2:"12",y2:"21"})],-1)),s("span",null,h(i(wa)("menu.devices")),1)],2),s("button",{class:c(["tab-item",{active:"/broadcast"===i(Ca).path}]),onClick:e[5]||(e[5]=a=>i(La).push("/broadcast"))},[e[20]||(e[20]=d('<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-b8f39308><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z" data-v-b8f39308></path><path d="M19 10v2a7 7 0 0 1-14 0v-2" data-v-b8f39308></path><line x1="12" y1="19" x2="12" y2="23" data-v-b8f39308></line><line x1="8" y1="23" x2="16" y2="23" data-v-b8f39308></line></svg>',1)),s("span",null,h(i(wa)("menu.broadcast")),1)],2),s("button",{class:c(["tab-item",{active:"/media"===i(Ca).path}]),onClick:e[6]||(e[6]=a=>i(La).push("/media"))},[e[21]||(e[21]=s("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[s("path",{d:"M9 18V5l12-2v13"}),s("circle",{cx:"6",cy:"18",r:"3"}),s("circle",{cx:"18",cy:"16",r:"3"})],-1)),s("span",null,h(i(wa)("menu.media")),1)],2),s("button",{class:c(["tab-item",{active:"/account"===i(Ca).path}]),onClick:e[7]||(e[7]=a=>i(La).push("/account"))},[e[22]||(e[22]=d('<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-b8f39308><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" data-v-b8f39308></path><circle cx="9" cy="7" r="4" data-v-b8f39308></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87" data-v-b8f39308></path><path d="M16 3.13a4 4 0 0 1 0 7.75" data-v-b8f39308></path></svg>',1)),s("span",null,h(i(wa)("menu.account")),1)],2)])):r("",!0),(H(),f(x,{to:"body"},[Oa.value?(H(),n("div",{key:0,class:"logout-modal-overlay",onClick:e[9]||(e[9]=y(a=>Oa.value=!1,["self"]))},[s("div",ra,[s("div",da,h(i(wa)("common.logoutTitle")),1),s("div",va,h(i(wa)("common.logoutConfirm")),1),s("div",ua,[s("button",{class:"logout-modal-btn logout-modal-cancel",onClick:e[8]||(e[8]=a=>Oa.value=!1)},h(i(wa)("common.cancel")),1),s("button",{class:"logout-modal-btn logout-modal-confirm",onClick:Qa},h(i(wa)("common.logout")),1)])])])):r("",!0)])),(H(),f(x,{to:"body"},[Ia.value?(H(),n("div",{key:0,class:"logout-modal-overlay",onClick:e[13]||(e[13]=y(a=>Ia.value=!1,["self"]))},[s("div",ha,[s("div",pa,h(i(wa)("account.changePassword")),1),s("div",ma,[v(s("input",{"onUpdate:modelValue":e[10]||(e[10]=a=>Da.value=a),type:"password",class:"change-pwd-input",placeholder:i(wa)("account.newPasswordPlaceholder")},null,8,ga),[[w,Da.value]]),v(s("input",{"onUpdate:modelValue":e[11]||(e[11]=a=>qa.value=a),type:"password",class:"change-pwd-input",placeholder:i(wa)("account.confirmPasswordPlaceholder")},null,8,ba),[[w,qa.value]])]),s("div",fa,[s("button",{class:"logout-modal-btn logout-modal-cancel",onClick:e[12]||(e[12]=a=>Ia.value=!1)},h(i(wa)("common.cancel")),1),s("button",{class:"logout-modal-btn logout-modal-confirm",disabled:Ja.value,onClick:Ra},h(Ja.value?i(wa)("common.loading"):i(wa)("common.confirm")),9,ya)])])])):r("",!0)]))],2)}}}),[["__scopeId","data-v-b8f39308"]]);export{xa as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.main-layout[data-v-b8f39308]{display:flex;min-height:100vh;position:relative;overflow:auto}.diablo-bg[data-v-b8f39308]{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 20% 50%,rgba(10,132,255,.04) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(88,86,214,.03) 0%,transparent 50%),radial-gradient(ellipse at 60% 80%,rgba(10,132,255,.03) 0%,transparent 50%),var(--diablo-bg-dark);z-index:-1;transition:background .5s ease}.diablo-bg[data-v-b8f39308]:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(600px circle at var(--mouse-x, 30%) var(--mouse-y, 30%),rgba(10,132,255,.06),transparent 60%),radial-gradient(400px circle at 70% 60%,rgba(88,86,214,.04),transparent 60%);z-index:0;pointer-events:none;transition:background .3s ease}.sidebar[data-v-b8f39308]{width:260px;background:var(--glass-bg-sidebar);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;backdrop-filter:blur(var(--glass-blur-heavy)) saturate(1.6);-webkit-backdrop-filter:blur(var(--glass-blur-heavy)) saturate(1.6);box-shadow:1px 0 0 var(--glass-border),4px 0 20px #00000026;transition:width .3s cubic-bezier(.25,.46,.45,.94)}.sidebar.collapsed[data-v-b8f39308]{width:80px}.sidebar.collapsed .sidebar-header[data-v-b8f39308]{flex-direction:column;gap:8px;padding:12px 8px}.sidebar.collapsed .logo-area[data-v-b8f39308]{justify-content:center;width:100%}.sidebar.collapsed .collapse-btn[data-v-b8f39308]{width:100%;height:32px;border-radius:8px}.sidebar.collapsed .nav-item[data-v-b8f39308]{justify-content:center;padding:10px 0}.sidebar.collapsed .sidebar-footer[data-v-b8f39308]{padding:12px 8px}.sidebar-header[data-v-b8f39308]{padding:16px 16px 12px;border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between}.logo-area[data-v-b8f39308]{display:flex;align-items:center;gap:12px;flex:1}.logo-icon[data-v-b8f39308]{flex-shrink:0}.mini-logo[data-v-b8f39308]{width:36px;height:36px}.app-name[data-v-b8f39308]{font-family:var(--diablo-font-family);font-size:15px;font-weight:600;color:var(--diablo-text);letter-spacing:-.3px}.collapse-btn[data-v-b8f39308]{display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--glass-border);color:var(--diablo-text);width:28px;height:28px;border-radius:10px;cursor:pointer;backdrop-filter:blur(var(--glass-blur-light));-webkit-backdrop-filter:blur(var(--glass-blur-light));transition:all .3s cubic-bezier(.25,.46,.45,.94);flex-shrink:0}.collapse-btn [data-v-b8f39308] svg{width:16px;height:16px}.collapse-btn[data-v-b8f39308]:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:0 0 12px var(--glass-border-glow);transform:scale(1.1)}.sidebar-nav[data-v-b8f39308]{flex:1;padding:8px;overflow-y:auto}.nav-item[data-v-b8f39308]{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:1px 0;color:var(--diablo-text-muted);text-decoration:none;border-radius:8px;border:1px solid transparent;transition:all .2s ease;position:relative}.nav-item[data-v-b8f39308]:hover{background:var(--glass-bg-hover);color:var(--diablo-text)}.nav-item.active[data-v-b8f39308]{background:var(--glass-bg-active);border-color:var(--glass-border-glow);color:var(--diablo-primary);box-shadow:0 0 12px #0a84ff1f}.nav-icon[data-v-b8f39308]{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:inherit}.nav-icon svg[data-v-b8f39308]{width:100%;height:100%;stroke:currentColor}.nav-text[data-v-b8f39308]{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-badge[data-v-b8f39308]{margin-left:auto;background:var(--diablo-primary);color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;animation:glass-pulse 2s ease-in-out infinite}.sidebar-footer[data-v-b8f39308]{padding:12px 16px;border-top:1px solid var(--glass-border)}.user-info[data-v-b8f39308]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.user-avatar[data-v-b8f39308]{width:32px;height:32px;background:linear-gradient(135deg,var(--diablo-primary),var(--diablo-accent));border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:13px}.user-details[data-v-b8f39308]{flex:1;min-width:0}.user-name[data-v-b8f39308]{font-size:13px;font-weight:500;color:var(--diablo-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-level[data-v-b8f39308]{font-size:11px;color:var(--diablo-text-muted);margin-top:1px}.logout-btn[data-v-b8f39308]{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;background:transparent;border:1px solid var(--glass-border);border-radius:8px;color:var(--diablo-text-muted);font-size:13px;cursor:pointer;transition:all .2s ease}.logout-btn svg[data-v-b8f39308]{width:16px;height:16px}.logout-btn[data-v-b8f39308]:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--diablo-primary)}.change-pwd-btn[data-v-b8f39308]{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;background:transparent;border:1px solid var(--glass-border);border-radius:8px;color:var(--diablo-text-muted);font-size:13px;cursor:pointer;transition:all .2s ease;margin-bottom:8px}.change-pwd-btn svg[data-v-b8f39308]{width:16px;height:16px}.change-pwd-btn[data-v-b8f39308]:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--diablo-primary)}.main-content[data-v-b8f39308]{flex:1;margin-left:260px;display:flex;flex-direction:column;min-width:0;overflow:auto;transition:margin-left .3s cubic-bezier(.25,.46,.45,.94)}.sidebar.collapsed+.main-content[data-v-b8f39308]{margin-left:80px}.topbar[data-v-b8f39308]{height:52px;background:var(--glass-bg-topbar);border-bottom:1px solid var(--glass-border);backdrop-filter:blur(var(--glass-blur)) saturate(1.4);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4);box-shadow:0 .5px 0 var(--glass-border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:50}.page-title[data-v-b8f39308]{font-family:var(--diablo-font-family);font-size:17px;font-weight:600;color:var(--diablo-text);letter-spacing:-.3px}.topbar-right[data-v-b8f39308]{display:flex;gap:12px}.topbar-btn[data-v-b8f39308]{position:relative;width:36px;height:36px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.topbar-btn svg[data-v-b8f39308]{width:18px;height:18px}.topbar-btn[data-v-b8f39308]:hover{background:var(--glass-bg-hover);border-color:var(--glass-border)}.topbar-btn .badge[data-v-b8f39308]{position:absolute;top:-2px;right:-2px;background:#ff3b30;color:#fff;font-size:9px;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.theme-toggle[data-v-b8f39308]{position:relative;width:48px;height:26px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:13px;cursor:pointer;transition:all .3s ease;box-shadow:var(--glass-inner-glow);flex-shrink:0}.theme-toggle-track[data-v-b8f39308]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 5px}.theme-toggle-icon[data-v-b8f39308]{width:13px;height:13px;color:var(--diablo-text-muted);transition:all .3s ease;flex-shrink:0;opacity:.3}.theme-toggle[data-theme=diablo] .theme-toggle-icon.sun[data-v-b8f39308]{opacity:.6;color:#ff9500}.theme-toggle[data-theme=light] .theme-toggle-icon.moon[data-v-b8f39308]{opacity:.6;color:#5856d6}.theme-toggle-thumb[data-v-b8f39308]{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;transition:all .3s cubic-bezier(.25,.46,.45,.94);box-shadow:0 1px 3px #00000026;z-index:1}.theme-toggle[data-theme=diablo] .theme-toggle-thumb[data-v-b8f39308]{transform:translate(0);background:#ff9500}.theme-toggle[data-theme=light] .theme-toggle-thumb[data-v-b8f39308]{transform:translate(22px);background:#5856d6}.theme-toggle[data-v-b8f39308]:hover{border-color:var(--glass-border-hover)}.page-content[data-v-b8f39308]{flex:1;padding:20px;overflow:auto;display:flex;flex-direction:column;min-width:0}.native-app-layout[data-v-b8f39308]{height:100vh;min-height:unset;overflow:hidden;flex-direction:column}.native-app-layout .sidebar[data-v-b8f39308],.native-app-layout .mobile-overlay[data-v-b8f39308],.native-app-layout .hamburger-btn[data-v-b8f39308]{display:none!important}.native-app-layout .main-content[data-v-b8f39308]{margin-left:0!important;overflow:hidden;flex:1}.native-app-layout .page-content[data-v-b8f39308]{overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:80px}.native-logout-btn[data-v-b8f39308]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--glass-border);border-radius:8px;color:var(--diablo-text-muted);cursor:pointer;flex-shrink:0;transition:all .2s ease}.native-logout-btn[data-v-b8f39308]:hover{background:var(--glass-bg-hover);color:#e74c3c;border-color:#e74c3c80}.logout-modal-overlay[data-v-b8f39308]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.logout-modal-box[data-v-b8f39308]{background:var(--glass-bg, rgba(20, 20, 35, .95));border:1px solid var(--glass-border);border-radius:16px;padding:24px;min-width:280px;max-width:360px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #0006}.logout-modal-title[data-v-b8f39308]{font-size:16px;font-weight:600;color:var(--diablo-text);margin-bottom:12px}.logout-modal-body[data-v-b8f39308]{font-size:14px;color:var(--diablo-text-muted);line-height:1.5;margin-bottom:20px}.logout-modal-actions[data-v-b8f39308]{display:flex;gap:10px;justify-content:flex-end}.logout-modal-btn[data-v-b8f39308]{padding:8px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.logout-modal-cancel[data-v-b8f39308]{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--diablo-text-muted)}.logout-modal-cancel[data-v-b8f39308]:hover{background:var(--glass-bg-hover);color:var(--diablo-text)}.logout-modal-confirm[data-v-b8f39308]{background:#e74c3c26;border:1px solid rgba(231,76,60,.4);color:#e74c3c}.logout-modal-confirm[data-v-b8f39308]:hover{background:#e74c3c40;border-color:#e74c3c99}.change-pwd-form[data-v-b8f39308]{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.change-pwd-input[data-v-b8f39308]{width:100%;padding:10px 14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;color:var(--diablo-text);font-size:14px;transition:all .2s ease}.change-pwd-input[data-v-b8f39308]:focus{outline:none;border-color:var(--glass-border-glow);box-shadow:0 0 8px var(--glass-border-glow)}.change-pwd-input[data-v-b8f39308]::placeholder{color:var(--diablo-text-muted)}.mobile-tab-bar[data-v-b8f39308]{position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--glass-bg-sidebar);backdrop-filter:blur(var(--glass-blur-heavy)) saturate(1.6);-webkit-backdrop-filter:blur(var(--glass-blur-heavy)) saturate(1.6);border-top:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-around;z-index:200;padding-bottom:env(safe-area-inset-bottom,0px)}.tab-item[data-v-b8f39308]{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;cursor:pointer;color:var(--diablo-text-muted);padding:6px 4px;transition:color .2s ease;-webkit-tap-highlight-color:transparent;flex:1;min-width:0}.tab-item svg[data-v-b8f39308]{width:20px;height:20px;stroke:currentColor}.tab-item span[data-v-b8f39308]{font-size:9px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tab-item.active[data-v-b8f39308]{color:var(--diablo-primary)}.hamburger-btn[data-v-b8f39308]{display:none;width:36px;height:36px;background:transparent;border:1px solid var(--glass-border);color:var(--diablo-text);border-radius:8px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}.hamburger-btn svg[data-v-b8f39308]{width:20px;height:20px}.hamburger-btn[data-v-b8f39308]:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.mobile-overlay[data-v-b8f39308]{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:99;opacity:0;transition:opacity .3s ease;pointer-events:none}.mobile-overlay.active[data-v-b8f39308]{opacity:1;pointer-events:auto}@media (max-width: 768px){.hamburger-btn[data-v-b8f39308]{display:flex}.mobile-overlay[data-v-b8f39308]{display:block}.sidebar[data-v-b8f39308],.sidebar.collapsed[data-v-b8f39308]{transform:translate(-100%);width:260px}.sidebar.mobile-open[data-v-b8f39308]{transform:translate(0);width:260px}.sidebar.mobile-open .nav-text[data-v-b8f39308],.sidebar.mobile-open .app-name[data-v-b8f39308],.sidebar.mobile-open .sidebar-footer[data-v-b8f39308]{display:block}.main-content[data-v-b8f39308]{margin-left:0}.sidebar.collapsed+.main-content[data-v-b8f39308],.sidebar.mobile-open+.mobile-overlay+.main-content[data-v-b8f39308]{margin-left:0}.topbar[data-v-b8f39308]{padding:0 12px;height:48px}.topbar-right[data-v-b8f39308]{gap:6px}.topbar-btn[data-v-b8f39308]{width:32px;height:32px}.page-content[data-v-b8f39308]{padding:12px}.page-title[data-v-b8f39308]{font-size:15px}}@media (max-width: 480px){.page-content[data-v-b8f39308]{padding:8px}.topbar[data-v-b8f39308]{padding:0 10px}.topbar-btn .badge-text[data-v-b8f39308]{display:none}.theme-toggle[data-v-b8f39308]{width:40px;height:22px}.theme-toggle-thumb[data-v-b8f39308]{width:18px;height:18px}.theme-toggle[data-theme=light] .theme-toggle-thumb[data-v-b8f39308]{transform:translate(18px)}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.admin-page[data-v-ac723d56]{padding:20px}.upload-grid[data-v-ac723d56]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:20px}.upload-card[data-v-ac723d56]{padding:20px;text-align:center}.upload-card h4[data-v-ac723d56]{margin-bottom:8px;color:var(--diablo-text)}.hint[data-v-ac723d56]{color:var(--diablo-text-muted);font-size:12px;margin-bottom:16px}.upload-area[data-v-ac723d56]{width:180px;height:180px;border-radius:50%;border:2px dashed var(--glass-border);display:flex;align-items:center;justify-content:center;margin:0 auto;cursor:pointer;overflow:hidden;transition:border-color .2s}.upload-area[data-v-ac723d56]:hover{border-color:var(--diablo-primary)}.logo-area[data-v-ac723d56]{border-radius:8px;width:320px;height:180px}.preview-avatar[data-v-ac723d56]{width:100%;height:100%;object-fit:cover}.preview-logo[data-v-ac723d56]{width:100%;height:100%;object-fit:contain}.upload-placeholder[data-v-ac723d56]{color:var(--diablo-text-muted);font-size:14px}.modal-overlay[data-v-ac723d56]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.crop-modal[data-v-ac723d56]{background:var(--diablo-bg-card);border:1px solid var(--glass-border);border-radius:12px;padding:24px;width:90%;max-width:600px;box-shadow:0 8px 32px #00000080}.crop-modal h3[data-v-ac723d56]{margin-bottom:16px;color:var(--diablo-text)}.crop-container[data-v-ac723d56]{position:relative;display:inline-block;width:100%;-webkit-user-select:none;user-select:none;overflow:hidden;border-radius:8px;background:#000}.crop-image[data-v-ac723d56]{display:block;width:100%}.crop-overlay[data-v-ac723d56]{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;pointer-events:none}.crop-box[data-v-ac723d56]{position:absolute;border:2px solid var(--diablo-primary);cursor:move;box-shadow:0 0 0 9999px #00000080}.crop-handle[data-v-ac723d56]{position:absolute;width:12px;height:12px;background:#fff;border:2px solid var(--diablo-primary);border-radius:2px}.crop-handle-tl[data-v-ac723d56]{top:-6px;left:-6px;cursor:nw-resize}.crop-handle-tr[data-v-ac723d56]{top:-6px;right:-6px;cursor:ne-resize}.crop-handle-bl[data-v-ac723d56]{bottom:-6px;left:-6px;cursor:sw-resize}.crop-handle-br[data-v-ac723d56]{bottom:-6px;right:-6px;cursor:se-resize}.crop-info[data-v-ac723d56]{text-align:center;color:var(--diablo-text-muted);font-size:12px;margin:8px 0}.modal-actions[data-v-ac723d56]{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.toast-msg[data-v-ac723d56]{position:fixed;top:20px;right:20px;background:var(--diablo-bg-card);color:var(--diablo-text);border:1px solid var(--diablo-primary);border-radius:8px;padding:10px 20px;font-size:13px;z-index:9999;box-shadow:0 4px 16px #0006}.toast-enter-active[data-v-ac723d56],.toast-leave-active[data-v-ac723d56]{transition:all .3s ease}.toast-enter-from[data-v-ac723d56],.toast-leave-to[data-v-ac723d56]{opacity:0;transform:translateY(-12px)}.diablo-btn[data-v-ac723d56]{padding:8px 16px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg-card);color:var(--diablo-text);cursor:pointer;font-size:13px}.btn-primary[data-v-ac723d56]{background:var(--diablo-primary);border-color:var(--diablo-primary);color:#fff}.btn-secondary[data-v-ac723d56]{background:transparent}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as a,o as e,n as l,y as t,A as o,u as n,N as u,E as i,m as s,Q as c,U as d,r,t as v}from"./vue-vendor-BaBirIg_.js";import{u as p,a as m}from"./index-npdYRXyk.js";import{_ as h}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./api-C3Fyph-A.js";const f={class:"admin-page"},g={class:"page-title"},w={class:"upload-grid"},x={class:"glass-section upload-card"},y={class:"hint"},k=["src"],M={key:1,class:"upload-placeholder"},b={class:"glass-section upload-card"},_={class:"hint"},E=["src"],L={key:1,class:"upload-placeholder"},$={key:0,class:"modal-overlay"},j={class:"crop-modal"},C=["src"],I={class:"crop-info"},U={class:"modal-actions"},H={key:0,class:"toast-msg"},z=h(a({__name:"Upload",setup(a){const{t:h}=p(),z=m();function A(){const a=localStorage.getItem("serverHost");return a?a.replace(/\/+$/,""):""}function F(a){return`${A()}/${a}?ms=${Date.now()}`}const R=r(""),S=r("");function T(){R.value=F("static/u1.jpg"),S.value=F("static/logo_wx1.png")}const D=r("");let B=null;function O(a){D.value=a,B&&clearTimeout(B),B=setTimeout(()=>{D.value=""},1500)}const W=r(null),X=r(null);function Y(a){var e,l;"avatar"===a?null==(e=W.value)||e.click():null==(l=X.value)||l.click()}const N=r(!1),P=r("avatar"),Q=r(""),q=r(null),G=r(null),J=r(null),K=r(0),V=r(0),Z=r(100),aa=r(100);let ea=0,la=0,ta=0,oa=0,na=!1,ua="move",ia=0,sa=0,ca=0,da=0,ra=0,va=0;function pa(a,e){var l;const t=null==(l=e.target.files)?void 0:l[0];if(t){if(t.size/1024>2048)return O(h("admin.upload.sizeError"));P.value=a,Q.value=URL.createObjectURL(t),N.value=!0,K.value=20,V.value=20,Z.value=60,aa.value=60}}function ma(){const a=q.value;if(a){if(ea=a.naturalWidth,la=a.naturalHeight,ta=a.clientWidth,oa=a.clientHeight,"avatar"===P.value){const a=Math.min(60,60);Z.value=a,aa.value=a}else Z.value=60,aa.value=360/680*60;K.value=20,V.value=10,ha()}}function ha(){const a=J.value;a&&(a.style.left=`${K.value}%`,a.style.top=`${V.value}%`,a.style.width=`${Z.value}%`,a.style.height=`${aa.value}%`)}function fa(a){a.preventDefault(),na=!0;const e="touches"in a?a.touches[0]:a,l=a.target.dataset.dir;ua=l||"move",ia=e.clientX,sa=e.clientY,ca=K.value,da=V.value,ra=Z.value,va=aa.value;const t=a=>{if(!na)return;const e="touches"in a?a.touches[0]:a,l=e.clientX-ia,t=e.clientY-sa,o=l/ta*100,n=t/oa*100,u="avatar"===P.value;if("move"===ua)K.value=Math.max(0,Math.min(100-ra,ca+o)),V.value=Math.max(0,Math.min(100-va,da+n));else{let a=ra,e=va;if("br"===ua)a=Math.max(10,ra+o),e=u?a:Math.max(10,va+n);else if("bl"===ua){const l=-o;a=Math.max(10,ra+l),e=u?a:Math.max(10,va+n),K.value=Math.max(0,ca-l)}else if("tr"===ua){a=Math.max(10,ra+o);const l=-n;e=u?a:Math.max(10,va+l),V.value=Math.max(0,da-l)}else if("tl"===ua){const l=-o,t=-n;a=Math.max(10,ra+l),e=u?a:Math.max(10,va+t),K.value=Math.max(0,ca-l),V.value=Math.max(0,da-t)}K.value+a>100&&(a=100-K.value),V.value+e>100&&(e=100-V.value),Z.value=a,aa.value=e}ha()},o=()=>{na=!1,window.removeEventListener("mousemove",t),window.removeEventListener("mouseup",o),window.removeEventListener("touchmove",t),window.removeEventListener("touchend",o)};window.addEventListener("mousemove",t),window.addEventListener("mouseup",o),window.addEventListener("touchmove",t,{passive:!1}),window.addEventListener("touchend",o)}async function ga(){const a=q.value;if(!a)return;const e=K.value/100*ea,l=V.value/100*la,t=Z.value/100*ea,o=aa.value/100*la,n="avatar"===P.value?260:680,u="avatar"===P.value?260:360,i=document.createElement("canvas");i.width=n,i.height=u;i.getContext("2d").drawImage(a,e,l,t,o,0,0,n,u);const s="avatar"===P.value?"image/jpeg":"image/png",c="avatar"===P.value?.85:void 0;i.toBlob(async a=>a?a.size/1024>500?O(h("admin.upload.sizeError")):(await async function(a){var e;const l="avatar"===P.value,t=l?"/user/wxtouxianguploadfile":"/user/wxlogopnguploadfile",o=l?"static/u1.jpg":"static/u1.png",n=l?"touxiang":"logo",u=new FormData;u.append("id",String((null==(e=z.userInfo)?void 0:e.id)||"")),u.append("token",z.token||""),u.append("name",o),u.append("type",n),u.append("to","#"),u.append("file",a,o);try{(await fetch(`${A()}${t}`,{method:"POST",body:u})).ok?(T(),O(h("admin.upload.uploadSuccess"))):O(h("admin.upload.uploadFailed"))}catch(i){console.error(i),O(h("admin.upload.uploadFailed"))}}(a),void(N.value=!1)):O(h("admin.upload.uploadFailed")),s,c)}return e(T),(a,e)=>(v(),l("div",f,[t("h2",g,o(n(h)("admin.upload.title")),1),t("div",w,[t("div",x,[t("h4",null,o(n(h)("admin.upload.wxAvatar")),1),t("p",y,o(n(h)("admin.upload.wxAvatarHint")),1),t("div",{class:"upload-area",onClick:e[0]||(e[0]=a=>Y("avatar"))},[R.value?(v(),l("img",{key:0,src:R.value,class:"preview-avatar"},null,8,k)):(v(),l("span",M,o(n(h)("admin.upload.clickUpload")),1))])]),t("div",b,[t("h4",null,o(n(h)("admin.upload.logo")),1),t("p",_,o(n(h)("admin.upload.logoHint")),1),t("div",{class:"upload-area logo-area",onClick:e[1]||(e[1]=a=>Y("logo"))},[S.value?(v(),l("img",{key:0,src:S.value,class:"preview-logo"},null,8,E)):(v(),l("span",L,o(n(h)("admin.upload.clickUpload")),1))])])]),t("input",{ref_key:"avatarInput",ref:W,type:"file",accept:"image/jpeg",onChange:e[2]||(e[2]=a=>pa("avatar",a)),hidden:""},null,544),t("input",{ref_key:"logoInput",ref:X,type:"file",accept:"image/png",onChange:e[3]||(e[3]=a=>pa("logo",a)),hidden:""},null,544),N.value?(v(),l("div",$,[t("div",j,[t("h3",null,o("avatar"===P.value?n(h)("admin.upload.wxAvatar"):n(h)("admin.upload.logo")),1),t("div",{class:"crop-container",ref_key:"cropContainerRef",ref:G},[t("img",{ref_key:"cropImg",ref:q,src:Q.value,class:"crop-image",onLoad:ma},null,40,C),e[6]||(e[6]=t("div",{class:"crop-overlay"},null,-1)),t("div",{class:"crop-box",ref_key:"cropBoxRef",ref:J,onMousedown:fa,onTouchstart:u(fa,["prevent"])},[...e[5]||(e[5]=[t("div",{class:"crop-handle crop-handle-tl","data-dir":"tl"},null,-1),t("div",{class:"crop-handle crop-handle-tr","data-dir":"tr"},null,-1),t("div",{class:"crop-handle crop-handle-bl","data-dir":"bl"},null,-1),t("div",{class:"crop-handle crop-handle-br","data-dir":"br"},null,-1)])],544)],512),t("div",I,o(Math.round(Z.value))+" x "+o(Math.round(aa.value)),1),t("div",U,[t("button",{class:"diablo-btn btn-secondary",onClick:e[4]||(e[4]=a=>N.value=!1)},o(n(h)("common.cancel")),1),t("button",{class:"diablo-btn btn-primary",onClick:ga},o(n(h)("common.confirm")),1)])])])):i("",!0),s(d,{name:"toast"},{default:c(()=>[D.value?(v(),l("div",H,o(D.value),1)):i("",!0)]),_:1})]))}}),[["__scopeId","data-v-ac723d56"]]);export{z as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.admin-page[data-v-f004114b]{padding:20px}.page-header[data-v-f004114b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.header-actions[data-v-f004114b]{display:flex;gap:10px}.tool-grid[data-v-f004114b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:20px}.tool-card[data-v-f004114b]{padding:16px}.tool-card h4[data-v-f004114b]{margin-bottom:12px;color:var(--diablo-text)}.tool-card .diablo-input[data-v-f004114b]{margin-bottom:8px}.query-result[data-v-f004114b]{margin-top:8px;padding:8px 12px;background:var(--diablo-bg-input);border-radius:6px;font-family:monospace;color:var(--diablo-accent);word-break:break-all}.data-table[data-v-f004114b]{width:100%;border-collapse:collapse}.data-table th[data-v-f004114b],.data-table td[data-v-f004114b]{padding:10px 12px;text-align:left;border-bottom:1px solid var(--glass-border);color:var(--diablo-text);font-size:13px}.data-table th[data-v-f004114b]{font-weight:600;color:var(--diablo-text-muted);font-size:12px;text-transform:uppercase}.data-table tr[data-v-f004114b]:hover{background:var(--glass-bg-hover)}.sn-cell[data-v-f004114b]{font-family:monospace;font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis}.seed-cell[data-v-f004114b]{font-family:monospace;font-size:12px;word-break:break-all;max-width:300px}.seed-cell .seed-text[data-v-f004114b]{display:inline}.copy-icon-btn[data-v-f004114b]{background:#0a84ff1a;border:1px solid rgba(10,132,255,.25);color:#0a84ff;cursor:pointer;padding:3px;border-radius:4px;vertical-align:middle;margin-left:4px;transition:all .2s}.copy-icon-btn[data-v-f004114b]:hover{background:#0a84ff40;border-color:#0a84ff}.toast-msg[data-v-f004114b]{position:fixed;top:20px;right:20px;background:var(--diablo-bg-card);color:var(--diablo-text);border:1px solid var(--diablo-primary);border-radius:8px;padding:10px 20px;font-size:13px;z-index:9999;box-shadow:0 4px 16px #0006}.toast-enter-active[data-v-f004114b],.toast-leave-active[data-v-f004114b]{transition:all .3s ease}.toast-enter-from[data-v-f004114b],.toast-leave-to[data-v-f004114b]{opacity:0;transform:translateY(-12px)}.tag[data-v-f004114b]{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px;font-weight:600}.tag-gm[data-v-f004114b]{background:#0a84ff26;color:#0a84ff}.tag-user[data-v-f004114b]{background:#ff950026;color:#ff9500}.tag-sub[data-v-f004114b]{background:#5856d626;color:#5856d6}.tag-on[data-v-f004114b]{background:#34c75926;color:#34c759}.tag-off[data-v-f004114b]{background:#ff3b3026;color:#ff3b30}.perm-section[data-v-f004114b]{display:flex;flex-direction:row;gap:16px;flex-wrap:wrap}.perm-row[data-v-f004114b]{display:flex;align-items:center;gap:12px}.input-sm[data-v-f004114b]{width:80px!important;padding:4px 8px}.empty-text[data-v-f004114b]{color:var(--diablo-text-muted);text-align:center}.modal-overlay[data-v-f004114b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-f004114b]{background:var(--diablo-bg-card);border:1px solid var(--glass-border);border-radius:12px;padding:24px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #00000080}.modal-lg[data-v-f004114b]{max-width:1200px}.modal-content h3[data-v-f004114b]{margin-bottom:16px;color:var(--diablo-text)}.modal-content h4[data-v-f004114b]{color:var(--diablo-text)}.modal-content .diablo-input[data-v-f004114b]{margin-bottom:10px}.modal-actions[data-v-f004114b]{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.diablo-btn[data-v-f004114b]{padding:8px 16px;border:1px solid var(--glass-border);border-radius:6px;background:var(--glass-bg-card);color:var(--diablo-text);cursor:pointer;font-size:13px;transition:all .2s}.diablo-btn[data-v-f004114b]:hover{background:var(--glass-bg-hover)}.btn-primary[data-v-f004114b]{background:var(--diablo-primary);border-color:var(--diablo-primary);color:#fff}.btn-primary[data-v-f004114b]:hover{opacity:.9}.btn-secondary[data-v-f004114b]{background:transparent}.btn-success[data-v-f004114b]{border-color:#34c759;color:#34c759}.btn-danger[data-v-f004114b]{border-color:#ff3b30;color:#ff3b30}.btn-sm[data-v-f004114b]{padding:4px 12px;font-size:12px}.diablo-input[data-v-f004114b]{width:100%;padding:8px 12px;background:var(--diablo-bg-input);border:1px solid var(--diablo-border);border-radius:6px;color:var(--diablo-text);font-size:13px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as e,o as a,n as s,y as n,A as l,u as t,B as u,C as d,E as o,W as i,F as r,z as c,N as m,p,m as v,Q as b,U as h,r as k,I as g,t as y}from"./vue-vendor-BaBirIg_.js";import{u as f,a as w}from"./index-npdYRXyk.js";import{ac as C}from"./api-C3Fyph-A.js";import{_}from"./_plugin-vue_export-helper-BCo6x5W8.js";const U={class:"admin-page"},x={class:"page-header"},S={class:"page-title"},V={class:"header-actions"},D={class:"tool-grid"},P={class:"glass-section tool-card"},j=["placeholder"],E=["placeholder"],I={class:"glass-section tool-card"},R=["placeholder"],T={key:0,class:"query-result"},A={class:"glass-section tool-card"},B=["placeholder"],F={class:"glass-section tool-card"},L={value:""},Q=["value"],z=["placeholder"],N=["disabled"],O={class:"glass-section"},q={class:"data-table"},M={key:0,class:"tag tag-gm"},G={key:1,class:"tag tag-user"},H={key:2,class:"tag tag-sub"},K=["onClick"],W={key:0},J={colspan:"6",class:"empty-text"},X={class:"modal-content"},Y=["placeholder"],Z=["placeholder"],$={class:"modal-actions"},ee={class:"modal-content modal-lg"},ae={class:"perm-section"},se={class:"perm-row"},ne={class:"perm-row"},le={class:"perm-row"},te={style:{"margin-top":"20px"}},ue={class:"data-table"},de={class:"seed-cell"},oe={class:"seed-text"},ie=["title","onClick"],re={key:0,class:"tag tag-on"},ce={key:1,class:"tag tag-off"},me={key:2,class:"tag tag-gm"},pe={key:3,class:"tag tag-sub"},ve=["onUpdate:modelValue"],be=["onUpdate:modelValue"],he=["onUpdate:modelValue"],ke=["onClick"],ge={class:"modal-actions",style:{"margin-top":"20px"}},ye={key:2,class:"glass-section",style:{"margin-top":"16px"}},fe={class:"data-table"},we={key:0,class:"toast-msg"},Ce=_(e({__name:"Users",setup(e){const{t:_}=f(),Ce=w(),_e=k([]),Ue=k([]),xe=k(!1),Se=k(!1),Ve=k(null),De=g([!1,!1,!1,!1,!1,!1,!1,!1]),Pe=k(""),je=k(""),Ee=k(""),Ie=k(""),Re=k(""),Te=k(""),Ae=k(""),Be=k([]),Fe=k(""),Le=k("");function Qe(e){var a;const s=new FormData;s.append("id",String((null==(a=Ce.userInfo)?void 0:a.id)||"")),s.append("token",Ce.token||"");for(const[n,l]of Object.entries(e))s.append(n,String(l));return s}async function ze(){try{const e=await C.post("/user/fnkukei/getusersinfo",Qe({}));e.res&&(_e.value=e.data)}catch(e){console.error(e)}}async function Ne(){if(Pe.value.length<6||je.value.length<6)return alert(_("admin.users.addUserLengthError"));try{(await C.post("/user/fnckukei/add_user_admin",Qe({username:Pe.value,passwd:je.value}))).res?(xe.value=!1,Pe.value="",je.value="",ze()):alert(_("admin.users.addFailed"))}catch(e){console.error(e)}}async function Oe(){if(Ee.value.length<5||Ie.value.length<5)return alert(_("admin.users.renameLengthError"));try{const e=await C.post("/user/fnckukei/edit_changeusername",Qe({ddkjss:Ee.value,ddkjss2:Ie.value}));alert(e.res?_("admin.users.renameSuccess"):_("admin.users.renameFailed")),e.res&&(ze(),Ee.value="",Ie.value="")}catch(e){console.error(e)}}async function qe(){if(Re.value.length<5)return alert(_("admin.users.queryLengthError"));try{const e=await C.post("/user/fnckukei/edit_chaxunmima",Qe({ddkjss3:Re.value}));Te.value=e.res?e.backdata:_("admin.users.queryFailed")}catch(e){console.error(e)}}async function Me(){if(32!==Ae.value.length)return alert(_("admin.users.snLengthError"));try{const e=await C.post("/user/fnckukei/search_sn",Qe({ddkjss5:Ae.value}));Be.value=e.res?e.backdata:[]}catch(e){console.error(e)}}async function Ge(){if(Fe.value&&Le.value){if(Le.value.length<6)return alert(_("admin.users.pwdLengthError"));try{(await C.post("/user/fnkukei/newpasswdnick",Qe({id:Fe.value,newpass:Le.value}))).res?(Xe(_("admin.users.changePwdSuccess")),Fe.value="",Le.value=""):alert(_("admin.users.changePwdFailed"))}catch(e){console.error(e)}}}async function He(e,a){try{const s=await C.post("/user/fnkukei/changezimask",Qe({userid:Ve.value.id,zdex:e,zcase:a}));if(s.res||s.res1){const e=s.endmask;for(let a=0;a<8;a++)De[a]="1"===e.charAt(a);ze()}}catch(s){console.error(s)}}function Ke(e){try{return decodeURIComponent(escape(atob(e)))}catch{return e}}const We=k("");let Je=null;function Xe(e){We.value=e,Je&&clearTimeout(Je),Je=setTimeout(()=>{We.value=""},1500)}return a(ze),(e,a)=>{var k;return y(),s("div",U,[n("div",x,[n("h2",S,l(t(_)("admin.users.title")),1),n("div",V,[n("button",{class:"diablo-btn btn-primary",onClick:a[0]||(a[0]=e=>xe.value=!0)},l(t(_)("admin.users.addUser")),1),n("button",{class:"diablo-btn btn-secondary",onClick:ze},l(t(_)("common.refresh")),1)])]),n("div",D,[n("div",P,[n("h4",null,l(t(_)("admin.users.toolRename")),1),u(n("input",{"onUpdate:modelValue":a[1]||(a[1]=e=>Ee.value=e),class:"diablo-input",placeholder:t(_)("admin.users.toolRenameOld")},null,8,j),[[d,Ee.value]]),u(n("input",{"onUpdate:modelValue":a[2]||(a[2]=e=>Ie.value=e),class:"diablo-input",placeholder:t(_)("admin.users.toolRenameNew")},null,8,E),[[d,Ie.value]]),n("button",{class:"diablo-btn btn-sm",onClick:Oe},l(t(_)("admin.users.toolRenameBtn")),1)]),n("div",I,[n("h4",null,l(t(_)("admin.users.toolQueryPwd")),1),u(n("input",{"onUpdate:modelValue":a[3]||(a[3]=e=>Re.value=e),class:"diablo-input",placeholder:t(_)("admin.users.toolQueryAccount")},null,8,R),[[d,Re.value]]),n("button",{class:"diablo-btn btn-sm",onClick:qe},l(t(_)("admin.users.toolQueryBtn")),1),Te.value?(y(),s("div",T,l(Te.value),1)):o("",!0)]),n("div",A,[n("h4",null,l(t(_)("admin.users.toolSearchSn")),1),u(n("input",{"onUpdate:modelValue":a[4]||(a[4]=e=>Ae.value=e),class:"diablo-input",placeholder:t(_)("admin.users.toolSnPlaceholder")},null,8,B),[[d,Ae.value]]),n("button",{class:"diablo-btn btn-sm",onClick:Me},l(t(_)("admin.users.toolQueryBtn")),1)]),n("div",F,[n("h4",null,l(t(_)("admin.users.toolChangePwd")),1),u(n("select",{"onUpdate:modelValue":a[5]||(a[5]=e=>Fe.value=e),class:"diablo-input"},[n("option",L,l(t(_)("admin.users.selectUser")),1),(y(!0),s(r,null,c(_e.value,e=>(y(),s("option",{key:e.id,value:e.id},l(e.user_name)+" (ID: "+l(e.id)+")",9,Q))),128))],512),[[i,Fe.value]]),u(n("input",{"onUpdate:modelValue":a[6]||(a[6]=e=>Le.value=e),class:"diablo-input",type:"password",placeholder:t(_)("admin.users.newPasswordPlaceholder")},null,8,z),[[d,Le.value]]),n("button",{class:"diablo-btn btn-sm btn-primary",onClick:Ge,disabled:!Fe.value||!Le.value},l(t(_)("admin.users.toolChangePwdBtn")),9,N)])]),n("div",O,[n("table",q,[n("thead",null,[n("tr",null,[n("th",null,l(t(_)("admin.users.thId")),1),n("th",null,l(t(_)("admin.users.thUsername")),1),n("th",null,l(t(_)("admin.users.thNickname")),1),n("th",null,l(t(_)("admin.users.thUserType")),1),n("th",null,l(t(_)("admin.users.thLevel")),1),n("th",null,l(t(_)("admin.users.thActions")),1)])]),n("tbody",null,[(y(!0),s(r,null,c(_e.value,e=>(y(),s("tr",{key:e.id},[n("td",null,l(e.id),1),n("td",null,l(e.user_name),1),n("td",null,l(e.nickname),1),n("td",null,l(e.user_type),1),n("td",null,[-99==e.master_id?(y(),s("span",M,l(t(_)("admin.users.tagGm")),1)):-1==e.master_id?(y(),s("span",G,l(t(_)("admin.users.tagUser")),1)):e.master_id>0?(y(),s("span",H,l(t(_)("admin.users.tagSub")),1)):o("",!0)]),n("td",null,[n("button",{class:"diablo-btn btn-sm",onClick:a=>async function(e){Ve.value=e,Se.value=!0;const a=e.mask||"00000000";for(let n=0;n<8;n++)De[n]="1"===a.charAt(n);try{const a=await C.post("/user/fnkukei/getusersdevice",Qe({userid:e.id}));a.res&&(Ue.value=(a.data||[]).map(e=>({...e,device_name:e.device_name?Ke(e.device_name):""})))}catch(s){console.error(s)}}(e)},l(t(_)("admin.users.btnManage")),9,K)])]))),128)),0===_e.value.length?(y(),s("tr",W,[n("td",J,l(t(_)("admin.users.noData")),1)])):o("",!0)])])]),xe.value?(y(),s("div",{key:0,class:"modal-overlay",onClick:a[10]||(a[10]=m(e=>xe.value=!1,["self"]))},[n("div",X,[n("h3",null,l(t(_)("admin.users.addUserTitle")),1),u(n("input",{"onUpdate:modelValue":a[7]||(a[7]=e=>Pe.value=e),class:"diablo-input",placeholder:t(_)("admin.users.usernamePlaceholder")},null,8,Y),[[d,Pe.value]]),u(n("input",{"onUpdate:modelValue":a[8]||(a[8]=e=>je.value=e),class:"diablo-input",type:"password",placeholder:t(_)("admin.users.passwordPlaceholder")},null,8,Z),[[d,je.value]]),n("div",$,[n("button",{class:"diablo-btn btn-secondary",onClick:a[9]||(a[9]=e=>xe.value=!1)},l(t(_)("common.cancel")),1),n("button",{class:"diablo-btn btn-primary",onClick:Ne},l(t(_)("common.confirm")),1)])])])):o("",!0),Se.value?(y(),s("div",{key:1,class:"modal-overlay",onClick:a[18]||(a[18]=m(e=>Se.value=!1,["self"]))},[n("div",ee,[n("h3",null,l(t(_)("admin.users.detailTitle",{name:null==(k=Ve.value)?void 0:k.user_name})),1),n("div",ae,[n("div",se,[n("span",{class:p(["tag",De[0]?"tag-on":"tag-off"])},l(De[0]?t(_)("admin.users.permCanCreateSub"):t(_)("admin.users.permCannotCreateSub")),3),De[0]?(y(),s("button",{key:1,class:"diablo-btn btn-sm btn-danger",onClick:a[12]||(a[12]=e=>He(0,!1))},l(t(_)("admin.users.btnDisable")),1)):(y(),s("button",{key:0,class:"diablo-btn btn-sm btn-success",onClick:a[11]||(a[11]=e=>He(0,!0))},l(t(_)("admin.users.btnEnable")),1))]),n("div",ne,[n("span",{class:p(["tag",De[1]?"tag-on":"tag-off"])},l(De[1]?t(_)("admin.users.permCanAddDevice"):t(_)("admin.users.permCannotAddDevice")),3),De[1]?(y(),s("button",{key:1,class:"diablo-btn btn-sm btn-danger",onClick:a[14]||(a[14]=e=>He(1,!1))},l(t(_)("admin.users.btnDisable")),1)):(y(),s("button",{key:0,class:"diablo-btn btn-sm btn-success",onClick:a[13]||(a[13]=e=>He(1,!0))},l(t(_)("admin.users.btnEnable")),1))]),n("div",le,[n("span",{class:p(["tag",De[2]?"tag-on":"tag-off"])},l(De[2]?t(_)("admin.users.permCanUpload"):t(_)("admin.users.permCannotUpload")),3),De[2]?(y(),s("button",{key:1,class:"diablo-btn btn-sm btn-danger",onClick:a[16]||(a[16]=e=>He(2,!1))},l(t(_)("admin.users.btnDisable")),1)):(y(),s("button",{key:0,class:"diablo-btn btn-sm btn-success",onClick:a[15]||(a[15]=e=>He(2,!0))},l(t(_)("admin.users.btnEnable")),1))])]),n("h4",te,l(t(_)("admin.users.registeredDevices")),1),n("table",ue,[n("thead",null,[n("tr",null,[a[19]||(a[19]=n("th",null,"ID",-1)),n("th",null,l(t(_)("admin.users.devName")),1),n("th",null,l(t(_)("admin.users.devSeed")),1),n("th",null,l(t(_)("admin.users.devStatus")),1),n("th",null,l(t(_)("admin.users.devType")),1),n("th",null,l(t(_)("admin.users.devIswarning")),1),n("th",null,l(t(_)("admin.users.devKind")),1),n("th",null,l(t(_)("admin.users.devSave")),1)])]),n("tbody",null,[(y(!0),s(r,null,c(Ue.value,(e,o)=>(y(),s("tr",{key:e.id},[n("td",null,l(e.id),1),n("td",null,l(e.device_name),1),n("td",de,[n("span",oe,l(e.device_seed),1),n("button",{class:"copy-icon-btn",title:t(_)("common.copy"),onClick:a=>{return s=e.device_seed,void navigator.clipboard.writeText(s).then(()=>Xe(_("admin.copied"))).catch(()=>{const e=document.createElement("textarea");e.value=s,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e),Xe(_("admin.copied"))});var s}},[...a[20]||(a[20]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[n("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),n("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])],8,ie)]),n("td",null,[1===e.status?(y(),s("span",re,l(t(_)("admin.users.statusOnline")),1)):-1===e.status?(y(),s("span",ce,l(t(_)("admin.users.statusOffline")),1)):2===e.status?(y(),s("span",me,l(t(_)("admin.users.statusPlaying")),1)):(y(),s("span",pe,l(t(_)("admin.users.statusDisabled")),1))]),n("td",null,[u(n("input",{type:"number",class:"diablo-input input-sm","onUpdate:modelValue":a=>e.device_type=a},null,8,ve),[[d,e.device_type,void 0,{number:!0}]])]),n("td",null,[u(n("input",{type:"number",class:"diablo-input input-sm","onUpdate:modelValue":a=>e.iswarning=a},null,8,be),[[d,e.iswarning,void 0,{number:!0}]])]),n("td",null,[u(n("input",{type:"number",class:"diablo-input input-sm","onUpdate:modelValue":a=>e.kind=a},null,8,he),[[d,e.kind,void 0,{number:!0}]])]),n("td",null,[n("button",{class:"diablo-btn btn-sm",onClick:a=>async function(e){try{(await C.post("/user/fnkukei/changeuserdevicemode",Qe({userid:Ve.value.id,deviceid:e.id,kind:e.kind,iswarning:e.iswarning,device_type:e.device_type}))).res&&Xe(_("admin.users.saveSuccess"))}catch(a){console.error(a)}}(e)},l(t(_)("admin.users.devSave")),9,ke)])]))),128))])]),n("div",ge,[n("button",{class:"diablo-btn btn-secondary",onClick:a[17]||(a[17]=e=>Se.value=!1)},l(t(_)("common.close")),1)])])])):o("",!0),Be.value.length>0?(y(),s("div",ye,[n("h4",null,l(t(_)("admin.users.searchResultTitle")),1),n("table",fe,[n("thead",null,[n("tr",null,[a[21]||(a[21]=n("th",null,"ID",-1)),n("th",null,l(t(_)("admin.users.searchResultUser")),1),n("th",null,l(t(_)("admin.users.searchResultPwd")),1)])]),n("tbody",null,[(y(!0),s(r,null,c(Be.value,e=>(y(),s("tr",{key:e.id},[n("td",null,l(e.id),1),n("td",null,l(e.user_name),1),n("td",null,l(e.user_pass),1)]))),128))])])])):o("",!0),v(h,{name:"toast"},{default:b(()=>[We.value?(y(),s("div",we,l(We.value),1)):o("",!0)]),_:1})])}}}),[["__scopeId","data-v-f004114b"]]);export{Ce as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const o=(o,t)=>{const c=o.__vccOpts||o;for(const[s,n]of t)c[s]=n;return c};export{o as _};
|