@oxiaom/adoremix 1.0.16 → 1.0.18
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 +1 -1
- package/src/config/webui.js +38 -18
- 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
package/src/config/webui.js
CHANGED
|
@@ -41,26 +41,46 @@ function deployWebui(workdir, variant) {
|
|
|
41
41
|
return false;
|
|
42
42
|
}
|
|
43
43
|
const docroot = path.join(workdir, 'etc', 'docroot');
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
44
|
+
fse.ensureDirSync(docroot);
|
|
45
|
+
|
|
46
|
+
// 只替换 UI 相关文件(index.html + assets/ + js/)
|
|
47
|
+
// 保留其他用户数据:mp3/(上传的音频)、bangzhu/、luyin2/、static/、xcx/ 等
|
|
48
|
+
// 这样切换 UI 不会丢失任何业务数据
|
|
49
|
+
const uiFiles = ['index.html'];
|
|
50
|
+
const uiDirs = ['assets', 'js'];
|
|
51
|
+
|
|
52
|
+
// 先删旧 UI 文件(如果存在)
|
|
53
|
+
for (const f of uiFiles) {
|
|
54
|
+
const p = path.join(docroot, f);
|
|
55
|
+
if (fs.existsSync(p)) fs.unlinkSync(p);
|
|
56
|
+
}
|
|
57
|
+
for (const d of uiDirs) {
|
|
58
|
+
const p = path.join(docroot, d);
|
|
59
|
+
if (fs.existsSync(p)) fse.removeSync(p);
|
|
57
60
|
}
|
|
58
|
-
|
|
59
|
-
//
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
fse.
|
|
61
|
+
|
|
62
|
+
// 复制新 UI 文件
|
|
63
|
+
for (const f of uiFiles) {
|
|
64
|
+
const src = path.join(srcDir, f);
|
|
65
|
+
if (fs.existsSync(src)) fse.copySync(src, path.join(docroot, f));
|
|
63
66
|
}
|
|
67
|
+
for (const d of uiDirs) {
|
|
68
|
+
const src = path.join(srcDir, d);
|
|
69
|
+
if (fs.existsSync(src)) fse.copySync(src, path.join(docroot, d));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// 复制 webui 包里其他顶层文件(如 favicon.ico 等,但不碰用户已有的非 UI 文件)
|
|
73
|
+
// 注意:只复制 webui 包里"独有"的文件,不覆盖 docroot 已有的同名文件
|
|
74
|
+
const webuiEntries = fs.readdirSync(srcDir);
|
|
75
|
+
for (const entry of webuiEntries) {
|
|
76
|
+
if (uiFiles.includes(entry) || uiDirs.includes(entry)) continue;
|
|
77
|
+
const dst = path.join(docroot, entry);
|
|
78
|
+
if (!fs.existsSync(dst)) {
|
|
79
|
+
// 只在 docroot 不存在时复制(避免覆盖用户数据)
|
|
80
|
+
fse.copySync(path.join(srcDir, entry), dst);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
64
84
|
return true;
|
|
65
85
|
}
|
|
66
86
|
|
|
@@ -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 _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,t){return function(){return e.apply(t,arguments)}}const{toString:t}=Object.prototype,{getPrototypeOf:n}=Object,{iterator:r,toStringTag:o}=Symbol,s=(e=>n=>{const r=t.call(n);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),a=e=>(e=e.toLowerCase(),t=>s(t)===e),i=e=>t=>typeof t===e,{isArray:c}=Array,u=i("undefined");function l(e){return null!==e&&!u(e)&&null!==e.constructor&&!u(e.constructor)&&f(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const d=a("ArrayBuffer");const p=i("string"),f=i("function"),h=i("number"),m=e=>null!==e&&"object"==typeof e,g=e=>{if("object"!==s(e))return!1;const t=n(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||o in e||r in e)},w=a("Date"),b=a("File"),y=a("Blob"),S=a("FileList");const E="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},R=void 0!==E.FormData?E.FormData:void 0,O=a("URLSearchParams"),[v,k,T,F]=["ReadableStream","Request","Response","Headers"].map(a);function D(e,t,{allOwnKeys:n=!1}={}){if(null==e)return;let r,o;if("object"!=typeof e&&(e=[e]),c(e))for(r=0,o=e.length;r<o;r++)t.call(null,e[r],r,e);else{if(l(e))return;const o=n?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length;let a;for(r=0;r<s;r++)a=o[r],t.call(null,e[a],a,e)}}function A(e,t){if(l(e))return null;t=t.toLowerCase();const n=Object.keys(e);let r,o=n.length;for(;o-- >0;)if(r=n[o],t===r.toLowerCase())return r;return null}const _="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,C=e=>!u(e)&&e!==_;const j=(e=>t=>e&&t instanceof e)("undefined"!=typeof Uint8Array&&n(Uint8Array)),x=a("HTMLFormElement"),N=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),P=a("RegExp"),U=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};D(n,(n,o)=>{let s;!1!==(s=t(n,o,e))&&(r[o]=s||n)}),Object.defineProperties(e,r)};const L=a("AsyncFunction"),B=(I="function"==typeof setImmediate,z=f(_.postMessage),I?setImmediate:z?(q=`axios@${Math.random()}`,M=[],_.addEventListener("message",({source:e,data:t})=>{e===_&&t===q&&M.length&&M.shift()()},!1),e=>{M.push(e),_.postMessage(q,"*")}):e=>setTimeout(e));var I,z,q,M;const H="undefined"!=typeof queueMicrotask?queueMicrotask.bind(_):"undefined"!=typeof process&&process.nextTick||B,J={isArray:c,isArrayBuffer:d,isBuffer:l,isFormData:e=>{let t;return e&&(R&&e instanceof R||f(e.append)&&("formdata"===(t=s(e))||"object"===t&&f(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&d(e.buffer),t},isString:p,isNumber:h,isBoolean:e=>!0===e||!1===e,isObject:m,isPlainObject:g,isEmptyObject:e=>{if(!m(e)||l(e))return!1;try{return 0===Object.keys(e).length&&Object.getPrototypeOf(e)===Object.prototype}catch(t){return!1}},isReadableStream:v,isRequest:k,isResponse:T,isHeaders:F,isUndefined:u,isDate:w,isFile:b,isReactNativeBlob:e=>!(!e||void 0===e.uri),isReactNative:e=>e&&void 0!==e.getParts,isBlob:y,isRegExp:P,isFunction:f,isStream:e=>m(e)&&f(e.pipe),isURLSearchParams:O,isTypedArray:j,isFileList:S,forEach:D,merge:function e(){const{caseless:t,skipUndefined:n}=C(this)&&this||{},r={},o=(o,s)=>{if("__proto__"===s||"constructor"===s||"prototype"===s)return;const a=t&&A(r,s)||s;g(r[a])&&g(o)?r[a]=e(r[a],o):g(o)?r[a]=e({},o):c(o)?r[a]=o.slice():n&&u(o)||(r[a]=o)};for(let s=0,a=arguments.length;s<a;s++)arguments[s]&&D(arguments[s],o);return r},extend:(t,n,r,{allOwnKeys:o}={})=>(D(n,(n,o)=>{r&&f(n)?Object.defineProperty(t,o,{value:e(n,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,o,{value:n,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:o}),t),trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,r,o)=>{let s,a,i;const c={};if(t=t||{},null==e)return t;do{for(s=Object.getOwnPropertyNames(e),a=s.length;a-- >0;)i=s[a],o&&!o(i,e,t)||c[i]||(t[i]=e[i],c[i]=!0);e=!1!==r&&n(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:s,kindOfTest:a,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(c(e))return e;let t=e.length;if(!h(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[r]).call(e);let o;for(;(o=n.next())&&!o.done;){const n=o.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:x,hasOwnProperty:N,hasOwnProp:N,reduceDescriptors:U,freezeMethods:e=>{U(e,(t,n)=>{if(f(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];f(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))})},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach(e=>{n[e]=!0})};return c(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n}),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:A,global:_,isContextDefined:C,isSpecCompliantForm:function(e){return!!(e&&f(e.append)&&"FormData"===e[o]&&e[r])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(m(e)){if(t.indexOf(e)>=0)return;if(l(e))return e;if(!("toJSON"in e)){t[r]=e;const o=c(e)?[]:{};return D(e,(e,t)=>{const s=n(e,r+1);!u(s)&&(o[t]=s)}),t[r]=void 0,o}}return e};return n(e,0)},isAsyncFn:L,isThenable:e=>e&&(m(e)||f(e))&&f(e.then)&&f(e.catch),setImmediate:B,asap:H,isIterable:e=>null!=e&&f(e[r])};let $=class e extends Error{static from(t,n,r,o,s,a){const i=new e(t.message,n||t.code,r,o,s);return i.cause=t,i.name=t.name,null!=t.status&&null==i.status&&(i.status=t.status),a&&Object.assign(i,a),i}constructor(e,t,n,r,o){super(e),Object.defineProperty(this,"message",{value:e,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:J.toJSONObject(this.config),code:this.code,status:this.status}}};$.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE",$.ERR_BAD_OPTION="ERR_BAD_OPTION",$.ECONNABORTED="ECONNABORTED",$.ETIMEDOUT="ETIMEDOUT",$.ERR_NETWORK="ERR_NETWORK",$.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS",$.ERR_DEPRECATED="ERR_DEPRECATED",$.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE",$.ERR_BAD_REQUEST="ERR_BAD_REQUEST",$.ERR_CANCELED="ERR_CANCELED",$.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT",$.ERR_INVALID_URL="ERR_INVALID_URL";function W(e){return J.isPlainObject(e)||J.isArray(e)}function V(e){return J.endsWith(e,"[]")?e.slice(0,-2):e}function K(e,t,n){return e?e.concat(t).map(function(e,t){return e=V(e),!n&&t?"["+e+"]":e}).join(n?".":""):t}const X=J.toFlatObject(J,{},null,function(e){return/^is[A-Z]/.test(e)});function G(e,t,n){if(!J.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=J.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!J.isUndefined(t[e])})).metaTokens,o=n.visitor||u,s=n.dots,a=n.indexes,i=(n.Blob||"undefined"!=typeof Blob&&Blob)&&J.isSpecCompliantForm(t);if(!J.isFunction(o))throw new TypeError("visitor must be a function");function c(e){if(null===e)return"";if(J.isDate(e))return e.toISOString();if(J.isBoolean(e))return e.toString();if(!i&&J.isBlob(e))throw new $("Blob is not supported. Use a Buffer instead.");return J.isArrayBuffer(e)||J.isTypedArray(e)?i&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,o){let i=e;if(J.isReactNative(t)&&J.isReactNativeBlob(e))return t.append(K(o,n,s),c(e)),!1;if(e&&!o&&"object"==typeof e)if(J.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(J.isArray(e)&&function(e){return J.isArray(e)&&!e.some(W)}(e)||(J.isFileList(e)||J.endsWith(n,"[]"))&&(i=J.toArray(e)))return n=V(n),i.forEach(function(e,r){!J.isUndefined(e)&&null!==e&&t.append(!0===a?K([n],r,s):null===a?n:n+"[]",c(e))}),!1;return!!W(e)||(t.append(K(o,n,s),c(e)),!1)}const l=[],d=Object.assign(X,{defaultVisitor:u,convertValue:c,isVisitable:W});if(!J.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!J.isUndefined(n)){if(-1!==l.indexOf(n))throw Error("Circular reference detected in "+r.join("."));l.push(n),J.forEach(n,function(n,s){!0===(!(J.isUndefined(n)||null===n)&&o.call(t,n,J.isString(s)?s.trim():s,r,d))&&e(n,r?r.concat(s):[s])}),l.pop()}}(e),t}function Q(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return t[e]})}function Y(e,t){this._pairs=[],e&&G(e,this,t)}const Z=Y.prototype;function ee(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function te(e,t,n){if(!t)return e;const r=n&&n.encode||ee,o=J.isFunction(n)?{serialize:n}:n,s=o&&o.serialize;let a;if(a=s?s(t,o):J.isURLSearchParams(t)?t.toString():new Y(t,o).toString(r),a){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+a}return e}Z.append=function(e,t){this._pairs.push([e,t])},Z.toString=function(e){const t=e?function(t){return e.call(this,t,Q)}:Q;return this._pairs.map(function(e){return t(e[0])+"="+t(e[1])},"").join("&")};class ne{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){J.forEach(this.handlers,function(t){null!==t&&e(t)})}}const re={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},oe={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Y,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},se="undefined"!=typeof window&&"undefined"!=typeof document,ae="object"==typeof navigator&&navigator||void 0,ie=se&&(!ae||["ReactNative","NativeScript","NS"].indexOf(ae.product)<0),ce="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,ue=se&&window.location.href||"http://localhost",le={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:se,hasStandardBrowserEnv:ie,hasStandardBrowserWebWorkerEnv:ce,navigator:ae,origin:ue},Symbol.toStringTag,{value:"Module"})),...oe};function de(e){function t(e,n,r,o){let s=e[o++];if("__proto__"===s)return!0;const a=Number.isFinite(+s),i=o>=e.length;if(s=!s&&J.isArray(r)?r.length:s,i)return J.hasOwnProp(r,s)?r[s]=[r[s],n]:r[s]=n,!a;r[s]&&J.isObject(r[s])||(r[s]=[]);return t(e,n,r[s],o)&&J.isArray(r[s])&&(r[s]=function(e){const t={},n=Object.keys(e);let r;const o=n.length;let s;for(r=0;r<o;r++)s=n[r],t[s]=e[s];return t}(r[s])),!a}if(J.isFormData(e)&&J.isFunction(e.entries)){const n={};return J.forEachEntry(e,(e,r)=>{t(function(e){return J.matchAll(/\w+|\[(\w*)]/g,e).map(e=>"[]"===e[0]?"":e[1]||e[0])}(e),r,n,0)}),n}return null}const pe={transitional:re,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=J.isObject(e);o&&J.isHTMLForm(e)&&(e=new FormData(e));if(J.isFormData(e))return r?JSON.stringify(de(e)):e;if(J.isArrayBuffer(e)||J.isBuffer(e)||J.isStream(e)||J.isFile(e)||J.isBlob(e)||J.isReadableStream(e))return e;if(J.isArrayBufferView(e))return e.buffer;if(J.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return G(e,new le.classes.URLSearchParams,{visitor:function(e,t,n,r){return le.isNode&&J.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...t})}(e,this.formSerializer).toString();if((s=J.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return G(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),function(e,t,n){if(J.isString(e))try{return(t||JSON.parse)(e),J.trim(e)}catch(r){if("SyntaxError"!==r.name)throw r}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||pe.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(J.isResponse(e)||J.isReadableStream(e))return e;if(e&&J.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e,this.parseReviver)}catch(o){if(n){if("SyntaxError"===o.name)throw $.from(o,$.ERR_BAD_RESPONSE,this,null,this.response);throw o}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:le.classes.FormData,Blob:le.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};J.forEach(["delete","get","head","post","put","patch"],e=>{pe.headers[e]={}});const fe=J.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),he=Symbol("internals");function me(e){return e&&String(e).trim().toLowerCase()}function ge(e){return!1===e||null==e?e:J.isArray(e)?e.map(ge):String(e)}function we(e,t,n,r,o){return J.isFunction(r)?r.call(this,t,n):(o&&(t=n),J.isString(t)?J.isString(r)?-1!==t.indexOf(r):J.isRegExp(r)?r.test(t):void 0:void 0)}let be=class{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=me(t);if(!o)throw new Error("header name must be a non-empty string");const s=J.findKey(r,o);(!s||void 0===r[s]||!0===n||void 0===n&&!1!==r[s])&&(r[s||t]=ge(e))}const s=(e,t)=>J.forEach(e,(e,n)=>o(e,n,t));if(J.isPlainObject(e)||e instanceof this.constructor)s(e,t);else if(J.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))s((e=>{const t={};let n,r,o;return e&&e.split("\n").forEach(function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&fe[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t})(e),t);else if(J.isObject(e)&&J.isIterable(e)){let n,r,o={};for(const t of e){if(!J.isArray(t))throw TypeError("Object iterator must return a key-value pair");o[r=t[0]]=(n=o[r])?J.isArray(n)?[...n,t[1]]:[n,t[1]]:t[1]}s(o,t)}else null!=e&&o(t,e,n);return this}get(e,t){if(e=me(e)){const n=J.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(J.isFunction(t))return t.call(this,e,n);if(J.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=me(e)){const n=J.findKey(this,e);return!(!n||void 0===this[n]||t&&!we(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=me(e)){const o=J.findKey(n,e);!o||t&&!we(0,n[o],o,t)||(delete n[o],r=!0)}}return J.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const o=t[n];e&&!we(0,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return J.forEach(this,(r,o)=>{const s=J.findKey(n,o);if(s)return t[s]=ge(r),void delete t[o];const a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}(o):String(o).trim();a!==o&&delete t[o],t[a]=ge(r),n[a]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return J.forEach(this,(n,r)=>{null!=n&&!1!==n&&(t[r]=e&&J.isArray(n)?n.join(", "):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join("\n")}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach(e=>n.set(e)),n}static accessor(e){const t=(this[he]=this[he]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=me(e);t[r]||(!function(e,t){const n=J.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})})}(n,e),t[r]=!0)}return J.isArray(e)?e.forEach(r):r(e),this}};function ye(e,t){const n=this||pe,r=t||n,o=be.from(r.headers);let s=r.data;return J.forEach(e,function(e){s=e.call(n,s,o.normalize(),t?t.status:void 0)}),o.normalize(),s}function Se(e){return!(!e||!e.__CANCEL__)}be.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),J.reduceDescriptors(be.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}}),J.freezeMethods(be);let Ee=class extends ${constructor(e,t,n){super(null==e?"canceled":e,$.ERR_CANCELED,t,n),this.name="CanceledError",this.__CANCEL__=!0}};function Re(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new $("Request failed with status code "+n.status,[$.ERR_BAD_REQUEST,$.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}const Oe=(e,t,n=3)=>{let r=0;const o=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,s=0,a=0;return t=void 0!==t?t:1e3,function(i){const c=Date.now(),u=r[a];o||(o=c),n[s]=i,r[s]=c;let l=a,d=0;for(;l!==s;)d+=n[l++],l%=e;if(s=(s+1)%e,s===a&&(a=(a+1)%e),c-o<t)return;const p=u&&c-u;return p?Math.round(1e3*d/p):void 0}}(50,250);return function(e,t){let n,r,o=0,s=1e3/t;const a=(t,s=Date.now())=>{o=s,n=null,r&&(clearTimeout(r),r=null),e(...t)};return[(...e)=>{const t=Date.now(),i=t-o;i>=s?a(e,t):(n=e,r||(r=setTimeout(()=>{r=null,a(n)},s-i)))},()=>n&&a(n)]}(n=>{const s=n.loaded,a=n.lengthComputable?n.total:void 0,i=s-r,c=o(i);r=s;e({loaded:s,total:a,progress:a?s/a:void 0,bytes:i,rate:c||void 0,estimated:c&&a&&s<=a?(a-s)/c:void 0,event:n,lengthComputable:null!=a,[t?"download":"upload"]:!0})},n)},ve=(e,t)=>{const n=null!=e;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},ke=e=>(...t)=>J.asap(()=>e(...t)),Te=le.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,le.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(le.origin),le.navigator&&/(msie|trident)/i.test(le.navigator.userAgent)):()=>!0,Fe=le.hasStandardBrowserEnv?{write(e,t,n,r,o,s,a){if("undefined"==typeof document)return;const i=[`${e}=${encodeURIComponent(t)}`];J.isNumber(n)&&i.push(`expires=${new Date(n).toUTCString()}`),J.isString(r)&&i.push(`path=${r}`),J.isString(o)&&i.push(`domain=${o}`),!0===s&&i.push("secure"),J.isString(a)&&i.push(`SameSite=${a}`),document.cookie=i.join("; ")},read(e){if("undefined"==typeof document)return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read:()=>null,remove(){}};function De(e,t,n){let r=!("string"==typeof(o=t)&&/^([a-z][a-z\d+\-.]*:)?\/\//i.test(o));var o;return e&&(r||0==n)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const Ae=e=>e instanceof be?{...e}:e;function _e(e,t){t=t||{};const n={};function r(e,t,n,r){return J.isPlainObject(e)&&J.isPlainObject(t)?J.merge.call({caseless:r},e,t):J.isPlainObject(t)?J.merge({},t):J.isArray(t)?t.slice():t}function o(e,t,n,o){return J.isUndefined(t)?J.isUndefined(e)?void 0:r(void 0,e,0,o):r(e,t,0,o)}function s(e,t){if(!J.isUndefined(t))return r(void 0,t)}function a(e,t){return J.isUndefined(t)?J.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function i(n,o,s){return s in t?r(n,o):s in e?r(void 0,n):void 0}const c={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:i,headers:(e,t,n)=>o(Ae(e),Ae(t),0,!0)};return J.forEach(Object.keys({...e,...t}),function(r){if("__proto__"===r||"constructor"===r||"prototype"===r)return;const s=J.hasOwnProp(c,r)?c[r]:o,a=s(e[r],t[r],r);J.isUndefined(a)&&s!==i||(n[r]=a)}),n}const Ce=e=>{const t=_e({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:s,headers:a,auth:i}=t;if(t.headers=a=be.from(a),t.url=te(De(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),i&&a.set("Authorization","Basic "+btoa((i.username||"")+":"+(i.password?unescape(encodeURIComponent(i.password)):""))),J.isFormData(n))if(le.hasStandardBrowserEnv||le.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(J.isFunction(n.getHeaders)){const e=n.getHeaders(),t=["content-type","content-length"];Object.entries(e).forEach(([e,n])=>{t.includes(e.toLowerCase())&&a.set(e,n)})}if(le.hasStandardBrowserEnv&&(r&&J.isFunction(r)&&(r=r(t)),r||!1!==r&&Te(t.url))){const e=o&&s&&Fe.read(s);e&&a.set(o,e)}return t},je="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise(function(t,n){const r=Ce(e);let o=r.data;const s=be.from(r.headers).normalize();let a,i,c,u,l,{responseType:d,onUploadProgress:p,onDownloadProgress:f}=r;function h(){u&&u(),l&&l(),r.cancelToken&&r.cancelToken.unsubscribe(a),r.signal&&r.signal.removeEventListener("abort",a)}let m=new XMLHttpRequest;function g(){if(!m)return;const r=be.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders());Re(function(e){t(e),h()},function(e){n(e),h()},{data:d&&"text"!==d&&"json"!==d?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:r,config:e,request:m}),m=null}m.open(r.method.toUpperCase(),r.url,!0),m.timeout=r.timeout,"onloadend"in m?m.onloadend=g:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(g)},m.onabort=function(){m&&(n(new $("Request aborted",$.ECONNABORTED,e,m)),m=null)},m.onerror=function(t){const r=t&&t.message?t.message:"Network Error",o=new $(r,$.ERR_NETWORK,e,m);o.event=t||null,n(o),m=null},m.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||re;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new $(t,o.clarifyTimeoutError?$.ETIMEDOUT:$.ECONNABORTED,e,m)),m=null},void 0===o&&s.setContentType(null),"setRequestHeader"in m&&J.forEach(s.toJSON(),function(e,t){m.setRequestHeader(t,e)}),J.isUndefined(r.withCredentials)||(m.withCredentials=!!r.withCredentials),d&&"json"!==d&&(m.responseType=r.responseType),f&&([c,l]=Oe(f,!0),m.addEventListener("progress",c)),p&&m.upload&&([i,u]=Oe(p),m.upload.addEventListener("progress",i),m.upload.addEventListener("loadend",u)),(r.cancelToken||r.signal)&&(a=t=>{m&&(n(!t||t.type?new Ee(null,e,m):t),m.abort(),m=null)},r.cancelToken&&r.cancelToken.subscribe(a),r.signal&&(r.signal.aborted?a():r.signal.addEventListener("abort",a)));const w=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);w&&-1===le.protocols.indexOf(w)?n(new $("Unsupported protocol "+w+":",$.ERR_BAD_REQUEST,e)):m.send(o||null)})},xe=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n,r=new AbortController;const o=function(e){if(!n){n=!0,a();const t=e instanceof Error?e:this.reason;r.abort(t instanceof $?t:new Ee(t instanceof Error?t.message:t))}};let s=t&&setTimeout(()=>{s=null,o(new $(`timeout of ${t}ms exceeded`,$.ETIMEDOUT))},t);const a=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(o):e.removeEventListener("abort",o)}),e=null)};e.forEach(e=>e.addEventListener("abort",o));const{signal:i}=r;return i.unsubscribe=()=>J.asap(a),i}},Ne=function*(e,t){let n=e.byteLength;if(n<t)return void(yield e);let r,o=0;for(;o<n;)r=o+t,yield e.slice(o,r),o=r},Pe=async function*(e){if(e[Symbol.asyncIterator])return void(yield*e);const t=e.getReader();try{for(;;){const{done:e,value:n}=await t.read();if(e)break;yield n}}finally{await t.cancel()}},Ue=(e,t,n,r)=>{const o=async function*(e,t){for await(const n of Pe(e))yield*Ne(n,t)}(e,t);let s,a=0,i=e=>{s||(s=!0,r&&r(e))};return new ReadableStream({async pull(e){try{const{done:t,value:r}=await o.next();if(t)return i(),void e.close();let s=r.byteLength;if(n){let e=a+=s;n(e)}e.enqueue(new Uint8Array(r))}catch(t){throw i(t),t}},cancel:e=>(i(e),o.return())},{highWaterMark:2})},{isFunction:Le}=J,Be=(({Request:e,Response:t})=>({Request:e,Response:t}))(J.global),{ReadableStream:Ie,TextEncoder:ze}=J.global,qe=(e,...t)=>{try{return!!e(...t)}catch(n){return!1}},Me=e=>{e=J.merge.call({skipUndefined:!0},Be,e);const{fetch:t,Request:n,Response:r}=e,o=t?Le(t):"function"==typeof fetch,s=Le(n),a=Le(r);if(!o)return!1;const i=o&&Le(Ie),c=o&&("function"==typeof ze?(e=>t=>e.encode(t))(new ze):async e=>new Uint8Array(await new n(e).arrayBuffer())),u=s&&i&&qe(()=>{let e=!1;const t=new n(le.origin,{body:new Ie,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),l=a&&i&&qe(()=>J.isReadableStream(new r("").body)),d={stream:l&&(e=>e.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!d[e]&&(d[e]=(t,n)=>{let r=t&&t[e];if(r)return r.call(t);throw new $(`Response type '${e}' is not supported`,$.ERR_NOT_SUPPORT,n)})});const p=async(e,t)=>{const r=J.toFiniteNumber(e.getContentLength());return null==r?(async e=>{if(null==e)return 0;if(J.isBlob(e))return e.size;if(J.isSpecCompliantForm(e)){const t=new n(le.origin,{method:"POST",body:e});return(await t.arrayBuffer()).byteLength}return J.isArrayBufferView(e)||J.isArrayBuffer(e)?e.byteLength:(J.isURLSearchParams(e)&&(e+=""),J.isString(e)?(await c(e)).byteLength:void 0)})(t):r};return async e=>{let{url:o,method:a,data:i,signal:c,cancelToken:f,timeout:h,onDownloadProgress:m,onUploadProgress:g,responseType:w,headers:b,withCredentials:y="same-origin",fetchOptions:S}=Ce(e),E=t||fetch;w=w?(w+"").toLowerCase():"text";let R=xe([c,f&&f.toAbortSignal()],h),O=null;const v=R&&R.unsubscribe&&(()=>{R.unsubscribe()});let k;try{if(g&&u&&"get"!==a&&"head"!==a&&0!==(k=await p(b,i))){let e,t=new n(o,{method:"POST",body:i,duplex:"half"});if(J.isFormData(i)&&(e=t.headers.get("content-type"))&&b.setContentType(e),t.body){const[e,n]=ve(k,Oe(ke(g)));i=Ue(t.body,65536,e,n)}}J.isString(y)||(y=y?"include":"omit");const t=s&&"credentials"in n.prototype,c={...S,signal:R,method:a.toUpperCase(),headers:b.normalize().toJSON(),body:i,duplex:"half",credentials:t?y:void 0};O=s&&new n(o,c);let f=await(s?E(O,S):E(o,c));const h=l&&("stream"===w||"response"===w);if(l&&(m||h&&v)){const e={};["status","statusText","headers"].forEach(t=>{e[t]=f[t]});const t=J.toFiniteNumber(f.headers.get("content-length")),[n,o]=m&&ve(t,Oe(ke(m),!0))||[];f=new r(Ue(f.body,65536,n,()=>{o&&o(),v&&v()}),e)}w=w||"text";let T=await d[J.findKey(d,w)||"text"](f,e);return!h&&v&&v(),await new Promise((t,n)=>{Re(t,n,{data:T,headers:be.from(f.headers),status:f.status,statusText:f.statusText,config:e,request:O})})}catch(T){if(v&&v(),T&&"TypeError"===T.name&&/Load failed|fetch/i.test(T.message))throw Object.assign(new $("Network Error",$.ERR_NETWORK,e,O,T&&T.response),{cause:T.cause||T});throw $.from(T,T&&T.code,e,O,T&&T.response)}}},He=new Map,Je=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:o}=t,s=[r,o,n];let a,i,c=s.length,u=He;for(;c--;)a=s[c],i=u.get(a),void 0===i&&u.set(a,i=c?new Map:Me(t)),u=i;return i};Je();const $e={http:null,xhr:je,fetch:{get:Je}};J.forEach($e,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(n){}Object.defineProperty(e,"adapterName",{value:t})}});const We=e=>`- ${e}`,Ve=e=>J.isFunction(e)||null===e||!1===e;const Ke={getAdapter:function(e,t){e=J.isArray(e)?e:[e];const{length:n}=e;let r,o;const s={};for(let a=0;a<n;a++){let n;if(r=e[a],o=r,!Ve(r)&&(o=$e[(n=String(r)).toLowerCase()],void 0===o))throw new $(`Unknown adapter '${n}'`);if(o&&(J.isFunction(o)||(o=o.get(t))))break;s[n||"#"+a]=o}if(!o){const e=Object.entries(s).map(([e,t])=>`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build"));let t=n?e.length>1?"since :\n"+e.map(We).join("\n"):" "+We(e[0]):"as no adapter specified";throw new $("There is no suitable adapter to dispatch the request "+t,"ERR_NOT_SUPPORT")}return o},adapters:$e};function Xe(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ee(null,e)}function Ge(e){Xe(e),e.headers=be.from(e.headers),e.data=ye.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);return Ke.getAdapter(e.adapter||pe.adapter,e)(e).then(function(t){return Xe(e),t.data=ye.call(e,e.transformResponse,t),t.headers=be.from(t.headers),t},function(t){return Se(t)||(Xe(e),t&&t.response&&(t.response.data=ye.call(e,e.transformResponse,t.response),t.response.headers=be.from(t.response.headers))),Promise.reject(t)})}const Qe="1.13.6",Ye={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Ye[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const Ze={};Ye.transitional=function(e,t,n){function r(e,t){return"[Axios v"+Qe+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,s)=>{if(!1===e)throw new $(r(o," has been removed"+(t?" in "+t:"")),$.ERR_DEPRECATED);return t&&!Ze[o]&&(Ze[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,s)}},Ye.spelling=function(e){return(t,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};const et={assertOptions:function(e,t,n){if("object"!=typeof e)throw new $("options must be an object",$.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],a=t[s];if(a){const t=e[s],n=void 0===t||a(t,s,e);if(!0!==n)throw new $("option "+s+" must be "+n,$.ERR_BAD_OPTION_VALUE);continue}if(!0!==n)throw new $("Unknown option "+s,$.ERR_BAD_OPTION)}},validators:Ye},tt=et.validators;let nt=class{constructor(e){this.defaults=e||{},this.interceptors={request:new ne,response:new ne}}async request(e,t){try{return await this._request(e,t)}catch(n){if(n instanceof Error){let e={};Error.captureStackTrace?Error.captureStackTrace(e):e=new Error;const t=e.stack?e.stack.replace(/^.+\n/,""):"";try{n.stack?t&&!String(n.stack).endsWith(t.replace(/^.+\n.+\n/,""))&&(n.stack+="\n"+t):n.stack=t}catch(r){}}throw n}}_request(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{},t=_e(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&et.assertOptions(n,{silentJSONParsing:tt.transitional(tt.boolean),forcedJSONParsing:tt.transitional(tt.boolean),clarifyTimeoutError:tt.transitional(tt.boolean),legacyInterceptorReqResOrdering:tt.transitional(tt.boolean)},!1),null!=r&&(J.isFunction(r)?t.paramsSerializer={serialize:r}:et.assertOptions(r,{encode:tt.function,serialize:tt.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),et.assertOptions(t,{baseUrl:tt.spelling("baseURL"),withXsrfToken:tt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let s=o&&J.merge(o.common,o[t.method]);o&&J.forEach(["delete","get","head","post","put","patch","common"],e=>{delete o[e]}),t.headers=be.concat(s,o);const a=[];let i=!0;this.interceptors.request.forEach(function(e){if("function"==typeof e.runWhen&&!1===e.runWhen(t))return;i=i&&e.synchronous;const n=t.transitional||re;n&&n.legacyInterceptorReqResOrdering?a.unshift(e.fulfilled,e.rejected):a.push(e.fulfilled,e.rejected)});const c=[];let u;this.interceptors.response.forEach(function(e){c.push(e.fulfilled,e.rejected)});let l,d=0;if(!i){const e=[Ge.bind(this),void 0];for(e.unshift(...a),e.push(...c),l=e.length,u=Promise.resolve(t);d<l;)u=u.then(e[d++],e[d++]);return u}l=a.length;let p=t;for(;d<l;){const e=a[d++],t=a[d++];try{p=e(p)}catch(f){t.call(this,f);break}}try{u=Ge.call(this,p)}catch(f){return Promise.reject(f)}for(d=0,l=c.length;d<l;)u=u.then(c[d++],c[d++]);return u}getUri(e){return te(De((e=_e(this.defaults,e)).baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}};J.forEach(["delete","get","head","options"],function(e){nt.prototype[e]=function(t,n){return this.request(_e(n||{},{method:e,url:t,data:(n||{}).data}))}}),J.forEach(["post","put","patch"],function(e){function t(t){return function(n,r,o){return this.request(_e(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}nt.prototype[e]=t(),nt.prototype[e+"Form"]=t(!0)});const rt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(rt).forEach(([e,t])=>{rt[t]=e});const ot=function t(n){const r=new nt(n),o=e(nt.prototype.request,r);return J.extend(o,nt.prototype,r,{allOwnKeys:!0}),J.extend(o,r,null,{allOwnKeys:!0}),o.create=function(e){return t(_e(n,e))},o}(pe);ot.Axios=nt,ot.CanceledError=Ee,ot.CancelToken=class e{constructor(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(e){t=e});const n=this;this.promise.then(e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null}),this.promise.then=e=>{let t;const r=new Promise(e=>{n.subscribe(e),t=e}).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e(function(e,r,o){n.reason||(n.reason=new Ee(e,r,o),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let t;return{token:new e(function(e){t=e}),cancel:t}}},ot.isCancel=Se,ot.VERSION=Qe,ot.toFormData=G,ot.AxiosError=$,ot.Cancel=ot.CanceledError,ot.all=function(e){return Promise.all(e)},ot.spread=function(e){return function(t){return e.apply(null,t)}},ot.isAxiosError=function(e){return J.isObject(e)&&!0===e.isAxiosError},ot.mergeConfig=_e,ot.AxiosHeaders=be,ot.formToJSON=e=>de(J.isHTMLForm(e)?new FormData(e):e),ot.getAdapter=Ke.getAdapter,ot.HttpStatusCode=rt,ot.default=ot;const{Axios:st,AxiosError:at,CanceledError:it,isCancel:ct,CancelToken:ut,VERSION:lt,all:dt,Cancel:pt,isAxiosError:ft,spread:ht,toFormData:mt,AxiosHeaders:gt,HttpStatusCode:wt,formToJSON:bt,getAdapter:yt,mergeConfig:St}=ot,Et=Object.freeze(Object.defineProperty({__proto__:null,Axios:st,AxiosError:at,AxiosHeaders:gt,Cancel:pt,CancelToken:ut,CanceledError:it,HttpStatusCode:wt,VERSION:lt,all:dt,default:ot,formToJSON:bt,getAdapter:yt,isAxiosError:ft,isCancel:ct,mergeConfig:St,spread:ht,toFormData:mt},Symbol.toStringTag,{value:"Module"}));function Rt(){const e=localStorage.getItem("serverHost");return e?e.replace(/\/+$/,""):""}const Ot=ot.create({baseURL:Rt(),timeout:3e4,headers:{"Content-Type":"application/json","Cache-Control":"no-cache",Pragma:"no-cache"}});function vt(e){void 0!==e&&localStorage.setItem("serverHost",e),Ot.defaults.baseURL=Rt()}function kt(){var e,t;localStorage.removeItem("token"),localStorage.removeItem("userInfo"),localStorage.removeItem("userId");const n=!!window.electronAPI,r=!!(null==(t=null==(e=window.Capacitor)?void 0:e.isNativePlatform)?void 0:t.call(e));n||r?window.location.hash="#/client-login":window.location.href="/login"}window.addEventListener("storage",()=>{Ot.defaults.baseURL=Rt()}),Ot.interceptors.request.use(e=>{const t=localStorage.getItem("token"),n=localStorage.getItem("userId");return t&&e.headers&&(e.headers.Authorization=`Bearer ${t}`),e.data instanceof FormData&&(!e.data.has("token")&&t&&e.data.append("token",t),!e.data.has("id")&&n&&e.data.append("id",n),console.log("======== 请求数据详情 ========"),console.log("请求 URL:",e.url),console.log("FormData 内容:"),e.data.forEach((e,t)=>{console.log(` ${t}: ${e}`)}),console.log("==============================")),e.data instanceof FormData&&delete e.headers["Content-Type"],e},e=>(console.error("请求错误:",e),Promise.reject(e))),Ot.interceptors.response.use(e=>{const t=e.data;if(console.log("API 响应:",{url:e.config.url,status:e.status,data:t}),"blob"===e.config.responseType)return e;if(!0===t.res||!1===t.res||8200===t.code)return t;const n=t.msg||"请求失败";return console.error("业务错误:",n),console.error("响应详情:",t),401===t.code&&kt(),Promise.reject(new Error(n))},e=>{var t;if(console.error("响应错误:",e),e.config&&console.error("请求配置:",{url:e.config.url,method:e.config.method,baseURL:e.config.baseURL}),e.response)switch(console.error("响应状态:",e.response.status),console.error("响应数据:",e.response.data),e.response.status){case 401:kt();break;case 403:console.error("没有权限访问");break;case 404:console.error("请求的资源不存在");break;case 500:console.error("服务器内部错误");break;default:console.error("未知错误")}else e.request?(console.error("网络错误,请检查网络连接"),console.error("请求目标:",null==(t=e.config)?void 0:t.url)):console.error("请求配置错误");return Promise.reject(e)});const Tt={get:(e,t)=>Ot.get(e,t),post:(e,t,n)=>Ot.post(e,t,n),put:(e,t,n)=>Ot.put(e,t,n),delete:(e,t)=>Ot.delete(e,t),upload:(e,t,n)=>Ot.post(e,t,{...n,headers:{"Content-Type":"multipart/form-data"}})};function Ft(e){const t=new FormData;return t.append("username",e.username),t.append("passwd",e.passwd),Tt.post("/user/fnkukei/gtoken",t)}function Dt(){return Tt.post("/user/logout")}function At(){const e=new FormData;return Tt.post("/user/fnckukei/listmydevice",e)}function _t(e){const t=new FormData;return Object.keys(e).forEach(n=>{void 0!==e[n]&&t.append(n,String(e[n]))}),Tt.post("/user/deviceadd",t)}function Ct(e){const t=new FormData;return t.append("snid",String(e.snid)),Tt.post("/user/deldevs",t)}function jt(e){const t=new FormData;return Object.keys(e).forEach(n=>{void 0!==e[n]&&t.append(n,String(e[n]))}),Tt.post("/user/sndebug",t)}function xt(e){const t=new FormData;return t.append("newname",e.newname),t.append("devid",String(e.devid)),Tt.post("/user/redevname",t)}function Nt(e){const t=new FormData;return t.append("newsn",e.newsn),t.append("devid",String(e.devid)),Tt.post("/user/resn",t)}function Pt(e){const t=new FormData;return t.append("dsv",String(e.dsv)),t.append("sn",e.sn),Tt.post("/user/sndebug",t)}function Ut(e){const t=new FormData;return t.append("vol",String(e.vol)),e.snlist&&t.append("snlist",e.snlist),Tt.post("/user/editvols",t)}function Lt(e){const t=new FormData;return t.append("vol",String(e.vol)),e.snlist&&t.append("snlist",e.snlist),Tt.post("/user/editvols",t)}function Bt(e){const t=new FormData;return t.append("ziusername",e.ziusername),t.append("zipasswd",e.zipasswd),t.append("nickname",e.nickname),t.append("beizhu",e.beizhu),t.append("level",String(e.level)),t.append("mask",e.mask),Tt.post("/user/fnckukei/addziuser",t)}function It(){const e=new FormData;return Tt.post("/user/fnckukei/listziuser",e)}function zt(e){const t=new FormData;return t.append("userid",String(e.userid)),t.append("zdex",String(e.zdex)),t.append("zcase",String(e.zcase)),Tt.post("/user/fnckukei/changezimask",t)}function qt(e){const t=new FormData;return t.append("zid",String(e)),Tt.post("/user/fnckukei/delziuser",t)}function Mt(e){const t=new FormData;return t.append("zid",String(e.zid)),t.append("ztoken",e.ztoken),Tt.post("/user/fnckukei/info_edit_listziuser",t)}function Ht(e){const t=new FormData;return t.append("gid",String(e.gid)),t.append("pus_idstr",e.pus_idstr),t.append("dis_idstr",e.dis_idstr),Tt.post("/user/fnckukei/changezidevices",t)}function Jt(e){const t=new FormData;return t.append("username",e.username),t.append("passwd",e.passwd),Tt.post("/user/gtoken",t)}function $t(e){const t=new FormData;return t.append("id",String(e.id)),t.append("token",e.token),t.append("newpass",e.newpass),Tt.post("/user/fnkukei/newpasswdnick",t)}function Wt(){const e=new FormData;return Tt.post("/user/listplant",e)}function Vt(){const e=new FormData;return Tt.post("/user/listdetailgroups",e)}function Kt(e){const t=new FormData;return t.append("gname",e.gname),Tt.post("/user/addgname",t)}function Xt(e){const t=new FormData;return t.append("gid",String(e.gid)),Tt.post("/user/delgroup",t)}function Gt(e){const t=new FormData;return t.append("gid",String(e.gid)),Tt.post("/user/fnckukei/getonegdevs",t)}function Qt(e){const t=new FormData;return t.append("gid",String(e.gid)),t.append("devids",e.devids),Tt.post("/user/editgdevs",t)}function Yt(e){const t=new FormData;return t.append("gid",String(e.gid)),t.append("msurl",e.msurl),Tt.post("/user/fnckukei/savemu38_info",t)}function Zt(e){const t=new FormData;return t.append("playmode",String(e.playmode)),t.append("len",String(e.len)),t.append("jiange",String(e.jiange)),t.append("fileids",e.fileids),t.append("snids",e.snids),Tt.post("/user/tmpstartpl",t)}function en(e){const t=new FormData;return void 0!==e.id&&t.append("id",String(e.id)),void 0!==e.token&&t.append("token",e.token),void 0!==e.tpid&&t.append("tpid",String(e.tpid)),Tt.post("/user/tmpstoppl",t)}function tn(){const e=new FormData;return Tt.post("/user/tmplistpl",e)}function nn(){const e=new FormData;return Tt.post("/user/listfile",e)}function rn(e,t){const n=new FormData;return n.append("file",e),Tt.post("/user/uploadfile",n,{headers:{"Content-Type":"multipart/form-data"}})}function on(e){const t=new FormData;return t.append("fileid",String(e.id)),Tt.post("/user/delfile",t)}function sn(e){const t=new FormData;return t.append("text",e.text),e.fileName&&t.append("filename",e.fileName),e.voice&&t.append("shengyin",e.voice),void 0!==e.speed&&t.append("speed",String(e.speed)),t.append("vol",String(e.vol)),Tt.post("/user/savettsfile",t)}function an(){const e=new FormData;return Tt.post("/user/getwbinfo",e)}function cn(e){const t=new FormData;return t.append("name",e.name),t.append("url",e.url),t.append("len",String(e.len)),Tt.post("/user/uploader_fordiantai.php",t)}function un(){const e=new FormData;return Tt.post("/user/list_task",e)}function ln(e){const t=new FormData;return t.append("taskid",String(e.taskid)),Tt.post("/user/getone_task",t)}function dn(e){const t=new FormData;return Object.keys(e).forEach(n=>{const r=e[n];void 0!==r&&""!==r&&t.append(n,String(r))}),Tt.post("/user/add_task",t)}function pn(e){const t=new FormData;return Object.keys(e).forEach(n=>{const r=e[n];void 0!==r&&""!==r&&t.append(n,String(r))}),Tt.post("/user/edit_task",t)}function fn(e){const t=new FormData;return t.append("taskid",String(e.taskid)),e.deviceIds&&t.append("snids",e.deviceIds.join("|")),Tt.post("/user/editsns_task",t)}function hn(e){const t=new FormData;return t.append("taskid",String(e.taskid)),e.fileIds&&t.append("fileids",e.fileIds.join("|")),Tt.post("/user/editfiles_task",t)}function mn(e){const t=new FormData;return t.append("taskid",String(e.id)),t.append("value","1"),Tt.post("/user/starttask",t)}function gn(e){const t=new FormData;return t.append("taskid",String(e.id)),Tt.post("/user/stoptask",t)}function wn(e){const t=new FormData;return t.append("taskid",String(e.id)),Tt.post("/user/enabletask",t)}function bn(e){const t=new FormData;return t.append("taskid",String(e.id)),Tt.post("/user/disabletask",t)}function yn(){const e=new FormData;return Tt.post("/user/listplant",e)}function Sn(e){const t=new FormData;return t.append("pname",e.pname),Tt.post("/user/addplant",t)}function En(e){const t=new FormData;return t.append("pid",String(e.pid)),Tt.post("/user/deleteplant",t)}function Rn(e){const t=new FormData;return t.append("pid",String(e.pid)),t.append("taskid",String(e.taskid)),Tt.post("/user/plantedittask",t)}function On(e){const t=new FormData;return t.append("taskids",e.taskids),t.append("snids",e.snids),Tt.post("/user/piliangxiugaisnids.php",t)}function vn(e){const t=new FormData;return t.append("taskids",e.taskids),t.append("fileids",e.fileids),Tt.post("/user/piliangxiugaiwenjian.php",t)}function kn(e){const t=new FormData;return t.append("taskids",e.taskids),t.append("fanganid",String(e.fanganid)),Tt.post("/user/piliangshezhifangan.php",t)}function Tn(e){const t=new FormData;return t.append("taskids",e.taskids),t.append("tasktimestr",e.tasktimestr),Tt.post("/user/piliangxiugaishijian.php",t)}function Fn(e){const t=new FormData;return t.append("taskids",e.taskids),t.append("kind",String(e.kind)),Tt.post("/user/piliangxunhuancishu.php",t)}function Dn(e){const t=new FormData;return t.append("taskids",e.taskids),t.append("len",String(e.len)),Tt.post("/user/piliangxiugaishichang.php",t)}function An(e){const t=new FormData;return t.append("taskidstr",e.taskidstr),Tt.post("/user/piliangshanchurenwu.php",t)}function _n(e){const t=new FormData;return t.append("tasknamestr",e.tasknamestr),t.append("tasktimestr",e.tasktimestr),t.append("cptskid",String(e.cptskid)),Tt.post("/user/piliangfuzhirenwu.php",t)}function Cn(){const e=new FormData;return Tt.post("/user/wfilelistrg",e)}function jn(e){const t=new FormData;return t.append("url",e.url),t.append("filename",e.filename),t.append("sn",e.sn),t.append("dname",e.dname),e.fb&&t.append("fb",e.fb),Tt.post("/user/wfilerg",t)}function xn(e){const t=new FormData;return t.append("sn",e.sn),e.fb&&t.append("fb",e.fb),t.append("rgid",String(e.rgid)),Tt.post("/user/wfileunrg",t)}function Nn(e){const t=new FormData;return t.append("url",e.url),t.append("plantname",e.plantname),t.append("snlist",e.snlist),Tt.post("/user/wplantadd",t)}function Pn(){const e=new FormData;return Tt.post("/user/wplantlist",e)}function Un(e){const t=new FormData;return t.append("pltid",String(e)),Tt.post("/user/wplantrm",t)}function Ln(e){const t=new FormData;return t.append("pltid",String(e.pltid)),t.append("sn",e.sn),t.append("dname",e.dname),e.fb&&t.append("fb",e.fb),Tt.post("/user/wplantrg",t)}function Bn(e){const t=new FormData;return t.append("sn",e.sn),t.append("fb",e.fb||"1"),Tt.post("/user/wfileforceunrg",t)}export{Pn as $,pn as A,fn as B,hn as C,dn as D,bn as E,wn as F,Sn as G,Rn as H,En as I,_n as J,On as K,vn as L,kn as M,Tn as N,Fn as O,Dn as P,An as Q,ln as R,mn as S,gn as T,rn as U,on as V,sn as W,cn as X,an as Y,jn as Z,Cn as _,Dt as a,Nn as a0,Ln as a1,Bn as a2,xn as a3,Un as a4,It as a5,Bt as a6,Ht as a7,zt as a8,qt as a9,Mt as aa,Jt as ab,Tt as ac,Et as ad,_t as b,$t as c,jt as d,Nt as e,Ut as f,At as g,Lt as h,Pt as i,Ct as j,Vt as k,Ft as l,Kt as m,Qt as n,Gt as o,Zt as p,tn as q,xt as r,Yt as s,nn as t,vt as u,Xt as v,en as w,Wt as x,un as y,yn as z};
|