From eaecd00d20573ba504e5df154391adbb41befe07 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Tue, 7 Jul 2026 17:07:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=9F=BA=E6=9C=AC=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/admin/.output/nitro.json | 2 +- apps/admin/.output/public/_nuxt/-beHFMDW.js | 1 + apps/admin/.output/public/_nuxt/6VNdSi_V.js | 1 + apps/admin/.output/public/_nuxt/9B2ftqmN.js | 1 - apps/admin/.output/public/_nuxt/B2Vd1HRg.js | 1 + apps/admin/.output/public/_nuxt/B3ocY-Ie.js | 1 + apps/admin/.output/public/_nuxt/BIBu1qhq.js | 1 - apps/admin/.output/public/_nuxt/BVGGsVu4.js | 1 - apps/admin/.output/public/_nuxt/BYskkv1s.js | 9 + apps/admin/.output/public/_nuxt/B_JvM6BO.js | 1 - apps/admin/.output/public/_nuxt/B_WQdNTA.js | 1 + .../public/_nuxt/{1YPtusTp.js => B_rTis4D.js} | 2 +- apps/admin/.output/public/_nuxt/BeU4EYjt.js | 1 - apps/admin/.output/public/_nuxt/BjeKh_cp.js | 1 + apps/admin/.output/public/_nuxt/Bxcdr2qc.js | 1 - apps/admin/.output/public/_nuxt/C1U0GWax.js | 1 + apps/admin/.output/public/_nuxt/C1a5GrA3.js | 1 + apps/admin/.output/public/_nuxt/C2sLAWj2.js | 1 - apps/admin/.output/public/_nuxt/C4pFFOT7.js | 1 + apps/admin/.output/public/_nuxt/CEy0BeiT.js | 1 + apps/admin/.output/public/_nuxt/CF8arGVK.js | 1 - .../public/_nuxt/{Bi5c3E0c.js => CHwWlLZM.js} | 4 +- apps/admin/.output/public/_nuxt/CMwGY1Mu.js | 1 + apps/admin/.output/public/_nuxt/CZnZfJ5f.js | 1 - .../public/_nuxt/{P2ZWRt51.js => C_4yneL9.js} | 2 +- .../public/_nuxt/{Cy8zKM7T.js => C_DpaApf.js} | 4 +- .../public/_nuxt/{CTAruH_8.js => CfpW9SkI.js} | 4 +- apps/admin/.output/public/_nuxt/CgB4v6_d.js | 1 + apps/admin/.output/public/_nuxt/CtB1c492.js | 1 + apps/admin/.output/public/_nuxt/Cx-e2Cok.js | 1 - apps/admin/.output/public/_nuxt/D9HxoMhB.js | 1 - .../public/_nuxt/{CnuHOwQV.js => DA87FDpn.js} | 2 +- apps/admin/.output/public/_nuxt/DL330dAC.js | 1 + apps/admin/.output/public/_nuxt/DNKl-FHZ.js | 1 - apps/admin/.output/public/_nuxt/DQJ7bpDC.js | 1 + apps/admin/.output/public/_nuxt/DSu8q42f.js | 1 + apps/admin/.output/public/_nuxt/Dm32cczg.js | 1 + apps/admin/.output/public/_nuxt/EIJPD_ga.js | 1 - apps/admin/.output/public/_nuxt/FZLr1rN5.js | 1 - apps/admin/.output/public/_nuxt/GZxzc1Rc.js | 1 - .../public/_nuxt/{CnkSDgVO.js => R6fio73R.js} | 2 +- apps/admin/.output/public/_nuxt/UoJ1COMF.js | 1 - .../.output/public/_nuxt/apps.B7hnJBQU.css | 1 - .../.output/public/_nuxt/apps.BKS_pLby.css | 1 + .../.output/public/_nuxt/builds/latest.json | 2 +- .../1539df2f-ed1e-4567-85ef-b3b4ac8648ab.json | 1 - .../1b101b0e-fb32-40fd-adf2-8e9d1b2f43f3.json | 1 + .../.output/public/_nuxt/entry.BUc396Qi.css | 1 - .../.output/public/_nuxt/entry.CZS29VBu.css | 1 + apps/admin/.output/public/_nuxt/lLLegusN.js | 1 - .../public/_nuxt/systemconfig.CKZLIXAY.css | 1 + .../public/_nuxt/systemconfig.DaWusDMu.css | 1 - .../public/_nuxt/{DpWhlKu2.js => tlYhbUA5.js} | 2 +- .../public/_nuxt/{BroHRKpP.js => uI9fc-sC.js} | 2 +- apps/admin/.output/public/_nuxt/uwVesjjP.js | 1 - apps/admin/.output/public/_nuxt/vesedpp3.js | 7 - apps/admin/.output/public/_nuxt/y51pRzN1.js | 1 + apps/admin/.output/public/_nuxt/yUUyh6cG.js | 1 - .../chunks/build/accounts-BlBS367g.mjs.map | 1 - ...nts-BlBS367g.mjs => accounts-DMzzARF9.mjs} | 9 +- .../chunks/build/accounts-DMzzARF9.mjs.map | 1 + ...ig-b7qb0UVr.mjs => appconfig-DgyZbLy-.mjs} | 9 +- .../chunks/build/appconfig-DgyZbLy-.mjs.map | 1 + .../chunks/build/appconfig-b7qb0UVr.mjs.map | 1 - .../server/chunks/build/apps-DkgvJNjV.mjs | 273 -------------- .../server/chunks/build/apps-DkgvJNjV.mjs.map | 1 - .../server/chunks/build/apps-M35AvXEe.mjs | 310 ++++++++++++++++ .../server/chunks/build/apps-M35AvXEe.mjs.map | 1 + .../chunks/build/apps-styles._bNp0Sh6.mjs | 8 - .../chunks/build/apps-styles._bNp0Sh6.mjs.map | 1 - .../chunks/build/apps-styles.ohrc3N5k.mjs | 8 + .../chunks/build/apps-styles.ohrc3N5k.mjs.map | 1 + .../build/calltranslate-B1hhAqN7.mjs.map | 1 - ...1hhAqN7.mjs => calltranslate-Bavowmkg.mjs} | 9 +- .../build/calltranslate-Bavowmkg.mjs.map | 1 + .../chunks/build/client.precomputed.mjs | 2 +- .../server/chunks/build/code-BQgGcfFH.mjs.map | 1 - .../{code-BQgGcfFH.mjs => code-RXZTcCgt.mjs} | 9 +- .../server/chunks/build/code-RXZTcCgt.mjs.map | 1 + .../chunks/build/dashboard-BeG8w5Q7.mjs.map | 1 - ...rd-BeG8w5Q7.mjs => dashboard-C1ojHDcl.mjs} | 7 +- .../chunks/build/dashboard-C1ojHDcl.mjs.map | 1 + .../chunks/build/default-DDIg74_f.mjs.map | 1 - ...ault-DDIg74_f.mjs => default-Vvv7KKiT.mjs} | 7 +- .../chunks/build/default-Vvv7KKiT.mjs.map | 1 + ...evice-CraC512i.mjs => device-CfQFMgWh.mjs} | 9 +- .../chunks/build/device-CfQFMgWh.mjs.map | 1 + .../chunks/build/device-CraC512i.mjs.map | 1 - ...SWB_O04K.mjs => environments-COih38_P.mjs} | 9 +- .../build/environments-COih38_P.mjs.map | 1 + .../build/environments-SWB_O04K.mjs.map | 1 - .../chunks/build/factory-C8vqM9Rd.mjs.map | 1 - ...tory-C8vqM9Rd.mjs => factory-L6nRQ1NO.mjs} | 9 +- .../chunks/build/factory-L6nRQ1NO.mjs.map | 1 + ...VTDKVQk0.mjs => globalconfig-B_Ujsbj7.mjs} | 9 +- .../build/globalconfig-B_Ujsbj7.mjs.map | 1 + .../build/globalconfig-VTDKVQk0.mjs.map | 1 - ...ig-CBH98Fue.mjs => mcpconfig-BqT6PWeV.mjs} | 11 +- .../chunks/build/mcpconfig-BqT6PWeV.mjs.map | 1 + .../chunks/build/mcpconfig-CBH98Fue.mjs.map | 1 - .../build/meettemplates-JHBZiczV.mjs.map | 1 - ...HBZiczV.mjs => meettemplates-dtbgdbi_.mjs} | 16 +- .../build/meettemplates-dtbgdbi_.mjs.map | 1 + .../chunks/build/product-B4xMZxup.mjs.map | 1 - ...duct-B4xMZxup.mjs => product-DhA82rI2.mjs} | 9 +- .../chunks/build/product-DhA82rI2.mjs.map | 1 + .../.output/server/chunks/build/server.mjs | 36 +- .../build/serviceconfig-DRqotJ7A.mjs.map | 1 - ...RqotJ7A.mjs => serviceconfig-PSQWGwHl.mjs} | 9 +- .../build/serviceconfig-PSQWGwHl.mjs.map | 1 + .../chunks/build/state-DQnwRar-.mjs.map | 1 - .../chunks/build/statlog-DjkPa7zJ.mjs.map | 1 - ...tlog-DjkPa7zJ.mjs => statlog-xUDxfuTM.mjs} | 9 +- .../chunks/build/statlog-xUDxfuTM.mjs.map | 1 + .../.output/server/chunks/build/styles.mjs | 10 +- ...C0cMeH0T.mjs => systemconfig-BxuoO47G.mjs} | 110 +++--- .../build/systemconfig-BxuoO47G.mjs.map | 1 + .../build/systemconfig-C0cMeH0T.mjs.map | 1 - .../build/systemconfig-styles.DgvtwCbS.mjs | 8 - .../systemconfig-styles.DgvtwCbS.mjs.map | 1 - .../build/systemconfig-styles.DnVf-Xpn.mjs | 8 + .../systemconfig-styles.DnVf-Xpn.mjs.map | 1 + .../chunks/build/useApi-B6h53Mkt.mjs.map | 1 - ...seApi-B6h53Mkt.mjs => useApi-DMQewX5_.mjs} | 16 +- .../chunks/build/useApi-DMQewX5_.mjs.map | 1 + ...e-DQnwRar-.mjs => useLoading-D4zrSa2m.mjs} | 17 +- .../chunks/build/useLoading-D4zrSa2m.mjs.map | 1 + .../chunks/build/useLoading-D6mc40Wj.mjs | 17 - .../chunks/build/useLoading-D6mc40Wj.mjs.map | 1 - .../chunks/build/useToast-C76a6bSX.mjs.map | 1 - ...ast-C76a6bSX.mjs => useToast-CS21XT61.mjs} | 4 +- .../chunks/build/useToast-CS21XT61.mjs.map | 1 + .../chunks/build/users-CqhWenqn.mjs.map | 1 - ...{users-CqhWenqn.mjs => users-Nuh0129J.mjs} | 9 +- .../chunks/build/users-Nuh0129J.mjs.map | 1 + .../.output/server/chunks/nitro/nitro.mjs | 351 +++++++++--------- apps/admin/app/composables/useApi.ts | 19 +- apps/admin/app/pages/mcpconfig.vue | 2 +- apps/admin/app/pages/meettemplates.vue | 9 +- apps/admin/app/pages/product.vue | 5 +- apps/admin/app/pages/systemconfig.vue | 133 ++++++- .../nuxt/.nuxt/dist/client/_nuxt/-beHFMDW.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/6VNdSi_V.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/9B2ftqmN.js | 1 - .../nuxt/.nuxt/dist/client/_nuxt/B2Vd1HRg.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/B3ocY-Ie.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/BIBu1qhq.js | 1 - .../nuxt/.nuxt/dist/client/_nuxt/BVGGsVu4.js | 1 - .../nuxt/.nuxt/dist/client/_nuxt/BYskkv1s.js | 9 + .../nuxt/.nuxt/dist/client/_nuxt/B_JvM6BO.js | 1 - .../nuxt/.nuxt/dist/client/_nuxt/B_WQdNTA.js | 1 + .../client/_nuxt/{1YPtusTp.js => B_rTis4D.js} | 2 +- .../nuxt/.nuxt/dist/client/_nuxt/BeU4EYjt.js | 1 - .../nuxt/.nuxt/dist/client/_nuxt/BjeKh_cp.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/Bxcdr2qc.js | 1 - .../nuxt/.nuxt/dist/client/_nuxt/C1U0GWax.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/C1a5GrA3.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/C2sLAWj2.js | 1 - .../nuxt/.nuxt/dist/client/_nuxt/C4pFFOT7.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/CEy0BeiT.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/CF8arGVK.js | 1 - .../client/_nuxt/{Bi5c3E0c.js => CHwWlLZM.js} | 4 +- .../nuxt/.nuxt/dist/client/_nuxt/CMwGY1Mu.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/CZnZfJ5f.js | 1 - .../client/_nuxt/{P2ZWRt51.js => C_4yneL9.js} | 2 +- .../client/_nuxt/{Cy8zKM7T.js => C_DpaApf.js} | 4 +- .../client/_nuxt/{CTAruH_8.js => CfpW9SkI.js} | 4 +- .../nuxt/.nuxt/dist/client/_nuxt/CgB4v6_d.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/CtB1c492.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/Cx-e2Cok.js | 1 - .../nuxt/.nuxt/dist/client/_nuxt/D9HxoMhB.js | 1 - .../client/_nuxt/{CnuHOwQV.js => DA87FDpn.js} | 2 +- .../nuxt/.nuxt/dist/client/_nuxt/DL330dAC.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/DNKl-FHZ.js | 1 - .../nuxt/.nuxt/dist/client/_nuxt/DQJ7bpDC.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/DSu8q42f.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/Dm32cczg.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/EIJPD_ga.js | 1 - .../nuxt/.nuxt/dist/client/_nuxt/FZLr1rN5.js | 1 - .../nuxt/.nuxt/dist/client/_nuxt/GZxzc1Rc.js | 1 - .../client/_nuxt/{CnkSDgVO.js => R6fio73R.js} | 2 +- .../nuxt/.nuxt/dist/client/_nuxt/UoJ1COMF.js | 1 - .../.nuxt/dist/client/_nuxt/apps.B7hnJBQU.css | 1 - .../.nuxt/dist/client/_nuxt/apps.BKS_pLby.css | 1 + .../dist/client/_nuxt/entry.BUc396Qi.css | 1 - .../dist/client/_nuxt/entry.CZS29VBu.css | 1 + .../nuxt/.nuxt/dist/client/_nuxt/lLLegusN.js | 1 - .../client/_nuxt/systemconfig.CKZLIXAY.css | 1 + .../client/_nuxt/systemconfig.DaWusDMu.css | 1 - .../client/_nuxt/{DpWhlKu2.js => tlYhbUA5.js} | 2 +- .../client/_nuxt/{BroHRKpP.js => uI9fc-sC.js} | 2 +- .../nuxt/.nuxt/dist/client/_nuxt/uwVesjjP.js | 1 - .../nuxt/.nuxt/dist/client/_nuxt/vesedpp3.js | 7 - .../nuxt/.nuxt/dist/client/_nuxt/y51pRzN1.js | 1 + .../nuxt/.nuxt/dist/client/_nuxt/yUUyh6cG.js | 1 - .../_nuxt/accounts-BlBS367g.js.map.json | 1 - ...ounts-BlBS367g.js => accounts-DMzzARF9.js} | 9 +- ...BS367g.js.map => accounts-DMzzARF9.js.map} | 2 +- .../_nuxt/accounts-DMzzARF9.js.map.json | 1 + ...nfig-b7qb0UVr.js => appconfig-DgyZbLy-.js} | 9 +- ...b0UVr.js.map => appconfig-DgyZbLy-.js.map} | 2 +- .../_nuxt/appconfig-DgyZbLy-.js.map.json | 1 + .../_nuxt/appconfig-b7qb0UVr.js.map.json | 1 - .../.nuxt/dist/server/_nuxt/apps-DkgvJNjV.js | 268 ------------- .../dist/server/_nuxt/apps-DkgvJNjV.js.map | 1 - .../server/_nuxt/apps-DkgvJNjV.js.map.json | 1 - .../.nuxt/dist/server/_nuxt/apps-M35AvXEe.js | 305 +++++++++++++++ .../dist/server/_nuxt/apps-M35AvXEe.js.map | 1 + .../server/_nuxt/apps-M35AvXEe.js.map.json | 1 + .../_nuxt/apps-styles-1.mjs-B1MkzUEk.js | 5 + .../_nuxt/apps-styles-1.mjs-B1MkzUEk.js.map | 1 + .../apps-styles-1.mjs-B1MkzUEk.js.map.json | 1 + .../_nuxt/apps-styles-1.mjs-BfSytJy7.js | 5 - .../_nuxt/apps-styles-1.mjs-BfSytJy7.js.map | 1 - .../apps-styles-1.mjs-BfSytJy7.js.map.json | 1 - .../server/_nuxt/apps-styles._bNp0Sh6.mjs | 4 - .../server/_nuxt/apps-styles.ohrc3N5k.mjs | 4 + .../_nuxt/calltranslate-B1hhAqN7.js.map.json | 1 - ...-B1hhAqN7.js => calltranslate-Bavowmkg.js} | 9 +- ...7.js.map => calltranslate-Bavowmkg.js.map} | 2 +- .../_nuxt/calltranslate-Bavowmkg.js.map.json | 1 + .../server/_nuxt/code-BQgGcfFH.js.map.json | 1 - .../{code-BQgGcfFH.js => code-RXZTcCgt.js} | 9 +- ...e-BQgGcfFH.js.map => code-RXZTcCgt.js.map} | 2 +- .../server/_nuxt/code-RXZTcCgt.js.map.json | 1 + .../_nuxt/dashboard-BeG8w5Q7.js.map.json | 1 - ...oard-BeG8w5Q7.js => dashboard-C1ojHDcl.js} | 7 +- ...8w5Q7.js.map => dashboard-C1ojHDcl.js.map} | 2 +- .../_nuxt/dashboard-C1ojHDcl.js.map.json | 1 + .../server/_nuxt/default-DDIg74_f.js.map.json | 1 - ...efault-DDIg74_f.js => default-Vvv7KKiT.js} | 7 +- ...DIg74_f.js.map => default-Vvv7KKiT.js.map} | 2 +- .../server/_nuxt/default-Vvv7KKiT.js.map.json | 1 + ...{device-CraC512i.js => device-CfQFMgWh.js} | 9 +- ...CraC512i.js.map => device-CfQFMgWh.js.map} | 2 +- .../server/_nuxt/device-CfQFMgWh.js.map.json | 1 + .../server/_nuxt/device-CraC512i.js.map.json | 1 - ...s-SWB_O04K.js => environments-COih38_P.js} | 9 +- ...4K.js.map => environments-COih38_P.js.map} | 2 +- .../_nuxt/environments-COih38_P.js.map.json | 1 + .../_nuxt/environments-SWB_O04K.js.map.json | 1 - .../server/_nuxt/factory-C8vqM9Rd.js.map.json | 1 - ...actory-C8vqM9Rd.js => factory-L6nRQ1NO.js} | 9 +- ...8vqM9Rd.js.map => factory-L6nRQ1NO.js.map} | 2 +- .../server/_nuxt/factory-L6nRQ1NO.js.map.json | 1 + ...g-VTDKVQk0.js => globalconfig-B_Ujsbj7.js} | 9 +- ...k0.js.map => globalconfig-B_Ujsbj7.js.map} | 2 +- .../_nuxt/globalconfig-B_Ujsbj7.js.map.json | 1 + .../_nuxt/globalconfig-VTDKVQk0.js.map.json | 1 - ...nfig-CBH98Fue.js => mcpconfig-BqT6PWeV.js} | 11 +- ...98Fue.js.map => mcpconfig-BqT6PWeV.js.map} | 2 +- .../_nuxt/mcpconfig-BqT6PWeV.js.map.json | 1 + .../_nuxt/mcpconfig-CBH98Fue.js.map.json | 1 - .../_nuxt/meettemplates-JHBZiczV.js.map.json | 1 - ...-JHBZiczV.js => meettemplates-dtbgdbi_.js} | 16 +- ...V.js.map => meettemplates-dtbgdbi_.js.map} | 2 +- .../_nuxt/meettemplates-dtbgdbi_.js.map.json | 1 + .../server/_nuxt/product-B4xMZxup.js.map.json | 1 - ...roduct-B4xMZxup.js => product-DhA82rI2.js} | 9 +- ...4xMZxup.js.map => product-DhA82rI2.js.map} | 2 +- .../server/_nuxt/product-DhA82rI2.js.map.json | 1 + .../_nuxt/serviceconfig-DRqotJ7A.js.map.json | 1 - ...-DRqotJ7A.js => serviceconfig-PSQWGwHl.js} | 9 +- ...A.js.map => serviceconfig-PSQWGwHl.js.map} | 2 +- .../_nuxt/serviceconfig-PSQWGwHl.js.map.json | 1 + .../dist/server/_nuxt/state-DQnwRar-.js.map | 1 - .../server/_nuxt/state-DQnwRar-.js.map.json | 1 - .../server/_nuxt/statlog-DjkPa7zJ.js.map.json | 1 - ...tatlog-DjkPa7zJ.js => statlog-xUDxfuTM.js} | 9 +- ...jkPa7zJ.js.map => statlog-xUDxfuTM.js.map} | 2 +- .../server/_nuxt/statlog-xUDxfuTM.js.map.json | 1 + ...g-C0cMeH0T.js => systemconfig-BxuoO47G.js} | 110 +++--- .../server/_nuxt/systemconfig-BxuoO47G.js.map | 1 + .../_nuxt/systemconfig-BxuoO47G.js.map.json | 1 + .../server/_nuxt/systemconfig-C0cMeH0T.js.map | 1 - .../_nuxt/systemconfig-C0cMeH0T.js.map.json | 1 - .../systemconfig-styles-1.mjs-DGb_v6ce.js | 5 - .../systemconfig-styles-1.mjs-DGb_v6ce.js.map | 1 - ...emconfig-styles-1.mjs-DGb_v6ce.js.map.json | 1 - .../systemconfig-styles-1.mjs-vDeRkNiI.js | 5 + .../systemconfig-styles-1.mjs-vDeRkNiI.js.map | 1 + ...emconfig-styles-1.mjs-vDeRkNiI.js.map.json | 1 + .../_nuxt/systemconfig-styles.DgvtwCbS.mjs | 4 - .../_nuxt/systemconfig-styles.DnVf-Xpn.mjs | 4 + .../dist/server/_nuxt/useApi-B6h53Mkt.js.map | 1 - .../server/_nuxt/useApi-B6h53Mkt.js.map.json | 1 - ...{useApi-B6h53Mkt.js => useApi-DMQewX5_.js} | 16 +- .../dist/server/_nuxt/useApi-DMQewX5_.js.map | 1 + .../server/_nuxt/useApi-DMQewX5_.js.map.json | 1 + ...ate-DQnwRar-.js => useLoading-D4zrSa2m.js} | 18 +- .../server/_nuxt/useLoading-D4zrSa2m.js.map | 1 + .../_nuxt/useLoading-D4zrSa2m.js.map.json | 1 + .../dist/server/_nuxt/useLoading-D6mc40Wj.js | 17 - .../server/_nuxt/useLoading-D6mc40Wj.js.map | 1 - .../_nuxt/useLoading-D6mc40Wj.js.map.json | 1 - ...Toast-C76a6bSX.js => useToast-CS21XT61.js} | 4 +- ...6a6bSX.js.map => useToast-CS21XT61.js.map} | 2 +- ...map.json => useToast-CS21XT61.js.map.json} | 2 +- .../server/_nuxt/users-CqhWenqn.js.map.json | 1 - .../{users-CqhWenqn.js => users-Nuh0129J.js} | 9 +- ...-CqhWenqn.js.map => users-Nuh0129J.js.map} | 2 +- .../server/_nuxt/users-Nuh0129J.js.map.json | 1 + .../.nuxt/dist/server/client.manifest.mjs | 2 +- .../.nuxt/dist/server/client.precomputed.mjs | 2 +- .../.cache/nuxt/.nuxt/dist/server/server.mjs | 36 +- .../.cache/nuxt/.nuxt/dist/server/styles.mjs | 10 +- .../.cache/nuxt/.nuxt/manifest/latest.json | 2 +- .../1539df2f-ed1e-4567-85ef-b3b4ac8648ab.json | 1 - .../1b101b0e-fb32-40fd-adf2-8e9d1b2f43f3.json | 1 + .../node_modules/.cache/nuxt/.nuxt/nuxt.d.ts | 4 +- .../.cache/nuxt/.nuxt/nuxt.node.d.ts | 4 +- .../.cache/nuxt/.nuxt/tailwind/postcss.mjs | 2 +- .../.cache/nuxt/.nuxt/tsconfig.app.json | 2 +- .../.cache/nuxt/.nuxt/tsconfig.json | 2 +- .../.cache/nuxt/.nuxt/tsconfig.shared.json | 2 +- apps/services/comm/moduleconfig.go | 11 +- apps/services/modules/console/api_device.go | 25 +- apps/services/modules/console/api_upload.go | 167 +++++++++ apps/services/modules/console/deploy_exec.go | 8 +- apps/services/modules/console/server.go | 5 +- .../services/modules/gateway/wservice_comp.go | 4 +- apps/services/services/console/main.go | 9 +- apps/services/sys/aliyun/oss/oss.go | 35 ++ apps/services/sys/email/email.go | 4 + apps/services/sys/email/options.go | 1 + apps/services/sys/email/resend.go | 100 +++++ deploy/admin/deploy.sh | 4 +- deploy/admin/dev-deploy.sh | 2 +- deploy/admin/prod-deploy.sh | 4 +- deploy/console/dev-deploy.sh | 2 +- deploy/console/prod-deploy.sh | 4 +- deploy/voitrans/dev-deploy.sh | 2 +- deploy/voitrans/prod-deploy.sh | 2 +- 333 files changed, 1828 insertions(+), 1362 deletions(-) create mode 100644 apps/admin/.output/public/_nuxt/-beHFMDW.js create mode 100644 apps/admin/.output/public/_nuxt/6VNdSi_V.js delete mode 100644 apps/admin/.output/public/_nuxt/9B2ftqmN.js create mode 100644 apps/admin/.output/public/_nuxt/B2Vd1HRg.js create mode 100644 apps/admin/.output/public/_nuxt/B3ocY-Ie.js delete mode 100644 apps/admin/.output/public/_nuxt/BIBu1qhq.js delete mode 100644 apps/admin/.output/public/_nuxt/BVGGsVu4.js create mode 100644 apps/admin/.output/public/_nuxt/BYskkv1s.js delete mode 100644 apps/admin/.output/public/_nuxt/B_JvM6BO.js create mode 100644 apps/admin/.output/public/_nuxt/B_WQdNTA.js rename apps/admin/.output/public/_nuxt/{1YPtusTp.js => B_rTis4D.js} (71%) delete mode 100644 apps/admin/.output/public/_nuxt/BeU4EYjt.js create mode 100644 apps/admin/.output/public/_nuxt/BjeKh_cp.js delete mode 100644 apps/admin/.output/public/_nuxt/Bxcdr2qc.js create mode 100644 apps/admin/.output/public/_nuxt/C1U0GWax.js create mode 100644 apps/admin/.output/public/_nuxt/C1a5GrA3.js delete mode 100644 apps/admin/.output/public/_nuxt/C2sLAWj2.js create mode 100644 apps/admin/.output/public/_nuxt/C4pFFOT7.js create mode 100644 apps/admin/.output/public/_nuxt/CEy0BeiT.js delete mode 100644 apps/admin/.output/public/_nuxt/CF8arGVK.js rename apps/admin/.output/public/_nuxt/{Bi5c3E0c.js => CHwWlLZM.js} (56%) create mode 100644 apps/admin/.output/public/_nuxt/CMwGY1Mu.js delete mode 100644 apps/admin/.output/public/_nuxt/CZnZfJ5f.js rename apps/admin/.output/public/_nuxt/{P2ZWRt51.js => C_4yneL9.js} (96%) rename apps/admin/.output/public/_nuxt/{Cy8zKM7T.js => C_DpaApf.js} (71%) rename apps/admin/.output/public/_nuxt/{CTAruH_8.js => CfpW9SkI.js} (80%) create mode 100644 apps/admin/.output/public/_nuxt/CgB4v6_d.js create mode 100644 apps/admin/.output/public/_nuxt/CtB1c492.js delete mode 100644 apps/admin/.output/public/_nuxt/Cx-e2Cok.js delete mode 100644 apps/admin/.output/public/_nuxt/D9HxoMhB.js rename apps/admin/.output/public/_nuxt/{CnuHOwQV.js => DA87FDpn.js} (95%) create mode 100644 apps/admin/.output/public/_nuxt/DL330dAC.js delete mode 100644 apps/admin/.output/public/_nuxt/DNKl-FHZ.js create mode 100644 apps/admin/.output/public/_nuxt/DQJ7bpDC.js create mode 100644 apps/admin/.output/public/_nuxt/DSu8q42f.js create mode 100644 apps/admin/.output/public/_nuxt/Dm32cczg.js delete mode 100644 apps/admin/.output/public/_nuxt/EIJPD_ga.js delete mode 100644 apps/admin/.output/public/_nuxt/FZLr1rN5.js delete mode 100644 apps/admin/.output/public/_nuxt/GZxzc1Rc.js rename apps/admin/.output/public/_nuxt/{CnkSDgVO.js => R6fio73R.js} (98%) delete mode 100644 apps/admin/.output/public/_nuxt/UoJ1COMF.js delete mode 100644 apps/admin/.output/public/_nuxt/apps.B7hnJBQU.css create mode 100644 apps/admin/.output/public/_nuxt/apps.BKS_pLby.css delete mode 100644 apps/admin/.output/public/_nuxt/builds/meta/1539df2f-ed1e-4567-85ef-b3b4ac8648ab.json create mode 100644 apps/admin/.output/public/_nuxt/builds/meta/1b101b0e-fb32-40fd-adf2-8e9d1b2f43f3.json delete mode 100644 apps/admin/.output/public/_nuxt/entry.BUc396Qi.css create mode 100644 apps/admin/.output/public/_nuxt/entry.CZS29VBu.css delete mode 100644 apps/admin/.output/public/_nuxt/lLLegusN.js create mode 100644 apps/admin/.output/public/_nuxt/systemconfig.CKZLIXAY.css delete mode 100644 apps/admin/.output/public/_nuxt/systemconfig.DaWusDMu.css rename apps/admin/.output/public/_nuxt/{DpWhlKu2.js => tlYhbUA5.js} (80%) rename apps/admin/.output/public/_nuxt/{BroHRKpP.js => uI9fc-sC.js} (94%) delete mode 100644 apps/admin/.output/public/_nuxt/uwVesjjP.js delete mode 100644 apps/admin/.output/public/_nuxt/vesedpp3.js create mode 100644 apps/admin/.output/public/_nuxt/y51pRzN1.js delete mode 100644 apps/admin/.output/public/_nuxt/yUUyh6cG.js delete mode 100644 apps/admin/.output/server/chunks/build/accounts-BlBS367g.mjs.map rename apps/admin/.output/server/chunks/build/{accounts-BlBS367g.mjs => accounts-DMzzARF9.mjs} (98%) create mode 100644 apps/admin/.output/server/chunks/build/accounts-DMzzARF9.mjs.map rename apps/admin/.output/server/chunks/build/{appconfig-b7qb0UVr.mjs => appconfig-DgyZbLy-.mjs} (98%) create mode 100644 apps/admin/.output/server/chunks/build/appconfig-DgyZbLy-.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/appconfig-b7qb0UVr.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/apps-DkgvJNjV.mjs delete mode 100644 apps/admin/.output/server/chunks/build/apps-DkgvJNjV.mjs.map create mode 100644 apps/admin/.output/server/chunks/build/apps-M35AvXEe.mjs create mode 100644 apps/admin/.output/server/chunks/build/apps-M35AvXEe.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/apps-styles._bNp0Sh6.mjs delete mode 100644 apps/admin/.output/server/chunks/build/apps-styles._bNp0Sh6.mjs.map create mode 100644 apps/admin/.output/server/chunks/build/apps-styles.ohrc3N5k.mjs create mode 100644 apps/admin/.output/server/chunks/build/apps-styles.ohrc3N5k.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/calltranslate-B1hhAqN7.mjs.map rename apps/admin/.output/server/chunks/build/{calltranslate-B1hhAqN7.mjs => calltranslate-Bavowmkg.mjs} (98%) create mode 100644 apps/admin/.output/server/chunks/build/calltranslate-Bavowmkg.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/code-BQgGcfFH.mjs.map rename apps/admin/.output/server/chunks/build/{code-BQgGcfFH.mjs => code-RXZTcCgt.mjs} (97%) create mode 100644 apps/admin/.output/server/chunks/build/code-RXZTcCgt.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/dashboard-BeG8w5Q7.mjs.map rename apps/admin/.output/server/chunks/build/{dashboard-BeG8w5Q7.mjs => dashboard-C1ojHDcl.mjs} (99%) create mode 100644 apps/admin/.output/server/chunks/build/dashboard-C1ojHDcl.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/default-DDIg74_f.mjs.map rename apps/admin/.output/server/chunks/build/{default-DDIg74_f.mjs => default-Vvv7KKiT.mjs} (98%) create mode 100644 apps/admin/.output/server/chunks/build/default-Vvv7KKiT.mjs.map rename apps/admin/.output/server/chunks/build/{device-CraC512i.mjs => device-CfQFMgWh.mjs} (99%) create mode 100644 apps/admin/.output/server/chunks/build/device-CfQFMgWh.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/device-CraC512i.mjs.map rename apps/admin/.output/server/chunks/build/{environments-SWB_O04K.mjs => environments-COih38_P.mjs} (98%) create mode 100644 apps/admin/.output/server/chunks/build/environments-COih38_P.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/environments-SWB_O04K.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/factory-C8vqM9Rd.mjs.map rename apps/admin/.output/server/chunks/build/{factory-C8vqM9Rd.mjs => factory-L6nRQ1NO.mjs} (96%) create mode 100644 apps/admin/.output/server/chunks/build/factory-L6nRQ1NO.mjs.map rename apps/admin/.output/server/chunks/build/{globalconfig-VTDKVQk0.mjs => globalconfig-B_Ujsbj7.mjs} (97%) create mode 100644 apps/admin/.output/server/chunks/build/globalconfig-B_Ujsbj7.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/globalconfig-VTDKVQk0.mjs.map rename apps/admin/.output/server/chunks/build/{mcpconfig-CBH98Fue.mjs => mcpconfig-BqT6PWeV.mjs} (97%) create mode 100644 apps/admin/.output/server/chunks/build/mcpconfig-BqT6PWeV.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/mcpconfig-CBH98Fue.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/meettemplates-JHBZiczV.mjs.map rename apps/admin/.output/server/chunks/build/{meettemplates-JHBZiczV.mjs => meettemplates-dtbgdbi_.mjs} (95%) create mode 100644 apps/admin/.output/server/chunks/build/meettemplates-dtbgdbi_.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/product-B4xMZxup.mjs.map rename apps/admin/.output/server/chunks/build/{product-B4xMZxup.mjs => product-DhA82rI2.mjs} (98%) create mode 100644 apps/admin/.output/server/chunks/build/product-DhA82rI2.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/serviceconfig-DRqotJ7A.mjs.map rename apps/admin/.output/server/chunks/build/{serviceconfig-DRqotJ7A.mjs => serviceconfig-PSQWGwHl.mjs} (99%) create mode 100644 apps/admin/.output/server/chunks/build/serviceconfig-PSQWGwHl.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/state-DQnwRar-.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/statlog-DjkPa7zJ.mjs.map rename apps/admin/.output/server/chunks/build/{statlog-DjkPa7zJ.mjs => statlog-xUDxfuTM.mjs} (97%) create mode 100644 apps/admin/.output/server/chunks/build/statlog-xUDxfuTM.mjs.map rename apps/admin/.output/server/chunks/build/{systemconfig-C0cMeH0T.mjs => systemconfig-BxuoO47G.mjs} (55%) create mode 100644 apps/admin/.output/server/chunks/build/systemconfig-BxuoO47G.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/systemconfig-C0cMeH0T.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/systemconfig-styles.DgvtwCbS.mjs delete mode 100644 apps/admin/.output/server/chunks/build/systemconfig-styles.DgvtwCbS.mjs.map create mode 100644 apps/admin/.output/server/chunks/build/systemconfig-styles.DnVf-Xpn.mjs create mode 100644 apps/admin/.output/server/chunks/build/systemconfig-styles.DnVf-Xpn.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/useApi-B6h53Mkt.mjs.map rename apps/admin/.output/server/chunks/build/{useApi-B6h53Mkt.mjs => useApi-DMQewX5_.mjs} (77%) create mode 100644 apps/admin/.output/server/chunks/build/useApi-DMQewX5_.mjs.map rename apps/admin/.output/server/chunks/build/{state-DQnwRar-.mjs => useLoading-D4zrSa2m.mjs} (69%) create mode 100644 apps/admin/.output/server/chunks/build/useLoading-D4zrSa2m.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/useLoading-D6mc40Wj.mjs delete mode 100644 apps/admin/.output/server/chunks/build/useLoading-D6mc40Wj.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/useToast-C76a6bSX.mjs.map rename apps/admin/.output/server/chunks/build/{useToast-C76a6bSX.mjs => useToast-CS21XT61.mjs} (86%) create mode 100644 apps/admin/.output/server/chunks/build/useToast-CS21XT61.mjs.map delete mode 100644 apps/admin/.output/server/chunks/build/users-CqhWenqn.mjs.map rename apps/admin/.output/server/chunks/build/{users-CqhWenqn.mjs => users-Nuh0129J.mjs} (97%) create mode 100644 apps/admin/.output/server/chunks/build/users-Nuh0129J.mjs.map create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/-beHFMDW.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/6VNdSi_V.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/9B2ftqmN.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B2Vd1HRg.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B3ocY-Ie.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BIBu1qhq.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BVGGsVu4.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BYskkv1s.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B_JvM6BO.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B_WQdNTA.js rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/{1YPtusTp.js => B_rTis4D.js} (71%) delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BeU4EYjt.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BjeKh_cp.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Bxcdr2qc.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C1U0GWax.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C1a5GrA3.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C2sLAWj2.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C4pFFOT7.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CEy0BeiT.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CF8arGVK.js rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/{Bi5c3E0c.js => CHwWlLZM.js} (56%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CMwGY1Mu.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CZnZfJ5f.js rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/{P2ZWRt51.js => C_4yneL9.js} (96%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/{Cy8zKM7T.js => C_DpaApf.js} (71%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/{CTAruH_8.js => CfpW9SkI.js} (80%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CgB4v6_d.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CtB1c492.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Cx-e2Cok.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/D9HxoMhB.js rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/{CnuHOwQV.js => DA87FDpn.js} (95%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DL330dAC.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DNKl-FHZ.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DQJ7bpDC.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DSu8q42f.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Dm32cczg.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/EIJPD_ga.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/FZLr1rN5.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/GZxzc1Rc.js rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/{CnkSDgVO.js => R6fio73R.js} (98%) delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/UoJ1COMF.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/apps.B7hnJBQU.css create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/apps.BKS_pLby.css delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/entry.BUc396Qi.css create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/entry.CZS29VBu.css delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/lLLegusN.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/systemconfig.CKZLIXAY.css delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/systemconfig.DaWusDMu.css rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/{DpWhlKu2.js => tlYhbUA5.js} (80%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/{BroHRKpP.js => uI9fc-sC.js} (94%) delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/uwVesjjP.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/vesedpp3.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/y51pRzN1.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/yUUyh6cG.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-BlBS367g.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{accounts-BlBS367g.js => accounts-DMzzARF9.js} (98%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{accounts-BlBS367g.js.map => accounts-DMzzARF9.js.map} (79%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-DMzzARF9.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{appconfig-b7qb0UVr.js => appconfig-DgyZbLy-.js} (98%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{appconfig-b7qb0UVr.js.map => appconfig-DgyZbLy-.js.map} (77%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-DgyZbLy-.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-b7qb0UVr.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-DkgvJNjV.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-DkgvJNjV.js.map delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-DkgvJNjV.js.map.json create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-M35AvXEe.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-M35AvXEe.js.map create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-M35AvXEe.js.map.json create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-B1MkzUEk.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-B1MkzUEk.js.map create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-B1MkzUEk.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-BfSytJy7.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-BfSytJy7.js.map delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-BfSytJy7.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles._bNp0Sh6.mjs create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles.ohrc3N5k.mjs delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-B1hhAqN7.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{calltranslate-B1hhAqN7.js => calltranslate-Bavowmkg.js} (98%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{calltranslate-B1hhAqN7.js.map => calltranslate-Bavowmkg.js.map} (77%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-Bavowmkg.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-BQgGcfFH.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{code-BQgGcfFH.js => code-RXZTcCgt.js} (98%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{code-BQgGcfFH.js.map => code-RXZTcCgt.js.map} (84%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-RXZTcCgt.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-BeG8w5Q7.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{dashboard-BeG8w5Q7.js => dashboard-C1ojHDcl.js} (99%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{dashboard-BeG8w5Q7.js.map => dashboard-C1ojHDcl.js.map} (74%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-C1ojHDcl.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-DDIg74_f.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{default-DDIg74_f.js => default-Vvv7KKiT.js} (98%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{default-DDIg74_f.js.map => default-Vvv7KKiT.js.map} (73%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-Vvv7KKiT.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{device-CraC512i.js => device-CfQFMgWh.js} (99%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{device-CraC512i.js.map => device-CfQFMgWh.js.map} (83%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CfQFMgWh.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CraC512i.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{environments-SWB_O04K.js => environments-COih38_P.js} (98%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{environments-SWB_O04K.js.map => environments-COih38_P.js.map} (84%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-COih38_P.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-SWB_O04K.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-C8vqM9Rd.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{factory-C8vqM9Rd.js => factory-L6nRQ1NO.js} (97%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{factory-C8vqM9Rd.js.map => factory-L6nRQ1NO.js.map} (85%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-L6nRQ1NO.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{globalconfig-VTDKVQk0.js => globalconfig-B_Ujsbj7.js} (97%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{globalconfig-VTDKVQk0.js.map => globalconfig-B_Ujsbj7.js.map} (78%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-B_Ujsbj7.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-VTDKVQk0.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{mcpconfig-CBH98Fue.js => mcpconfig-BqT6PWeV.js} (97%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{mcpconfig-CBH98Fue.js.map => mcpconfig-BqT6PWeV.js.map} (59%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-BqT6PWeV.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-CBH98Fue.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-JHBZiczV.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{meettemplates-JHBZiczV.js => meettemplates-dtbgdbi_.js} (96%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{meettemplates-JHBZiczV.js.map => meettemplates-dtbgdbi_.js.map} (52%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-dtbgdbi_.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-B4xMZxup.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{product-B4xMZxup.js => product-DhA82rI2.js} (98%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{product-B4xMZxup.js.map => product-DhA82rI2.js.map} (70%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-DhA82rI2.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-DRqotJ7A.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{serviceconfig-DRqotJ7A.js => serviceconfig-PSQWGwHl.js} (99%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{serviceconfig-DRqotJ7A.js.map => serviceconfig-PSQWGwHl.js.map} (81%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-PSQWGwHl.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/state-DQnwRar-.js.map delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/state-DQnwRar-.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-DjkPa7zJ.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{statlog-DjkPa7zJ.js => statlog-xUDxfuTM.js} (98%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{statlog-DjkPa7zJ.js.map => statlog-xUDxfuTM.js.map} (73%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-xUDxfuTM.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{systemconfig-C0cMeH0T.js => systemconfig-BxuoO47G.js} (57%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-BxuoO47G.js.map create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-BxuoO47G.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-C0cMeH0T.js.map delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-C0cMeH0T.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-styles-1.mjs-DGb_v6ce.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-styles-1.mjs-DGb_v6ce.js.map delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-styles-1.mjs-DGb_v6ce.js.map.json create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-styles-1.mjs-vDeRkNiI.js create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-styles-1.mjs-vDeRkNiI.js.map create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-styles-1.mjs-vDeRkNiI.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-styles.DgvtwCbS.mjs create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-styles.DnVf-Xpn.mjs delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/useApi-B6h53Mkt.js.map delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/useApi-B6h53Mkt.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{useApi-B6h53Mkt.js => useApi-DMQewX5_.js} (77%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/useApi-DMQewX5_.js.map create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/useApi-DMQewX5_.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{state-DQnwRar-.js => useLoading-D4zrSa2m.js} (70%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/useLoading-D4zrSa2m.js.map create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/useLoading-D4zrSa2m.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/useLoading-D6mc40Wj.js delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/useLoading-D6mc40Wj.js.map delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/useLoading-D6mc40Wj.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{useToast-C76a6bSX.js => useToast-CS21XT61.js} (86%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{useToast-C76a6bSX.js.map => useToast-CS21XT61.js.map} (94%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{useToast-C76a6bSX.js.map.json => useToast-CS21XT61.js.map.json} (94%) delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/users-CqhWenqn.js.map.json rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{users-CqhWenqn.js => users-Nuh0129J.js} (98%) rename apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/{users-CqhWenqn.js.map => users-Nuh0129J.js.map} (73%) create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/users-Nuh0129J.js.map.json delete mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/manifest/meta/1539df2f-ed1e-4567-85ef-b3b4ac8648ab.json create mode 100644 apps/admin/node_modules/.cache/nuxt/.nuxt/manifest/meta/1b101b0e-fb32-40fd-adf2-8e9d1b2f43f3.json create mode 100644 apps/services/modules/console/api_upload.go create mode 100644 apps/services/sys/email/resend.go diff --git a/apps/admin/.output/nitro.json b/apps/admin/.output/nitro.json index 666326a7..0c058ba6 100644 --- a/apps/admin/.output/nitro.json +++ b/apps/admin/.output/nitro.json @@ -1,5 +1,5 @@ { - "date": "2026-07-02T12:24:29.523Z", + "date": "2026-07-07T06:47:48.522Z", "preset": "node-server", "framework": { "name": "nuxt", diff --git a/apps/admin/.output/public/_nuxt/-beHFMDW.js b/apps/admin/.output/public/_nuxt/-beHFMDW.js new file mode 100644 index 00000000..81279209 --- /dev/null +++ b/apps/admin/.output/public/_nuxt/-beHFMDW.js @@ -0,0 +1 @@ +import{g as ue,x as A,j as ce,c as o,k as i,v as L,a as e,l as g,F as h,r as C,t as r,D as H,m as v,p as S,d as O,q as Q,s as m,A as me,o as a,n as be}from"./CfpW9SkI.js";import{u as pe}from"./DSu8q42f.js";import{u as ve}from"./CMwGY1Mu.js";import"./DL330dAC.js";const fe={class:"flex items-center justify-between mb-5"},ge={class:"bg-white rounded-xl shadow-sm border border-slate-100"},xe={class:"overflow-x-auto"},ye={class:"table table-zebra text-sm"},we={key:0},ke={key:1},he={class:"font-mono text-sm"},_e=["src"],Ve={key:1,class:"w-10 h-10 rounded bg-slate-100 flex items-center justify-center text-slate-300"},Ce={class:"font-medium"},Ue={class:"badge badge-outline badge-sm"},Ee={class:"text-sm"},Ie={key:0},Ne={key:1,class:"text-slate-300"},De={class:"text-xs text-slate-500"},$e={class:"flex gap-1"},Le=["onClick"],Se=["onClick"],Be=["onClick"],Fe={class:"flex items-center gap-3 mb-5"},Me={class:"text-lg font-semibold text-slate-800"},Te={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},je={class:"form-control mb-4"},ze={class:"grid grid-cols-2 gap-4 mb-4"},Ae={class:"form-control"},Oe=["value"],Pe={class:"form-control"},qe=["value"],Je={class:"grid grid-cols-2 gap-4 mb-4"},Ke={class:"form-control"},Ye={class:"form-control"},He={class:"grid grid-cols-2 gap-4 mb-4"},Qe={class:"form-control"},Re={class:"mb-4"},Ge={class:"grid grid-cols-3 gap-4"},We={class:"form-control"},Xe={class:"form-control"},Ze={class:"form-control"},et={class:"form-control mb-4"},tt={class:"flex items-start gap-4"},st={class:"flex-1"},lt={class:"flex items-center gap-2"},nt=["disabled"],ot={key:0,class:"loading loading-spinner loading-xs"},at={key:0},it=["src"],dt={class:"grid grid-cols-3 gap-4 mb-4"},rt={class:"form-control"},ut={class:"form-control"},ct={class:"form-control"},mt={class:"grid grid-cols-3 gap-3 mb-6"},bt=["onUpdate:modelValue"],pt={class:"text-sm"},vt={class:"flex gap-3"},ft=["disabled"],gt={key:0,class:"loading loading-spinner loading-xs"},xt={class:"flex items-center gap-3 mb-5"},yt={class:"text-lg font-semibold text-slate-800"},wt={key:0,class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4 mb-5"},kt={class:"flex items-center gap-6 text-sm flex-wrap"},ht={class:"font-mono"},_t={class:"badge badge-primary badge-sm"},Vt={class:"text-xs"},Ct={class:"text-xs max-w-md truncate"},Ut={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5 mb-5"},Et={class:"grid grid-cols-2 gap-4 mb-3"},It={class:"form-control"},Nt={class:"form-control"},Dt={class:"form-control mb-3"},$t={class:"flex items-center gap-3"},Lt={class:"flex items-center gap-2 cursor-pointer"},St=["disabled"],Bt={key:0,class:"loading loading-spinner loading-xs"},Ft={class:"bg-white rounded-xl shadow-sm border border-slate-100"},Mt={class:"overflow-x-auto"},Tt={class:"table table-zebra text-sm"},jt={key:0},zt={key:0,class:"badge badge-success badge-xs ml-1"},At={class:"text-sm"},Ot={class:"text-xs text-slate-400 max-w-xs truncate"},Pt={class:"flex gap-1"},qt={key:0,class:"text-xs text-slate-400"},Jt=["onClick"],Kt=["onClick"],Wt=ue({__name:"product",setup(Yt){const{webApi:p,uploadFile:P}=pe(),{success:x,error:f,warn:B}=ve(),R={0:"未知",1:"经典蓝牙",2:"BLE双端",3:"BLE单端",4:"录音笔",5:"智能眼镜",6:"激活码卡片"},G={0:"未知",1:"经典蓝牙耳机",2:"BLE双端",3:"BLE单端",4:"智能录音笔",5:"智能眼镜",6:"激活码卡片"},y=[{key:"iscanbindagain",label:"可重复绑定奖励"},{key:"iscontinuouschat",label:"连续对话"},{key:"eqenable",label:"EQ 均衡器"},{key:"keyenable",label:"按键控制"},{key:"workmodeenable",label:"工作模式"},{key:"callmodeenable",label:"通话模式"},{key:"ledenable",label:"LED 灯"},{key:"finddeviceenable",label:"查找设备"},{key:"noisereductionenable",label:"降噪"},{key:"shutdownenable",label:"定时关机"},{key:"showcasebattery",label:"充电盒电量"},{key:"wakeupenable",label:"唤醒控制"},{key:"broadcastpeertranslate",label:"播报对方翻译"},{key:"hideaiassistant",label:"隐藏AI助手"}],w=m("list"),U=m([]),q=m({}),F=m([]),M=m(!1),E=m(!1),_=m(!1);function W(){const l={};return y.forEach(t=>{l[t.key]=!1}),l}const n=A({id:0,devicename:"",factoryid:0,devicetype:0,scanuuid:"",devicecodecount:1,productimage:"",channel:"official",bindrewardvpitime:0,bindrewardtranslate:0,bindrewardmeeting:0,toggles:W()}),c=A({platform_id:"",platform_key:"",tui:""});function J(l){return l?Number(l).toString(16).toUpperCase():""}function X(l){return y.filter(t=>!!l[t.key]).length}async function T(){M.value=!0;try{const l=await p("getfactorys",{}),t={};(l?.factorys??[]).forEach(b=>{t[b.id]=b.factory}),q.value=t;const s=await p("getproducts",{});U.value=s?.products??[]}catch(l){f(l?.message??"获取产品列表失败"),U.value=[]}finally{M.value=!1}}async function Z(){try{const l=await p("getfactorys",{});F.value=l?.factorys??[]}catch{F.value=[]}}function I(){w.value="list",T()}function K(l){if(Z(),l){_.value=!0,n.id=l.id,n.devicename=l.devicename||"",n.factoryid=l.factoryid||0,n.devicetype=l.devicetype||0,n.scanuuid=l.scanuuid||"",n.devicecodecount=l.devicecodecount===2?2:1,n.productimage=l.productimage||"",n.channel=l.channel||"official",n.bindrewardvpitime=l.bindrewardvpitime||0,n.bindrewardtranslate=l.bindrewardtranslate||0,n.bindrewardmeeting=l.bindrewardmeeting||0;let t={};try{t=l.channelextra?JSON.parse(l.channelextra):{}}catch{t={}}c.platform_id=t.platform_id||"",c.platform_key=t.platform_key||"",c.tui=t.tui||"",y.forEach(s=>{n.toggles[s.key]=!!l[s.key]})}else _.value=!1,n.id=0,n.devicename="",n.factoryid=0,n.devicetype=0,n.scanuuid="",n.devicecodecount=1,n.productimage="",n.channel="official",n.bindrewardvpitime=0,n.bindrewardtranslate=0,n.bindrewardmeeting=0,c.platform_id="",c.platform_key="",c.tui="",y.forEach(t=>{n.toggles[t.key]=!1});w.value="form"}async function ee(){E.value=!0;try{let l="";n.channel==="mobile"&&(l=JSON.stringify({platform_id:c.platform_id||"",platform_key:c.platform_key||"",tui:c.tui||""}));const t={devicename:n.devicename,factoryid:Number(n.factoryid)||0,devicetype:Number(n.devicetype)||0,scanuuid:n.scanuuid,devicecodecount:Number(n.devicecodecount)||1,productimage:n.productimage,channel:n.channel,channelextra:l,bindrewardvpitime:Number(n.bindrewardvpitime)||0,bindrewardtranslate:Number(n.bindrewardtranslate)||0,bindrewardmeeting:Number(n.bindrewardmeeting)||0};y.forEach(s=>{t[s.key]=n.toggles[s.key]}),_.value&&(t.id=Number(n.id)),await p(_.value?"updateproduct":"addproduct",{product:t}),x("保存成功"),I()}catch(l){f(l?.message??"保存失败")}finally{E.value=!1}}function te(l){window.confirm(`确定删除产品 "${l.devicename}" 吗?`)&&p("delproduct",{id:l.id}).then(()=>{x("已删除"),T()}).catch(t=>f(t?.message??"删除失败"))}const j=m(null),N=m(!1);function se(l){j.value=l.target.files?.[0]??null}async function le(){if(!j.value){B("请先选择图片");return}N.value=!0;try{const l=n.id?`product/${n.id}/images/`:"product/images/",t=await P(j.value,l);n.productimage=t,x("上传成功")}catch(l){f(l?.message??"上传失败")}finally{N.value=!1}}const d=m(null),V=m([]),D=m(!1),u=A({version:"",desc:"",isuse:!1}),k=m(null),ne=me(()=>!!u.version.trim()&&!!k.value);function z(l){return!!d.value?.versionid&&l.id===d.value.versionid}async function oe(l){w.value="version",d.value=null,V.value=[],u.version="",u.desc="",u.isuse=!1,k.value=null;try{const t=await p("getproduct",{id:l.id});d.value=t?.product??l}catch{d.value=l}await $(l.id)}async function $(l){try{const t=await p("getproductversions",{pid:l});V.value=t?.versions??[]}catch{V.value=[]}}function ae(l){k.value=l.target.files?.[0]??null}async function Y(l){if(!d.value)return f("产品信息未加载"),!1;const t={...d.value,versionid:l.id};try{await p("updateproduct",{product:t});const s=await p("getproduct",{id:t.id});return d.value=s?.product??t,!0}catch(s){return f(s?.message??"切换失败"),!1}}function ie(l){window.confirm(`确定将版本 "${l.version}" 设为当前使用版本?`)&&Y(l).then(t=>{t&&(x("切换成功"),d.value&&$(d.value.id))})}async function de(){const l=d.value?.id;if(!l){f("产品ID不存在");return}if(!u.version.trim()){B("请输入版本号");return}if(!k.value){B("请选择固件文件");return}D.value=!0;try{const t=await P(k.value,`product/${l}/`),s=await p("addproductversion",{version:{productid:l,version:u.version.trim(),description:u.desc,updatepackageaddress:t},isuse:!1});x("添加成功"),u.isuse&&s?.version&&await Y(s.version),u.version="",u.desc="",u.isuse=!1,k.value=null,await $(l)}catch(t){f(t?.message??"添加失败")}finally{D.value=!1}}function re(l){if(d.value?.versionid===l.id){f("不能删除当前使用中的版本");return}window.confirm("删除此版本?")&&p("delproductversion",{id:l.id}).then(()=>{x("已删除"),d.value&&$(d.value.id)}).catch(t=>f(t?.message??"删除失败"))}return ce(T),(l,t)=>(a(),o("div",null,[i(e("div",null,[e("div",fe,[t[20]||(t[20]=e("h2",{class:"text-lg font-semibold text-slate-800"},"产品列表",-1)),e("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=s=>K())},"+ 新增产品")]),e("div",ge,[e("div",xe,[e("table",ye,[t[24]||(t[24]=e("thead",null,[e("tr",null,[e("th",null,"ID"),e("th",null,"图片"),e("th",null,"名称"),e("th",null,"工厂"),e("th",null,"类型"),e("th",null,"版本"),e("th",null,"功能"),e("th",null,"操作")])],-1)),e("tbody",null,[M.value?(a(),o("tr",we,[...t[21]||(t[21]=[e("td",{colspan:"8",class:"text-center py-8"},[e("span",{class:"loading loading-spinner loading-sm"})],-1)])])):U.value.length?g("",!0):(a(),o("tr",ke,[...t[22]||(t[22]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])])),(a(!0),o(h,null,C(U.value,s=>(a(),o("tr",{key:s.id},[e("td",he,r(J(s.id)),1),e("td",null,[s.productimage?(a(),o("img",{key:0,src:s.productimage,class:"w-10 h-10 rounded object-cover"},null,8,_e)):(a(),o("div",Ve,[...t[23]||(t[23]=[e("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})],-1)])]))]),e("td",Ce,r(s.devicename),1),e("td",null,r(q.value[s.factoryid]||""),1),e("td",null,[e("span",Ue,r(R[s.devicetype]||s.devicetype),1)]),e("td",Ee,[s.version?(a(),o("span",Ie,r(s.version),1)):(a(),o("span",Ne,"-"))]),e("td",null,[e("span",De,r(X(s))+"/14",1)]),e("td",null,[e("div",$e,[e("button",{class:"btn btn-ghost btn-xs",onClick:b=>K(s)},"编辑",8,Le),e("button",{class:"btn btn-ghost btn-xs text-indigo-600",onClick:b=>oe(s)},"版本",8,Se),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:b=>te(s)},"删除",8,Be)])])]))),128))])])])])],512),[[L,w.value==="list"]]),i(e("div",null,[e("div",Fe,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[1]||(t[1]=s=>I())},"← 返回列表"),e("h2",Me,r(_.value?"编辑产品":"新增产品"),1)]),e("div",Te,[e("form",{onSubmit:H(ee,["prevent"])},[t[43]||(t[43]=e("h3",{class:"text-sm font-semibold text-slate-500 mb-3"},"基本信息",-1)),e("div",je,[t[25]||(t[25]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"产品名称 *")],-1)),i(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>n.devicename=s),type:"text",class:"input input-bordered w-full",required:""},null,512),[[v,n.devicename]])]),e("div",ze,[e("div",Ae,[t[27]||(t[27]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"所属工厂")],-1)),i(e("select",{"onUpdate:modelValue":t[3]||(t[3]=s=>n.factoryid=s),class:"select select-bordered w-full"},[t[26]||(t[26]=e("option",{value:0},"请选择",-1)),(a(!0),o(h,null,C(F.value,s=>(a(),o("option",{key:s.id,value:s.id},r(s.factory),9,Oe))),128))],512),[[S,n.factoryid,void 0,{number:!0}]])]),e("div",Pe,[t[28]||(t[28]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"设备类型")],-1)),i(e("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>n.devicetype=s),class:"select select-bordered w-full"},[(a(),o(h,null,C(G,(s,b)=>e("option",{key:b,value:Number(b)},r(s),9,qe)),64))],512),[[S,n.devicetype,void 0,{number:!0}]])])]),e("div",Je,[e("div",Ke,[t[29]||(t[29]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"扫描UUID")],-1)),i(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>n.scanuuid=s),type:"text",class:"input input-bordered w-full"},null,512),[[v,n.scanuuid]])]),e("div",Ye,[t[31]||(t[31]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"设备码数量(每副)")],-1)),i(e("select",{"onUpdate:modelValue":t[6]||(t[6]=s=>n.devicecodecount=s),class:"select select-bordered w-full"},[...t[30]||(t[30]=[e("option",{value:1},"单份 (1个/副)",-1),e("option",{value:2},"双份 (2个/副)",-1)])],512),[[S,n.devicecodecount,void 0,{number:!0}]])])]),e("div",He,[e("div",Qe,[t[33]||(t[33]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"渠道方")],-1)),i(e("select",{"onUpdate:modelValue":t[7]||(t[7]=s=>n.channel=s),class:"select select-bordered w-full"},[...t[32]||(t[32]=[e("option",{value:"official"},"官方",-1),e("option",{value:"mobile"},"移动",-1)])],512),[[S,n.channel]])])]),i(e("div",Re,[e("div",Ge,[e("div",We,[t[34]||(t[34]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"移动平台ID")],-1)),i(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>c.platform_id=s),type:"text",class:"input input-bordered w-full",placeholder:"移动平台分配的 ID"},null,512),[[v,c.platform_id]])]),e("div",Xe,[t[35]||(t[35]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"移动平台KEY")],-1)),i(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>c.platform_key=s),type:"text",class:"input input-bordered w-full",placeholder:"移动平台分配的 KEY"},null,512),[[v,c.platform_key]])]),e("div",Ze,[t[36]||(t[36]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"TUI(8位)")],-1)),i(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>c.tui=s),type:"text",maxlength:"8",class:"input input-bordered w-full",placeholder:"CMEI 前缀,如 11113396"},null,512),[[v,c.tui]])])])],512),[[L,n.channel==="mobile"]]),e("div",et,[t[38]||(t[38]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"产品图片")],-1)),e("div",tt,[e("div",st,[i(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>n.productimage=s),type:"text",class:"input input-bordered w-full input-sm mb-2",placeholder:"图片URL(可手动输入或上传)"},null,512),[[v,n.productimage]]),e("div",lt,[e("input",{type:"file",accept:"image/*",class:"file-input file-input-bordered file-input-sm flex-1",onChange:se},null,32),e("button",{type:"button",class:"btn btn-outline btn-sm btn-primary",disabled:N.value,onClick:le},[N.value?(a(),o("span",ot)):g("",!0),t[37]||(t[37]=O("上传 ",-1))],8,nt)])]),n.productimage?(a(),o("div",at,[e("img",{src:n.productimage,class:"w-20 h-20 object-cover rounded-lg border"},null,8,it)])):g("",!0)])]),t[44]||(t[44]=e("div",{class:"divider text-sm text-slate-400"},"绑定奖励设置",-1)),e("div",dt,[e("div",rt,[t[39]||(t[39]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"VIP时长(天)")],-1)),i(e("input",{"onUpdate:modelValue":t[12]||(t[12]=s=>n.bindrewardvpitime=s),type:"number",min:"0",class:"input input-bordered w-full"},null,512),[[v,n.bindrewardvpitime,void 0,{number:!0}]])]),e("div",ut,[t[40]||(t[40]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"翻译时长(分钟)")],-1)),i(e("input",{"onUpdate:modelValue":t[13]||(t[13]=s=>n.bindrewardtranslate=s),type:"number",min:"0",class:"input input-bordered w-full"},null,512),[[v,n.bindrewardtranslate,void 0,{number:!0}]])]),e("div",ct,[t[41]||(t[41]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"会议时长(分钟)")],-1)),i(e("input",{"onUpdate:modelValue":t[14]||(t[14]=s=>n.bindrewardmeeting=s),type:"number",min:"0",class:"input input-bordered w-full"},null,512),[[v,n.bindrewardmeeting,void 0,{number:!0}]])])]),t[45]||(t[45]=e("div",{class:"divider text-sm text-slate-400"},"功能开关",-1)),e("div",mt,[(a(),o(h,null,C(y,s=>e("label",{key:s.key,class:"flex items-center gap-2 cursor-pointer"},[i(e("input",{"onUpdate:modelValue":b=>n.toggles[s.key]=b,type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,8,bt),[[Q,n.toggles[s.key]]]),e("span",pt,r(s.label),1)])),64))]),e("div",vt,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[15]||(t[15]=s=>I())},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:E.value},[E.value?(a(),o("span",gt)):g("",!0),t[42]||(t[42]=O("保存 ",-1))],8,ft)])],32)])],512),[[L,w.value==="form"]]),i(e("div",null,[e("div",xt,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[16]||(t[16]=s=>I())},"← 返回产品列表"),e("h2",yt,"版本管理 - "+r(d.value?.devicename||""),1)]),d.value?(a(),o("div",wt,[e("div",kt,[t[46]||(t[46]=e("span",{class:"text-slate-400"},"产品ID:",-1)),e("span",ht,r(J(d.value.id)),1),t[47]||(t[47]=e("span",{class:"text-slate-400"},"当前版本:",-1)),e("span",_t,r(d.value.version||"无"),1),t[48]||(t[48]=e("span",{class:"text-slate-400"},"版本ID:",-1)),e("span",Vt,r(d.value.versionid||"无"),1),t[49]||(t[49]=e("span",{class:"text-slate-400"},"更新包:",-1)),e("span",Ct,r(d.value.updatepackageaddress||"无"),1)])])):g("",!0),e("div",Ut,[t[55]||(t[55]=e("h3",{class:"text-sm font-semibold text-slate-700 mb-3"},"添加新版本",-1)),e("form",{onSubmit:H(de,["prevent"])},[e("div",Et,[e("div",It,[t[50]||(t[50]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"版本号 *")],-1)),i(e("input",{"onUpdate:modelValue":t[17]||(t[17]=s=>u.version=s),type:"text",class:"input input-bordered input-sm w-full",placeholder:"如 1.2.0"},null,512),[[v,u.version]])]),e("div",Nt,[t[51]||(t[51]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"描述")],-1)),i(e("input",{"onUpdate:modelValue":t[18]||(t[18]=s=>u.desc=s),type:"text",class:"input input-bordered input-sm w-full",placeholder:"版本描述"},null,512),[[v,u.desc]])])]),e("div",Dt,[t[52]||(t[52]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"OTA 更新包 *")],-1)),e("input",{type:"file",class:"file-input file-input-bordered file-input-sm w-full",accept:".bin,.hex,.zip,.gz,.tar,.ota,.ufw,.fot",onChange:ae},null,32)]),e("div",$t,[e("label",Lt,[i(e("input",{"onUpdate:modelValue":t[19]||(t[19]=s=>u.isuse=s),type:"checkbox",class:"checkbox checkbox-primary checkbox-sm"},null,512),[[Q,u.isuse]]),t[53]||(t[53]=e("span",{class:"text-sm"},"设为当前使用版本",-1))]),e("button",{type:"submit",class:"btn btn-primary btn-sm text-white ml-auto",disabled:!ne.value||D.value},[D.value?(a(),o("span",Bt)):g("",!0),t[54]||(t[54]=O("添加版本 ",-1))],8,St)])],32)]),e("div",Ft,[e("div",Mt,[e("table",Tt,[t[57]||(t[57]=e("thead",null,[e("tr",null,[e("th",null,"ID"),e("th",null,"版本号"),e("th",null,"描述"),e("th",null,"更新包地址"),e("th",null,"操作")])],-1)),e("tbody",null,[V.value.length?g("",!0):(a(),o("tr",jt,[...t[56]||(t[56]=[e("td",{colspan:"5",class:"text-center text-slate-400 py-8"},"暂无版本",-1)])])),(a(!0),o(h,null,C(V.value,s=>(a(),o("tr",{key:s.id},[e("td",null,r(s.id),1),e("td",null,[e("span",{class:be(["badge badge-sm",z(s)?"badge-primary":"badge-outline"])},r(s.version),3),z(s)?(a(),o("span",zt,"当前")):g("",!0)]),e("td",At,r(s.description||""),1),e("td",Ot,r(s.updatepackageaddress||""),1),e("td",null,[e("div",Pt,[z(s)?(a(),o("span",qt,"使用中")):(a(),o(h,{key:1},[e("button",{class:"btn btn-ghost btn-xs text-indigo-600",onClick:b=>ie(s)},"设为当前",8,Jt),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:b=>re(s)},"删除",8,Kt)],64))])])]))),128))])])])])],512),[[L,w.value==="version"]])]))}});export{Wt as default}; diff --git a/apps/admin/.output/public/_nuxt/6VNdSi_V.js b/apps/admin/.output/public/_nuxt/6VNdSi_V.js new file mode 100644 index 00000000..614a293a --- /dev/null +++ b/apps/admin/.output/public/_nuxt/6VNdSi_V.js @@ -0,0 +1 @@ +import{g as W,y as X,z as Y,j as Z,c as a,a as s,t as d,l as c,d as f,k as V,p as T,F as h,r as U,A as k,x as A,s as v,o as l,n as ee,m as $,B as te,_ as se}from"./CfpW9SkI.js";import{u as ae}from"./DSu8q42f.js";import{u as le}from"./CMwGY1Mu.js";import"./DL330dAC.js";const oe={class:"rounded-xl px-5 py-4 mb-5",style:{background:"linear-gradient(135deg,#eef2ff,#faf5ff)",border:"1px solid #e0e7ff"}},ne={class:"flex items-center gap-4"},de={class:"app-avatar"},ie={class:"flex-1 min-w-0"},ue={class:"flex items-center gap-2 flex-wrap"},ce={class:"text-base font-bold text-slate-800"},re={class:"badge badge-sm",style:{background:"#e0e7ff",color:"#4338ca",border:"none"}},pe={key:0,class:"badge badge-ghost badge-sm"},me={key:1,class:"badge badge-ghost badge-sm"},ve={key:2,class:"badge badge-warning badge-sm text-amber-900"},_e={key:3,class:"badge badge-success badge-sm text-white"},xe={class:"text-[11px] text-slate-500 mt-1 flex flex-wrap gap-x-4 gap-y-0.5"},ge={key:0},ye={class:"font-mono"},be={class:"font-mono"},fe={class:"flex items-center gap-2 mt-3 pt-3 border-t border-indigo-100"},he=["disabled"],ke=["value"],we={key:0,class:"loading loading-spinner loading-xs text-indigo-400"},Ce={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-5"},Ve={key:0,class:"alert alert-warning py-2 text-sm mb-3"},Ue={key:1,class:"py-12 text-center"},Me={key:2,class:"flex gap-5"},Be={class:"w-48 shrink-0"},Ne={class:"text-[11px] font-semibold text-slate-400 px-2 mb-1"},Ae=["onClick"],De={key:0,class:"w-1.5 h-1.5 rounded-full bg-emerald-400 inline-block"},Ie={class:"flex-1 min-w-0"},Se={class:"flex items-center justify-between mb-3"},je={class:"text-sm font-semibold text-slate-800"},qe={key:0,class:"text-[11px] text-slate-400 mt-0.5"},Ee={class:"flex items-center gap-2"},Te=["disabled"],$e=["disabled"],ze={class:"grid grid-cols-1 gap-3 max-w-2xl"},Fe={class:"label py-0.5"},Re={class:"label-text text-sm"},Le={key:0,class:"text-rose-400"},Oe={key:1,class:"lock-tag ml-1"},Pe={class:"text-[10px] font-normal text-slate-300 ml-1 font-mono"},Ge={key:0,class:"cursor-pointer flex items-center gap-2"},He=["checked","onChange"],Je={class:"text-xs text-slate-500"},Ke=["onUpdate:modelValue"],Qe=["value"],We=["onUpdate:modelValue","placeholder"],Xe={key:3,class:"relative"},Ye=["onUpdate:modelValue","type"],Ze=["onClick"],et=["onUpdate:modelValue","placeholder"],tt={key:5,class:"text-[11px] text-slate-400 mt-0.5"},st={key:1,class:"py-10 text-center text-slate-400 text-sm"},at=W({__name:"appconfig",setup(lt){const{consoleApi:_}=ae(),{success:D,error:w}=le(),j=X(),z=Y(),y=k(()=>Number(j.query.id)||0),q=k(()=>j.query.name||"未指定应用"),F=k(()=>(i.app_name||q.value||"A").charAt(0).toUpperCase()),i=A({id:0,app_name:"",status:"",name:"",region:"",env_id:0,base_url:"",service_dsn:""}),E=v([]),b=v(0),M=v(!1),x=v([]),u=v(""),r=A({}),B=A(new Set),N=A({}),I=v(!1),g=v(!1),C=v(""),m=k(()=>x.value.find(o=>o.module===u.value)||null),p=k(()=>r[u.value]||{}),R=k(()=>{const o=[],t=new Map;for(const e of x.value)t.has(e.group)||(t.set(e.group,[]),o.push(e.group)),t.get(e.group).push(e);return o.map(e=>({name:e,modules:t.get(e)}))});function L(o,t){const e=r[u.value]||(r[u.value]={});e[o]=t.target.checked?"true":"false"}function O(){z.push("/apps")}function P(o){const t=(o||"").match(/\/([^/?]+)\?/);return t?t[1]:o?"(自定义)":"—"}async function G(){try{const[o,t]=await Promise.all([_("apps/list",{}),_("envs/list",{})]),e=(o??[]).find(n=>n.id===y.value);e&&Object.assign(i,e),E.value=t??[],b.value=i.env_id||0}catch(o){w(o?.message??"获取应用信息失败")}}async function H(){try{const o=await _("modulecfg/catalog",{});x.value=o?.modules??[];for(const t of x.value)r[t.module]||(r[t.module]={});x.value.length&&!u.value&&(u.value=x.value[0].module)}catch(o){w(o?.message??"获取配置目录失败")}}async function S(){if(y.value){I.value=!0,C.value="";try{const o=await _("modulecfg/list",{app_id:y.value});for(const t of x.value)r[t.module]={};B.clear();for(const t of o?.items??[])r[t.module]||(r[t.module]={}),r[t.module][t.key]=t.value,B.add(t.module)}catch(o){C.value=o?.message??"连接失败"}finally{I.value=!1}}}async function J(){if(i.id){M.value=!0;try{await _("apps/bindenv",{id:i.id,env_id:b.value}),i.env_id=b.value,D("部署环境已更新")}catch(o){w(o?.message??"切换环境失败"),b.value=i.env_id||0}finally{M.value=!1}}}async function K(){if(m.value){g.value=!0;try{const o=m.value.fields.map(t=>({key:t.key,value:r[u.value]?.[t.key]??""}));await _("modulecfg/save",{app_id:y.value,module:u.value,items:o}),D("配置已保存"),await S()}catch(o){w(o?.message??"保存失败")}finally{g.value=!1}}}async function Q(){if(u.value&&confirm(`确认清空「${m.value?.name}」的全部配置?`)){g.value=!0;try{await _("modulecfg/del",{app_id:y.value,module:u.value}),D("已清空"),await S()}catch(o){w(o?.message??"清空失败")}finally{g.value=!1}}}return Z(async()=>{await G(),await H(),await S()}),(o,t)=>(l(),a("div",null,[s("div",{class:"flex items-center gap-2 mb-4"},[s("button",{class:"btn btn-ghost btn-sm",onClick:O},"← 返回应用列表"),t[1]||(t[1]=s("span",{class:"text-slate-300"},"/",-1)),t[2]||(t[2]=s("h2",{class:"text-lg font-semibold text-slate-800"},"应用服务配置",-1))]),s("div",oe,[s("div",ne,[s("div",de,d(F.value),1),s("div",ie,[s("div",ue,[s("span",ce,d(i.name||q.value),1),s("span",re,"#"+d(y.value),1),i.app_name?(l(),a("span",pe,"应用:"+d(i.app_name),1)):c("",!0),i.region?(l(),a("span",me,d(i.region),1)):c("",!0),i.status==="pending"?(l(),a("span",ve,"待部署")):(l(),a("span",_e,"已接入"))]),s("div",xe,[i.base_url?(l(),a("span",ge,[t[3]||(t[3]=f("地址:",-1)),s("span",ye,d(i.base_url),1)])):c("",!0),s("span",null,[t[4]||(t[4]=f("业务库:",-1)),s("span",be,d(P(i.service_dsn)),1)])])])]),s("div",fe,[t[6]||(t[6]=s("span",{class:"text-xs text-slate-500 shrink-0"},"部署环境",-1)),V(s("select",{"onUpdate:modelValue":t[0]||(t[0]=e=>b.value=e),class:"select select-bordered select-sm w-64",disabled:M.value,onChange:J},[t[5]||(t[5]=s("option",{value:0},"未绑定",-1)),(l(!0),a(h,null,U(E.value,e=>(l(),a("option",{key:e.id,value:e.id},d(e.name)+"("+d(e.code||"-")+")",9,ke))),128))],40,he),[[T,b.value,void 0,{number:!0}]]),M.value?(l(),a("span",we)):c("",!0),t[7]||(t[7]=s("span",{class:"text-[11px] text-slate-400"},"切换后即时保存。",-1))])]),s("div",Ce,[t[12]||(t[12]=s("div",{class:"mb-3"},[s("h3",{class:"text-base font-semibold text-slate-800"},"业务功能配置"),s("p",{class:"text-[11px] text-slate-400 mt-0.5"},[f(" 登录 / 短信 / 邮件 / 支付等应用独立配置,保存在"),s("b",null,"该部署的业务库"),f("(不进公共库)。密钥字段加密落库,显示时脱敏。 ")])],-1)),C.value?(l(),a("div",Ve,[s("span",null,[f("无法连接应用业务库:"+d(C.value),1),t[8]||(t[8]=s("br",null,null,-1)),t[9]||(t[9]=s("span",{class:"text-xs opacity-70"},"待部署的应用先完成部署、或检查业务库 DSN 连通后再配置。",-1))])])):c("",!0),I.value?(l(),a("div",Ue,[...t[10]||(t[10]=[s("span",{class:"loading loading-spinner loading-sm"},null,-1)])])):(l(),a("div",Me,[s("aside",Be,[(l(!0),a(h,null,U(R.value,e=>(l(),a("div",{key:e.name,class:"mb-3"},[s("div",Ne,d(e.name),1),(l(!0),a(h,null,U(e.modules,n=>(l(),a("button",{key:n.module,class:ee(["w-full flex items-center justify-between text-left px-3 py-2 rounded-lg text-sm mb-0.5 transition-colors",u.value===n.module?"bg-indigo-50 text-indigo-700 font-medium":"text-slate-600 hover:bg-slate-50"]),onClick:ot=>u.value=n.module},[s("span",null,d(n.name),1),B.has(n.module)?(l(),a("span",De)):c("",!0)],10,Ae))),128))]))),128))]),s("section",Ie,[m.value?(l(),a(h,{key:0},[s("div",Se,[s("div",null,[s("div",je,d(m.value.name),1),m.value.desc?(l(),a("div",qe,d(m.value.desc),1)):c("",!0)]),s("div",Ee,[B.has(u.value)?(l(),a("button",{key:0,class:"btn btn-ghost btn-xs text-rose-500",disabled:g.value,onClick:Q},"清空",8,Te)):c("",!0),s("button",{class:"btn btn-primary btn-sm text-white",disabled:g.value||C.value!=="",onClick:K},d(g.value?"保存中…":"保存"),9,$e)])]),s("div",ze,[(l(!0),a(h,null,U(m.value.fields,e=>(l(),a("div",{key:e.key,class:"form-control"},[s("label",Fe,[s("span",Re,[f(d(e.label)+" ",1),e.required?(l(),a("span",Le,"*")):c("",!0),e.secret?(l(),a("span",Oe,"🔒")):c("",!0),s("span",Pe,d(e.key),1)])]),e.type==="bool"?(l(),a("label",Ge,[s("input",{type:"checkbox",class:"toggle toggle-sm toggle-primary",checked:p.value[e.key]==="true",onChange:n=>L(e.key,n)},null,40,He),s("span",Je,d(p.value[e.key]==="true"?"开启":"关闭"),1)])):e.type==="select"?V((l(),a("select",{key:1,"onUpdate:modelValue":n=>p.value[e.key]=n,class:"select select-bordered select-sm w-full"},[t[11]||(t[11]=s("option",{value:""},"请选择",-1)),(l(!0),a(h,null,U(e.options,n=>(l(),a("option",{key:n.value,value:n.value},d(n.label),9,Qe))),128))],8,Ke)),[[T,p.value[e.key]]]):e.type==="textarea"?V((l(),a("textarea",{key:2,"onUpdate:modelValue":n=>p.value[e.key]=n,class:"textarea textarea-bordered w-full font-mono text-xs",rows:"3",placeholder:e.secret?"留空/保持 [encrypted] 则不变":e.placeholder||""},null,8,We)),[[$,p.value[e.key]]]):e.type==="password"?(l(),a("div",Xe,[V(s("input",{"onUpdate:modelValue":n=>p.value[e.key]=n,type:N[e.key]?"text":"password",class:"input input-bordered input-sm w-full font-mono text-xs pr-14",placeholder:"留空/保持 [encrypted] 则不变"},null,8,Ye),[[te,p.value[e.key]]]),s("button",{type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:n=>N[e.key]=!N[e.key]},d(N[e.key]?"隐藏":"显示"),9,Ze)])):V((l(),a("input",{key:4,"onUpdate:modelValue":n=>p.value[e.key]=n,type:"text",class:"input input-bordered input-sm w-full font-mono text-xs",placeholder:e.placeholder||""},null,8,et)),[[$,p.value[e.key]]]),e.desc?(l(),a("span",tt,d(e.desc),1)):c("",!0)]))),128))])],64)):(l(),a("div",st,"暂无可配置的业务模块。"))])]))])]))}}),ct=se(at,[["__scopeId","data-v-a2d8388e"]]);export{ct as default}; diff --git a/apps/admin/.output/public/_nuxt/9B2ftqmN.js b/apps/admin/.output/public/_nuxt/9B2ftqmN.js deleted file mode 100644 index 2fc001e9..00000000 --- a/apps/admin/.output/public/_nuxt/9B2ftqmN.js +++ /dev/null @@ -1 +0,0 @@ -import{C as l,z as d}from"./CTAruH_8.js";import{u as h}from"./D9HxoMhB.js";async function c(n,a,i){const e=l(),u=d(),s={"Content-Type":"application/json"};e.token&&(s.Authorization=e.token),i&&Object.assign(s,i);const t=await fetch(n,{method:"POST",headers:s,body:JSON.stringify(a)});if(!t.ok)throw new Error(`HTTP error: ${t.status}`);const o=await t.json();if(o.code===18)throw e.logout(),u.push("/"),new Error(o.msg||"Unauthorized");if(o.code!==0)throw new Error(o.msg||"Unknown error");return o.data}const w=/^(get|list|load|query|fetch|search|count|stat|export|check)/i;function y(n){return!w.test(n)}function k(){const n=l(),{begin:a,end:i}=h();async function e(t,o){const r={};if(n.currentAppId&&(r["X-App-Id"]=String(n.currentAppId)),!y(t))return c(`/web/api/api_${t}`,o??{},r);a();try{return await c(`/web/api/api_${t}`,o??{},r)}finally{i()}}async function u(t,o){return c(`/console/api/${t}`,o??{})}async function s(t,o){const r=await e("getcostoken",{path:o}),p=r.upload_url||r.url||"",f=await fetch(p,{method:"PUT",headers:{"Content-Type":t.type||"application/octet-stream"},body:t});if(!f.ok)throw new Error(`Upload failed: ${f.status}`);return p.split("?")[0]}return{webApi:e,consoleApi:u,uploadFile:s}}export{k as u}; diff --git a/apps/admin/.output/public/_nuxt/B2Vd1HRg.js b/apps/admin/.output/public/_nuxt/B2Vd1HRg.js new file mode 100644 index 00000000..94562b5b --- /dev/null +++ b/apps/admin/.output/public/_nuxt/B2Vd1HRg.js @@ -0,0 +1 @@ +import{g as Ce,o as n,c as o,F as v,a as e,r as h,d as N,t as d,l as g,n as z,A as E,_ as Se,j as We,k as c,p as ie,G as B,m as y,q as O,v as Ve,s as x,x as Ue,J as R,B as ee,D as Xe}from"./CfpW9SkI.js";import{u as Ye}from"./DSu8q42f.js";import{u as Qe}from"./CMwGY1Mu.js";import"./DL330dAC.js";const $e=[{code:"zh-CN",name:"中文(简体)"},{code:"zh-TW",name:"中文(繁体)"},{code:"zh-HK",name:"中文(香港)"},{code:"yue-HK",name:"粤语"},{code:"en-US",name:"英语(美国)"},{code:"en-GB",name:"英语(英国)"},{code:"ja-JP",name:"日语"},{code:"ko-KR",name:"韩语"},{code:"id-ID",name:"印尼语"},{code:"es-ES",name:"西班牙语(西)"},{code:"es-MX",name:"西班牙语(墨)"},{code:"pt-BR",name:"葡萄牙语(巴西)"},{code:"pt-PT",name:"葡萄牙语(葡)"},{code:"de-DE",name:"德语"},{code:"fr-FR",name:"法语"},{code:"it-IT",name:"意大利语"},{code:"nl-NL",name:"荷兰语"},{code:"pl-PL",name:"波兰语"},{code:"ru-RU",name:"俄语"},{code:"uk-UA",name:"乌克兰语"},{code:"tr-TR",name:"土耳其语"},{code:"vi-VN",name:"越南语"},{code:"th-TH",name:"泰语"},{code:"ms-MY",name:"马来语"},{code:"fil-PH",name:"菲律宾语"},{code:"ar-SA",name:"阿拉伯语"}];function Ze(M){const D=$e.find(w=>w.code===M);return D?D.name:M}const et={class:"lang-select"},tt={class:"lang-chip-name"},lt=["onClick"],st={key:0,class:"lang-empty"},nt={key:0,class:"lang-dd"},ot={class:"lang-dd-sum"},at={class:"lang-dd-panel"},dt=["checked","onChange"],it={class:"lang-opt-code"},ut={class:"lang-opt-name"},ct=["value","disabled"],rt=["value"],pt=Ce({__name:"LangSelect",props:{modelValue:{},multiple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},options:{default:void 0}},emits:["update:modelValue"],setup(M,{emit:D}){const w=M,V=D,W=E(()=>w.options&&w.options.length?w.options:$e),U=E(()=>(w.modelValue||"").split(",").map(T=>T.trim()).filter(Boolean));function S(T){return Ze(T)}function $(T){if(w.disabled)return;const j=U.value.slice(),m=j.indexOf(T);m>=0?j.splice(m,1):j.push(T),V("update:modelValue",j.join(","))}function H(T){V("update:modelValue",T.target.value)}return(T,j)=>(n(),o("div",et,[M.multiple?(n(),o(v,{key:0},[e("div",{class:z(["lang-chips",{"lang-disabled":M.disabled}])},[(n(!0),o(v,null,h(U.value,m=>(n(),o("span",{key:m,class:"lang-chip"},[N(d(m),1),e("span",tt,d(S(m)),1),e("button",{type:"button",class:"lang-x",onClick:X=>$(m)},"×",8,lt)]))),128)),U.value.length?g("",!0):(n(),o("span",st,"未选择语言"))],2),M.disabled?g("",!0):(n(),o("details",nt,[e("summary",ot,"+ 选择语言(已选 "+d(U.value.length)+")",1),e("div",at,[(n(!0),o(v,null,h(W.value,m=>(n(),o("label",{key:m.code,class:"lang-opt"},[e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary",checked:U.value.includes(m.code),onChange:X=>$(m.code)},null,40,dt),e("span",it,d(m.code),1),e("span",ut,d(m.name),1)]))),128))])]))],64)):(n(),o("select",{key:1,class:"select select-bordered select-sm w-full text-xs",value:M.modelValue,disabled:M.disabled,onChange:H},[j[0]||(j[0]=e("option",{value:""},"(未设置)",-1)),(n(!0),o(v,null,h(W.value,m=>(n(),o("option",{key:m.code,value:m.code},d(m.code)+" · "+d(m.name),9,rt))),128))],40,ct))]))}}),vt=Object.assign(Se(pt,[["__scopeId","data-v-4903af59"]]),{__name:"LangSelect"}),mt={key:0,class:"mb-4 rounded-lg px-4 py-3 text-sm",style:{background:"#fffbeb",border:"1px solid #fde68a",color:"#92400e"}},bt={class:"flex items-center justify-between mb-5"},xt={class:"flex items-center gap-3"},yt=["value"],_t=["value"],ht={class:"flex gap-4",style:{"align-items":"flex-start"}},gt={style:{width:"248px","flex-shrink":"0"}},kt={class:"flex flex-col gap-2"},ft=["onClick"],wt={style:{"min-width":"0",flex:"1"}},Vt={class:"flex items-center gap-2"},Ut={class:"font-semibold text-slate-800 text-sm truncate"},Ct={class:"flex flex-wrap gap-1 mt-1 items-center"},St={key:0,class:"provider-chip"},$t={key:1,class:"lock-badge"},Tt={key:0,class:"text-xs text-slate-400 text-center py-8"},At={class:"flex-1 min-w-0"},Mt={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},zt={key:0,class:"text-center text-slate-300 py-20"},Dt={class:"flex items-center justify-between mb-5"},jt={class:"flex items-center gap-3"},Ft={class:"text-base font-semibold text-slate-800"},Nt={class:"text-xs text-slate-400 mt-0.5"},Lt={key:0},Rt={class:"flex gap-2"},It={class:"grid grid-cols-2 gap-4 mb-4"},Bt={class:"form-control"},Ot={class:"form-control"},Et={class:"form-control mb-4"},Ht={class:"mb-4"},Pt={class:"text-xs text-slate-500 ml-2"},Gt={key:0,class:"text-xs text-slate-400 py-4 text-center"},Jt={key:1,class:"overflow-x-auto"},Kt={class:"table text-xs"},qt=["onUpdate:modelValue","title"],Wt=["onUpdate:modelValue"],Xt={class:"text-center"},Yt=["onUpdate:modelValue"],Qt={class:"relative"},Zt=["type","onUpdate:modelValue"],el=["onClick"],tl=["onUpdate:modelValue"],ll=["onClick"],sl={class:"wizard-steps mb-5"},nl={key:0},ol={key:0},al={class:"type-grid"},dl=["onClick"],il={class:"text-sm text-slate-700 mt-2"},ul={class:"flex items-center justify-between mb-3"},cl={class:"text-sm text-slate-500"},rl={class:"type-grid"},pl=["onClick"],vl={class:"provider-chip"},ml={class:"text-sm text-slate-700 mt-2"},bl={class:"text-[11px] text-slate-400 mt-0.5"},xl={key:0,class:"text-xs text-slate-400 mt-2"},yl={class:"flex items-center justify-between mb-3"},_l={class:"flex items-center gap-2"},hl={key:0,class:"provider-chip"},gl={class:"flex gap-2"},kl={class:"grid grid-cols-2 gap-4 mb-4"},fl={class:"form-control"},wl={class:"form-control"},Vl={class:"grid grid-cols-2 gap-4 mb-4"},Ul={class:"form-control"},Cl={class:"form-control"},Sl={class:"form-control mb-4"},$l={key:0,class:"text-xs text-slate-400 py-4 text-center"},Tl={key:1,class:"overflow-x-auto"},Al={class:"table text-xs"},Ml=["onUpdate:modelValue","title"],zl=["onUpdate:modelValue"],Dl={class:"text-center"},jl=["onUpdate:modelValue"],Fl={class:"relative"},Nl=["type","onUpdate:modelValue"],Ll=["onClick"],Rl=["onUpdate:modelValue"],Il=["onClick"],Bl={key:0,class:"text-center py-10 text-slate-400"},Ol={class:"flex items-center justify-between mb-5"},El={class:"flex items-center gap-3"},Hl={class:"text-base font-semibold text-slate-800"},Pl={class:"badge badge-warning badge-sm mt-0.5"},Gl={class:"rounded-lg px-3 py-2 mb-4 text-xs",style:{background:"#fefce8",border:"1px solid #fde047",color:"#854d0e"}},Jl={class:"overflow-x-auto"},Kl={class:"table text-xs"},ql=["title"],Wl={class:"text-slate-500"},Xl={class:"text-center"},Yl={key:0,class:"disabled-badge"},Ql={key:1,class:"override-badge"},Zl={key:2,class:"inherit-badge"},es={class:"text-center"},ts=["onUpdate:modelValue"],ls={class:"relative"},ss=["type","onUpdate:modelValue","disabled"],ns=["onClick"],os=["onUpdate:modelValue","disabled","placeholder"],as={key:0},ds={class:"divider text-xs text-slate-400 my-3"},is={key:0,class:"text-xs text-slate-400 py-2 text-center"},us={key:1,class:"overflow-x-auto"},cs={class:"table text-xs"},rs=["onUpdate:modelValue","title"],ps=["onUpdate:modelValue"],vs={class:"text-center"},ms=["onUpdate:modelValue"],bs={class:"relative"},xs=["type","onUpdate:modelValue"],ys=["onClick"],_s=["onUpdate:modelValue"],hs=["onClick"],gs={class:"sync-overlay"},ks={class:"sync-box"},fs={class:"flex items-start gap-3 mb-4"},ws={style:{width:"42px",height:"42px",background:"linear-gradient(135deg,#4f46e5,#7c3aed)","border-radius":"13px",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},Vs={style:{width:"20px",height:"20px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Us={class:"text-xs text-slate-400 mt-1"},Cs=["innerHTML"],Ss={class:"flex items-center justify-between mb-1"},$s={class:"flex gap-2"},Ts={class:"sync-region-grid"},As=["onClick"],Ms=["checked","onClick"],zs={class:"sync-overlay"},Ds={class:"tpl-box"},js={class:"flex items-center justify-between mb-4"},Fs={class:"flex gap-2"},Ns={class:"tpl-list"},Ls={class:"text-xs font-semibold text-slate-500 mb-1"},Rs={style:{"min-width":"0",flex:"1"}},Is={class:"flex items-center gap-2"},Bs={class:"font-semibold text-sm text-slate-800 truncate"},Os={class:"provider-chip"},Es={key:0,class:"badge badge-xs badge-ghost"},Hs={class:"text-xs text-slate-400 mt-0.5"},Ps={class:"flex gap-1"},Gs=["onClick"],Js=["onClick"],Ks={key:0,class:"text-xs text-slate-400 text-center py-6"},qs={class:"flex items-center justify-between mb-4"},Ws={class:"text-base font-semibold text-slate-800"},Xs={class:"flex gap-2"},Ys={class:"grid grid-cols-2 gap-3 mb-3"},Qs={class:"form-control"},Zs=["disabled"],en={class:"form-control"},tn=["value"],ln={class:"form-control"},sn={class:"form-control"},nn={class:"form-control mb-3"},on={class:"overflow-x-auto",style:{"max-height":"34vh"}},an={class:"table text-xs"},dn=["onUpdate:modelValue","title"],un=["onUpdate:modelValue"],cn={class:"text-center"},rn=["onUpdate:modelValue"],pn=["onUpdate:modelValue"],vn=["onClick"],mn={key:0},bn=Ce({__name:"serviceconfig",setup(M){const D=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}],w=[{v:1,label:"STT 语音识别",short:"STT",color:"#0369a1",bg:"#dbeafe"},{v:2,label:"TTS 语音合成",short:"TTS",color:"#7c3aed",bg:"#ede9fe"},{v:3,label:"MT 机器翻译",short:"MT",color:"#059669",bg:"#dcfce7"},{v:4,label:"AST 端到端翻译",short:"AST",color:"#c2410c",bg:"#fff7ed"},{v:5,label:"LLM 大语言",short:"LLM",color:"#b45309",bg:"#fef9c3"},{v:7,label:"STS 端到端对话",short:"STS",color:"#be185d",bg:"#fce7f3"},{v:6,label:"存储 OSS/COS",short:"存储",color:"#475569",bg:"#f1f5f9"}],{webApi:V,consoleApi:W}=Ye(),{success:U,error:S}=Qe(),$=x(""),H=x([]);async function T(){try{const s=await W("products/list",{});H.value=(s??[]).map(l=>l.name).filter(Boolean)}catch{H.value=[]}}function j(){p.value=null,C.value="empty",Y()}function m(s){return w.find(l=>l.v===s)||{short:"?",color:"#999",bg:"#eee",v:0,label:""}}function X(s){return(s||"").split(",").map(l=>parseInt(l)||0).filter(l=>l>0)}function ue(s){return(s.fields||[]).filter(l=>l.encrypted).length}const te=x(!0),P=x([]),p=x(null),A=x(0),C=x("empty"),i=Ue({id:"",name:"",provider:"",description:"",enable:!1}),_=x(0),f=x([]),G=x(""),k=x(1),J=x([]),I=x([]),le=x(!1),K=x([]),se=E(()=>{const s=D.find(l=>l.value===A.value);return s?s.label:"区域"+A.value}),Te=E(()=>w.map(s=>({cat:s.v,label:s.label,items:K.value.filter(l=>l.category===s.v)})).filter(s=>s.items.length));async function Y(){try{const s=await V("getsvcconfigs",{app_name:$.value});P.value=s?.items??[],te.value=!0}catch{te.value=!1,P.value=[];return}if(p.value){const s=P.value.find(l=>l.id===p.value.id);s&&Q(s)}}async function ne(){try{const s=await V("getsvctemplates",{});K.value=s?.items??[]}catch{K.value=[]}}function Ae(){p.value?Q(p.value):C.value!=="new"&&(C.value="empty")}function Q(s){s&&(p.value=s,A.value===0?Me():Fe())}function Me(){const s=p.value;i.id=s.id,i.name=s.name||"",i.provider=s.provider||"",i.description=s.description||"",i.enable=!!s.enable,_.value=X(s.categories)[0]||0,f.value=JSON.parse(JSON.stringify(s.fields||[])).map(l=>({...l,_show:!1})),C.value="default"}function ze(){p.value=null,i.id="",i.name="",i.provider="",i.description="",i.enable=!1,_.value=0,f.value=[],G.value="",k.value=1,C.value="new"}const ce=E(()=>K.value.filter(s=>s.category===_.value));function De(s){_.value!==s&&(_.value=s,G.value="",i.provider="",f.value=[]),k.value=2}function re(s){s?(G.value=s.id,i.provider=s.provider||"",i.name||(i.name=s.name||""),i.id||(i.id=s.id||""),i.description||(i.description=s.description||""),f.value=(s.fields||[]).map(l=>({key:l.key,description:l.description,type:l.type||"",encrypted:!!l.encrypted,def_value:l.def_value||"",sort:l.sort,_show:!1}))):(G.value="",i.provider="",f.value=[]),k.value=3}function je(){p.value?Q(p.value):C.value="empty"}function pe(){f.value.push({key:"",description:"",encrypted:!1,def_value:"",sort:f.value.length,_show:!1})}function ve(s){f.value.splice(s,1),f.value.forEach((l,r)=>{l.sort=r})}async function Fe(){const s=p.value;le.value=!0,C.value="region";try{const r=(await V("getsvcregionoverride",{app_name:$.value,svc_id:s.id,region:A.value}))?.fields??[];J.value=r.filter(t=>!t.region_only).map(t=>({key:t.key,description:t.description,type:t.type||"",encrypted:!!t.encrypted,is_overridden:!!t.is_overridden,disabled:!!t.disabled,value:t.value||"",_input:t.encrypted?"":t.is_overridden&&t.value||"",_show:!1})),I.value=r.filter(t=>t.region_only).map(t=>({key:t.key,description:t.description,encrypted:!!t.encrypted,_input:t.encrypted?"":t.value||"",_show:!1}))}catch(l){S(l?.message??"加载区域分叉失败"),J.value=[],I.value=[]}finally{le.value=!1}}function Ne(){I.value.push({key:"",description:"",encrypted:!1,_input:"",_show:!1})}function Le(s){I.value.splice(s,1)}function Re(s){const l={name:i.name||"",provider:i.provider||"",description:i.description||"",categories:_.value?String(_.value):"",enable:i.enable||!1,fields:f.value.map(r=>({key:r.key,description:r.description,type:r.type||"",encrypted:r.encrypted,def_value:r.def_value,sort:r.sort}))};return s?l.id=i.id||"":l.id=p.value.id,l.app_name=$.value,l}function Ie(){const s={},l=[];J.value.forEach(t=>{s[t.key]=t._input||"",t.disabled&&l.push(t.key)});const r=I.value.filter(t=>(t.key||"").trim()).map((t,u)=>({key:t.key.trim(),description:t.description,encrypted:t.encrypted,def_value:t._input||"",sort:u}));return{overrides:s,disabled_keys:l,extra_fields:r}}async function me(s){const l=s||!p.value;if(A.value===0){const r=Re(l);if(!r.id||!r.name)return S("服务ID 和名称 必填"),!1;const t=l?"addsvcconfig":"updatesvcconfig";try{const u=await V(t,r);return p.value=u,await Y(),U("保存成功"),!0}catch(u){return S(u?.message??"保存失败"),!1}}else{const{overrides:r,disabled_keys:t,extra_fields:u}=Ie();try{return await V("savesvcregionoverride",{app_name:$.value,svc_id:p.value.id,region:A.value,overrides:r,disabled_keys:t,extra_fields:u}),U("区域分叉已保存"),!0}catch(a){return S(a?.message??"保存失败"),!1}}}async function Be(){if(p.value&&window.confirm("确定删除服务「"+p.value.name+"」及其所有区域分叉?")){try{await V("delsvcconfig",{app_name:$.value,id:p.value.id})}catch(s){S(s?.message??"删除失败");return}p.value=null,U("已删除"),await Y(),C.value="empty"}}const oe=x(!1),ae=x(!1),be=x(""),xe=x(""),L=x([]),ye=E(()=>D.filter(s=>s.value!==A.value));function de(s){ae.value=s;const l=p.value?p.value.name:i.name||"新服务",r=A.value===0;be.value=r?"「"+l+"」默认配置将保存,可同步推送到其他区域。":"「"+l+"」在当前区域的字段分叉将保存,可同步到其他区域。",xe.value=r?"✦ 同步内容:各字段默认值推送为目标区域「覆盖值」,目标区域原有分叉将被替换。":"✦ 同步内容:当前区域的值覆盖 / 区域专属字段 / 停用字段整体复制到目标区域。",L.value=[],oe.value=!0}function _e(s){const l=L.value.indexOf(s);l>=0?L.value.splice(l,1):L.value.push(s)}function he(s){L.value=s?ye.value.map(l=>l.value):[]}function ge(){oe.value=!1}async function Oe(){ge(),await me(ae.value)}async function Ee(){const s=L.value.slice();if(ge(),!await me(ae.value)||!s.length)return;const r=p.value?p.value.id:null;if(!r)return;let t=0;try{t=(await V("syncsvctoregins",{app_name:$.value,svc_id:r,src_region:A.value,target_regions:s}))?.synced??0}catch(a){S(a?.message??"同步失败");return}const u=s.map(a=>{const we=D.find(qe=>qe.value===a);return we?we.label:"区域"+a});U("已保存并同步到:"+u.join("、")+"("+t+" 个)")}const ke=x(!1),Z=x("list"),q=x(!1),b=Ue({id:"",category:2,provider:"",name:"",description:""}),F=x([]);function He(){ke.value=!1}function fe(s){s?(q.value=!0,b.id=s.id,b.category=s.category||2,b.provider=s.provider||"",b.name=s.name||"",b.description=s.description||"",F.value=(s.fields||[]).map(l=>({key:l.key,description:l.description,type:l.type||"",encrypted:!!l.encrypted,def_value:l.def_value||"",sort:l.sort}))):(q.value=!1,b.id="",b.category=2,b.provider="",b.name="",b.description="",F.value=[]),Z.value="form"}function Pe(){F.value.push({key:"",description:"",encrypted:!1,def_value:"",sort:F.value.length})}function Ge(s){F.value.splice(s,1),F.value.forEach((l,r)=>{l.sort=r})}async function Je(){if(!b.id.trim()||!b.name.trim()||!b.provider.trim()){S("模板ID / 展示名 / 服务商标识 必填");return}const s={id:b.id.trim(),category:Number(b.category)||0,provider:b.provider.trim(),name:b.name.trim(),description:b.description.trim(),fields:F.value.map((l,r)=>({key:l.key,description:l.description,type:l.type||"",encrypted:l.encrypted,def_value:l.def_value,sort:r}))};try{await V(q.value?"updatesvctemplate":"addsvctemplate",s)}catch(l){S(l?.message??"保存失败");return}U("模板已保存"),await ne(),Z.value="list"}async function Ke(s){if(window.confirm("确定删除模板「"+s.name+"」?"+(s.builtin?"(内置模板下次启动会被重新补回)":""))){try{await V("delsvctemplate",{id:s.id})}catch(l){S(l?.message??"删除失败");return}U("已删除"),await ne()}}return We(()=>{T(),Y(),ne()}),(s,l)=>{const r=vt;return n(),o("div",null,[te.value?g("",!0):(n(),o("div",mt," ⚠ 「第三方服务配置」后端接口暂不可用(连接失败),请检查 console 服务是否运行。 ")),e("div",bt,[l[29]||(l[29]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"第三方服务配置"),e("p",{class:"text-xs text-slate-400 mt-1"},[N("按服务类型分组管理已接入的第三方服务(火山引擎、阿里云、Azure 等)。默认展示"),e("b",null,"全局默认"),N("配置,可切换到具体应用;区域默认"),e("b",null,"中国"),N(",切换区域可为该区域覆盖字段值。")])],-1)),e("div",xt,[c(e("select",{"onUpdate:modelValue":l[0]||(l[0]=t=>$.value=t),class:"select select-bordered select-sm",onChange:j},[l[27]||(l[27]=e("option",{value:""},"全局默认",-1)),(n(!0),o(v,null,h(H.value,t=>(n(),o("option",{key:t,value:t},"应用:"+d(t),9,yt))),128))],544),[[ie,$.value]]),c(e("select",{"onUpdate:modelValue":l[1]||(l[1]=t=>A.value=t),class:"select select-bordered select-sm",onChange:Ae},[(n(),o(v,null,h(D,t=>e("option",{key:t.value,value:t.value},d(t.label),9,_t)),64)),l[28]||(l[28]=e("option",{value:0},"默认(全区域)",-1))],544),[[ie,A.value,void 0,{number:!0}]]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:ze},"+ 添加服务")])]),e("div",ht,[e("div",gt,[e("div",kt,[(n(!0),o(v,null,h(P.value,t=>(n(),o("div",{key:t.id,class:z(["svc-item",{active:p.value&&p.value.id===t.id}]),onClick:u=>Q(t)},[e("div",{class:"svc-logo",style:B({background:t.color||"#6366f1"})},d(t.icon||(t.name||"").charAt(0)),5),e("div",wt,[e("div",Vt,[e("span",Ut,d(t.name),1),e("span",{class:z(["badge badge-xs",t.enable?"badge-success":"badge-ghost"])},d(t.enable?"启用":"停用"),3)]),e("div",Ct,[t.provider?(n(),o("span",St,d(t.provider),1)):g("",!0),(n(!0),o(v,null,h(X(t.categories),u=>(n(),o("span",{key:u,class:"cat-chip",style:B({color:m(u).color,background:m(u).bg})},d(m(u).short),5))),128)),ue(t)?(n(),o("span",$t,"🔒"+d(ue(t)),1)):g("",!0)])])],10,ft))),128)),P.value.length?g("",!0):(n(),o("p",Tt,"暂无服务"))])]),e("div",At,[e("div",Mt,[C.value==="empty"?(n(),o("div",zt,[...l[30]||(l[30]=[e("div",{class:"text-5xl mb-3"},"⚙️",-1),e("p",{class:"text-sm"},"从左侧选择一个服务开始配置",-1)])])):C.value==="default"&&p.value?(n(),o(v,{key:1},[e("div",Dt,[e("div",jt,[e("div",{class:"svc-logo",style:B({background:p.value.color||"#6366f1",width:"44px",height:"44px",fontSize:"20px"})},d(p.value.icon||(p.value.name||"").charAt(0)),5),e("div",null,[e("h3",Ft,d(p.value.name),1),e("p",Nt,[N(d(p.value.id),1),i.provider?(n(),o("span",Lt," · 服务商 "+d(i.provider),1)):g("",!0)])])]),e("div",Rt,[e("button",{class:"btn btn-error btn-sm btn-outline",onClick:Be},"删除服务"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[2]||(l[2]=t=>de(!1))},"保存")])]),l[38]||(l[38]=e("div",{class:"divider text-xs text-slate-400 my-3"},"基本信息",-1)),e("div",It,[e("div",Bt,[l[31]||(l[31]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务名称 *")],-1)),c(e("input",{"onUpdate:modelValue":l[3]||(l[3]=t=>i.name=t),class:"input input-bordered"},null,512),[[y,i.name]])]),e("div",Ot,[l[32]||(l[32]=e("label",{class:"label"},[e("span",{class:"label-text"},"启用")],-1)),c(e("input",{"onUpdate:modelValue":l[4]||(l[4]=t=>i.enable=t),type:"checkbox",class:"toggle toggle-primary mt-3"},null,512),[[O,i.enable]])])]),e("div",Et,[l[33]||(l[33]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务描述")],-1)),c(e("input",{"onUpdate:modelValue":l[5]||(l[5]=t=>i.description=t),class:"input input-bordered"},null,512),[[y,i.description]])]),e("div",Ht,[l[34]||(l[34]=e("p",{class:"text-sm font-medium text-slate-700 mb-2"},"服务类型",-1)),_.value?(n(),o("span",{key:0,class:"cat-chip",style:B({color:m(_.value).color,background:m(_.value).bg})},d(m(_.value).short),5)):g("",!0),e("span",Pt,d(_.value?m(_.value).label:"未设置"),1),l[35]||(l[35]=e("span",{class:"text-[11px] text-slate-400 ml-2"},"(类型在创建时确定,不可更改)",-1))]),l[39]||(l[39]=e("div",{class:"divider text-xs text-slate-400 my-3"},"配置字段(全区域共用)",-1)),e("div",null,[f.value.length?(n(),o("div",Jt,[e("table",Kt,[l[37]||(l[37]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(f.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,qt),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,Wt),[[y,t.description]])]),e("td",Xt,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,Yt),[[O,t.encrypted]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a,multiple:!0},null,8,["modelValue","onUpdate:modelValue"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a},null,8,["modelValue","onUpdate:modelValue"])):t.encrypted?(n(),o(v,{key:2},[e("div",Qt,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t.def_value=a,placeholder:"留空保留原值"},null,8,Zt),[[ee,t.def_value]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,el)]),l[36]||(l[36]=e("span",{class:"lock-badge ml-1"},"🔒 加密",-1))],64)):c((n(),o("input",{key:3,class:"field-input","onUpdate:modelValue":a=>t.def_value=a},null,8,tl)),[[y,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>ve(u)},"×",8,ll)])]))),128))])])])):(n(),o("p",Gt,"尚无字段,点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:pe},"+ 添加字段")])],64)):C.value==="new"?(n(),o(v,{key:2},[e("div",{class:"flex items-center justify-between mb-4"},[l[40]||(l[40]=e("h3",{class:"text-base font-semibold text-slate-800"},"新增第三方服务",-1)),e("button",{class:"btn btn-ghost btn-sm",onClick:je},"取消")]),e("div",sl,[e("div",{class:z(["wstep",{on:k.value>=1,cur:k.value===1}]),onClick:l[6]||(l[6]=t=>k.value=1)},[l[41]||(l[41]=N("① 服务类型",-1)),_.value?(n(),o("span",nl," · "+d(m(_.value).short),1)):g("",!0)],2),l[43]||(l[43]=e("div",{class:"wline"},null,-1)),e("div",{class:z(["wstep",{on:k.value>=2,cur:k.value===2,disabled:!_.value}]),onClick:l[7]||(l[7]=t=>_.value&&(k.value=2))},[l[42]||(l[42]=N("② 服务商",-1)),i.provider?(n(),o("span",ol," · "+d(i.provider),1)):g("",!0)],2),l[44]||(l[44]=e("div",{class:"wline"},null,-1)),e("div",{class:z(["wstep",{on:k.value>=3,cur:k.value===3,disabled:k.value<3}])},"③ 配置",2)]),k.value===1?(n(),o(v,{key:0},[l[45]||(l[45]=e("p",{class:"text-sm text-slate-500 mb-3"},"请选择要接入的服务类型(每个服务归属单一类型,独立配置):",-1)),e("div",al,[(n(),o(v,null,h(w,t=>e("div",{key:t.v,class:z(["type-card",{on:_.value===t.v}]),onClick:u=>De(t.v)},[e("span",{class:"cat-chip",style:B({color:t.color,background:t.bg})},d(t.short),5),e("span",il,d(t.label),1)],10,dl)),64))])],64)):k.value===2?(n(),o(v,{key:1},[e("div",ul,[e("p",cl,"为「"+d(m(_.value).label)+"」选择服务商:",1),e("button",{class:"btn btn-ghost btn-xs",onClick:l[8]||(l[8]=t=>k.value=1)},"← 上一步")]),e("div",rl,[(n(!0),o(v,null,h(ce.value,t=>(n(),o("div",{key:t.id,class:z(["type-card",{on:G.value===t.id}]),onClick:u=>re(t)},[e("span",vl,d(t.provider),1),e("span",ml,d(t.name),1),e("span",bl,d((t.fields||[]).length)+" 字段",1)],10,pl))),128)),e("div",{class:"type-card",onClick:l[9]||(l[9]=t=>re(null))},[...l[46]||(l[46]=[e("span",{class:"provider-chip",style:{background:"#f1f5f9",color:"#475569"}},"自定义",-1),e("span",{class:"text-sm text-slate-700 mt-2"},"空白自定义",-1),e("span",{class:"text-[11px] text-slate-400 mt-0.5"},"手动添加字段",-1)])])]),ce.value.length?g("",!0):(n(),o("p",xl,"该类型暂无内置模板,可选「空白自定义」,或到「服务商模板」新增。"))],64)):(n(),o(v,{key:2},[e("div",yl,[e("div",_l,[e("span",{class:"cat-chip",style:B({color:m(_.value).color,background:m(_.value).bg})},d(m(_.value).short),5),i.provider?(n(),o("span",hl,d(i.provider),1)):g("",!0)]),e("div",gl,[e("button",{class:"btn btn-ghost btn-xs",onClick:l[10]||(l[10]=t=>k.value=2)},"← 上一步"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[11]||(l[11]=t=>de(!0))},"创建")])]),e("div",kl,[e("div",fl,[l[47]||(l[47]=e("label",{class:"label"},[e("span",{class:"label-text"},[N("服务ID * "),e("span",{class:"text-slate-400 text-xs"},"(唯一,如 tts_azure)")])],-1)),c(e("input",{"onUpdate:modelValue":l[12]||(l[12]=t=>i.id=t),class:"input input-bordered font-mono",placeholder:"tts_azure"},null,512),[[y,i.id]])]),e("div",wl,[l[48]||(l[48]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务名称 *")],-1)),c(e("input",{"onUpdate:modelValue":l[13]||(l[13]=t=>i.name=t),class:"input input-bordered",placeholder:"微软 Azure TTS"},null,512),[[y,i.name]])])]),e("div",Vl,[e("div",Ul,[l[49]||(l[49]=e("label",{class:"label"},[e("span",{class:"label-text"},[N("服务商标识 "),e("span",{class:"text-slate-400 text-xs"},"(如 azure/alibaba)")])],-1)),c(e("input",{"onUpdate:modelValue":l[14]||(l[14]=t=>i.provider=t),class:"input input-bordered font-mono",placeholder:"azure"},null,512),[[y,i.provider]])]),e("div",Cl,[l[50]||(l[50]=e("label",{class:"label"},[e("span",{class:"label-text"},"启用")],-1)),c(e("input",{"onUpdate:modelValue":l[15]||(l[15]=t=>i.enable=t),type:"checkbox",class:"toggle toggle-primary mt-3"},null,512),[[O,i.enable]])])]),e("div",Sl,[l[51]||(l[51]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务描述")],-1)),c(e("input",{"onUpdate:modelValue":l[16]||(l[16]=t=>i.description=t),class:"input input-bordered",placeholder:"简述该服务的用途"},null,512),[[y,i.description]])]),l[54]||(l[54]=e("div",{class:"divider text-xs text-slate-400 my-3"},"配置字段",-1)),e("div",null,[f.value.length?(n(),o("div",Tl,[e("table",Al,[l[53]||(l[53]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(f.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,Ml),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,zl),[[y,t.description]])]),e("td",Dl,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,jl),[[O,t.encrypted]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a,multiple:!0},null,8,["modelValue","onUpdate:modelValue"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a},null,8,["modelValue","onUpdate:modelValue"])):t.encrypted?(n(),o(v,{key:2},[e("div",Fl,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t.def_value=a,placeholder:"留空保留原值"},null,8,Nl),[[ee,t.def_value]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,Ll)]),l[52]||(l[52]=e("span",{class:"lock-badge ml-1"},"🔒 加密",-1))],64)):c((n(),o("input",{key:3,class:"field-input","onUpdate:modelValue":a=>t.def_value=a},null,8,Rl)),[[y,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>ve(u)},"×",8,Il)])]))),128))])])])):(n(),o("p",$l,"尚无字段,选模板自动带出或点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:pe},"+ 添加字段")])],64))],64)):C.value==="region"&&p.value?(n(),o(v,{key:3},[le.value?(n(),o("div",Bl,"加载中...")):(n(),o(v,{key:1},[e("div",Ol,[e("div",El,[e("div",{class:"svc-logo",style:B({background:p.value.color||"#6366f1",width:"44px",height:"44px",fontSize:"20px"})},d(p.value.icon||(p.value.name||"").charAt(0)),5),e("div",null,[e("h3",Hl,d(p.value.name),1),e("span",Pl,d(se.value)+" 分叉模式",1)])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[17]||(l[17]=t=>de(!1))},"保存分叉")]),e("div",Gl," ✦ 当前编辑「"+d(se.value)+"」的字段分叉:默认字段可覆盖值或勾选「不适用」停用;也可新增本区域专属字段。留空的覆盖字段继承默认值,加密字段留空保留已存储密文。 ",1),l[60]||(l[60]=e("p",{class:"text-sm font-medium text-slate-700 mb-2"},"默认字段",-1)),e("div",Jl,[e("table",Kl,[l[57]||(l[57]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-24 text-center"},"状态"),e("th",{class:"w-20 text-center"},"本区域不适用"),e("th",null,"有效值")])],-1)),e("tbody",null,[(n(!0),o(v,null,h(J.value,(t,u)=>(n(),o("tr",{key:u,class:z({"opacity-50":t.disabled})},[e("td",{class:"font-mono text-slate-700 break-all",title:t.key},d(t.key),9,ql),e("td",Wl,d(t.description),1),e("td",Xl,[t.disabled?(n(),o("span",Yl,"停用")):t.is_overridden?(n(),o("span",Ql,"覆盖")):(n(),o("span",Zl,"继承"))]),e("td",es,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs","onUpdate:modelValue":a=>t.disabled=a},null,8,ts),[[O,t.disabled]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t._input,"onUpdate:modelValue":a=>t._input=a,multiple:!0,disabled:t.disabled},null,8,["modelValue","onUpdate:modelValue","disabled"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t._input,"onUpdate:modelValue":a=>t._input=a,disabled:t.disabled},null,8,["modelValue","onUpdate:modelValue","disabled"])):t.encrypted?(n(),o(v,{key:2},[e("div",ls,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t._input=a,disabled:t.disabled,placeholder:"留空继承默认"},null,8,ss),[[ee,t._input]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,ns)]),l[55]||(l[55]=e("span",{class:"lock-badge ml-1"},"🔒",-1))],64)):c((n(),o("input",{key:3,class:"field-input","onUpdate:modelValue":a=>t._input=a,disabled:t.disabled,placeholder:"留空继承:"+(t.value||"")},null,8,os)),[[y,t._input]])])],2))),128)),J.value.length?g("",!0):(n(),o("tr",as,[...l[56]||(l[56]=[e("td",{colspan:"5",class:"text-center text-slate-400 py-3"},"该服务尚无默认字段",-1)])]))])])]),e("div",ds,d(se.value)+" 专属字段",1),e("div",null,[I.value.length?(n(),o("div",us,[e("table",cs,[l[59]||(l[59]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(I.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,rs),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,ps),[[y,t.description]])]),e("td",vs,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,ms),[[O,t.encrypted]])]),e("td",null,[t.encrypted?(n(),o(v,{key:0},[e("div",bs,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t._input=a,placeholder:"留空保留原值"},null,8,xs),[[ee,t._input]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,ys)]),l[58]||(l[58]=e("span",{class:"lock-badge ml-1"},"🔒",-1))],64)):c((n(),o("input",{key:1,class:"field-input","onUpdate:modelValue":a=>t._input=a},null,8,_s)),[[y,t._input]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>Le(u)},"×",8,hs)])]))),128))])])])):(n(),o("p",is,"尚无区域专属字段,点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:Ne},"+ 添加区域专属字段")])],64))],64)):g("",!0)])])]),c(e("div",gs,[e("div",ks,[e("div",fs,[e("div",ws,[(n(),o("svg",Vs,[...l[61]||(l[61]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"},null,-1)])]))]),e("div",null,[l[62]||(l[62]=e("h3",{class:"text-base font-semibold text-slate-800"},"同步到其他区域",-1)),e("p",Us,d(be.value),1)])]),e("div",{class:"text-xs px-3 py-2 rounded-lg mb-3",style:{background:"#f0fdf4",border:"1px solid #bbf7d0",color:"#15803d"},innerHTML:xe.value},null,8,Cs),e("div",Ss,[l[63]||(l[63]=e("span",{class:"text-xs font-semibold text-slate-500"},"选择目标区域",-1)),e("div",$s,[e("button",{class:"btn btn-ghost btn-xs",onClick:l[18]||(l[18]=t=>he(!0))},"全选"),e("button",{class:"btn btn-ghost btn-xs",onClick:l[19]||(l[19]=t=>he(!1))},"清空")])]),e("div",Ts,[(n(!0),o(v,null,h(ye.value,t=>(n(),o("label",{key:t.value,class:z(["sync-region-item",{checked:L.value.includes(t.value)}]),onClick:u=>_e(t.value)},[e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary",checked:L.value.includes(t.value),onClick:Xe(u=>_e(t.value),["stop"])},null,8,Ms),e("span",null,d(t.label),1)],10,As))),128))]),l[64]||(l[64]=e("p",{class:"text-[11px] text-slate-400 mb-5"},"⚠ 已勾选区域将被当前配置(值覆盖 / 区域专属字段 / 停用字段)整体替换;加密字段密文一并同步。",-1)),e("div",{class:"flex gap-3 justify-end"},[e("button",{class:"btn btn-ghost",onClick:Oe},"仅保存当前区域"),e("button",{class:"btn btn-primary text-white",onClick:Ee},"保存并同步")])])],512),[[Ve,oe.value]]),c(e("div",zs,[e("div",Ds,[Z.value==="list"?(n(),o(v,{key:0},[e("div",js,[l[65]||(l[65]=e("div",null,[e("h3",{class:"text-base font-semibold text-slate-800"},"服务商模板"),e("p",{class:"text-xs text-slate-400 mt-1"},"模板是字段预设,新增服务时可一键带出。内置模板可编辑;删除后重启会被重新补回。")],-1)),e("div",Fs,[e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[20]||(l[20]=t=>fe())},"+ 新增模板"),e("button",{class:"btn btn-ghost btn-sm",onClick:He},"关闭")])]),e("div",Ns,[(n(!0),o(v,null,h(Te.value,t=>(n(),o("div",{key:t.cat,class:"mb-3"},[e("p",Ls,d(t.label),1),(n(!0),o(v,null,h(t.items,u=>(n(),o("div",{key:u.id,class:"tpl-row"},[e("div",Rs,[e("div",Is,[e("span",Bs,d(u.name),1),e("span",Os,d(u.provider),1),u.builtin?(n(),o("span",Es,"内置")):g("",!0)]),e("p",Hs,d(u.id)+" · "+d((u.fields||[]).length)+" 字段",1)]),e("div",Ps,[e("button",{class:"btn btn-ghost btn-xs",onClick:a=>fe(u)},"编辑",8,Gs),e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>Ke(u)},"删除",8,Js)])]))),128))]))),128)),K.value.length?g("",!0):(n(),o("p",Ks,"暂无模板"))])],64)):(n(),o(v,{key:1},[e("div",qs,[e("h3",Ws,d(q.value?"编辑模板":"新增模板"),1),e("div",Xs,[e("button",{class:"btn btn-ghost btn-sm",onClick:l[21]||(l[21]=t=>Z.value="list")},"返回"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:Je},"保存")])]),e("div",Ys,[e("div",Qs,[l[66]||(l[66]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"模板ID *")],-1)),c(e("input",{"onUpdate:modelValue":l[22]||(l[22]=t=>b.id=t),disabled:q.value,class:"input input-bordered input-sm font-mono",placeholder:"tts_azure"},null,8,Zs),[[y,b.id]])]),e("div",en,[l[67]||(l[67]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"类别 *")],-1)),c(e("select",{"onUpdate:modelValue":l[23]||(l[23]=t=>b.category=t),class:"select select-bordered select-sm"},[(n(),o(v,null,h(w,t=>e("option",{key:t.v,value:t.v},d(t.label),9,tn)),64))],512),[[ie,b.category,void 0,{number:!0}]])]),e("div",ln,[l[68]||(l[68]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"服务商标识 *")],-1)),c(e("input",{"onUpdate:modelValue":l[24]||(l[24]=t=>b.provider=t),class:"input input-bordered input-sm font-mono",placeholder:"azure"},null,512),[[y,b.provider]])]),e("div",sn,[l[69]||(l[69]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"展示名 *")],-1)),c(e("input",{"onUpdate:modelValue":l[25]||(l[25]=t=>b.name=t),class:"input input-bordered input-sm",placeholder:"微软 Azure TTS"},null,512),[[y,b.name]])])]),e("div",nn,[l[70]||(l[70]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"描述")],-1)),c(e("input",{"onUpdate:modelValue":l[26]||(l[26]=t=>b.description=t),class:"input input-bordered input-sm"},null,512),[[y,b.description]])]),l[73]||(l[73]=e("p",{class:"text-sm font-medium text-slate-700 mb-1"},"字段",-1)),e("div",on,[e("table",an,[l[72]||(l[72]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认/提示值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(F.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,dn),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,un),[[y,t.description]])]),e("td",cn,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,rn),[[O,t.encrypted]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a,multiple:!0},null,8,["modelValue","onUpdate:modelValue"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a},null,8,["modelValue","onUpdate:modelValue"])):c((n(),o("input",{key:2,class:"field-input","onUpdate:modelValue":a=>t.def_value=a,placeholder:"可留空"},null,8,pn)),[[y,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>Ge(u)},"×",8,vn)])]))),128)),F.value.length?g("",!0):(n(),o("tr",mn,[...l[71]||(l[71]=[e("td",{colspan:"5",class:"text-center text-slate-400 py-2"},"尚无字段",-1)])]))])])]),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:Pe},"+ 添加字段")],64))])],512),[[Ve,ke.value]])])}}}),gn=Se(bn,[["__scopeId","data-v-04ce4a7d"]]);export{gn as default}; diff --git a/apps/admin/.output/public/_nuxt/B3ocY-Ie.js b/apps/admin/.output/public/_nuxt/B3ocY-Ie.js new file mode 100644 index 00000000..4b4552ad --- /dev/null +++ b/apps/admin/.output/public/_nuxt/B3ocY-Ie.js @@ -0,0 +1 @@ +import{_ as j}from"./R6fio73R.js";import{u as B}from"./CMwGY1Mu.js";import{g as f,o as a,c as o,F as h,r as _,n as T,a as t,t as n,M as d,J as k,w as z,l as x,T as E,_ as S,C as N,z as F,y as $,j as D,d as I,H as O,b as M,L as R,A as u}from"./CfpW9SkI.js";import{u as G}from"./DL330dAC.js";const J={class:"toast toast-bottom toast-end z-50"},P=f({__name:"AppToast",setup(g){const{toasts:s}=B();function r(i){switch(i){case"success":return"alert-success";case"error":return"alert-error";case"warning":return"alert-warning";default:return"alert-info"}}return(i,b)=>(a(),o("div",J,[(a(!0),o(h,null,_(d(s),c=>(a(),o("div",{key:c.id,class:T(["alert",r(c.type)])},[t("span",null,n(c.msg),1)],2))),128))]))}}),U=Object.assign(P,{__name:"AppToast"}),W={key:0,class:"fixed inset-0 z-[100] flex items-center justify-center bg-black/30 backdrop-blur-[1px]","aria-busy":"true",role:"alert"},q=f({__name:"AppLoading",setup(g){const{loading:s}=G();return(r,i)=>(a(),k(E,{name:"fade"},{default:z(()=>[d(s)?(a(),o("div",W,[...i[0]||(i[0]=[t("div",{class:"flex flex-col items-center gap-3 rounded-2xl bg-white px-10 py-7 shadow-xl"},[t("span",{class:"loading loading-spinner loading-lg text-primary"}),t("span",{class:"text-sm text-slate-600"},"处理中,请稍候…")],-1)])])):x("",!0)]),_:1}))}}),K=Object.assign(S(q,[["__scopeId","data-v-c1ace0c2"]]),{__name:"AppLoading"}),Q={class:"flex min-h-screen"},X={class:"fixed top-0 left-0 bottom-0 z-30 overflow-y-auto flex flex-col",style:{width:"256px",background:"#1E293B"}},Y={style:{padding:"20px 20px 16px","border-bottom":"1px solid rgba(255,255,255,0.06)"}},Z={style:{display:"flex","align-items":"center",gap:"12px"}},tt={style:{width:"40px",height:"40px",background:"linear-gradient(135deg,#4F46E5,#7C3AED)","border-radius":"12px",display:"flex","align-items":"center","justify-content":"center","box-shadow":"0 6px 20px rgba(79,70,229,0.35)","flex-shrink":"0"}},et={style:{width:"22px",height:"22px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},st={style:{color:"#fff","font-weight":"700","font-size":"15px","letter-spacing":"-0.02em"}},at={style:{padding:"12px 0",flex:"1"}},ot={class:"icon",width:"18",height:"18",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},nt=["d"],it={style:{"margin-top":"auto",padding:"14px 18px","border-top":"1px solid rgba(255,255,255,0.06)"}},lt={style:{display:"flex","align-items":"center",gap:"10px"}},dt={style:{width:"32px",height:"32px","border-radius":"9px",background:"linear-gradient(135deg,#4F46E5,#7C3AED)",color:"#fff",display:"flex","align-items":"center","justify-content":"center","font-weight":"700","flex-shrink":"0"}},rt={style:{"min-width":"0"}},ct={style:{color:"#E2E8F0","font-size":"13px","font-weight":"600","line-height":"1.2",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},pt={style:{color:"#64748B","font-size":"11px","margin-top":"2px"}},ht={class:"flex-1",style:{"margin-left":"256px"}},mt={class:"bg-white shadow-sm sticky top-0 z-20 h-16 flex items-center justify-between px-6"},ut={class:"flex items-center gap-2 text-sm"},vt={class:"text-slate-700 font-medium"},_t={class:"flex items-center gap-2"},xt={class:"dropdown dropdown-end"},ft={tabindex:"0",class:"flex items-center gap-2 cursor-pointer hover:bg-slate-50 rounded-lg px-3 py-1.5"},gt={class:"avatar placeholder"},bt={class:"bg-indigo-600 text-white rounded-full w-8"},wt={class:"text-sm"},yt={class:"text-sm text-slate-700 leading-tight"},Mt={class:"text-[10px] text-slate-400"},kt={class:"p-6"},Ht=f({__name:"default",setup(g){const s=N(),r=F(),i=$();function b(){s.logout(),r.push("/")}const c=u(()=>({1:"超级管理员",2:"管理员",3:"代理",4:"运营"})[s.identity]??""),V=u(()=>({1:"超管",2:"管理员",3:"代理",4:"运营"})[s.identity]??""),w=u(()=>(s.account||"A").charAt(0).toUpperCase()),y=[{label:"数据概览",items:[{id:"dashboard",label:"仪表盘",to:"/dashboard",icon:"M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"}]},{label:"生产管理",items:[{id:"factory",label:"厂家管理",to:"/factory",icon:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"},{id:"product",label:"产品管理",to:"/product",icon:"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"},{id:"code",label:"公码管理",to:"/code",icon:"M4 4h6v6H4V4zm10 0h6v6h-6V4zM4 14h6v6H4v-6zm10 2h2m-2 4h6m-4-4v4m4-8h2m-2 0v4"},{id:"device",label:"生产管理",to:"/device",icon:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z"}]},{label:"用户管理",items:[{id:"user",label:"用户查询",to:"/users",icon:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"}]},{label:"服务配置",items:[{id:"globalconfig",label:"全局环境配置",to:"/globalconfig",icon:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"},{id:"mcpconfig",label:"MCP配置",to:"/mcpconfig",icon:"M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-3-4h.01M16 16h.01"},{id:"meettemplate",label:"会议模板",to:"/meettemplates",icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},{id:"svcconfig",label:"第三方服务配置",to:"/serviceconfig",icon:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z M15 12a3 3 0 11-6 0 3 3 0 016 0z"},{id:"calltranslate",label:"通话翻译配置",to:"/calltranslate",icon:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"}]},{label:"SaaS 管理",items:[{id:"apps",label:"应用管理",to:"/apps",icon:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"},{id:"environments",label:"环境节点",to:"/environments",icon:"M5 3h14a2 2 0 012 2v4a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2zM5 13h14a2 2 0 012 2v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4a2 2 0 012-2zM7 7h.01M7 17h.01"}]},{label:"系统管理",items:[{id:"systemconfig",label:"系统配置",to:"/systemconfig",icon:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"},{id:"statlog",label:"统计日志",to:"/statlog",icon:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"},{id:"admin",label:"后台账号",to:"/accounts",icon:"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"}]}];function A(l){return l.items.some(e=>s.hasAccess(e.id))}const C=u(()=>{if(i.meta?.title)return i.meta.title;for(const l of y){const e=l.items.find(v=>i.path.startsWith(v.to));if(e)return e.label}return"Console"});return D(()=>{s.token||r.push("/")}),(l,e)=>{const v=j,H=U,L=K;return a(),o("div",Q,[t("aside",X,[t("div",Y,[t("div",Z,[t("div",tt,[(a(),o("svg",et,[...e[0]||(e[0]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},null,-1)])]))]),t("div",null,[t("div",st,n(d(s).siteTitle||"Admin"),1),e[1]||(e[1]=t("div",{style:{color:"#64748B","font-size":"11px","font-weight":"500"}},"Admin Console · v1.0.1",-1))])])]),t("nav",at,[(a(),o(h,null,_(y,m=>(a(),o(h,null,[A(m)?(a(),o("div",{key:m.label,class:"group-title"},n(m.label),1)):x("",!0),(a(!0),o(h,null,_(m.items,p=>(a(),o(h,null,[d(s).hasAccess(p.id)?(a(),k(v,{key:p.id,to:p.to,class:"sidebar-link","active-class":"active"},{default:z(()=>[(a(),o("svg",ot,[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:p.icon},null,8,nt)])),I(" "+n(p.label),1)]),_:2},1032,["to"])):x("",!0)],64))),256))],64))),64))]),t("div",it,[t("div",lt,[t("div",dt,n(w.value),1),t("div",rt,[t("div",ct,n(d(s).account||"-"),1),t("div",pt,n(c.value),1)])])])]),t("main",ht,[t("header",mt,[t("div",ut,[e[2]||(e[2]=t("span",{class:"text-slate-400"},"首页",-1)),e[3]||(e[3]=t("span",{class:"text-slate-300"},"/",-1)),t("span",vt,n(C.value),1)]),t("div",_t,[e[4]||(e[4]=O('',1)),t("div",xt,[t("div",ft,[t("div",gt,[t("div",bt,[t("span",wt,n(w.value),1)])]),t("div",null,[t("div",yt,n(d(s).account),1),t("div",Mt,n(V.value),1)])]),t("ul",{tabindex:"0",class:"dropdown-content z-[1] menu p-2 shadow-lg bg-white rounded-lg w-44 border"},[t("li",null,[t("a",{class:"text-sm text-red-500 cursor-pointer",onClick:b},"退出登录")])])])])]),M(H),M(L),t("div",kt,[R(l.$slots,"default")])])])}}});export{Ht as default}; diff --git a/apps/admin/.output/public/_nuxt/BIBu1qhq.js b/apps/admin/.output/public/_nuxt/BIBu1qhq.js deleted file mode 100644 index 52f03bd7..00000000 --- a/apps/admin/.output/public/_nuxt/BIBu1qhq.js +++ /dev/null @@ -1 +0,0 @@ -import{g as Z,C as $,j as ee,c as l,a as e,k as v,p as j,l as D,F as y,r as h,m as w,I as te,D as se,t as i,d as B,s as u,A as _,x as ne,o}from"./CTAruH_8.js";import{u as le}from"./9B2ftqmN.js";import{u as oe}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const ae={class:"space-y-6"},ie={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4"},re={class:"flex items-end gap-3 flex-wrap"},de={class:"form-control"},ue={key:0,value:""},ce=["value"],pe={class:"form-control"},me={key:0,value:""},ve=["value"],be={class:"form-control"},fe=["onKeydown"],xe={key:0,class:"bg-white rounded-xl shadow-sm border border-slate-100 p-12 text-center text-slate-400"},ge={key:1,class:"space-y-5"},ye={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5 flex items-center gap-4"},he=["src"],we={key:1,class:"w-14 h-14 rounded-full bg-indigo-100 text-indigo-600 flex items-center justify-center text-xl font-bold"},_e={class:"text-lg font-semibold text-slate-800"},ke={class:"text-xs text-slate-400 font-mono mt-0.5"},Ie={class:"ml-auto flex items-center gap-3"},Ae={class:"badge badge-primary badge-outline"},Ue={class:"px-5 py-3 border-b border-slate-50 text-sm font-semibold text-slate-700"},Ve={class:"px-5 py-3 grid grid-cols-1 md:grid-cols-2 gap-x-8"},Ce={class:"text-xs text-slate-400 shrink-0"},De={class:"text-sm text-slate-700 break-all text-right"},Ne={class:"modal-box max-w-md"},Me={class:"text-xs text-slate-400 mb-4"},Se={class:"font-mono text-slate-600"},Ge={class:"grid grid-cols-3 gap-3"},Pe={class:"form-control"},je={class:"form-control"},Be={class:"form-control"},Re=Z({__name:"users",setup(Te){const{webApi:N,consoleApi:T}=le(),{success:q,error:M,warn:c}=oe(),b=$(),E={cn:"中国",us:"美国",hw:"海外",ea:"东亚",sea:"东南亚",sa:"南亚",me:"中东",eu:"欧洲",ru:"俄罗斯",af:"非洲",sam:"南美",nam:"北美",oc:"大洋洲",br:"巴西",in:"印度"};function F(s){return E[s]||s||"默认"}const f=u([]),p=u(""),m=u(""),k=u(""),r=u(null),S=u("请输入查询条件后点击「搜索」"),I=u(""),x=u(""),K=_(()=>[1,2,3].includes(b.identity)),g=u(null),a=ne({vipday:0,trademin:0,meetmin:0}),A=_(()=>{const s=[];return f.value.forEach(t=>{s.includes(t.name)||s.push(t.name)}),s}),U=_(()=>f.value.filter(s=>s.name===p.value));function G(){const s=U.value;m.value=s.length?s[0].id:""}function L(s){return s?new Date(s*1e3).toLocaleString():"-"}function R(s){return s?"是":"否"}function H(s){return s===1?"男":s===2?"女":"未知"}function V(s){return s==null||s===""?"-":s}const O=[{title:"基本信息",rows:[["uid","UID"],["name","用户名"],["account","登录账号"],["mail","邮箱"],["phone","手机号"],["gender","性别","gender"],["language","语言"],["version","版本"],["channel","渠道"],["State","状态"],["country_code","国家码"],["continent_code","大洲码"],["servicetag","服务区"],["phonemodel","手机型号"],["phonemac","设备ID"]]},{title:"第三方登录",rows:[["wxopenid","微信 openid"],["googleopenid","Google openid"],["facebookopenid","Facebook openid"],["appleopenid","Apple openid"]]},{title:"会员与积分",rows:[["viplv","VIP等级"],["vipexptime","VIP到期","ts"],["aichatintegral","AI积分"],["aichattotalintegral","AI累计积分"],["tradeintegral","翻译积分"],["tradetotalintegral","翻译累计积分"],["meetintegral","会议积分"],["meettotalintegral","会议累计积分"],["lastbindproductid","最后绑定产品ID"],["isactivatecode","已领激活码","bool"],["isgiveaway","首次绑定赠送","bool"]]},{title:"时间",rows:[["createtime","注册时间","ts"],["lastsgintime","最后登录","ts"],["canceltime","注销时间","ts"]]}];function z(s,t){const n=t[2],d=s[t[0]];return n==="ts"?L(d):n==="bool"?R(d):n==="gender"?H(d):V(d)}const J=_(()=>{const s=r.value;return s?String(s.name||s.uid||"?").charAt(0).toUpperCase():"?"});async function C(){if(!p.value){c("请选择应用");return}if(!m.value){c("请选择区域");return}const s=k.value.trim();if(!s){c("请输入用户UID");return}const t=Number(m.value);I.value=t,x.value=s,b.setCurrentApp(t);try{const n=await N("getuserinfo",{uid:s});r.value=n||{}}catch(n){M(n?.message||"查询失败"),r.value=null,S.value=n?.message||"未找到该用户"}}function Q(){if(!x.value){c("请先查询用户");return}a.vipday=0,a.trademin=0,a.meetmin=0,g.value?.showModal()}function W(){g.value?.close()}async function X(){const s=Number(a.vipday)||0,t=Number(a.trademin)||0,n=Number(a.meetmin)||0;if(s<0||t<0||n<0){c("数量不能为负");return}if(!s&&!t&&!n){c("请至少填写一项");return}if(!I.value||!x.value){c("请先查询用户");return}b.setCurrentApp(Number(I.value));try{await N("giftuserresource",{uid:x.value,vipday:s,trademin:t,meetmin:n}),q("赠送成功"),g.value?.close(),C()}catch(d){M(d?.message||"赠送失败")}}function P(){const s=A.value;if(!s.length){p.value="",m.value="";return}p.value=s[0],G()}async function Y(){if(b.identity===3){f.value=(b.appbinds||[]).map(s=>({id:s.id,name:s.name,region:s.region,enabled:!0})),P();return}try{const s=await T("apps/list",{});f.value=(s||[]).filter(t=>t.enabled)}catch{f.value=[]}P()}return ee(Y),(s,t)=>(o(),l("div",ae,[e("div",ie,[e("div",re,[e("div",de,[t[6]||(t[6]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"应用")],-1)),v(e("select",{"onUpdate:modelValue":t[0]||(t[0]=n=>p.value=n),class:"select select-bordered select-sm",style:{"min-width":"180px"},onChange:G},[A.value.length?D("",!0):(o(),l("option",ue,"无可用应用")),(o(!0),l(y,null,h(A.value,n=>(o(),l("option",{key:n,value:n},i(n),9,ce))),128))],544),[[j,p.value]])]),e("div",pe,[t[7]||(t[7]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"区域")],-1)),v(e("select",{"onUpdate:modelValue":t[1]||(t[1]=n=>m.value=n),class:"select select-bordered select-sm",style:{"min-width":"140px"}},[U.value.length?D("",!0):(o(),l("option",me,"无可用区域")),(o(!0),l(y,null,h(U.value,n=>(o(),l("option",{key:n.id,value:n.id},i(F(n.region)),9,ve))),128))],512),[[j,m.value]])]),e("div",be,[t[8]||(t[8]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"用户UID")],-1)),v(e("input",{"onUpdate:modelValue":t[2]||(t[2]=n=>k.value=n),type:"text",class:"input input-bordered input-sm",style:{"min-width":"240px"},placeholder:"输入用户 UID",onKeydown:te(se(C,["prevent"]),["enter"])},null,40,fe),[[w,k.value]])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:C},"搜索")]),t[9]||(t[9]=e("p",{class:"text-xs text-slate-400 mt-2"},"选择应用与区域后输入 UID,直接查询该部署业务库中的用户信息。",-1))]),r.value?(o(),l("div",ge,[e("div",ye,[r.value.avatar?(o(),l("img",{key:0,src:r.value.avatar,class:"w-14 h-14 rounded-full object-cover border border-slate-100"},null,8,he)):(o(),l("div",we,i(J.value),1)),e("div",null,[e("div",_e,i(V(r.value.name)),1),e("div",ke,i(V(r.value.uid)),1)]),e("div",Ie,[e("span",Ae,"VIP "+i(r.value.viplv||0),1),K.value?(o(),l("button",{key:0,class:"btn btn-success btn-sm text-white",onClick:Q},"赠送资源点")):D("",!0)])]),(o(),l(y,null,h(O,n=>e("div",{key:n.title,class:"bg-white rounded-xl shadow-sm border border-slate-100 overflow-hidden"},[e("div",Ue,i(n.title),1),e("div",Ve,[(o(!0),l(y,null,h(n.rows,d=>(o(),l("div",{key:d[0],class:"flex justify-between gap-3 py-1.5 border-b border-slate-50"},[e("span",Ce,i(d[1]),1),e("span",De,i(z(r.value,d)),1)]))),128))])])),64))])):(o(),l("div",xe,i(S.value),1)),e("dialog",{ref_key:"giftModal",ref:g,class:"modal"},[e("div",Ne,[t[15]||(t[15]=e("h3",{class:"font-bold text-lg mb-1 text-slate-800"},"赠送资源点",-1)),e("p",Me,[t[10]||(t[10]=B("目标用户 UID:",-1)),e("span",Se,i(x.value),1),t[11]||(t[11]=B("。代理账号将从自己的资源点余额中扣减,超管/管理员无消耗。",-1))]),e("div",Ge,[e("div",Pe,[t[12]||(t[12]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"VIP天数")],-1)),v(e("input",{"onUpdate:modelValue":t[3]||(t[3]=n=>a.vipday=n),type:"number",class:"input input-bordered",min:"0"},null,512),[[w,a.vipday,void 0,{number:!0}]])]),e("div",je,[t[13]||(t[13]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"翻译分钟")],-1)),v(e("input",{"onUpdate:modelValue":t[4]||(t[4]=n=>a.trademin=n),type:"number",class:"input input-bordered",min:"0"},null,512),[[w,a.trademin,void 0,{number:!0}]])]),e("div",Be,[t[14]||(t[14]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"会议分钟")],-1)),v(e("input",{"onUpdate:modelValue":t[5]||(t[5]=n=>a.meetmin=n),type:"number",class:"input input-bordered",min:"0"},null,512),[[w,a.meetmin,void 0,{number:!0}]])])]),e("div",{class:"modal-action"},[e("button",{class:"btn btn-sm",onClick:W},"取消"),e("button",{class:"btn btn-success btn-sm text-white",onClick:X},"确认赠送")])]),t[16]||(t[16]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512)]))}});export{Re as default}; diff --git a/apps/admin/.output/public/_nuxt/BVGGsVu4.js b/apps/admin/.output/public/_nuxt/BVGGsVu4.js deleted file mode 100644 index a21d2018..00000000 --- a/apps/admin/.output/public/_nuxt/BVGGsVu4.js +++ /dev/null @@ -1 +0,0 @@ -import{g as K,j as T,c as a,k as c,v as E,a as t,l as M,F as C,r as V,t as r,D as N,m as v,I as z,s as d,x as A,o as n,d as q}from"./CTAruH_8.js";import{u as H}from"./9B2ftqmN.js";import{u as G}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const J={class:"flex items-center justify-between mb-5"},O={class:"bg-white rounded-xl shadow-sm border border-slate-100"},P={class:"overflow-x-auto"},Q={class:"table table-zebra"},R={key:0},W={key:1},X={class:"font-mono text-sm"},Y={class:"font-medium"},Z={class:"badge badge-ghost badge-sm"},tt={class:"text-sm"},et={key:1,class:"text-slate-300"},st={class:"text-sm text-slate-500"},lt={class:"flex gap-1"},ot=["onClick"],at=["onClick"],nt={class:"flex items-center gap-3 mb-5"},it={class:"text-lg font-semibold text-slate-800"},rt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},dt={class:"form-control mb-4"},ut={class:"form-control mb-4"},ct={class:"form-control mb-4"},mt={class:"form-control mb-6"},bt={class:"space-y-2"},pt={key:0,class:"text-xs text-slate-400"},ft={class:"badge badge-lg gap-1 bg-slate-100 border-slate-200"},vt=["onClick"],yt={class:"flex gap-2 mt-2"},gt=["onKeydown"],xt={class:"flex gap-3"},ht=["disabled"],$t=K({__name:"factory",setup(_t){const{webApi:y}=H(),{success:F,error:g,warn:U}=G(),p=d("list"),f=d([]),x=d(!1),h=d(!1),m=d(!1),i=d([]),b=d(""),o=A({id:0,factory:"",factoryflag:"",description:""});function j(s){return s?Number(s).toString(16).toUpperCase():""}function _(s){return(s||"").split(",").map(e=>e.trim()).filter(Boolean)}async function w(){x.value=!0;try{const s=await y("getfactorys",{});f.value=s?.factorys??[]}catch(s){g(s?.message??"获取厂家列表失败"),f.value=[]}finally{x.value=!1}}function k(){p.value="list",w()}function $(s){s?(m.value=!0,o.id=s.id,o.factory=s.factory||"",o.factoryflag=s.factoryflag||"",o.description=s.description||"",i.value=_(s.contactmails)):(m.value=!1,o.id=0,o.factory="",o.factoryflag="",o.description="",i.value=[]),b.value="",p.value="form"}function B(){const s=b.value.trim();if(s){if(i.value.includes(s)){U("邮箱已存在");return}i.value.push(s),b.value=""}}function L(s){i.value.splice(s,1)}async function S(){h.value=!0;try{const s={Factory:{factory:o.factory,factoryflag:o.factoryflag,description:o.description,contactmails:i.value.join(",")}};m.value&&(s.Factory.id=Number(o.id)),await y(m.value?"updatefactory":"addfactory",s),F("保存成功"),k()}catch(s){g(s?.message??"保存失败")}finally{h.value=!1}}function I(s){window.confirm(`确定删除工厂 "${s.factory}" 吗?`)&&y("delfactory",{id:s.id}).then(()=>{F("删除成功"),w()}).catch(e=>g(e?.message??"删除失败"))}return T(w),(s,e)=>(n(),a("div",null,[c(t("div",null,[t("div",J,[e[7]||(e[7]=t("h2",{class:"text-lg font-semibold text-slate-800"},"厂家列表",-1)),t("button",{class:"btn btn-primary btn-sm text-white",onClick:e[0]||(e[0]=l=>$())},"+ 新增工厂")]),t("div",O,[t("div",P,[t("table",Q,[e[10]||(e[10]=t("thead",null,[t("tr",null,[t("th",null,"ID"),t("th",null,"工厂名称"),t("th",null,"标识"),t("th",null,"联系邮箱"),t("th",null,"批次"),t("th",null,"产品"),t("th",null,"操作")])],-1)),t("tbody",null,[x.value?(n(),a("tr",R,[...e[8]||(e[8]=[t("td",{colspan:"7",class:"text-center py-8"},[t("span",{class:"loading loading-spinner loading-sm"})],-1)])])):f.value.length?M("",!0):(n(),a("tr",W,[...e[9]||(e[9]=[t("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])])),(n(!0),a(C,null,V(f.value,l=>(n(),a("tr",{key:l.id},[t("td",X,r(j(l.id)),1),t("td",Y,r(l.factory),1),t("td",null,[t("span",Z,r(l.factoryflag),1)]),t("td",tt,[_(l.contactmails).length?(n(!0),a(C,{key:0},V(_(l.contactmails),(u,D)=>(n(),a("span",{key:D,class:"badge badge-ghost badge-sm mr-1"},r(u),1))),128)):(n(),a("span",et,"-"))]),t("td",null,r(l.probatch||0),1),t("td",st,r(l.productlists||""),1),t("td",null,[t("div",lt,[t("button",{class:"btn btn-ghost btn-xs",onClick:u=>$(l)},"编辑",8,ot),t("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:u=>I(l)},"删除",8,at)])])]))),128))])])])])],512),[[E,p.value==="list"]]),c(t("div",null,[t("div",nt,[t("button",{class:"btn btn-ghost btn-sm",onClick:e[1]||(e[1]=l=>k())},"← 返回列表"),t("h2",it,r(m.value?"编辑工厂":"新增工厂"),1)]),t("div",rt,[t("form",{onSubmit:N(S,["prevent"])},[t("div",dt,[e[11]||(e[11]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"工厂名称 *")],-1)),c(t("input",{"onUpdate:modelValue":e[2]||(e[2]=l=>o.factory=l),type:"text",class:"input input-bordered w-full",required:""},null,512),[[v,o.factory]])]),t("div",ut,[e[12]||(e[12]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"工厂标识")],-1)),c(t("input",{"onUpdate:modelValue":e[3]||(e[3]=l=>o.factoryflag=l),type:"text",class:"input input-bordered w-full"},null,512),[[v,o.factoryflag]])]),t("div",ct,[e[13]||(e[13]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"描述")],-1)),c(t("textarea",{"onUpdate:modelValue":e[4]||(e[4]=l=>o.description=l),class:"textarea textarea-bordered w-full",rows:"3"},null,512),[[v,o.description]])]),t("div",mt,[e[15]||(e[15]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"联系邮箱")],-1)),t("div",bt,[i.value.length?M("",!0):(n(),a("p",pt,"暂无邮箱")),(n(!0),a(C,null,V(i.value,(l,u)=>(n(),a("div",{key:u,class:"flex items-center gap-2"},[t("span",ft,[e[14]||(e[14]=t("svg",{class:"h-3 w-3 text-slate-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})],-1)),q(" "+r(l),1)]),t("button",{type:"button",class:"btn btn-ghost btn-xs text-red-400 hover:text-red-600",onClick:D=>L(u)},"×",8,vt)]))),128))]),t("div",yt,[c(t("input",{"onUpdate:modelValue":e[5]||(e[5]=l=>b.value=l),type:"email",class:"input input-bordered input-sm flex-1",placeholder:"输入邮箱地址",onKeydown:z(N(B,["prevent"]),["enter"])},null,40,gt),[[v,b.value]]),t("button",{type:"button",class:"btn btn-outline btn-sm btn-primary",onClick:B},"添加")])]),t("div",xt,[t("button",{type:"button",class:"btn btn-ghost",onClick:e[6]||(e[6]=l=>k())},"取消"),t("button",{type:"submit",class:"btn btn-primary text-white",disabled:h.value},"保存",8,ht)])],32)])],512),[[E,p.value==="form"]])]))}});export{$t as default}; diff --git a/apps/admin/.output/public/_nuxt/BYskkv1s.js b/apps/admin/.output/public/_nuxt/BYskkv1s.js new file mode 100644 index 00000000..e9f5a6b9 --- /dev/null +++ b/apps/admin/.output/public/_nuxt/BYskkv1s.js @@ -0,0 +1,9 @@ +import{g as Ae,C as Ee,z as ze,j as Re,c as i,k as m,v as L,a as e,d as c,F as x,r as S,t as d,D as le,m as C,q as ce,n as h,l as $,p as Y,s as w,A as me,x as E,E as je,o as r,_ as Fe}from"./CfpW9SkI.js";import{u as Pe}from"./DSu8q42f.js";import{u as Be}from"./CMwGY1Mu.js";import"./DL330dAC.js";const qe={class:"flex items-center justify-between mb-5"},He={key:0,class:"bg-white rounded-xl border border-slate-100 py-14 text-center"},Je={key:1,class:"bg-white rounded-xl border border-slate-100 py-14 text-center text-slate-400"},Ye={key:2,class:"space-y-4"},Ke=["onClick"],Ge={class:"chev"},Qe={class:"min-w-0 flex-1"},We={class:"flex items-center gap-2 flex-wrap"},Xe={class:"app-name"},Ze={key:1,class:"chip-mono"},et={class:"chip-count"},tt={class:"text-xs text-slate-400 mt-0.5 truncate"},st=["onClick"],nt=["onClick"],lt=["onClick"],ot={class:"app-body"},at={key:0,class:"text-center text-slate-300 py-5 text-xs"},it={key:1,class:"overflow-x-auto"},dt={class:"table table-sm text-sm"},rt={class:"font-medium text-slate-700 ml-1"},ut={class:"text-xs text-slate-400 ml-1 font-mono"},pt=["onUpdate:modelValue","disabled","onChange"],ct=["value"],mt={key:0,class:"badge badge-warning badge-sm text-amber-900"},bt={key:1,class:"badge badge-success badge-sm text-white"},gt={key:0,class:"chip-mono text-emerald-700"},xt={key:1,class:"text-amber-600 text-xs font-mono",title:"未固定版本,升级时建议选明确版本号(如 0.1.1)"},ft={class:"font-mono text-xs"},vt={key:0,class:"text-green-600"},_t={key:1,class:"text-slate-400"},yt={class:"text-right"},kt={class:"flex gap-1 justify-end"},ht=["onClick"],wt=["onClick"],Ct=["onClick"],Mt=["onClick"],Tt=["onClick"],$t=["onClick"],Nt=["onClick"],Ut={class:"flex items-center gap-3 mb-5"},Vt={class:"text-lg font-semibold text-slate-800"},St={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-xl"},It={class:"form-control"},Lt={class:"form-control mt-4"},Ot={class:"form-control mt-4"},Dt={class:"flex items-center gap-2 mt-4"},At={class:"flex items-center gap-2 cursor-pointer"},Et={class:"flex gap-3 mt-6"},zt={class:"flex items-center gap-3 mb-5"},Rt={class:"text-lg font-semibold text-slate-800"},jt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},Ft={key:0,class:"tabs tabs-boxed bg-slate-100 w-fit mb-5"},Pt={class:"grid grid-cols-2 gap-4"},Bt={class:"form-control"},qt=["value"],Ht={class:"form-control"},Jt={class:"grid grid-cols-2 gap-4 mt-4"},Yt={class:"form-control"},Kt=["value"],Gt={class:"form-control"},Qt={class:"label"},Wt={class:"label-text font-medium"},Xt={value:0},Zt=["value"],es={class:"grid grid-cols-3 gap-4 mt-4"},ts={class:"form-control"},ss={class:"form-control"},ns={class:"form-control"},ls={class:"form-control mt-4"},os={class:"label"},as={class:"label-text font-medium"},is={class:"form-control mt-4"},ds={class:"mt-4 text-sm"},rs={class:"form-control mt-4"},us={class:"flex items-center gap-2 mt-4"},ps={class:"flex items-center gap-2 cursor-pointer"},cs={class:"flex gap-3 mt-6"},ms=["disabled"],bs=["disabled"],gs={key:2,class:"text-xs text-slate-400 mt-2"},xs={class:"modal-box"},fs={class:"text-sm text-slate-500 mt-1"},vs={class:"grid grid-cols-2 gap-3 mt-4"},_s={key:0,class:"bg-slate-50 border border-slate-200 rounded-lg p-3"},ys={class:"flex justify-between items-center text-xs mb-1.5"},ks={class:"text-slate-600"},hs={class:"font-mono text-slate-400"},ws=["value"],Cs={class:"mt-2 text-xs space-y-0.5"},Ms={key:1,class:"text-red-600"},Ts={key:2,class:"bg-green-50 border border-green-100 rounded-lg p-3"},$s={class:"grid grid-cols-2 gap-x-4 gap-y-1 text-xs text-slate-600 mb-2"},Ns={class:"border-t border-green-100 pt-2 text-xs"},Us={class:"text-slate-500"},Vs={class:"font-mono text-slate-700"},Ss={class:"modal-action"},Is=["disabled"],Ls={class:"modal-box max-w-2xl"},Os={class:"text-sm text-slate-500 mt-1"},Ds={class:"grid grid-cols-1 gap-2 mt-4 text-xs"},As={class:"flex"},Es={class:"flex"},zs={class:"mt-3"},Rs={class:"flex items-center justify-between mb-1"},js=["disabled"],Fs={key:0,class:"flex gap-2"},Ps=["disabled"],Bs={value:""},qs=["value"],Hs=["value"],Js=["disabled"],Ys=["disabled"],Ks={key:2,class:"text-xs text-amber-600 mt-1"},Gs={key:3,class:"text-xs text-amber-600 mt-1"},Qs={class:"mt-3"},Ws={class:"flex items-center gap-2 text-xs mb-1"},Xs={key:0,class:"loading loading-spinner loading-xs text-amber-500"},Zs={key:1,class:"text-green-600 font-semibold"},en={key:2,class:"text-red-600 font-semibold"},tn={class:"text-slate-400"},sn={class:"modal-action"},nn=["disabled"],ln=["disabled"],on={method:"dialog",class:"modal-backdrop"},an=["disabled"],dn="__orphan__",rn=Ae({__name:"apps",setup(un){const{consoleApi:T}=Pe(),{success:N,error:k}=Be(),j=Ee(),K=ze(),O=w("list"),F=w([]),G=w([]),P=w([]),Q=w(!1),W=w(0),X=E({}),be=["中国","美国","东亚","东南亚","南亚","中东","欧洲","俄罗斯","非洲","南美","北美","大洋洲","巴西","印度"],oe=me(()=>{const n=new Map;for(const p of G.value){const b=p.app_name||"";n.has(b)||n.set(b,[]),n.get(b).push(p)}const t=new Set(F.value.map(p=>p.name)),s=F.value.map(p=>({key:p.name,product:p,deployments:n.get(p.name)||[]})),u=[];for(const[p,b]of n)(p===""||!t.has(p))&&u.push(...b);return u.length&&s.push({key:dn,product:null,deployments:u}),s});function ae(n){return X[n]!==!1}function ge(n){X[n]=X[n]===!1}function xe(n){if(!n)return"-";const t=P.value.find(s=>s.id===n);return t?t.name:"#"+n}function fe(n){const t=(n||"").match(/\/([^/?]+)\?/);return t?t[1]:"-"}function ve(n){const t=(n||"").trim();return!!t&&t!=="latest"}async function I(){Q.value=!0;try{const[n,t,s]=await Promise.all([T("products/list",{}),T("apps/list",{}),T("envs/list",{})]);F.value=n??[],G.value=t??[],P.value=s??[]}catch(n){k(n?.message??"获取应用列表失败")}finally{Q.value=!1}}function D(){O.value="list",I()}const B=w(!1),g=E({id:0,name:"",image_name:"",remark:"",enabled:!0});function ie(n){n?(B.value=!0,g.id=n.id,g.name=n.name||"",g.image_name=n.image_name||"",g.remark=n.remark||"",g.enabled=!!n.enabled):(B.value=!1,g.id=0,g.name="",g.image_name="",g.remark="",g.enabled=!0),O.value="productForm"}async function _e(){const n={name:g.name,image_name:g.image_name,remark:g.remark,enabled:g.enabled};let t="products/add";B.value&&g.id&&(n.id=Number(g.id),t="products/update");try{await T(t,n),N("保存成功"),D()}catch(s){k(s?.message??"失败")}}function ye(n){window.confirm(`删除应用「${n.name}」?(其下若有区域部署将被拒绝)`)&&T("products/del",{id:n.id}).then(()=>{N("已删除"),I()}).catch(t=>k(t?.message??"失败"))}const U=w(!1),f=w("existing"),a=E({id:0,app_name:"",name:"",region:"",env_id:0,base_url:"",service_dsn:"",deploy_dir:"",image_name:"",image_tag:"",remark:"",enabled:!0});function ke(n){return n&&F.value.find(s=>s.name===n)?.image_name||""}const he=me(()=>{const n=new Set(G.value.filter(t=>t.app_name===a.app_name&&t.id!==a.id).map(t=>t.region).filter(Boolean));return be.filter(t=>!n.has(t))}),z=w(!1),q=w(!1),v=E({show:!1,apiOk:!1,apiMsg:"",dbOk:!1,dbMsg:""});function H(){z.value=!1,v.show=!1,v.apiMsg="",v.dbMsg=""}function de(n){f.value=n,H()}function Z(n,t){t?(U.value=!0,f.value=t.status==="pending"?"deploy":"existing",a.id=t.id,a.app_name=t.app_name||n||"",a.name=t.name||"",a.region=t.region||"",a.env_id=t.env_id||0,a.base_url=t.base_url||"",a.service_dsn=t.service_dsn||"",a.deploy_dir=t.deploy_dir||"",a.image_name=t.image_name||"",a.image_tag=t.image_tag||"",a.remark=t.remark||"",a.enabled=!!t.enabled):(U.value=!1,f.value="existing",a.id=0,a.app_name=n||"",a.name="",a.region="",a.env_id=0,a.base_url="",a.service_dsn="",a.deploy_dir="",a.image_name=ke(n),a.image_tag="",a.remark="",a.enabled=!0),H(),O.value="deployForm"}async function we(){const n=a.base_url.trim(),t=a.service_dsn.trim();if(!n||!t){k("请先填应用地址和业务库 DSN");return}q.value=!0;try{const s=await T("apps/test",{base_url:n,service_dsn:t});v.apiOk=!!s.api_ok,v.apiMsg=s.api_msg,v.dbOk=!!s.db_ok,v.dbMsg=s.db_msg,v.show=!0,z.value=!!s.ok,z.value?N("检测通过,可以保存"):k("检测未通过")}catch(s){k(s?.message??"测试失败")}finally{q.value=!1}}async function Ce(){if(!a.app_name){k("请选择所属应用");return}if(!a.name.trim()){k("请填部署名称");return}if(f.value==="existing"&&!z.value){k("请先「测试连接」通过再保存");return}if(f.value==="deploy"&&!a.env_id){k("请选择部署目标环境");return}const n={app_name:a.app_name,status:f.value==="deploy"?"pending":"existing",name:a.name,region:a.region,env_id:Number(a.env_id)||0,base_url:f.value==="deploy"?"":a.base_url,service_dsn:a.service_dsn,deploy_dir:a.deploy_dir,image_name:a.image_name,image_tag:a.image_tag,remark:a.remark,enabled:a.enabled};let t="apps/add";U.value&&a.id&&(n.id=Number(a.id),t="apps/update");try{await T(t,n),N("保存成功"),D()}catch(s){k(s?.message??"失败")}}function Me(n){K.push({path:"/appconfig",query:{id:n.id,name:n.name||"部署#"+n.id,region:n.region||"",app_name:n.app_name||""}})}async function Te(n){W.value=n.id;try{await T("apps/bindenv",{id:n.id,env_id:Number(n.env_id)||0}),N("部署环境已更新")}catch(t){k(t?.message??"切换环境失败"),I()}finally{W.value=0}}function $e(n){window.confirm(`删除部署 #${n} ?(不影响应用自身的库)`)&&T("apps/del",{id:n}).then(()=>{N("已删除"),I()}).catch(t=>k(t?.message??"失败"))}const ee=w(null),o=E({appId:0,appLabel:"",start:"",end:"",resultShow:!1,resultClass:"",mode:"",steps:[],curIndex:0,curTotal:0,curName:"",pct:0,errMsg:"",report:null,running:!1,btnText:"开始分析"});function re(n){return parseInt((n||"").replace(/-/g,""))||0}function Ne(n,t){o.appId=n,o.appLabel="部署:"+t+" (#"+n+")",o.start="",o.end="",o.resultShow=!1,o.mode="",o.report=null,o.errMsg="",o.steps=[],o.curIndex=0,o.curTotal=0,o.curName="",o.pct=0,o.running=!1,o.btnText="开始分析",ee.value?.showModal()}function Ue(){ee.value?.close()}function Ve(n){o.steps[n.index-1]=n.name,o.pct=Math.round(n.index/(n.total+1)*100),o.curIndex=n.index,o.curTotal=n.total,o.curName=n.name}async function Se(){const n=o.appLabel,t=o.start||"最早",s=o.end||"至今";if(!window.confirm(`将先删除【${n}】在 ${t} ~ ${s} 区间的历史统计数据,然后重新分析写入。 + +确认继续?`))return;o.running=!0,o.btnText="分析中...",o.resultShow=!0,o.resultClass="",o.mode="progress",o.steps=[],o.curIndex=0,o.curTotal=0,o.curName="",o.pct=0,o.report=null,o.errMsg="";const u={app_id:o.appId,start_day:re(o.start),end_day:re(o.end)};let p=null,b=null,_=!1;function R(M){if(M=(M||"").trim(),!M)return;let y;try{y=JSON.parse(M)}catch{return}if(y.code===18){_=!0;return}if(y.code!==void 0&&y.code!==0){b=y.msg||"请求被拒绝";return}y.type==="progress"?Ve(y):y.type==="done"?p=y.report:y.type==="error"&&(b=y.msg)}try{const y=(await fetch("/console/api/apps/analyze",{method:"POST",headers:{"Content-Type":"application/json",Authorization:j.token},body:JSON.stringify(u)})).body.getReader(),A=new TextDecoder;let V="";for(;;){const pe=await y.read();if(pe.done)break;V+=A.decode(pe.value,{stream:!0});const se=V.split(` +`);V=se.pop();for(let ne=0;ne{N("已发送 → "+(t&&t.subject))}).catch(t=>k(t?.message??"失败"))}const te=w(null),J=w(null),l=E({id:0,label:"",envName:"",deployDir:"",tag:"",tags:[],tagMode:"list",tagsLoading:!1,tagsError:"",log:"",show:!1,running:!1,ok:!1,canRun:!1,btnText:"开始升级"});function Le(n){l.id=n.id,l.label="部署:"+(n.name||"部署#"+n.id)+" (#"+n.id+")"+(n.region?" · "+n.region:""),l.envName=n.env_id?xe(n.env_id):"",l.deployDir=n.deploy_dir||"",l.tag=n.image_tag||"",l.tags=[],l.tagMode="list",l.tagsError="",l.log="",l.show=!1,l.running=!1,l.ok=!1,l.canRun=!!(n.env_id&&(n.deploy_dir||"").trim()),l.btnText="开始升级",te.value?.showModal(),l.canRun&&ue()}async function ue(){if(l.id){l.tagsLoading=!0,l.tagsError="";try{const n=await T("apps/tags",{id:l.id});l.tags=n.tags||[],l.tagMode="list",(!l.tag||!l.tags.includes(l.tag))&&(l.tag=l.tag&&l.tags.includes(l.tag)?l.tag:l.tags.find(t=>t!=="latest")||l.tag||"")}catch(n){l.tagsError=n?.message??"拉取失败"}finally{l.tagsLoading=!1}}}function Oe(){l.running||te.value?.close()}async function De(){if(l.running)return;if(!l.canRun){const b=[];l.envName||b.push("绑定环境节点"),l.deployDir||b.push("填写部署目录"),window.alert(`无法升级:请先关闭本弹窗,点该部署的「编辑」完成 —— ${b.join("、")},保存后再来升级。`);return}const n=(l.tag||"").trim();if((!n||n==="latest")&&!window.confirm(`未选择明确版本号(当前 = ${n||"空 → 后端回退 latest"})。 +latest 是可变 tag,升级后列表无法体现具体版本号,确定继续?`)||!window.confirm(`确认升级【${l.label}】? +目标版本:${n||"latest"} +将 SSH 连到「${l.envName}」,在 ${l.deployDir} 执行 docker compose 拉新镜像并重启容器。`))return;l.running=!0,l.show=!0,l.ok=!1,l.log="",l.btnText="升级中…";let t=null,s=!1;function u(b){l.log+=(l.log?` +`:"")+b,je(()=>{J.value&&(J.value.scrollTop=J.value.scrollHeight)})}function p(b){if(b=(b||"").trim(),!b)return;let _;try{_=JSON.parse(b)}catch{return}if(_.code===18){s=!0;return}if(_.code!==void 0&&_.code!==0&&_.type===void 0){t=_.msg||"请求被拒绝";return}_.type==="log"?u(_.line||""):_.type==="error"&&(t=_.msg,u("✗ "+(_.msg||"")))}try{const _=(await fetch("/console/api/apps/upgrade",{method:"POST",headers:{"Content-Type":"application/json",Authorization:j.token},body:JSON.stringify({id:l.id,tag:(l.tag||"").trim()})})).body.getReader(),R=new TextDecoder;let M="";for(;;){const y=await _.read();if(y.done)break;M+=R.decode(y.value,{stream:!0});const A=M.split(` +`);M=A.pop();for(let V=0;V(r(),i("div",null,[m(e("div",null,[e("div",qe,[t[27]||(t[27]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"应用管理"),e("p",{class:"text-sm text-slate-400 mt-1"},[e("span",{class:"chip-app"},"应用"),c(" 是一个产品(如 Voitrans);其下挂多条 "),e("span",{class:"chip-dep"},"部署"),c("(各区域一份)。 卡片 = 应用;卡片内表格 = 该应用的区域部署。 ")])],-1)),e("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=s=>ie())},"+ 添加应用")]),Q.value?(r(),i("div",He,[...t[28]||(t[28]=[e("span",{class:"loading loading-spinner loading-sm"},null,-1)])])):oe.value.length?(r(),i("div",Ye,[(r(!0),i(x,null,S(oe.value,s=>(r(),i("div",{key:s.key,class:h(["app-card",{orphan:!s.product}])},[e("div",{class:"app-head",onClick:u=>ge(s.key)},[e("button",Ge,d(ae(s.key)?"▾":"▸"),1),e("div",{class:h(["app-logo",{"orphan-logo":!s.product}])},d(s.product?(s.product.name||"?").charAt(0).toUpperCase():"?"),3),e("div",Qe,[e("div",We,[t[29]||(t[29]=e("span",{class:"chip-app"},"应用",-1)),e("span",Xe,d(s.product?s.product.name:"未分组部署"),1),s.product?(r(),i("span",{key:0,class:h(["badge badge-xs",s.product.enabled?"badge-success":"badge-ghost"])},d(s.product.enabled?"启用":"停用"),3)):$("",!0),s.product&&s.product.image_name?(r(),i("span",Ze,"🐳 "+d(s.product.image_name),1)):$("",!0),e("span",et,d(s.deployments.length)+" 个部署",1)]),e("p",tt,d(s.product?s.product.remark||"—":"未填所属应用名、或应用已删除的历史部署;编辑部署可归位到某个应用"),1)]),s.product?(r(),i("div",{key:0,class:"flex gap-1 shrink-0",onClick:t[1]||(t[1]=le(()=>{},["stop"]))},[e("button",{class:"btn btn-primary btn-xs text-white",onClick:u=>Z(s.product.name)},"+ 部署",8,st),e("button",{class:"btn btn-ghost btn-xs",onClick:u=>ie(s.product)},"编辑应用",8,nt),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:u=>ye(s.product)},"删除",8,lt)])):$("",!0)],8,Ke),m(e("div",ot,[s.deployments.length?(r(),i("div",it,[e("table",dt,[t[33]||(t[33]=e("thead",null,[e("tr",{class:"text-slate-400"},[e("th",null,"部署"),e("th",null,"区域"),e("th",null,"环境"),e("th",null,"状态"),e("th",null,"当前版本"),e("th",null,"业务库"),e("th",null,"启用"),e("th",{class:"text-right"},"操作")])],-1)),e("tbody",null,[(r(!0),i(x,null,S(s.deployments,u=>(r(),i("tr",{key:u.id,class:"dep-row hover"},[e("td",null,[t[31]||(t[31]=e("span",{class:"chip-dep"},"部署",-1)),e("span",rt,d(u.name||"部署#"+u.id),1),e("span",ut,"#"+d(u.id),1)]),e("td",null,d(u.region||"—"),1),e("td",null,[m(e("select",{"onUpdate:modelValue":p=>u.env_id=p,class:"select select-bordered select-xs w-36 text-xs",disabled:W.value===u.id,onChange:p=>Te(u)},[t[32]||(t[32]=e("option",{value:0},"未绑定",-1)),(r(!0),i(x,null,S(P.value,p=>(r(),i("option",{key:p.id,value:p.id},d(p.name),9,ct))),128))],40,pt),[[Y,u.env_id,void 0,{number:!0}]])]),e("td",null,[u.status==="pending"?(r(),i("span",mt,"待部署")):(r(),i("span",bt,"已接入"))]),e("td",null,[ve(u.image_tag)?(r(),i("span",gt,d(u.image_tag),1)):(r(),i("span",xt,d(u.image_tag||"latest")+" ⚠",1))]),e("td",ft,d(fe(u.service_dsn)),1),e("td",null,[u.enabled?(r(),i("span",vt,"是")):(r(),i("span",_t,"否"))]),e("td",yt,[e("div",kt,[u.status!=="pending"?(r(),i(x,{key:0},[e("button",{class:"btn btn-ghost btn-xs text-indigo-600",onClick:p=>Me(u)},"服务配置",8,ht),e("button",{class:"btn btn-ghost btn-xs text-slate-500",onClick:p=>Z(u.app_name,u)},"编辑",8,wt),e("button",{class:"btn btn-ghost btn-xs text-amber-600",onClick:p=>Le(u)},"升级",8,Ct),e("button",{class:"btn btn-ghost btn-xs text-emerald-600",onClick:p=>Ne(u.id,u.name||"部署#"+u.id)},"分析",8,Mt),e("button",{class:"btn btn-ghost btn-xs text-indigo-500",onClick:p=>Ie(u.id)},"发事件",8,Tt)],64)):(r(),i("button",{key:1,class:"btn btn-ghost btn-xs text-amber-600",onClick:p=>Z(u.app_name,u)},"编辑",8,$t)),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:p=>$e(u.id)},"删除",8,Nt)])])]))),128))])])])):(r(),i("div",at,[t[30]||(t[30]=c(" 该应用暂无部署",-1)),s.product?(r(),i(x,{key:0},[c(",点右上「+ 部署」添加")],64)):$("",!0)]))],512),[[L,ae(s.key)]])],2))),128))])):(r(),i("div",Je,"暂无应用,先「添加应用」"))],512),[[L,O.value==="list"]]),m(e("div",null,[e("div",Ut,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[2]||(t[2]=s=>D())},"← 返回"),e("h2",Vt,d(B.value?"编辑应用":"添加应用"),1)]),e("div",St,[e("form",{onSubmit:le(_e,["prevent"])},[e("div",It,[t[34]||(t[34]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"应用名 *")],-1)),m(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>g.name=s),type:"text",class:"input input-bordered w-full",required:"",placeholder:"如 Voitrans"},null,512),[[C,g.name]]),t[35]||(t[35]=e("span",{class:"text-xs text-slate-400 mt-1"},"账号作用域按应用名绑定,尽量与统计/账号里一致。",-1))]),e("div",Lt,[t[36]||(t[36]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"默认镜像名")],-1)),m(e("input",{"onUpdate:modelValue":t[4]||(t[4]=s=>g.image_name=s),type:"text",class:"input input-bordered w-full",placeholder:"voitrans-a11(部署时用,可留空)"},null,512),[[C,g.image_name]])]),e("div",Ot,[t[37]||(t[37]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"备注")],-1)),m(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>g.remark=s),type:"text",class:"input input-bordered w-full"},null,512),[[C,g.remark]])]),e("div",Dt,[e("label",At,[m(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>g.enabled=s),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[ce,g.enabled]]),t[38]||(t[38]=e("span",{class:"text-sm"},"启用",-1))])]),e("div",Et,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[7]||(t[7]=s=>D())},"取消"),t[39]||(t[39]=e("button",{type:"submit",class:"btn btn-primary text-white"},"保存",-1))])],32)])],512),[[L,O.value==="productForm"]]),m(e("div",null,[e("div",zt,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[8]||(t[8]=s=>D())},"← 返回"),e("h2",Rt,d(U.value?"编辑部署":"添加部署"),1)]),e("div",jt,[e("form",{onSubmit:le(Ce,["prevent"])},[U.value?$("",!0):(r(),i("div",Ft,[e("a",{class:h(["tab",f.value==="existing"?"tab-active":""]),onClick:t[9]||(t[9]=s=>de("existing"))},"添加现有",2),e("a",{class:h(["tab",f.value==="deploy"?"tab-active":""]),onClick:t[10]||(t[10]=s=>de("deploy"))},"部署到目标环境",2)])),e("p",{class:h(["text-xs text-slate-400 mb-4",U.value?"":"-mt-3"])},[U.value?(r(),i(x,{key:0},[c("编辑该区域部署的配置(镜像 Tag / 部署目录 / 环境节点 等);改好后回列表点「升级」执行远程部署(拉新镜像并重启)。")],64)):f.value==="existing"?(r(),i(x,{key:1},[c("把「已经部署好的应用区域」加进来:填地址与业务库 DSN,测试通过后保存。")],64)):(r(),i(x,{key:2},[t[40]||(t[40]=c("选一个「部署目标环境」,先建关联并标记",-1)),t[41]||(t[41]=e("b",null,"待部署",-1)),t[42]||(t[42]=c(";保存后回列表点「升级」执行远程部署。",-1))],64))],2),e("div",Pt,[e("div",Bt,[t[43]||(t[43]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"所属应用")],-1)),e("input",{value:a.app_name,type:"text",class:"input input-bordered w-full bg-slate-100",readonly:""},null,8,qt)]),e("div",Ht,[t[44]||(t[44]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"部署名称 *")],-1)),m(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>a.name=s),type:"text",class:"input input-bordered w-full",required:"",placeholder:"如 Voitrans(国内)"},null,512),[[C,a.name]])])]),e("div",Jt,[e("div",Yt,[t[46]||(t[46]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"区域")],-1)),m(e("select",{"onUpdate:modelValue":t[12]||(t[12]=s=>a.region=s),class:"select select-bordered w-full"},[t[45]||(t[45]=e("option",{value:""},"未指定",-1)),(r(!0),i(x,null,S(he.value,s=>(r(),i("option",{key:s,value:s},d(s),9,Kt))),128))],512),[[Y,a.region]]),t[47]||(t[47]=e("span",{class:"text-xs text-slate-400 mt-1"},"已部署的区域不再出现(一个应用每区域一份部署)。",-1))]),e("div",Gt,[e("label",Qt,[e("span",Wt,"部署环境"+d(f.value==="deploy"?" *":""),1)]),m(e("select",{"onUpdate:modelValue":t[13]||(t[13]=s=>a.env_id=s),class:"select select-bordered w-full"},[e("option",Xt,d(f.value==="deploy"?"请选择目标环境":"未关联"),1),(r(!0),i(x,null,S(P.value,s=>(r(),i("option",{key:s.id,value:s.id},d(s.name)+"("+d(s.code||"-")+")",9,Zt))),128))],512),[[Y,a.env_id,void 0,{number:!0}]])])]),e("div",es,[e("div",ts,[t[48]||(t[48]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"部署目录")],-1)),m(e("input",{"onUpdate:modelValue":t[14]||(t[14]=s=>a.deploy_dir=s),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"/home/work/voitrans-a11"},null,512),[[C,a.deploy_dir]])]),e("div",ss,[t[49]||(t[49]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"镜像名")],-1)),m(e("input",{"onUpdate:modelValue":t[15]||(t[15]=s=>a.image_name=s),type:"text",class:"input input-bordered w-full",placeholder:"voitrans-a11(默认取应用)"},null,512),[[C,a.image_name]])]),e("div",ns,[t[50]||(t[50]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"镜像 Tag")],-1)),m(e("input",{"onUpdate:modelValue":t[16]||(t[16]=s=>a.image_tag=s),type:"text",class:"input input-bordered w-full",placeholder:"0.1.1 / latest"},null,512),[[C,a.image_tag]])])]),e("div",ls,[e("label",os,[e("span",as,"业务库 DSN"+d(f.value==="existing"?" *":""),1)]),m(e("input",{"onUpdate:modelValue":t[17]||(t[17]=s=>a.service_dsn=s),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"root:pwd@tcp(host:3306)/earphone?charset=utf8mb4&parseTime=True&loc=Local",onInput:H},null,544),[[C,a.service_dsn]]),t[51]||(t[51]=e("span",{class:"text-xs text-slate-400 mt-1"},"用于读取业务数据(重置设备码时清 userdevice/product_stat)",-1))]),f.value==="existing"?(r(),i(x,{key:1},[e("div",is,[t[52]||(t[52]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"应用地址 *")],-1)),m(e("input",{"onUpdate:modelValue":t[18]||(t[18]=s=>a.base_url=s),type:"text",class:"input input-bordered w-full",placeholder:"https://api.xxx.com/",onInput:H},null,544),[[C,a.base_url]]),t[53]||(t[53]=e("span",{class:"text-xs text-slate-400 mt-1"},"用于通知应用业务服务事件(如配置更新)",-1))]),m(e("div",ds,[e("div",{class:h(v.apiOk?"text-green-700":"text-red-600")},[e("span",{class:h(v.apiOk?"text-green-600":"text-red-500")},d(v.apiOk?"✓":"✗"),3),c(" 应用地址:"+d(v.apiMsg),1)],2),e("div",{class:h(v.dbOk?"text-green-700":"text-red-600")},[e("span",{class:h(v.dbOk?"text-green-600":"text-red-500")},d(v.dbOk?"✓":"✗"),3),c(" 业务库:"+d(v.dbMsg),1)],2)],512),[[L,v.show]])],64)):$("",!0),e("div",rs,[t[54]||(t[54]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"备注")],-1)),m(e("input",{"onUpdate:modelValue":t[19]||(t[19]=s=>a.remark=s),type:"text",class:"input input-bordered w-full"},null,512),[[C,a.remark]])]),e("div",us,[e("label",ps,[m(e("input",{"onUpdate:modelValue":t[20]||(t[20]=s=>a.enabled=s),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[ce,a.enabled]]),t[55]||(t[55]=e("span",{class:"text-sm"},"启用",-1))])]),e("div",cs,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[21]||(t[21]=s=>D())},"取消"),f.value==="existing"?(r(),i("button",{key:0,type:"button",class:"btn btn-outline",disabled:q.value,onClick:we},d(q.value?"测试中...":"测试连接"),9,ms)):$("",!0),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:!U.value&&f.value==="existing"&&!z.value},"保存",8,bs)]),!U.value&&f.value==="existing"?(r(),i("p",gs,"需先「测试连接」通过(应用地址可达 + 业务库可连)才能保存。")):$("",!0)],32)])],512),[[L,O.value==="deployForm"]]),e("dialog",{ref_key:"analyzeModal",ref:ee,class:"modal"},[e("div",xs,[t[63]||(t[63]=e("h3",{class:"font-bold text-lg"},"分析历史数据",-1)),e("p",fs,d(o.appLabel),1),t[64]||(t[64]=e("div",{class:"text-xs text-amber-700 mt-3 bg-amber-50 border border-amber-100 rounded-lg p-3 leading-relaxed"},[c(" 扫描该应用业务库,按 "),e("b",null,"天 + 产品 + 区域"),c(" 生成历史统计(新增用户 / 订单 / 资源发放·使用 / 激活绑定设备),汇入 console 主库。"),e("br"),c(" · "),e("b",null,"分析前会先清理该应用+区域在所选区间内的旧统计行"),c(",避免数据重叠。"),e("br"),c(" · 登录、活跃用户、AI对话等无每日原始记录,历史无法还原(由实时管道往后采集)。"),e("br"),c(" · 仅对实时管道上线前的区间运行。留空 = 全部历史。大库可能耗时。 ")],-1)),e("div",vs,[e("div",null,[t[56]||(t[56]=e("label",{class:"text-xs text-slate-500"},"起始日(含)",-1)),m(e("input",{"onUpdate:modelValue":t[22]||(t[22]=s=>o.start=s),type:"date",class:"input input-bordered input-sm w-full"},null,512),[[C,o.start]])]),e("div",null,[t[57]||(t[57]=e("label",{class:"text-xs text-slate-500"},"结束日(含)",-1)),m(e("input",{"onUpdate:modelValue":t[23]||(t[23]=s=>o.end=s),type:"date",class:"input input-bordered input-sm w-full"},null,512),[[C,o.end]])])]),m(e("div",{class:h(["text-sm mt-3",o.resultClass])},[o.mode==="progress"?(r(),i("div",_s,[e("div",ys,[e("span",ks,[o.curName?(r(),i(x,{key:0},[t[58]||(t[58]=e("span",{class:"loading loading-spinner loading-xs"},null,-1)),c(" 正在:"+d(o.curName)+" ("+d(o.curIndex)+"/"+d(o.curTotal)+") ",1)],64)):(r(),i(x,{key:1},[c("准备中...")],64))]),e("span",hs,d(o.pct)+"%",1)]),e("progress",{class:"progress progress-primary w-full h-2",value:o.pct,max:"100"},null,8,ws),e("div",Cs,[(r(!0),i(x,null,S(o.steps,(s,u)=>(r(),i("div",{key:u,class:h(u===o.curIndex-1?"text-slate-600":"text-green-600")},[u===o.curIndex-1?(r(),i(x,{key:0},[t[59]||(t[59]=e("span",{class:"loading loading-spinner loading-xs"},null,-1)),c(" "+d(s),1)],64)):(r(),i(x,{key:1},[c("✓ "+d(s),1)],64))],2))),128))])])):o.mode==="error"?(r(),i("div",Ms,"✗ "+d(o.errMsg),1)):o.mode==="done"&&o.report?(r(),i("div",Ts,[t[62]||(t[62]=e("div",{class:"font-semibold text-green-700 mb-2"},"✓ 分析完成",-1)),e("div",$s,[e("div",null,[t[60]||(t[60]=c("应用:",-1)),e("b",null,d(o.report.app_name||""),1)]),e("div",null,"区域:"+d(o.report.region||"未指定"),1),e("div",null,"区间:"+d((o.report.start_day||"不限")+" ~ "+(o.report.end_day||"不限")),1),e("div",null,"清理旧行:"+d(o.report.cleared_rows||0),1),e("div",null,[t[61]||(t[61]=c("写入天数:",-1)),e("b",null,d(o.report.days_written||0),1)]),e("div",null,"写入行数:"+d(o.report.rows_written||0),1)]),e("div",Ns,[(r(!0),i(x,null,S(o.report.steps||[],(s,u)=>(r(),i("div",{key:u,class:"flex justify-between py-0.5"},[e("span",Us,d(s.name),1),e("span",Vs,d((s.groups||0)+" 组"),1)]))),128))])])):$("",!0)],2),[[L,o.resultShow]]),e("div",Ss,[e("button",{class:"btn btn-ghost btn-sm",onClick:Ue},"关闭"),e("button",{class:"btn btn-primary btn-sm text-white",disabled:o.running,onClick:Se},d(o.btnText),9,Is)])]),t[65]||(t[65]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512),e("dialog",{ref_key:"upgradeModal",ref:te,class:"modal"},[e("div",Ls,[t[69]||(t[69]=e("h3",{class:"font-bold text-lg"},"升级部署",-1)),e("p",Os,d(l.label),1),t[70]||(t[70]=e("div",{class:"text-xs text-amber-700 mt-3 bg-amber-50 border border-amber-100 rounded-lg p-3 leading-relaxed"},[c(" 将 "),e("b",null,"SSH 连接到该部署绑定的环境节点"),c(",进入部署目录执行:"),e("span",{class:"font-mono"},"docker login → compose pull → up -d 重启 → 清理旧镜像"),c("。"),e("br"),c(" · 需服务器上已维护好 "),e("span",{class:"font-mono"},"docker-compose.yml / .env / confs"),c("(本操作不上传真实配置)。"),e("br"),c(" · 会"),e("b",null,"重启该部署的容器"),c(",请确认无误后再执行。 ")],-1)),e("div",Ds,[e("div",As,[t[66]||(t[66]=e("span",{class:"w-20 text-slate-400 shrink-0"},"环境节点",-1)),e("span",{class:h(l.envName?"font-medium text-slate-700":"font-medium text-red-500")},d(l.envName||"未绑定 —— 请先在「编辑」里选择环境节点"),3)]),e("div",Es,[t[67]||(t[67]=e("span",{class:"w-20 text-slate-400 shrink-0"},"部署目录",-1)),e("span",{class:h(l.deployDir?"font-mono text-slate-700":"font-medium text-red-500")},d(l.deployDir||"未填 —— 请先在「编辑」里填写远端部署目录"),3)])]),e("div",zs,[e("div",Rs,[t[68]||(t[68]=e("label",{class:"text-xs text-slate-500"},"镜像版本 Tag",-1)),e("button",{type:"button",class:"text-xs text-indigo-500 hover:underline",disabled:l.running,onClick:t[24]||(t[24]=s=>l.tagMode=l.tagMode==="list"?"custom":"list")},d(l.tagMode==="list"?"手动输入…":"从仓库选择"),9,js)]),l.tagMode==="list"?(r(),i("div",Fs,[m(e("select",{"onUpdate:modelValue":t[25]||(t[25]=s=>l.tag=s),class:"select select-bordered select-sm flex-1 font-mono",disabled:l.running||l.tagsLoading},[e("option",Bs,d(l.tagsLoading?"加载可用版本中…":"请选择版本"),1),l.tag&&!l.tags.includes(l.tag)?(r(),i("option",{key:0,value:l.tag},d(l.tag)+"(当前记录)",9,qs)):$("",!0),(r(!0),i(x,null,S(l.tags,s=>(r(),i("option",{key:s,value:s},d(s)+d(s==="latest"?" · 不固定,不推荐":""),9,Hs))),128))],8,Ps),[[Y,l.tag]]),e("button",{type:"button",class:"btn btn-ghost btn-sm",disabled:l.running||l.tagsLoading,onClick:ue},"刷新",8,Js)])):m((r(),i("input",{key:1,"onUpdate:modelValue":t[26]||(t[26]=s=>l.tag=s),type:"text",class:"input input-bordered input-sm w-full font-mono",placeholder:"0.1.1",disabled:l.running},null,8,Ys)),[[C,l.tag]]),l.tagsError?(r(),i("p",Ks,"拉取仓库版本失败:"+d(l.tagsError)+"(可点上方「手动输入」直接填版本号,或点「刷新」重试)",1)):l.tag==="latest"||l.tag===""?(r(),i("p",Gs,"⚠ 未固定版本,升级后列表无法体现具体版本号,建议选明确版本(如 0.1.1)。")):$("",!0)]),m(e("div",Qs,[e("div",Ws,[l.running?(r(),i("span",Xs)):l.ok?(r(),i("span",Zs,"✓ 部署完成")):(r(),i("span",en,"✗ 部署失败")),e("span",tn,d(l.running?"执行中…":""),1)]),e("pre",{ref_key:"upLogBox",ref:J,class:"bg-slate-900 text-slate-100 text-[11px] leading-relaxed rounded-lg p-3 h-64 overflow-auto font-mono whitespace-pre-wrap"},d(l.log||"(等待输出…)"),513)],512),[[L,l.show]]),e("div",sn,[e("button",{class:"btn btn-ghost btn-sm",disabled:l.running,onClick:Oe},"关闭",8,nn),e("button",{class:"btn btn-warning btn-sm",disabled:l.running,onClick:De},d(l.btnText),9,ln)])]),e("form",on,[e("button",{disabled:l.running},"close",8,an)])],512)]))}}),gn=Fe(rn,[["__scopeId","data-v-955faaec"]]);export{gn as default}; diff --git a/apps/admin/.output/public/_nuxt/B_JvM6BO.js b/apps/admin/.output/public/_nuxt/B_JvM6BO.js deleted file mode 100644 index 02977086..00000000 --- a/apps/admin/.output/public/_nuxt/B_JvM6BO.js +++ /dev/null @@ -1 +0,0 @@ -import{g as W,y as X,z as Y,j as Z,c as a,a as s,t as d,l as c,d as f,k as V,p as T,F as h,r as U,A as k,x as A,s as v,o as l,n as ee,m as $,B as te,_ as se}from"./CTAruH_8.js";import{u as ae}from"./9B2ftqmN.js";import{u as le}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const oe={class:"rounded-xl px-5 py-4 mb-5",style:{background:"linear-gradient(135deg,#eef2ff,#faf5ff)",border:"1px solid #e0e7ff"}},ne={class:"flex items-center gap-4"},de={class:"app-avatar"},ie={class:"flex-1 min-w-0"},ue={class:"flex items-center gap-2 flex-wrap"},ce={class:"text-base font-bold text-slate-800"},re={class:"badge badge-sm",style:{background:"#e0e7ff",color:"#4338ca",border:"none"}},pe={key:0,class:"badge badge-ghost badge-sm"},me={key:1,class:"badge badge-ghost badge-sm"},ve={key:2,class:"badge badge-warning badge-sm text-amber-900"},_e={key:3,class:"badge badge-success badge-sm text-white"},xe={class:"text-[11px] text-slate-500 mt-1 flex flex-wrap gap-x-4 gap-y-0.5"},ge={key:0},ye={class:"font-mono"},be={class:"font-mono"},fe={class:"flex items-center gap-2 mt-3 pt-3 border-t border-indigo-100"},he=["disabled"],ke=["value"],we={key:0,class:"loading loading-spinner loading-xs text-indigo-400"},Ce={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-5"},Ve={key:0,class:"alert alert-warning py-2 text-sm mb-3"},Ue={key:1,class:"py-12 text-center"},Me={key:2,class:"flex gap-5"},Be={class:"w-48 shrink-0"},Ne={class:"text-[11px] font-semibold text-slate-400 px-2 mb-1"},Ae=["onClick"],De={key:0,class:"w-1.5 h-1.5 rounded-full bg-emerald-400 inline-block"},Ie={class:"flex-1 min-w-0"},Se={class:"flex items-center justify-between mb-3"},je={class:"text-sm font-semibold text-slate-800"},qe={key:0,class:"text-[11px] text-slate-400 mt-0.5"},Ee={class:"flex items-center gap-2"},Te=["disabled"],$e=["disabled"],ze={class:"grid grid-cols-1 gap-3 max-w-2xl"},Fe={class:"label py-0.5"},Re={class:"label-text text-sm"},Le={key:0,class:"text-rose-400"},Oe={key:1,class:"lock-tag ml-1"},Pe={class:"text-[10px] font-normal text-slate-300 ml-1 font-mono"},Ge={key:0,class:"cursor-pointer flex items-center gap-2"},He=["checked","onChange"],Je={class:"text-xs text-slate-500"},Ke=["onUpdate:modelValue"],Qe=["value"],We=["onUpdate:modelValue","placeholder"],Xe={key:3,class:"relative"},Ye=["onUpdate:modelValue","type"],Ze=["onClick"],et=["onUpdate:modelValue","placeholder"],tt={key:5,class:"text-[11px] text-slate-400 mt-0.5"},st={key:1,class:"py-10 text-center text-slate-400 text-sm"},at=W({__name:"appconfig",setup(lt){const{consoleApi:_}=ae(),{success:D,error:w}=le(),j=X(),z=Y(),y=k(()=>Number(j.query.id)||0),q=k(()=>j.query.name||"未指定应用"),F=k(()=>(i.app_name||q.value||"A").charAt(0).toUpperCase()),i=A({id:0,app_name:"",status:"",name:"",region:"",env_id:0,base_url:"",service_dsn:""}),E=v([]),b=v(0),M=v(!1),x=v([]),u=v(""),r=A({}),B=A(new Set),N=A({}),I=v(!1),g=v(!1),C=v(""),m=k(()=>x.value.find(o=>o.module===u.value)||null),p=k(()=>r[u.value]||{}),R=k(()=>{const o=[],t=new Map;for(const e of x.value)t.has(e.group)||(t.set(e.group,[]),o.push(e.group)),t.get(e.group).push(e);return o.map(e=>({name:e,modules:t.get(e)}))});function L(o,t){const e=r[u.value]||(r[u.value]={});e[o]=t.target.checked?"true":"false"}function O(){z.push("/apps")}function P(o){const t=(o||"").match(/\/([^/?]+)\?/);return t?t[1]:o?"(自定义)":"—"}async function G(){try{const[o,t]=await Promise.all([_("apps/list",{}),_("envs/list",{})]),e=(o??[]).find(n=>n.id===y.value);e&&Object.assign(i,e),E.value=t??[],b.value=i.env_id||0}catch(o){w(o?.message??"获取应用信息失败")}}async function H(){try{const o=await _("modulecfg/catalog",{});x.value=o?.modules??[];for(const t of x.value)r[t.module]||(r[t.module]={});x.value.length&&!u.value&&(u.value=x.value[0].module)}catch(o){w(o?.message??"获取配置目录失败")}}async function S(){if(y.value){I.value=!0,C.value="";try{const o=await _("modulecfg/list",{app_id:y.value});for(const t of x.value)r[t.module]={};B.clear();for(const t of o?.items??[])r[t.module]||(r[t.module]={}),r[t.module][t.key]=t.value,B.add(t.module)}catch(o){C.value=o?.message??"连接失败"}finally{I.value=!1}}}async function J(){if(i.id){M.value=!0;try{await _("apps/bindenv",{id:i.id,env_id:b.value}),i.env_id=b.value,D("部署环境已更新")}catch(o){w(o?.message??"切换环境失败"),b.value=i.env_id||0}finally{M.value=!1}}}async function K(){if(m.value){g.value=!0;try{const o=m.value.fields.map(t=>({key:t.key,value:r[u.value]?.[t.key]??""}));await _("modulecfg/save",{app_id:y.value,module:u.value,items:o}),D("配置已保存"),await S()}catch(o){w(o?.message??"保存失败")}finally{g.value=!1}}}async function Q(){if(u.value&&confirm(`确认清空「${m.value?.name}」的全部配置?`)){g.value=!0;try{await _("modulecfg/del",{app_id:y.value,module:u.value}),D("已清空"),await S()}catch(o){w(o?.message??"清空失败")}finally{g.value=!1}}}return Z(async()=>{await G(),await H(),await S()}),(o,t)=>(l(),a("div",null,[s("div",{class:"flex items-center gap-2 mb-4"},[s("button",{class:"btn btn-ghost btn-sm",onClick:O},"← 返回应用列表"),t[1]||(t[1]=s("span",{class:"text-slate-300"},"/",-1)),t[2]||(t[2]=s("h2",{class:"text-lg font-semibold text-slate-800"},"应用服务配置",-1))]),s("div",oe,[s("div",ne,[s("div",de,d(F.value),1),s("div",ie,[s("div",ue,[s("span",ce,d(i.name||q.value),1),s("span",re,"#"+d(y.value),1),i.app_name?(l(),a("span",pe,"应用:"+d(i.app_name),1)):c("",!0),i.region?(l(),a("span",me,d(i.region),1)):c("",!0),i.status==="pending"?(l(),a("span",ve,"待部署")):(l(),a("span",_e,"已接入"))]),s("div",xe,[i.base_url?(l(),a("span",ge,[t[3]||(t[3]=f("地址:",-1)),s("span",ye,d(i.base_url),1)])):c("",!0),s("span",null,[t[4]||(t[4]=f("业务库:",-1)),s("span",be,d(P(i.service_dsn)),1)])])])]),s("div",fe,[t[6]||(t[6]=s("span",{class:"text-xs text-slate-500 shrink-0"},"部署环境",-1)),V(s("select",{"onUpdate:modelValue":t[0]||(t[0]=e=>b.value=e),class:"select select-bordered select-sm w-64",disabled:M.value,onChange:J},[t[5]||(t[5]=s("option",{value:0},"未绑定",-1)),(l(!0),a(h,null,U(E.value,e=>(l(),a("option",{key:e.id,value:e.id},d(e.name)+"("+d(e.code||"-")+")",9,ke))),128))],40,he),[[T,b.value,void 0,{number:!0}]]),M.value?(l(),a("span",we)):c("",!0),t[7]||(t[7]=s("span",{class:"text-[11px] text-slate-400"},"切换后即时保存。",-1))])]),s("div",Ce,[t[12]||(t[12]=s("div",{class:"mb-3"},[s("h3",{class:"text-base font-semibold text-slate-800"},"业务功能配置"),s("p",{class:"text-[11px] text-slate-400 mt-0.5"},[f(" 登录 / 短信 / 邮件 / 支付等应用独立配置,保存在"),s("b",null,"该部署的业务库"),f("(不进公共库)。密钥字段加密落库,显示时脱敏。 ")])],-1)),C.value?(l(),a("div",Ve,[s("span",null,[f("无法连接应用业务库:"+d(C.value),1),t[8]||(t[8]=s("br",null,null,-1)),t[9]||(t[9]=s("span",{class:"text-xs opacity-70"},"待部署的应用先完成部署、或检查业务库 DSN 连通后再配置。",-1))])])):c("",!0),I.value?(l(),a("div",Ue,[...t[10]||(t[10]=[s("span",{class:"loading loading-spinner loading-sm"},null,-1)])])):(l(),a("div",Me,[s("aside",Be,[(l(!0),a(h,null,U(R.value,e=>(l(),a("div",{key:e.name,class:"mb-3"},[s("div",Ne,d(e.name),1),(l(!0),a(h,null,U(e.modules,n=>(l(),a("button",{key:n.module,class:ee(["w-full flex items-center justify-between text-left px-3 py-2 rounded-lg text-sm mb-0.5 transition-colors",u.value===n.module?"bg-indigo-50 text-indigo-700 font-medium":"text-slate-600 hover:bg-slate-50"]),onClick:ot=>u.value=n.module},[s("span",null,d(n.name),1),B.has(n.module)?(l(),a("span",De)):c("",!0)],10,Ae))),128))]))),128))]),s("section",Ie,[m.value?(l(),a(h,{key:0},[s("div",Se,[s("div",null,[s("div",je,d(m.value.name),1),m.value.desc?(l(),a("div",qe,d(m.value.desc),1)):c("",!0)]),s("div",Ee,[B.has(u.value)?(l(),a("button",{key:0,class:"btn btn-ghost btn-xs text-rose-500",disabled:g.value,onClick:Q},"清空",8,Te)):c("",!0),s("button",{class:"btn btn-primary btn-sm text-white",disabled:g.value||C.value!=="",onClick:K},d(g.value?"保存中…":"保存"),9,$e)])]),s("div",ze,[(l(!0),a(h,null,U(m.value.fields,e=>(l(),a("div",{key:e.key,class:"form-control"},[s("label",Fe,[s("span",Re,[f(d(e.label)+" ",1),e.required?(l(),a("span",Le,"*")):c("",!0),e.secret?(l(),a("span",Oe,"🔒")):c("",!0),s("span",Pe,d(e.key),1)])]),e.type==="bool"?(l(),a("label",Ge,[s("input",{type:"checkbox",class:"toggle toggle-sm toggle-primary",checked:p.value[e.key]==="true",onChange:n=>L(e.key,n)},null,40,He),s("span",Je,d(p.value[e.key]==="true"?"开启":"关闭"),1)])):e.type==="select"?V((l(),a("select",{key:1,"onUpdate:modelValue":n=>p.value[e.key]=n,class:"select select-bordered select-sm w-full"},[t[11]||(t[11]=s("option",{value:""},"请选择",-1)),(l(!0),a(h,null,U(e.options,n=>(l(),a("option",{key:n.value,value:n.value},d(n.label),9,Qe))),128))],8,Ke)),[[T,p.value[e.key]]]):e.type==="textarea"?V((l(),a("textarea",{key:2,"onUpdate:modelValue":n=>p.value[e.key]=n,class:"textarea textarea-bordered w-full font-mono text-xs",rows:"3",placeholder:e.secret?"留空/保持 [encrypted] 则不变":e.placeholder||""},null,8,We)),[[$,p.value[e.key]]]):e.type==="password"?(l(),a("div",Xe,[V(s("input",{"onUpdate:modelValue":n=>p.value[e.key]=n,type:N[e.key]?"text":"password",class:"input input-bordered input-sm w-full font-mono text-xs pr-14",placeholder:"留空/保持 [encrypted] 则不变"},null,8,Ye),[[te,p.value[e.key]]]),s("button",{type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:n=>N[e.key]=!N[e.key]},d(N[e.key]?"隐藏":"显示"),9,Ze)])):V((l(),a("input",{key:4,"onUpdate:modelValue":n=>p.value[e.key]=n,type:"text",class:"input input-bordered input-sm w-full font-mono text-xs",placeholder:e.placeholder||""},null,8,et)),[[$,p.value[e.key]]]),e.desc?(l(),a("span",tt,d(e.desc),1)):c("",!0)]))),128))])],64)):(l(),a("div",st,"暂无可配置的业务模块。"))])]))])]))}}),rt=se(at,[["__scopeId","data-v-a2d8388e"]]);export{rt as default}; diff --git a/apps/admin/.output/public/_nuxt/B_WQdNTA.js b/apps/admin/.output/public/_nuxt/B_WQdNTA.js new file mode 100644 index 00000000..ef62afa0 --- /dev/null +++ b/apps/admin/.output/public/_nuxt/B_WQdNTA.js @@ -0,0 +1 @@ +import{g as oe,j as ie,c as a,l as p,a as e,k as d,p as m,F as r,r as u,v as F,t as i,q as G,n as N,d as de,s as c,x as ce,A as re,o,D as $,_ as ue}from"./CfpW9SkI.js";import{u as ve}from"./DSu8q42f.js";import{u as be}from"./CMwGY1Mu.js";import"./DL330dAC.js";const me={key:0,class:"mb-4 rounded-lg px-4 py-3 text-sm",style:{background:"#fffbeb",border:"1px solid #fde68a",color:"#92400e"}},xe={class:"flex items-center justify-between mb-5"},pe={class:"flex items-center gap-3"},fe=["value"],_e={class:"editor-panel"},ge={class:"flex items-center justify-between mb-4"},ye={class:"font-semibold text-slate-800 text-sm"},ke={class:"grid grid-cols-3 gap-4 mb-4"},he={class:"form-control"},Se=["value"],Te={class:"form-control"},Ce=["value"],we={class:"form-control"},Ae={class:"flex gap-3 mb-4"},Ve={key:0,class:"grid grid-cols-3 gap-4"},Me={class:"form-control"},je={key:0,value:""},Re=["value"],Ue={class:"form-control"},Ne={key:0,value:""},$e=["value"],Oe={class:"form-control"},Pe={key:0,value:""},ze=["value"],Be={key:1,class:"form-control max-w-xs"},De={key:0,value:""},Ee=["value"],Le={class:"flex items-center justify-between pt-4 border-t border-slate-100 mt-4"},Ie={class:"flex items-center gap-2 text-sm"},Fe={class:"grid grid-cols-1 gap-4",style:{"grid-template-columns":"repeat(auto-fill,minmax(360px,1fr))"}},Ge={key:0,class:"col-span-full text-center py-20 text-slate-300"},qe=["onClick"],He={class:"flex items-center justify-between"},Je={class:"flex items-center gap-2"},Ke={class:"lang-badge"},Qe={class:"text-slate-400 font-bold text-lg"},We={class:"lang-badge"},Xe={class:"flex items-center gap-2"},Ye={key:0,class:"mode-badge mode-pipeline"},Ze={key:1,class:"mode-badge mode-e2e"},et={key:2,class:"badge badge-success badge-xs"},tt={key:3,class:"badge badge-ghost badge-xs"},st=["onClick"],lt={key:0,class:"flex flex-wrap items-center gap-2 mt-3"},nt={class:"svc-pill",style:{background:"#1664ff"}},at={class:"svc-pill",style:{background:"#059669"}},ot={class:"svc-pill",style:{background:"#7c3aed"}},it={key:1,class:"flex items-center gap-2 mt-3"},dt={class:"svc-pill",style:{background:"#f97316"}},ct={class:"sync-overlay"},rt={class:"sync-box"},ut={class:"flex items-start gap-3 mb-4"},vt={style:{width:"42px",height:"42px",background:"linear-gradient(135deg,#4f46e5,#7c3aed)","border-radius":"13px",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},bt={style:{width:"20px",height:"20px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},mt={class:"text-xs text-slate-400 mt-1"},xt={class:"flex items-center justify-between mb-1"},pt={class:"flex gap-2"},ft={class:"sync-region-grid"},_t=["onClick"],gt=["checked","onClick"],q=1,H=2,J=3,K=4,yt=oe({__name:"calltranslate",setup(kt){const j=[{c:"zh",n:"中文"},{c:"en",n:"英文"},{c:"ja",n:"日语"},{c:"ko",n:"韩语"},{c:"fr",n:"法语"},{c:"de",n:"德语"},{c:"es",n:"西班牙语"},{c:"pt",n:"葡萄牙语"},{c:"ru",n:"俄语"},{c:"ar",n:"阿拉伯语"},{c:"th",n:"泰语"},{c:"vi",n:"越南语"},{c:"id",n:"印尼语"},{c:"ms",n:"马来语"},{c:"hi",n:"印地语"}];function h(l){const t=j.find(s=>s.c===l);return t?t.n:l||""}const f=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}];function Q(l){const t=f.find(s=>s.value===l);return t?t.label:"区域"+l}const{webApi:_}=ve(),{success:S,error:T}=be(),R=c(!0),C=c([]),g=c([]),y=c(f.length?f[0].value:1),w=c(!1),x=c(null),O=c(0),n=ce({src:"zh",dst:"en",bidir:!1,mode:0,asr:"",mt:"",tts:"",ast:"",enable:!0});async function W(){try{const l=await _("getsvcconfigs",{});C.value=l?.items??[]}catch{R.value=!1,C.value=[]}}async function A(){try{const l=await _("getcalltranslatepairs",{region:y.value});g.value=l?.items??[]}catch{R.value=!1,g.value=[]}}function v(l){return C.value.filter(t=>t.enable&&(t.categories||"").split(",").map(Number).indexOf(l)>=0)}function V(l){const t=C.value.find(s=>s.id===l);return t?t.name:l||"未配置"}function P(l){n.src=l?.src_lang||"zh",n.dst=l?.dst_lang||"en",n.bidir=!!l?.bidir,n.mode=l?.mode!=null?l.mode:0,n.asr=l?.asr_svc_id||"",n.mt=l?.mt_svc_id||"",n.tts=l?.tts_svc_id||"",n.ast=l?.ast_svc_id||"",n.enable=l?l.enable!==!1:!0}function X(){x.value=null,P(null),w.value=!0}function Y(l){const t=g.value.find(s=>s.id===l)||null;x.value=t,P(t),w.value=!0}function M(){w.value=!1,x.value=null}function Z(){const l=n.mode;return{id:x.value?x.value.id:0,region:y.value,src_lang:n.src,dst_lang:n.dst,bidir:n.bidir,mode:l,asr_svc_id:l===0&&n.asr||"",mt_svc_id:l===0&&n.mt||"",tts_svc_id:l===0&&n.tts||"",ast_svc_id:l===1&&n.ast||"",enable:n.enable}}async function z(){const l=Z();if(!l.src_lang||!l.dst_lang)return T("源语言和目标语言必填"),!1;try{const t=await _("savecalltranslatepair",l);return O.value=t?.id??0,await A(),!0}catch(t){return T(t?.message??"保存失败"),!1}}function ee(l){window.confirm("确定删除这条语言对配置?")&&_("delcalltranslatepair",{ids:[l]}).then(()=>{S("已删除"),A()}).catch(t=>T(t?.message??"删除失败"))}const U=c(!1),B=c(""),b=c([]),D=re(()=>f.filter(l=>l.value!==y.value));function te(){const l=n.mode===0?"三段式拼接":"端到端 AST";B.value="将「"+h(n.src)+" → "+h(n.dst)+"」("+l+(n.bidir?",双向":"")+" )的服务编排同步到其他区域。",b.value=[],U.value=!0}function E(l){const t=b.value.indexOf(l);t>=0?b.value.splice(t,1):b.value.push(l)}function L(l){b.value=l?D.value.map(t=>t.value):[]}function I(){U.value=!1}async function se(){I(),await z()&&(M(),S("保存成功"))}async function le(){const l=[...b.value];if(I(),!!await z()){if(M(),!l.length){S("保存成功");return}try{const k=(await _("synccalltranslatepairs",{pair_ids:[O.value],target_regions:l}))?.synced??0,ne=l.map(ae=>Q(ae));S("已保存并同步到:"+ne.join("、")+"("+k+" 个)")}catch(s){T(s?.message??"同步失败")}}}return ie(async()=>{await Promise.all([W(),A()])}),(l,t)=>(o(),a("div",null,[R.value?p("",!0):(o(),a("div",me," ⚠ 「通话翻译配置」的后端接口尚未迁移到当前 console 服务,功能暂不可用。 ")),e("div",xe,[t[14]||(t[14]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"通话翻译配置"),e("p",{class:"text-xs text-slate-400 mt-1"},"按区域和语言对配置翻译服务。支持三段式(ASR→MT→TTS)和端到端 AST 两种模式。")],-1)),e("div",pe,[t[13]||(t[13]=e("span",{class:"text-sm text-slate-500"},"区域",-1)),d(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>y.value=s),class:"select select-bordered select-sm",onChange:A},[(o(),a(r,null,u(f,s=>e("option",{key:s.value,value:s.value},i(s.label),9,fe)),64))],544),[[m,y.value,void 0,{number:!0}]]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:X},"+ 新增语言对")])]),d(e("div",_e,[e("div",ge,[e("h3",ye,i(x.value?"编辑语言对":"新增语言对"),1),e("button",{class:"btn btn-ghost btn-xs",onClick:M},"✕ 关闭")]),e("div",ke,[e("div",he,[t[15]||(t[15]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"源语言 *")],-1)),d(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>n.src=s),class:"select select-bordered select-sm"},[(o(),a(r,null,u(j,s=>e("option",{key:s.c,value:s.c},i(s.n),9,Se)),64))],512),[[m,n.src]])]),e("div",Te,[t[16]||(t[16]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"目标语言 *")],-1)),d(e("select",{"onUpdate:modelValue":t[2]||(t[2]=s=>n.dst=s),class:"select select-bordered select-sm"},[(o(),a(r,null,u(j,s=>e("option",{key:s.c,value:s.c},i(s.n),9,Ce)),64))],512),[[m,n.dst]])]),e("div",we,[t[17]||(t[17]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"双向")],-1)),d(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>n.bidir=s),type:"checkbox",class:"toggle toggle-primary mt-1"},null,512),[[G,n.bidir]])])]),e("div",Ae,[e("div",{class:N(["mtab",{on:n.mode===0}]),onClick:t[4]||(t[4]=s=>n.mode=0)},[...t[18]||(t[18]=[e("div",null,[e("div",{class:"font-bold text-sm"},"🧩 三段式拼接"),e("div",{class:"text-xs text-slate-400 mt-0.5"},"ASR → MT → TTS")],-1)])],2),e("div",{class:N(["mtab",{on:n.mode===1}]),onClick:t[5]||(t[5]=s=>n.mode=1)},[...t[19]||(t[19]=[e("div",null,[e("div",{class:"font-bold text-sm"},"⚡ 端到端 AST"),e("div",{class:"text-xs text-slate-400 mt-0.5"},"单服务直接完成语音翻译")],-1)])],2)]),e("div",null,[n.mode===0?(o(),a("div",Ve,[e("div",Me,[t[20]||(t[20]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"语音识别(ASR)")],-1)),d(e("select",{"onUpdate:modelValue":t[6]||(t[6]=s=>n.asr=s),class:"select select-bordered select-sm"},[v(q).length?p("",!0):(o(),a("option",je,"(无可用服务)")),(o(!0),a(r,null,u(v(q),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,Re))),128))],512),[[m,n.asr]])]),e("div",Ue,[t[21]||(t[21]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"机器翻译(MT)")],-1)),d(e("select",{"onUpdate:modelValue":t[7]||(t[7]=s=>n.mt=s),class:"select select-bordered select-sm"},[v(J).length?p("",!0):(o(),a("option",Ne,"(无可用服务)")),(o(!0),a(r,null,u(v(J),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,$e))),128))],512),[[m,n.mt]])]),e("div",Oe,[t[22]||(t[22]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"语音合成(TTS)")],-1)),d(e("select",{"onUpdate:modelValue":t[8]||(t[8]=s=>n.tts=s),class:"select select-bordered select-sm"},[v(H).length?p("",!0):(o(),a("option",Pe,"(无可用服务)")),(o(!0),a(r,null,u(v(H),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,ze))),128))],512),[[m,n.tts]])])])):(o(),a("div",Be,[t[23]||(t[23]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"端到端语音翻译服务(AST)")],-1)),d(e("select",{"onUpdate:modelValue":t[9]||(t[9]=s=>n.ast=s),class:"select select-bordered select-sm"},[v(K).length?p("",!0):(o(),a("option",De,"(无可用服务)")),(o(!0),a(r,null,u(v(K),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,Ee))),128))],512),[[m,n.ast]])]))]),e("div",Le,[e("label",Ie,[d(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>n.enable=s),type:"checkbox",class:"checkbox checkbox-sm checkbox-primary"},null,512),[[G,n.enable]]),t[24]||(t[24]=de(" 启用 ",-1))]),e("div",{class:"flex gap-2"},[e("button",{class:"btn btn-ghost btn-sm",onClick:M},"取消"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:te},"保存")])])],512),[[F,w.value]]),e("div",Fe,[g.value.length?p("",!0):(o(),a("div",Ge,[...t[25]||(t[25]=[e("div",{class:"text-5xl mb-3"},"🌐",-1),e("p",{class:"text-sm"},"当前区域暂无语言对配置",-1)])])),(o(!0),a(r,null,u(g.value,s=>(o(),a("div",{key:s.id,class:"pair-card",onClick:k=>Y(s.id)},[e("div",He,[e("div",Je,[e("span",Ke,i(h(s.src_lang)),1),e("span",Qe,i(s.bidir?"⇄":"→"),1),e("span",We,i(h(s.dst_lang)),1)]),e("div",Xe,[s.mode===0?(o(),a("span",Ye,"三段式拼接")):(o(),a("span",Ze,"端到端 AST")),s.enable?(o(),a("span",et,"启用")):(o(),a("span",tt,"停用")),e("button",{class:"btn btn-ghost btn-xs text-error",onClick:$(k=>ee(s.id),["stop"])},"删除",8,st)])]),s.mode===0?(o(),a("div",lt,[e("span",nt,"ASR: "+i(V(s.asr_svc_id)),1),t[26]||(t[26]=e("span",{class:"text-slate-300 text-sm"},"→",-1)),e("span",at,"MT: "+i(V(s.mt_svc_id)),1),t[27]||(t[27]=e("span",{class:"text-slate-300 text-sm"},"→",-1)),e("span",ot,"TTS: "+i(V(s.tts_svc_id)),1)])):(o(),a("div",it,[e("span",dt,"AST: "+i(V(s.ast_svc_id)),1)]))],8,qe))),128))]),d(e("div",ct,[e("div",rt,[e("div",ut,[e("div",vt,[(o(),a("svg",bt,[...t[28]||(t[28]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"},null,-1)])]))]),e("div",null,[t[29]||(t[29]=e("h3",{class:"text-base font-semibold text-slate-800"},"同步到其他区域",-1)),e("p",mt,i(B.value),1)])]),t[31]||(t[31]=e("div",{class:"text-xs px-3 py-2 rounded-lg mb-3",style:{background:"#f0fdf4",border:"1px solid #bbf7d0",color:"#15803d"}}," ✦ 同步内容:服务组合(模式 + 各段服务)将被复制到目标区域。 ",-1)),e("div",xt,[t[30]||(t[30]=e("span",{class:"text-xs font-semibold text-slate-500"},"选择目标区域",-1)),e("div",pt,[e("button",{class:"btn btn-ghost btn-xs",onClick:t[11]||(t[11]=s=>L(!0))},"全选"),e("button",{class:"btn btn-ghost btn-xs",onClick:t[12]||(t[12]=s=>L(!1))},"清空")])]),e("div",ft,[(o(!0),a(r,null,u(D.value,s=>(o(),a("label",{key:s.value,class:N(["sync-region-item",{checked:b.value.includes(s.value)}]),onClick:$(k=>E(s.value),["prevent"])},[e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary",checked:b.value.includes(s.value),onClick:$(k=>E(s.value),["stop"])},null,8,gt),e("span",null,i(s.label),1)],10,_t))),128))]),t[32]||(t[32]=e("p",{class:"text-[11px] text-slate-400 mb-5"},"⚠ 目标区域相同语言对已存在则覆盖,否则新建。",-1)),e("div",{class:"flex gap-3 justify-end"},[e("button",{class:"btn btn-ghost",onClick:se},"仅保存当前区域"),e("button",{class:"btn btn-primary text-white",onClick:le},"保存并同步")])])],512),[[F,U.value]])]))}}),wt=ue(yt,[["__scopeId","data-v-51f11136"]]);export{wt as default}; diff --git a/apps/admin/.output/public/_nuxt/1YPtusTp.js b/apps/admin/.output/public/_nuxt/B_rTis4D.js similarity index 71% rename from apps/admin/.output/public/_nuxt/1YPtusTp.js rename to apps/admin/.output/public/_nuxt/B_rTis4D.js index 7f0c064a..342fdc80 100644 --- a/apps/admin/.output/public/_nuxt/1YPtusTp.js +++ b/apps/admin/.output/public/_nuxt/B_rTis4D.js @@ -1 +1 @@ -import{_ as t,o,c as s,L as c}from"./CTAruH_8.js";const r={},a={class:"min-h-screen","data-theme":"corporate"};function n(e,_){return o(),s("div",a,[c(e.$slots,"default")])}const l=t(r,[["render",n]]);export{l as default}; +import{_ as t,o,c as s,L as c}from"./CfpW9SkI.js";const r={},a={class:"min-h-screen","data-theme":"corporate"};function n(e,_){return o(),s("div",a,[c(e.$slots,"default")])}const l=t(r,[["render",n]]);export{l as default}; diff --git a/apps/admin/.output/public/_nuxt/BeU4EYjt.js b/apps/admin/.output/public/_nuxt/BeU4EYjt.js deleted file mode 100644 index 5d14f607..00000000 --- a/apps/admin/.output/public/_nuxt/BeU4EYjt.js +++ /dev/null @@ -1 +0,0 @@ -import{g as I,j as A,c as a,k as n,v as T,a as e,F as C,r as M,p as P,m,l as B,t as d,D as j,n as H,q,s as u,x as z,A as R,o as i}from"./CTAruH_8.js";import{u as G}from"./9B2ftqmN.js";import{u as O}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const Y={class:"flex items-center justify-between mb-5"},J={class:"flex items-center gap-3 mb-4"},K=["value"],Q={class:"bg-white rounded-xl shadow-sm border border-slate-100"},W={class:"overflow-x-auto"},X={class:"table table-zebra"},Z={key:0},ee={key:1},te={class:"font-mono text-sm font-medium"},le={class:"text-sm"},se={class:"badge badge-ghost badge-sm"},oe={class:"badge badge-sm badge-outline"},ne=["title"],ae={class:"text-sm text-slate-400"},ie={key:0},de={key:1,class:"text-slate-300"},re={key:0,class:"badge badge-success badge-sm text-white"},ue={key:1,class:"badge badge-ghost badge-sm"},me={class:"text-right"},be={class:"inline-flex gap-1"},pe=["onClick"],ce=["onClick"],ve={class:"flex items-center gap-3 mb-5"},fe={class:"text-lg font-semibold text-slate-800"},ge={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},xe={class:"grid grid-cols-2 gap-4"},ye={class:"form-control mb-4"},we=["readonly"],_e={class:"text-xs text-slate-400 mt-1"},he={class:"form-control mb-4"},ke={class:"form-control mb-4"},Ce=["value"],Me={class:"form-control mb-4"},Pe={class:"form-control mb-4"},Ve={class:"form-control mb-4"},Se={class:"form-control mb-4"},Ue={class:"form-control mb-6"},Te={class:"label cursor-pointer justify-start gap-3"},De={class:"flex gap-3"},Le=["disabled"],Be=I({__name:"mcpconfig",setup(Ee){const f=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}];function D(o){const t=Number(o)||0,l=f.find(k=>k.value===t);return l?l.label:t===0?"通用":"区域"+t}const L={0:"HTTP",1:"SSE"};function E(o){const t=Number(o)||0;return L[t]||String(o??"HTTP")}const{webApi:g}=G(),{success:V,error:x,warn:N}=O(),p=u("list"),c=u([]),y=u(!1),w=u(!1),r=u(!1),b=u(0),_=u(""),s=z({id:"",name:"",region:1,type:0,url:"",tools:"",description:"",enable:!0}),S=R(()=>{const o=_.value.trim().toLowerCase();return o?c.value.filter(t=>((t.id||"")+(t.name||"")).toLowerCase().includes(o)):c.value});async function v(){y.value=!0;try{const o=await g("getmcpservers",{region:b.value});c.value=o?.servers??[]}catch(o){x(o?.message??"获取 MCP 服务失败"),c.value=[]}finally{y.value=!1}}function h(){p.value="list",v()}function U(o){o?(r.value=!0,s.id=o.id||"",s.name=o.name||"",s.region=o.region||1,s.type=o.type!=null?o.type:0,s.url=o.url||"",s.tools=o.tools||"",s.description=o.description||"",s.enable=!!o.enable):(r.value=!1,s.id="",s.name="",s.region=b.value>0?b.value:1,s.type=0,s.url="",s.tools="",s.description="",s.enable=!0),p.value="form"}async function $(){const o={id:s.id.trim(),name:s.name.trim(),region:Number(s.region)||0,type:Number(s.type)||0,url:s.url.trim(),tools:s.tools.trim(),description:s.description.trim(),enable:s.enable};if(!o.id){N("服务ID 必填");return}w.value=!0;try{await g(r.value?"updatemcpserver":"addmcpserver",o),V("保存成功"),h()}catch(t){x(t?.message??"保存失败")}finally{w.value=!1}}function F(o){window.confirm(`确定删除 MCP 服务 "${o}" 吗?`)&&g("delmcpserver",{ids:[o]}).then(()=>{V("删除成功"),v()}).catch(t=>x(t?.message??"删除失败"))}return A(v),(o,t)=>(i(),a("div",null,[n(e("div",null,[e("div",Y,[t[13]||(t[13]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"MCP 配置"),e("p",{class:"text-xs text-slate-400 mt-1"},"MCP(模型上下文协议)服务器,按区域分组,所有应用共享。修改后各服务约 10 分钟内自动同步。")],-1)),e("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=l=>U())},"+ 新增 MCP 服务")]),e("div",J,[t[15]||(t[15]=e("span",{class:"text-sm text-slate-500"},"区域筛选",-1)),n(e("select",{"onUpdate:modelValue":t[1]||(t[1]=l=>b.value=l),class:"select select-bordered select-sm",onChange:v},[t[14]||(t[14]=e("option",{value:0},"全部区域",-1)),(i(),a(C,null,M(f,l=>e("option",{key:l.value,value:l.value},d(l.label),9,K)),64))],544),[[P,b.value,void 0,{number:!0}]]),n(e("input",{"onUpdate:modelValue":t[2]||(t[2]=l=>_.value=l),class:"input input-bordered input-sm w-48",placeholder:"按ID/名称搜索"},null,512),[[m,_.value]])]),e("div",Q,[e("div",W,[e("table",X,[t[18]||(t[18]=e("thead",null,[e("tr",null,[e("th",null,"服务ID"),e("th",null,"名称"),e("th",null,"区域"),e("th",null,"类型"),e("th",null,"地址"),e("th",null,"工具"),e("th",null,"状态"),e("th",{class:"text-right"},"操作")])],-1)),e("tbody",null,[y.value?(i(),a("tr",Z,[...t[16]||(t[16]=[e("td",{colspan:"8",class:"text-center py-8"},[e("span",{class:"loading loading-spinner loading-sm"})],-1)])])):S.value.length?B("",!0):(i(),a("tr",ee,[...t[17]||(t[17]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"暂无 MCP 服务",-1)])])),(i(!0),a(C,null,M(S.value,l=>(i(),a("tr",{key:l.id},[e("td",te,d(l.id||""),1),e("td",le,d(l.name||""),1),e("td",null,[e("span",se,d(D(l.region)),1)]),e("td",null,[e("span",oe,d(E(l.type)),1)]),e("td",{class:"text-sm text-slate-500 max-w-xs truncate",title:l.url||""},d(l.url||""),9,ne),e("td",ae,[l.tools&&l.tools.trim()?(i(),a("span",ie,d(l.tools),1)):(i(),a("span",de,"全部"))]),e("td",null,[l.enable?(i(),a("span",re,"启用")):(i(),a("span",ue,"停用"))]),e("td",me,[e("div",be,[e("button",{class:"btn btn-ghost btn-xs",onClick:k=>U(l)},"编辑",8,pe),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:k=>F(l.id)},"删除",8,ce)])])]))),128))])])])])],512),[[T,p.value==="list"]]),n(e("div",null,[e("div",ve,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[3]||(t[3]=l=>h())},"← 返回列表"),e("h2",fe,d(r.value?"编辑 MCP 服务":"新增 MCP 服务"),1)]),e("div",ge,[e("form",{onSubmit:j($,["prevent"])},[e("div",xe,[e("div",ye,[t[19]||(t[19]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"服务ID *")],-1)),n(e("input",{"onUpdate:modelValue":t[4]||(t[4]=l=>s.id=l),type:"text",class:H(["input input-bordered w-full",{"bg-slate-100":r.value}]),readonly:r.value,required:"",placeholder:"如 gaode_map"},null,10,we),[[m,s.id]]),e("span",_e,d(r.value?"编辑模式下不可修改":"唯一标识,创建后不可修改"),1)]),e("div",he,[t[20]||(t[20]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"名称")],-1)),n(e("input",{"onUpdate:modelValue":t[5]||(t[5]=l=>s.name=l),type:"text",class:"input input-bordered w-full"},null,512),[[m,s.name]])]),e("div",ke,[t[21]||(t[21]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"区域 *")],-1)),n(e("select",{"onUpdate:modelValue":t[6]||(t[6]=l=>s.region=l),class:"select select-bordered w-full"},[(i(),a(C,null,M(f,l=>e("option",{key:l.value,value:l.value},d(l.label),9,Ce)),64))],512),[[P,s.region,void 0,{number:!0}]])]),e("div",Me,[t[23]||(t[23]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"类型")],-1)),n(e("select",{"onUpdate:modelValue":t[7]||(t[7]=l=>s.type=l),class:"select select-bordered w-full"},[...t[22]||(t[22]=[e("option",{value:0},"HTTP",-1),e("option",{value:1},"SSE",-1)])],512),[[P,s.type,void 0,{number:!0}]])])]),e("div",Pe,[t[24]||(t[24]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"服务地址 (url)")],-1)),n(e("input",{"onUpdate:modelValue":t[8]||(t[8]=l=>s.url=l),type:"text",class:"input input-bordered w-full font-mono text-sm",placeholder:"https://..."},null,512),[[m,s.url]])]),e("div",Ve,[t[25]||(t[25]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"启用工具 (tools)")],-1)),n(e("input",{"onUpdate:modelValue":t[9]||(t[9]=l=>s.tools=l),type:"text",class:"input input-bordered w-full",placeholder:"逗号分隔,留空表示全部启用"},null,512),[[m,s.tools]])]),e("div",Se,[t[26]||(t[26]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"描述")],-1)),n(e("input",{"onUpdate:modelValue":t[10]||(t[10]=l=>s.description=l),type:"text",class:"input input-bordered w-full"},null,512),[[m,s.description]])]),e("div",Ue,[e("label",Te,[n(e("input",{"onUpdate:modelValue":t[11]||(t[11]=l=>s.enable=l),type:"checkbox",class:"toggle toggle-primary"},null,512),[[q,s.enable]]),t[27]||(t[27]=e("span",{class:"label-text font-medium"},"启用该服务",-1))])]),e("div",De,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[12]||(t[12]=l=>h())},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:w.value},"保存",8,Le)])],32)])],512),[[T,p.value==="form"]])]))}});export{Be as default}; diff --git a/apps/admin/.output/public/_nuxt/BjeKh_cp.js b/apps/admin/.output/public/_nuxt/BjeKh_cp.js new file mode 100644 index 00000000..6bc4b014 --- /dev/null +++ b/apps/admin/.output/public/_nuxt/BjeKh_cp.js @@ -0,0 +1 @@ +import{g as Z,C as $,j as ee,c as l,a as e,k as v,p as j,l as D,F as y,r as h,m as w,I as te,D as se,t as i,d as B,s as u,A as _,x as ne,o}from"./CfpW9SkI.js";import{u as le}from"./DSu8q42f.js";import{u as oe}from"./CMwGY1Mu.js";import"./DL330dAC.js";const ae={class:"space-y-6"},ie={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4"},re={class:"flex items-end gap-3 flex-wrap"},de={class:"form-control"},ue={key:0,value:""},ce=["value"],pe={class:"form-control"},me={key:0,value:""},ve=["value"],be={class:"form-control"},fe=["onKeydown"],xe={key:0,class:"bg-white rounded-xl shadow-sm border border-slate-100 p-12 text-center text-slate-400"},ge={key:1,class:"space-y-5"},ye={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5 flex items-center gap-4"},he=["src"],we={key:1,class:"w-14 h-14 rounded-full bg-indigo-100 text-indigo-600 flex items-center justify-center text-xl font-bold"},_e={class:"text-lg font-semibold text-slate-800"},ke={class:"text-xs text-slate-400 font-mono mt-0.5"},Ie={class:"ml-auto flex items-center gap-3"},Ae={class:"badge badge-primary badge-outline"},Ue={class:"px-5 py-3 border-b border-slate-50 text-sm font-semibold text-slate-700"},Ve={class:"px-5 py-3 grid grid-cols-1 md:grid-cols-2 gap-x-8"},Ce={class:"text-xs text-slate-400 shrink-0"},De={class:"text-sm text-slate-700 break-all text-right"},Ne={class:"modal-box max-w-md"},Me={class:"text-xs text-slate-400 mb-4"},Se={class:"font-mono text-slate-600"},Ge={class:"grid grid-cols-3 gap-3"},Pe={class:"form-control"},je={class:"form-control"},Be={class:"form-control"},Le=Z({__name:"users",setup(Te){const{webApi:N,consoleApi:T}=le(),{success:q,error:M,warn:c}=oe(),b=$(),E={cn:"中国",us:"美国",hw:"海外",ea:"东亚",sea:"东南亚",sa:"南亚",me:"中东",eu:"欧洲",ru:"俄罗斯",af:"非洲",sam:"南美",nam:"北美",oc:"大洋洲",br:"巴西",in:"印度"};function F(s){return E[s]||s||"默认"}const f=u([]),p=u(""),m=u(""),k=u(""),r=u(null),S=u("请输入查询条件后点击「搜索」"),I=u(""),x=u(""),K=_(()=>[1,2,3].includes(b.identity)),g=u(null),a=ne({vipday:0,trademin:0,meetmin:0}),A=_(()=>{const s=[];return f.value.forEach(t=>{s.includes(t.name)||s.push(t.name)}),s}),U=_(()=>f.value.filter(s=>s.name===p.value));function G(){const s=U.value;m.value=s.length?s[0].id:""}function L(s){return s?new Date(s*1e3).toLocaleString():"-"}function R(s){return s?"是":"否"}function H(s){return s===1?"男":s===2?"女":"未知"}function V(s){return s==null||s===""?"-":s}const O=[{title:"基本信息",rows:[["uid","UID"],["name","用户名"],["account","登录账号"],["mail","邮箱"],["phone","手机号"],["gender","性别","gender"],["language","语言"],["version","版本"],["channel","渠道"],["State","状态"],["country_code","国家码"],["continent_code","大洲码"],["servicetag","服务区"],["phonemodel","手机型号"],["phonemac","设备ID"]]},{title:"第三方登录",rows:[["wxopenid","微信 openid"],["googleopenid","Google openid"],["facebookopenid","Facebook openid"],["appleopenid","Apple openid"]]},{title:"会员与积分",rows:[["viplv","VIP等级"],["vipexptime","VIP到期","ts"],["aichatintegral","AI积分"],["aichattotalintegral","AI累计积分"],["tradeintegral","翻译积分"],["tradetotalintegral","翻译累计积分"],["meetintegral","会议积分"],["meettotalintegral","会议累计积分"],["lastbindproductid","最后绑定产品ID"],["isactivatecode","已领激活码","bool"],["isgiveaway","首次绑定赠送","bool"]]},{title:"时间",rows:[["createtime","注册时间","ts"],["lastsgintime","最后登录","ts"],["canceltime","注销时间","ts"]]}];function z(s,t){const n=t[2],d=s[t[0]];return n==="ts"?L(d):n==="bool"?R(d):n==="gender"?H(d):V(d)}const J=_(()=>{const s=r.value;return s?String(s.name||s.uid||"?").charAt(0).toUpperCase():"?"});async function C(){if(!p.value){c("请选择应用");return}if(!m.value){c("请选择区域");return}const s=k.value.trim();if(!s){c("请输入用户UID");return}const t=Number(m.value);I.value=t,x.value=s,b.setCurrentApp(t);try{const n=await N("getuserinfo",{uid:s});r.value=n||{}}catch(n){M(n?.message||"查询失败"),r.value=null,S.value=n?.message||"未找到该用户"}}function Q(){if(!x.value){c("请先查询用户");return}a.vipday=0,a.trademin=0,a.meetmin=0,g.value?.showModal()}function W(){g.value?.close()}async function X(){const s=Number(a.vipday)||0,t=Number(a.trademin)||0,n=Number(a.meetmin)||0;if(s<0||t<0||n<0){c("数量不能为负");return}if(!s&&!t&&!n){c("请至少填写一项");return}if(!I.value||!x.value){c("请先查询用户");return}b.setCurrentApp(Number(I.value));try{await N("giftuserresource",{uid:x.value,vipday:s,trademin:t,meetmin:n}),q("赠送成功"),g.value?.close(),C()}catch(d){M(d?.message||"赠送失败")}}function P(){const s=A.value;if(!s.length){p.value="",m.value="";return}p.value=s[0],G()}async function Y(){if(b.identity===3){f.value=(b.appbinds||[]).map(s=>({id:s.id,name:s.name,region:s.region,enabled:!0})),P();return}try{const s=await T("apps/list",{});f.value=(s||[]).filter(t=>t.enabled)}catch{f.value=[]}P()}return ee(Y),(s,t)=>(o(),l("div",ae,[e("div",ie,[e("div",re,[e("div",de,[t[6]||(t[6]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"应用")],-1)),v(e("select",{"onUpdate:modelValue":t[0]||(t[0]=n=>p.value=n),class:"select select-bordered select-sm",style:{"min-width":"180px"},onChange:G},[A.value.length?D("",!0):(o(),l("option",ue,"无可用应用")),(o(!0),l(y,null,h(A.value,n=>(o(),l("option",{key:n,value:n},i(n),9,ce))),128))],544),[[j,p.value]])]),e("div",pe,[t[7]||(t[7]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"区域")],-1)),v(e("select",{"onUpdate:modelValue":t[1]||(t[1]=n=>m.value=n),class:"select select-bordered select-sm",style:{"min-width":"140px"}},[U.value.length?D("",!0):(o(),l("option",me,"无可用区域")),(o(!0),l(y,null,h(U.value,n=>(o(),l("option",{key:n.id,value:n.id},i(F(n.region)),9,ve))),128))],512),[[j,m.value]])]),e("div",be,[t[8]||(t[8]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"用户UID")],-1)),v(e("input",{"onUpdate:modelValue":t[2]||(t[2]=n=>k.value=n),type:"text",class:"input input-bordered input-sm",style:{"min-width":"240px"},placeholder:"输入用户 UID",onKeydown:te(se(C,["prevent"]),["enter"])},null,40,fe),[[w,k.value]])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:C},"搜索")]),t[9]||(t[9]=e("p",{class:"text-xs text-slate-400 mt-2"},"选择应用与区域后输入 UID,直接查询该部署业务库中的用户信息。",-1))]),r.value?(o(),l("div",ge,[e("div",ye,[r.value.avatar?(o(),l("img",{key:0,src:r.value.avatar,class:"w-14 h-14 rounded-full object-cover border border-slate-100"},null,8,he)):(o(),l("div",we,i(J.value),1)),e("div",null,[e("div",_e,i(V(r.value.name)),1),e("div",ke,i(V(r.value.uid)),1)]),e("div",Ie,[e("span",Ae,"VIP "+i(r.value.viplv||0),1),K.value?(o(),l("button",{key:0,class:"btn btn-success btn-sm text-white",onClick:Q},"赠送资源点")):D("",!0)])]),(o(),l(y,null,h(O,n=>e("div",{key:n.title,class:"bg-white rounded-xl shadow-sm border border-slate-100 overflow-hidden"},[e("div",Ue,i(n.title),1),e("div",Ve,[(o(!0),l(y,null,h(n.rows,d=>(o(),l("div",{key:d[0],class:"flex justify-between gap-3 py-1.5 border-b border-slate-50"},[e("span",Ce,i(d[1]),1),e("span",De,i(z(r.value,d)),1)]))),128))])])),64))])):(o(),l("div",xe,i(S.value),1)),e("dialog",{ref_key:"giftModal",ref:g,class:"modal"},[e("div",Ne,[t[15]||(t[15]=e("h3",{class:"font-bold text-lg mb-1 text-slate-800"},"赠送资源点",-1)),e("p",Me,[t[10]||(t[10]=B("目标用户 UID:",-1)),e("span",Se,i(x.value),1),t[11]||(t[11]=B("。代理账号将从自己的资源点余额中扣减,超管/管理员无消耗。",-1))]),e("div",Ge,[e("div",Pe,[t[12]||(t[12]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"VIP天数")],-1)),v(e("input",{"onUpdate:modelValue":t[3]||(t[3]=n=>a.vipday=n),type:"number",class:"input input-bordered",min:"0"},null,512),[[w,a.vipday,void 0,{number:!0}]])]),e("div",je,[t[13]||(t[13]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"翻译分钟")],-1)),v(e("input",{"onUpdate:modelValue":t[4]||(t[4]=n=>a.trademin=n),type:"number",class:"input input-bordered",min:"0"},null,512),[[w,a.trademin,void 0,{number:!0}]])]),e("div",Be,[t[14]||(t[14]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"会议分钟")],-1)),v(e("input",{"onUpdate:modelValue":t[5]||(t[5]=n=>a.meetmin=n),type:"number",class:"input input-bordered",min:"0"},null,512),[[w,a.meetmin,void 0,{number:!0}]])])]),e("div",{class:"modal-action"},[e("button",{class:"btn btn-sm",onClick:W},"取消"),e("button",{class:"btn btn-success btn-sm text-white",onClick:X},"确认赠送")])]),t[16]||(t[16]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512)]))}});export{Le as default}; diff --git a/apps/admin/.output/public/_nuxt/Bxcdr2qc.js b/apps/admin/.output/public/_nuxt/Bxcdr2qc.js deleted file mode 100644 index c1b34b0e..00000000 --- a/apps/admin/.output/public/_nuxt/Bxcdr2qc.js +++ /dev/null @@ -1 +0,0 @@ -import{g as P,j as R,c as r,k as n,v as V,a as t,l as B,F as H,r as I,t as i,D as L,m as a,q as O,s as b,x as E,A as q,o as u,n as D,d as z}from"./CTAruH_8.js";import{u as G}from"./9B2ftqmN.js";import{u as K}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const Y={class:"flex items-center justify-between mb-5"},J={class:"bg-white rounded-xl shadow-sm border border-slate-100"},Q={class:"overflow-x-auto"},W={class:"table table-zebra text-sm"},X={key:0},Z={key:1},tt={class:"font-mono"},st={class:"font-medium"},et={class:"font-mono text-xs text-slate-500"},lt={class:"text-xs text-slate-500"},ot={key:0,class:"text-green-600"},nt={key:1,class:"text-slate-400"},at={class:"flex gap-1"},dt=["onClick"],it=["onClick"],rt={class:"flex items-center gap-3 mb-5"},ut={class:"text-lg font-semibold text-slate-800"},pt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},mt={class:"grid grid-cols-2 gap-4"},bt={class:"form-control"},ft={class:"form-control"},ct={class:"grid grid-cols-3 gap-4"},xt={class:"form-control col-span-2"},vt={class:"form-control"},gt={class:"form-control mt-4"},yt={class:"form-control mt-4"},_t={class:"grid grid-cols-2 gap-4"},kt={class:"form-control"},wt={class:"form-control"},ht={class:"form-control"},St={class:"form-control"},Vt={class:"grid grid-cols-2 gap-4"},Ut={class:"form-control"},Ct={class:"form-control"},Ht={class:"grid grid-cols-2 gap-4 mt-4"},It={class:"form-control"},Et={class:"form-control"},Dt={class:"form-control mt-4"},Tt={class:"flex items-center gap-2 mt-4"},Nt={class:"flex items-center gap-2 cursor-pointer"},$t={class:"mt-4 text-sm space-y-0.5"},jt={class:"flex gap-3 mt-6"},At=["disabled"],Ft=["disabled"],qt=P({__name:"environments",setup(Mt){const{consoleApi:c}=G(),{success:_,error:m}=K(),x=b("list"),v=b([]),k=b(!1),g=b(!1),f=b(!1),y=b(!1),d=E({show:!1,ok:!1,ssh_ok:!1,ssh_msg:"",etcd_ok:!1,etcd_msg:"",redis_ok:!1,redis_msg:"",nats_ok:!1,nats_msg:""}),T=q(()=>[{key:"ssh",label:"SSH 部署机",ok:d.ssh_ok,msg:d.ssh_msg},{key:"etcd",label:"ETCD",ok:d.etcd_ok,msg:d.etcd_msg},{key:"redis",label:"Redis",ok:d.redis_ok,msg:d.redis_msg},{key:"nats",label:"NATS",ok:d.nats_ok,msg:d.nats_msg}]);function w(){return{id:0,name:"",code:"",remark:"",enabled:!0,ssh_host:"",ssh_port:22,ssh_user:"root",ssh_private_key:"",registry:"",registry_user:"",registry_pass:"",docker_network:"1panel-network",etcd_servers:"",redis_addr:"",redis_pwd:"",nats_url:""}}const l=E(w());function U(o){Object.assign(l,w(),o)}function N(o){return o.ssh_host?`${o.ssh_user||"root"}@${o.ssh_host}:${o.ssh_port||22}`:"-"}function $(o){return o.registry||"-"}async function h(){k.value=!0;try{const o=await c("envs/list",{});v.value=o??[]}catch(o){m(o?.message??"获取环境列表失败"),v.value=[]}finally{k.value=!1}}function p(){f.value=!1,d.show=!1}function S(){x.value="list",h()}function C(o){o?(g.value=!0,U(o)):(g.value=!1,U(w())),p(),x.value="form"}async function j(){if(!l.ssh_host.trim()){m("请先填 SSH 主机");return}y.value=!0;try{const o=await c("envs/test",{...l});Object.assign(d,o,{show:!0}),f.value=!!o.ok,f.value?_("SSH 握手成功,可以保存"):m("SSH 未通过,请检查主机/私钥/用户")}catch(o){m(o?.message??"测试失败")}finally{y.value=!1}}async function A(){if(!f.value){m("请先「测试连接」通过再保存");return}const o={...l};let s="envs/add";g.value&&l.id?(o.id=Number(l.id),s="envs/update"):delete o.id;try{await c(s,o),_("保存成功"),S()}catch(e){m(e?.message??"失败")}}function F(o){window.confirm(`删除环境 #${o} ?(该环境下若有应用关联将被拒绝)`)&&c("envs/del",{id:o}).then(()=>{_("已删除"),h()}).catch(s=>m(s?.message??"失败"))}return R(h),(o,s)=>(u(),r("div",null,[n(t("div",null,[t("div",Y,[s[19]||(s[19]=t("div",null,[t("h2",{class:"text-lg font-semibold text-slate-800"},"环境节点(部署服务器)"),t("p",{class:"text-sm text-slate-400 mt-1"},"部署服务器节点(如 上海 / 日本 / 新加坡):远端 IP、SSH 登录账号与私钥、私有镜像仓库、区域共享基础设施。应用管理里「部署到目标环境」从这里选择、两边对应;下一期即可从页面直接更新服务/部署应用。密钥加密存储,不回显明文。")],-1)),t("button",{class:"btn btn-primary btn-sm text-white",onClick:s[0]||(s[0]=e=>C())},"+ 新增节点")]),t("div",J,[t("div",Q,[t("table",W,[s[22]||(s[22]=t("thead",null,[t("tr",null,[t("th",null,"ID"),t("th",null,"名称"),t("th",null,"区域码"),t("th",null,"SSH 目标"),t("th",null,"镜像仓库"),t("th",null,"启用"),t("th",null,"操作")])],-1)),t("tbody",null,[k.value?(u(),r("tr",X,[...s[20]||(s[20]=[t("td",{colspan:"7",class:"text-center py-8"},[t("span",{class:"loading loading-spinner loading-sm"})],-1)])])):v.value.length?B("",!0):(u(),r("tr",Z,[...s[21]||(s[21]=[t("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无环境",-1)])])),(u(!0),r(H,null,I(v.value,e=>(u(),r("tr",{key:e.id},[t("td",tt,i(e.id),1),t("td",st,i(e.name||""),1),t("td",null,i(e.code||""),1),t("td",et,i(N(e)),1),t("td",lt,i($(e)),1),t("td",null,[e.enabled?(u(),r("span",ot,"是")):(u(),r("span",nt,"否"))]),t("td",null,[t("div",at,[t("button",{class:"btn btn-ghost btn-xs",onClick:M=>C(e)},"编辑",8,dt),t("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:M=>F(e.id)},"删除",8,it)])])]))),128))])])])])],512),[[V,x.value==="list"]]),n(t("div",null,[t("div",rt,[t("button",{class:"btn btn-ghost btn-sm",onClick:s[1]||(s[1]=e=>S())},"← 返回"),t("h2",ut,i(g.value?"编辑节点":"新增节点"),1)]),t("div",pt,[t("form",{onSubmit:L(A,["prevent"])},[t("div",mt,[t("div",bt,[s[23]||(s[23]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"名称 *")],-1)),n(t("input",{"onUpdate:modelValue":s[2]||(s[2]=e=>l.name=e),type:"text",class:"input input-bordered w-full",required:"",placeholder:"如 上海生产"},null,512),[[a,l.name]])]),t("div",ft,[s[24]||(s[24]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"区域码")],-1)),n(t("input",{"onUpdate:modelValue":s[3]||(s[3]=e=>l.code=e),type:"text",class:"input input-bordered w-full",list:"env-code-list",placeholder:"shanghai / japan / singapore"},null,512),[[a,l.code]]),s[25]||(s[25]=t("datalist",{id:"env-code-list"},[t("option",{value:"shanghai"}),t("option",{value:"japan"}),t("option",{value:"singapore"})],-1))])]),s[41]||(s[41]=t("div",{class:"divider text-xs text-slate-400 mt-6"},"SSH 部署目标",-1)),t("div",ct,[t("div",xt,[s[26]||(s[26]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"SSH 主机")],-1)),n(t("input",{"onUpdate:modelValue":s[4]||(s[4]=e=>l.ssh_host=e),type:"text",class:"input input-bordered w-full",placeholder:"139.224.212.237",onInput:p},null,544),[[a,l.ssh_host]])]),t("div",vt,[s[27]||(s[27]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"端口")],-1)),n(t("input",{"onUpdate:modelValue":s[5]||(s[5]=e=>l.ssh_port=e),type:"number",class:"input input-bordered w-full",placeholder:"22",onInput:p},null,544),[[a,l.ssh_port,void 0,{number:!0}]])])]),t("div",gt,[s[28]||(s[28]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"SSH 用户")],-1)),n(t("input",{"onUpdate:modelValue":s[6]||(s[6]=e=>l.ssh_user=e),type:"text",class:"input input-bordered w-full",placeholder:"root",onInput:p},null,544),[[a,l.ssh_user]])]),t("div",yt,[s[29]||(s[29]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"SSH 私钥 (PEM)")],-1)),n(t("textarea",{"onUpdate:modelValue":s[7]||(s[7]=e=>l.ssh_private_key=e),class:"textarea textarea-bordered w-full font-mono text-xs h-28",placeholder:"-----BEGIN OPENSSH PRIVATE KEY-----",onInput:p},null,544),[[a,l.ssh_private_key]]),s[30]||(s[30]=t("span",{class:"text-xs text-slate-400 mt-1"},"加密存储;编辑时显示 [encrypted] 表示不改,如需更换直接粘贴新私钥。",-1))]),s[42]||(s[42]=t("div",{class:"divider text-xs text-slate-400 mt-6"},"私有镜像仓库 + Docker 网络",-1)),t("div",_t,[t("div",kt,[s[31]||(s[31]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"仓库地址")],-1)),n(t("input",{"onUpdate:modelValue":s[8]||(s[8]=e=>l.registry=e),type:"text",class:"input input-bordered w-full",placeholder:"docker-registry.ideapsound.com"},null,512),[[a,l.registry]])]),t("div",wt,[s[32]||(s[32]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"Docker 网络")],-1)),n(t("input",{"onUpdate:modelValue":s[9]||(s[9]=e=>l.docker_network=e),type:"text",class:"input input-bordered w-full",placeholder:"1panel-network"},null,512),[[a,l.docker_network]])]),t("div",ht,[s[33]||(s[33]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"仓库账号")],-1)),n(t("input",{"onUpdate:modelValue":s[10]||(s[10]=e=>l.registry_user=e),type:"text",class:"input input-bordered w-full",autocomplete:"off"},null,512),[[a,l.registry_user]])]),t("div",St,[s[34]||(s[34]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"仓库密码")],-1)),n(t("input",{"onUpdate:modelValue":s[11]||(s[11]=e=>l.registry_pass=e),type:"password",class:"input input-bordered w-full",autocomplete:"new-password",placeholder:"[encrypted]"},null,512),[[a,l.registry_pass]])])]),s[43]||(s[43]=t("div",{class:"divider text-xs text-slate-400 mt-6"},"节点共享集群服务",-1)),s[44]||(s[44]=t("p",{class:"text-xs text-slate-400 -mt-2 mb-2"},"该服务器上各应用共用的地址。各应用自己的部署目录、业务库 DSN、镜像、redis 库号等,在「应用管理 → 部署到目标环境」里按应用填。",-1)),t("div",Vt,[t("div",Ut,[s[35]||(s[35]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"ETCD")],-1)),n(t("input",{"onUpdate:modelValue":s[12]||(s[12]=e=>l.etcd_servers=e),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"etcd:2379",onInput:p},null,544),[[a,l.etcd_servers]])]),t("div",Ct,[s[36]||(s[36]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"NATS")],-1)),n(t("input",{"onUpdate:modelValue":s[13]||(s[13]=e=>l.nats_url=e),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"nats://nats:4222",onInput:p},null,544),[[a,l.nats_url]])])]),t("div",Ht,[t("div",It,[s[37]||(s[37]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"Redis 地址")],-1)),n(t("input",{"onUpdate:modelValue":s[14]||(s[14]=e=>l.redis_addr=e),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"redis:6379",onInput:p},null,544),[[a,l.redis_addr]])]),t("div",Et,[s[38]||(s[38]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"Redis 密码")],-1)),n(t("input",{"onUpdate:modelValue":s[15]||(s[15]=e=>l.redis_pwd=e),type:"password",class:"input input-bordered w-full",autocomplete:"new-password",placeholder:"[encrypted]"},null,512),[[a,l.redis_pwd]])])]),t("div",Dt,[s[39]||(s[39]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"备注")],-1)),n(t("input",{"onUpdate:modelValue":s[16]||(s[16]=e=>l.remark=e),type:"text",class:"input input-bordered w-full"},null,512),[[a,l.remark]])]),t("div",Tt,[t("label",Nt,[n(t("input",{"onUpdate:modelValue":s[17]||(s[17]=e=>l.enabled=e),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[O,l.enabled]]),s[40]||(s[40]=t("span",{class:"text-sm"},"启用",-1))])]),n(t("div",$t,[(u(!0),r(H,null,I(T.value,e=>(u(),r("div",{key:e.key,class:D(e.ok?"text-green-700":"text-red-600")},[t("span",{class:D(e.ok?"text-green-600":"text-red-500")},i(e.ok?"✓":"✗"),3),z(" "+i(e.label)+":"+i(e.msg),1)],2))),128))],512),[[V,d.show]]),t("div",jt,[t("button",{type:"button",class:"btn btn-ghost",onClick:s[18]||(s[18]=e=>S())},"取消"),t("button",{type:"button",class:"btn btn-outline",disabled:y.value,onClick:j},i(y.value?"测试中...":"测试连接"),9,At),t("button",{type:"submit",class:"btn btn-primary text-white",disabled:!f.value},"保存",8,Ft)]),s[45]||(s[45]=t("p",{class:"text-xs text-slate-400 mt-2"},"需先「测试连接」(SSH 握手成功即可保存;基础设施逐项仅作提示)。",-1))],32)])],512),[[V,x.value==="form"]])]))}});export{qt as default}; diff --git a/apps/admin/.output/public/_nuxt/C1U0GWax.js b/apps/admin/.output/public/_nuxt/C1U0GWax.js new file mode 100644 index 00000000..40c46a0c --- /dev/null +++ b/apps/admin/.output/public/_nuxt/C1U0GWax.js @@ -0,0 +1 @@ +import{g as I,j as A,c as a,k as n,v as T,a as e,F as C,r as M,p as P,m as b,l as B,t as d,D as j,n as H,q,s as u,x as z,A as R,o as i}from"./CfpW9SkI.js";import{u as G}from"./DSu8q42f.js";import{u as O}from"./CMwGY1Mu.js";import"./DL330dAC.js";const Y={class:"flex items-center justify-between mb-5"},J={class:"flex items-center gap-3 mb-4"},K=["value"],Q={class:"bg-white rounded-xl shadow-sm border border-slate-100"},W={class:"overflow-x-auto"},X={class:"table table-zebra"},Z={key:0},ee={key:1},te={class:"font-mono text-sm font-medium"},le={class:"text-sm"},se={class:"badge badge-ghost badge-sm"},oe={class:"badge badge-sm badge-outline"},ne=["title"],ae={class:"text-sm text-slate-400"},ie={key:0},de={key:1,class:"text-slate-300"},re={key:0,class:"badge badge-success badge-sm text-white"},ue={key:1,class:"badge badge-ghost badge-sm"},be={class:"text-right"},me={class:"inline-flex gap-1"},pe=["onClick"],ce=["onClick"],ve={class:"flex items-center gap-3 mb-5"},fe={class:"text-lg font-semibold text-slate-800"},ge={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},xe={class:"grid grid-cols-2 gap-4"},ye={class:"form-control mb-4"},we=["readonly"],_e={class:"text-xs text-slate-400 mt-1"},he={class:"form-control mb-4"},ke={class:"form-control mb-4"},Ce=["value"],Me={class:"form-control mb-4"},Pe={class:"form-control mb-4"},Ve={class:"form-control mb-4"},Se={class:"form-control mb-4"},Ue={class:"form-control mb-6"},Te={class:"label cursor-pointer justify-start gap-3"},De={class:"flex gap-3"},Le=["disabled"],Ae=I({__name:"mcpconfig",setup(Ee){const f=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}];function D(o){const t=Number(o)||0,l=f.find(k=>k.value===t);return l?l.label:t===0?"通用":"区域"+t}const L={0:"HTTP",1:"SSE"};function E(o){const t=Number(o)||0;return L[t]||String(o??"HTTP")}const{webApi:g}=G(),{success:V,error:x,warn:N}=O(),p=u("list"),c=u([]),y=u(!1),w=u(!1),r=u(!1),m=u(1),_=u(""),s=z({id:"",name:"",region:1,type:0,url:"",tools:"",description:"",enable:!0}),S=R(()=>{const o=_.value.trim().toLowerCase();return o?c.value.filter(t=>((t.id||"")+(t.name||"")).toLowerCase().includes(o)):c.value});async function v(){y.value=!0;try{const o=await g("getmcpservers",{region:m.value});c.value=o?.servers??[]}catch(o){x(o?.message??"获取 MCP 服务失败"),c.value=[]}finally{y.value=!1}}function h(){p.value="list",v()}function U(o){o?(r.value=!0,s.id=o.id||"",s.name=o.name||"",s.region=o.region||1,s.type=o.type!=null?o.type:0,s.url=o.url||"",s.tools=o.tools||"",s.description=o.description||"",s.enable=!!o.enable):(r.value=!1,s.id="",s.name="",s.region=m.value>0?m.value:1,s.type=0,s.url="",s.tools="",s.description="",s.enable=!0),p.value="form"}async function $(){const o={id:s.id.trim(),name:s.name.trim(),region:Number(s.region)||0,type:Number(s.type)||0,url:s.url.trim(),tools:s.tools.trim(),description:s.description.trim(),enable:s.enable};if(!o.id){N("服务ID 必填");return}w.value=!0;try{await g(r.value?"updatemcpserver":"addmcpserver",o),V("保存成功"),h()}catch(t){x(t?.message??"保存失败")}finally{w.value=!1}}function F(o){window.confirm(`确定删除 MCP 服务 "${o}" 吗?`)&&g("delmcpserver",{ids:[o]}).then(()=>{V("删除成功"),v()}).catch(t=>x(t?.message??"删除失败"))}return A(v),(o,t)=>(i(),a("div",null,[n(e("div",null,[e("div",Y,[t[13]||(t[13]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"MCP 配置"),e("p",{class:"text-xs text-slate-400 mt-1"},"MCP(模型上下文协议)服务器,按区域分组,所有应用共享。修改后各服务约 10 分钟内自动同步。")],-1)),e("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=l=>U())},"+ 新增 MCP 服务")]),e("div",J,[t[15]||(t[15]=e("span",{class:"text-sm text-slate-500"},"区域筛选",-1)),n(e("select",{"onUpdate:modelValue":t[1]||(t[1]=l=>m.value=l),class:"select select-bordered select-sm",onChange:v},[t[14]||(t[14]=e("option",{value:0},"全部区域",-1)),(i(),a(C,null,M(f,l=>e("option",{key:l.value,value:l.value},d(l.label),9,K)),64))],544),[[P,m.value,void 0,{number:!0}]]),n(e("input",{"onUpdate:modelValue":t[2]||(t[2]=l=>_.value=l),class:"input input-bordered input-sm w-48",placeholder:"按ID/名称搜索"},null,512),[[b,_.value]])]),e("div",Q,[e("div",W,[e("table",X,[t[18]||(t[18]=e("thead",null,[e("tr",null,[e("th",null,"服务ID"),e("th",null,"名称"),e("th",null,"区域"),e("th",null,"类型"),e("th",null,"地址"),e("th",null,"工具"),e("th",null,"状态"),e("th",{class:"text-right"},"操作")])],-1)),e("tbody",null,[y.value?(i(),a("tr",Z,[...t[16]||(t[16]=[e("td",{colspan:"8",class:"text-center py-8"},[e("span",{class:"loading loading-spinner loading-sm"})],-1)])])):S.value.length?B("",!0):(i(),a("tr",ee,[...t[17]||(t[17]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"暂无 MCP 服务",-1)])])),(i(!0),a(C,null,M(S.value,l=>(i(),a("tr",{key:l.id},[e("td",te,d(l.id||""),1),e("td",le,d(l.name||""),1),e("td",null,[e("span",se,d(D(l.region)),1)]),e("td",null,[e("span",oe,d(E(l.type)),1)]),e("td",{class:"text-sm text-slate-500 max-w-xs truncate",title:l.url||""},d(l.url||""),9,ne),e("td",ae,[l.tools&&l.tools.trim()?(i(),a("span",ie,d(l.tools),1)):(i(),a("span",de,"全部"))]),e("td",null,[l.enable?(i(),a("span",re,"启用")):(i(),a("span",ue,"停用"))]),e("td",be,[e("div",me,[e("button",{class:"btn btn-ghost btn-xs",onClick:k=>U(l)},"编辑",8,pe),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:k=>F(l.id)},"删除",8,ce)])])]))),128))])])])])],512),[[T,p.value==="list"]]),n(e("div",null,[e("div",ve,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[3]||(t[3]=l=>h())},"← 返回列表"),e("h2",fe,d(r.value?"编辑 MCP 服务":"新增 MCP 服务"),1)]),e("div",ge,[e("form",{onSubmit:j($,["prevent"])},[e("div",xe,[e("div",ye,[t[19]||(t[19]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"服务ID *")],-1)),n(e("input",{"onUpdate:modelValue":t[4]||(t[4]=l=>s.id=l),type:"text",class:H(["input input-bordered w-full",{"bg-slate-100":r.value}]),readonly:r.value,required:"",placeholder:"如 gaode_map"},null,10,we),[[b,s.id]]),e("span",_e,d(r.value?"编辑模式下不可修改":"唯一标识,创建后不可修改"),1)]),e("div",he,[t[20]||(t[20]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"名称")],-1)),n(e("input",{"onUpdate:modelValue":t[5]||(t[5]=l=>s.name=l),type:"text",class:"input input-bordered w-full"},null,512),[[b,s.name]])]),e("div",ke,[t[21]||(t[21]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"区域 *")],-1)),n(e("select",{"onUpdate:modelValue":t[6]||(t[6]=l=>s.region=l),class:"select select-bordered w-full"},[(i(),a(C,null,M(f,l=>e("option",{key:l.value,value:l.value},d(l.label),9,Ce)),64))],512),[[P,s.region,void 0,{number:!0}]])]),e("div",Me,[t[23]||(t[23]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"类型")],-1)),n(e("select",{"onUpdate:modelValue":t[7]||(t[7]=l=>s.type=l),class:"select select-bordered w-full"},[...t[22]||(t[22]=[e("option",{value:0},"HTTP",-1),e("option",{value:1},"SSE",-1)])],512),[[P,s.type,void 0,{number:!0}]])])]),e("div",Pe,[t[24]||(t[24]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"服务地址 (url)")],-1)),n(e("input",{"onUpdate:modelValue":t[8]||(t[8]=l=>s.url=l),type:"text",class:"input input-bordered w-full font-mono text-sm",placeholder:"https://..."},null,512),[[b,s.url]])]),e("div",Ve,[t[25]||(t[25]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"启用工具 (tools)")],-1)),n(e("input",{"onUpdate:modelValue":t[9]||(t[9]=l=>s.tools=l),type:"text",class:"input input-bordered w-full",placeholder:"逗号分隔,留空表示全部启用"},null,512),[[b,s.tools]])]),e("div",Se,[t[26]||(t[26]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"描述")],-1)),n(e("input",{"onUpdate:modelValue":t[10]||(t[10]=l=>s.description=l),type:"text",class:"input input-bordered w-full"},null,512),[[b,s.description]])]),e("div",Ue,[e("label",Te,[n(e("input",{"onUpdate:modelValue":t[11]||(t[11]=l=>s.enable=l),type:"checkbox",class:"toggle toggle-primary"},null,512),[[q,s.enable]]),t[27]||(t[27]=e("span",{class:"label-text font-medium"},"启用该服务",-1))])]),e("div",De,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[12]||(t[12]=l=>h())},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:w.value},"保存",8,Le)])],32)])],512),[[T,p.value==="form"]])]))}});export{Ae as default}; diff --git a/apps/admin/.output/public/_nuxt/C1a5GrA3.js b/apps/admin/.output/public/_nuxt/C1a5GrA3.js new file mode 100644 index 00000000..a0c034db --- /dev/null +++ b/apps/admin/.output/public/_nuxt/C1a5GrA3.js @@ -0,0 +1 @@ +import{g as K,j as T,c as a,k as c,v as E,a as t,l as M,F as C,r as V,t as r,D as N,m as v,I as z,s as d,x as A,o as n,d as q}from"./CfpW9SkI.js";import{u as H}from"./DSu8q42f.js";import{u as G}from"./CMwGY1Mu.js";import"./DL330dAC.js";const J={class:"flex items-center justify-between mb-5"},O={class:"bg-white rounded-xl shadow-sm border border-slate-100"},P={class:"overflow-x-auto"},Q={class:"table table-zebra"},R={key:0},W={key:1},X={class:"font-mono text-sm"},Y={class:"font-medium"},Z={class:"badge badge-ghost badge-sm"},tt={class:"text-sm"},et={key:1,class:"text-slate-300"},st={class:"text-sm text-slate-500"},lt={class:"flex gap-1"},ot=["onClick"],at=["onClick"],nt={class:"flex items-center gap-3 mb-5"},it={class:"text-lg font-semibold text-slate-800"},rt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},dt={class:"form-control mb-4"},ut={class:"form-control mb-4"},ct={class:"form-control mb-4"},mt={class:"form-control mb-6"},bt={class:"space-y-2"},pt={key:0,class:"text-xs text-slate-400"},ft={class:"badge badge-lg gap-1 bg-slate-100 border-slate-200"},vt=["onClick"],yt={class:"flex gap-2 mt-2"},gt=["onKeydown"],xt={class:"flex gap-3"},ht=["disabled"],Ft=K({__name:"factory",setup(_t){const{webApi:y}=H(),{success:F,error:g,warn:U}=G(),p=d("list"),f=d([]),x=d(!1),h=d(!1),m=d(!1),i=d([]),b=d(""),o=A({id:0,factory:"",factoryflag:"",description:""});function j(s){return s?Number(s).toString(16).toUpperCase():""}function _(s){return(s||"").split(",").map(e=>e.trim()).filter(Boolean)}async function w(){x.value=!0;try{const s=await y("getfactorys",{});f.value=s?.factorys??[]}catch(s){g(s?.message??"获取厂家列表失败"),f.value=[]}finally{x.value=!1}}function k(){p.value="list",w()}function $(s){s?(m.value=!0,o.id=s.id,o.factory=s.factory||"",o.factoryflag=s.factoryflag||"",o.description=s.description||"",i.value=_(s.contactmails)):(m.value=!1,o.id=0,o.factory="",o.factoryflag="",o.description="",i.value=[]),b.value="",p.value="form"}function B(){const s=b.value.trim();if(s){if(i.value.includes(s)){U("邮箱已存在");return}i.value.push(s),b.value=""}}function L(s){i.value.splice(s,1)}async function S(){h.value=!0;try{const s={Factory:{factory:o.factory,factoryflag:o.factoryflag,description:o.description,contactmails:i.value.join(",")}};m.value&&(s.Factory.id=Number(o.id)),await y(m.value?"updatefactory":"addfactory",s),F("保存成功"),k()}catch(s){g(s?.message??"保存失败")}finally{h.value=!1}}function I(s){window.confirm(`确定删除工厂 "${s.factory}" 吗?`)&&y("delfactory",{id:s.id}).then(()=>{F("删除成功"),w()}).catch(e=>g(e?.message??"删除失败"))}return T(w),(s,e)=>(n(),a("div",null,[c(t("div",null,[t("div",J,[e[7]||(e[7]=t("h2",{class:"text-lg font-semibold text-slate-800"},"厂家列表",-1)),t("button",{class:"btn btn-primary btn-sm text-white",onClick:e[0]||(e[0]=l=>$())},"+ 新增工厂")]),t("div",O,[t("div",P,[t("table",Q,[e[10]||(e[10]=t("thead",null,[t("tr",null,[t("th",null,"ID"),t("th",null,"工厂名称"),t("th",null,"标识"),t("th",null,"联系邮箱"),t("th",null,"批次"),t("th",null,"产品"),t("th",null,"操作")])],-1)),t("tbody",null,[x.value?(n(),a("tr",R,[...e[8]||(e[8]=[t("td",{colspan:"7",class:"text-center py-8"},[t("span",{class:"loading loading-spinner loading-sm"})],-1)])])):f.value.length?M("",!0):(n(),a("tr",W,[...e[9]||(e[9]=[t("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])])),(n(!0),a(C,null,V(f.value,l=>(n(),a("tr",{key:l.id},[t("td",X,r(j(l.id)),1),t("td",Y,r(l.factory),1),t("td",null,[t("span",Z,r(l.factoryflag),1)]),t("td",tt,[_(l.contactmails).length?(n(!0),a(C,{key:0},V(_(l.contactmails),(u,D)=>(n(),a("span",{key:D,class:"badge badge-ghost badge-sm mr-1"},r(u),1))),128)):(n(),a("span",et,"-"))]),t("td",null,r(l.probatch||0),1),t("td",st,r(l.productlists||""),1),t("td",null,[t("div",lt,[t("button",{class:"btn btn-ghost btn-xs",onClick:u=>$(l)},"编辑",8,ot),t("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:u=>I(l)},"删除",8,at)])])]))),128))])])])])],512),[[E,p.value==="list"]]),c(t("div",null,[t("div",nt,[t("button",{class:"btn btn-ghost btn-sm",onClick:e[1]||(e[1]=l=>k())},"← 返回列表"),t("h2",it,r(m.value?"编辑工厂":"新增工厂"),1)]),t("div",rt,[t("form",{onSubmit:N(S,["prevent"])},[t("div",dt,[e[11]||(e[11]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"工厂名称 *")],-1)),c(t("input",{"onUpdate:modelValue":e[2]||(e[2]=l=>o.factory=l),type:"text",class:"input input-bordered w-full",required:""},null,512),[[v,o.factory]])]),t("div",ut,[e[12]||(e[12]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"工厂标识")],-1)),c(t("input",{"onUpdate:modelValue":e[3]||(e[3]=l=>o.factoryflag=l),type:"text",class:"input input-bordered w-full"},null,512),[[v,o.factoryflag]])]),t("div",ct,[e[13]||(e[13]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"描述")],-1)),c(t("textarea",{"onUpdate:modelValue":e[4]||(e[4]=l=>o.description=l),class:"textarea textarea-bordered w-full",rows:"3"},null,512),[[v,o.description]])]),t("div",mt,[e[15]||(e[15]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"联系邮箱")],-1)),t("div",bt,[i.value.length?M("",!0):(n(),a("p",pt,"暂无邮箱")),(n(!0),a(C,null,V(i.value,(l,u)=>(n(),a("div",{key:u,class:"flex items-center gap-2"},[t("span",ft,[e[14]||(e[14]=t("svg",{class:"h-3 w-3 text-slate-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})],-1)),q(" "+r(l),1)]),t("button",{type:"button",class:"btn btn-ghost btn-xs text-red-400 hover:text-red-600",onClick:D=>L(u)},"×",8,vt)]))),128))]),t("div",yt,[c(t("input",{"onUpdate:modelValue":e[5]||(e[5]=l=>b.value=l),type:"email",class:"input input-bordered input-sm flex-1",placeholder:"输入邮箱地址",onKeydown:z(N(B,["prevent"]),["enter"])},null,40,gt),[[v,b.value]]),t("button",{type:"button",class:"btn btn-outline btn-sm btn-primary",onClick:B},"添加")])]),t("div",xt,[t("button",{type:"button",class:"btn btn-ghost",onClick:e[6]||(e[6]=l=>k())},"取消"),t("button",{type:"submit",class:"btn btn-primary text-white",disabled:h.value},"保存",8,ht)])],32)])],512),[[E,p.value==="form"]])]))}});export{Ft as default}; diff --git a/apps/admin/.output/public/_nuxt/C2sLAWj2.js b/apps/admin/.output/public/_nuxt/C2sLAWj2.js deleted file mode 100644 index e524eb08..00000000 --- a/apps/admin/.output/public/_nuxt/C2sLAWj2.js +++ /dev/null @@ -1 +0,0 @@ -import{g as ot,j as at,o as n,c as o,k as r,v as A,a as s,l as D,F as y,r as k,t as p,n as it,m as w,p as H,d as m,q as M,s as b,x as B,_ as dt}from"./CTAruH_8.js";import{u as ut}from"./9B2ftqmN.js";import{u as rt}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const pt={class:"flex items-center justify-between mb-4"},ct={class:"bg-white rounded-xl shadow-sm border border-slate-100 overflow-hidden"},mt={class:"table table-sm"},bt={key:0},xt={key:1},vt={class:"font-mono"},ft={class:"font-medium"},yt={key:0,class:"text-green-600 text-xs"},gt={key:1,class:"text-slate-400 text-xs"},kt={key:0,class:"text-xs text-slate-500"},wt={key:1,class:"text-xs text-slate-300"},_t={key:1,class:"text-xs text-slate-300"},ht={key:2,class:"text-[11px] text-emerald-600 mt-0.5"},Ct={class:"text-xs text-slate-500"},Vt={class:"flex gap-1 justify-end"},Ut=["onClick"],It=["onClick"],St=["onClick"],Et=["onClick"],$t={class:"flex items-center gap-3 mb-5"},Nt={class:"text-lg font-semibold text-slate-800"},jt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},At={class:"grid grid-cols-2 gap-3"},Mt=["disabled"],Pt={class:"col-span-2"},Tt={class:"mt-4 border-t border-slate-100 pt-4"},Lt={class:"mb-3"},Ot={class:"flex flex-wrap gap-2"},Dt=["value"],Bt={class:"mb-3"},Gt={class:"flex flex-wrap gap-2"},Rt=["value"],Ft={key:1,class:"text-xs text-slate-300"},qt={class:"mb-3"},zt={class:"flex flex-wrap gap-2"},Ht=["value"],Jt={class:"max-h-56 overflow-y-auto pr-1 border border-slate-100 rounded-lg p-2"},Kt={key:0,class:"text-xs text-slate-300"},Qt={key:1,class:"text-xs text-slate-300"},Wt={class:"text-[11px] font-semibold text-slate-500 mb-1 sticky top-0 bg-white py-0.5"},Xt={class:"flex flex-wrap gap-2"},Yt=["value"],Zt={class:"flex gap-3 justify-end mt-6"},ts=["disabled"],ss={class:"modal-box max-w-md"},es={class:"text-xs text-slate-400 mb-3"},ls={class:"font-medium text-slate-600"},ns={class:"text-emerald-600"},os={class:"grid grid-cols-3 gap-3"},as={class:"modal-action"},is=ot({__name:"accounts",setup(ds){const{webApi:G,consoleApi:v}=ut(),{success:h,error:g,warn:J}=rt(),K={1:"超管",2:"管理员",3:"代理",4:"运营"},Q={1:"badge-error",2:"badge-primary",3:"badge-warning",4:"badge-info"},W=[["dashboard","仪表盘"],["factory","厂家管理"],["product","产品管理"],["device","生产管理"],["code","公码管理"],["user","用户查询"],["apps","应用注册"]],X=[["cn","中国"],["us","美国"],["ea","东亚"],["sea","东南亚"],["sa","南亚"],["me","中东"],["eu","欧洲"],["ru","俄罗斯"],["af","非洲"],["sam","南美"],["nam","北美"],["oc","大洋洲"],["br","巴西"],["in","印度"]],C=b("list"),V=b([]),U=b([]),P=b(!1),I=b(!1),f=b(0),a=B({username:"",password:"",identity:2,enabled:"1",remark:""}),d=B({access:[],apps:[],regions:[],products:[]}),_=b([]),T=b(!1);function x(l){return(l||"").split(",").map(t=>t.trim()).filter(t=>t)}function S(l){return l.join(",")}function R(l){const t=[];return l.apps&&t.push("应用:"+x(l.apps).length),l.regions&&t.push("区域:"+x(l.regions).length),l.products&&t.push("产品:"+x(l.products).length),l.access&&t.push("页面:"+x(l.access).length),t}async function E(){P.value=!0;try{try{U.value=await v("apps/list",{})??[]}catch{U.value=[]}const l=await v("accounts/list",{});V.value=l??[]}catch(l){g(l?.message??"获取账号列表失败"),V.value=[]}finally{P.value=!1}}async function Y(){T.value=!0,_.value=[];try{const[l,t]=await Promise.all([G("getfactorys",{}),G("getproducts",{})]),e=l?.factorys??[],i=t?.products??[],$={};e.forEach(c=>{$[c.id]=c.factory||"厂家#"+c.id});const N={};i.forEach(c=>{const j=String(c.factoryid||0);(N[j]=N[j]||[]).push(c)});const nt=Object.keys(N).sort((c,j)=>(parseInt(c)||0)-(parseInt(j)||0));_.value=nt.map(c=>({fid:c,label:$[c]||(parseInt(c)?"厂家#"+c:"未分组"),products:N[c]??[]}))}catch{_.value=[]}finally{T.value=!1}}function F(l){f.value=l?l.id:0,a.username=l&&l.username||"",a.password="",a.identity=l?l.identity:2,a.enabled=l&&!l.enabled?"0":"1",a.remark=l&&l.remark||"",d.access=x(l?.access),d.apps=x(l?.apps),d.regions=x(l?.regions),d.products=x(l?.products),Y(),C.value="form"}function L(){C.value="list",E()}async function Z(){const l=a.identity,t={identity:l,enabled:a.enabled==="1",remark:a.remark.trim(),access:"",apps:"",regions:"",products:""};(l===3||l===4)&&(t.access=S(d.access),t.apps=S(d.apps),t.regions=S(d.regions),t.products=S(d.products)),I.value=!0;try{if(f.value)t.id=f.value,await v("accounts/update",t);else{if(t.username=a.username.trim(),t.password=a.password,!t.username||!t.password){g("用户名和密码必填"),I.value=!1;return}await v("accounts/add",t)}h("已保存"),L()}catch(e){g(e?.message??"保存失败")}finally{I.value=!1}}async function tt(l,t){const e=window.prompt("为账号【"+t+"】设置新密码:");if(e)try{await v("accounts/resetpwd",{id:l,password:e}),h("密码已重置")}catch(i){g(i?.message??"失败")}}function st(l,t){window.confirm("确认删除账号【"+t+"】?该操作不可恢复。")&&v("accounts/del",{id:l}).then(()=>{h("已删除"),E()}).catch(e=>g(e?.message??"失败"))}const O=b(null),q=b(0),u=B({name:"",cur:"",vipday:0,trademin:0,meetmin:0});function et(l){q.value=l.id,u.name=l.username||"#"+l.id,u.cur="VIP"+(l.balance_vipday||0)+"天 · 翻译"+(l.balance_trademin||0)+"分 · 会议"+(l.balance_meetmin||0)+"分",u.vipday=0,u.trademin=0,u.meetmin=0,O.value?.showModal()}function z(){O.value?.close()}async function lt(){const l=Number(u.vipday)||0,t=Number(u.trademin)||0,e=Number(u.meetmin)||0;if(!l&&!t&&!e){J("请至少填写一项");return}try{await v("accounts/topup",{account_id:q.value,vipday:l,trademin:t,meetmin:e}),h("余额已更新"),z(),E()}catch(i){g(i?.message??"操作失败")}}return at(E),(l,t)=>(n(),o("div",null,[r(s("div",null,[s("div",pt,[t[18]||(t[18]=s("div",null,[s("h2",{class:"text-lg font-bold text-slate-700"},"后台账号"),s("p",{class:"text-xs text-slate-400 mt-0.5"},"超管 / 管理员 / 代理 / 运营。代理·运营可绑定应用·区域·产品,登录后仪表盘按绑定限制。")],-1)),s("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=e=>F())},"+ 新建账号")]),s("div",ct,[s("table",mt,[t[21]||(t[21]=s("thead",null,[s("tr",{class:"text-slate-500"},[s("th",null,"ID"),s("th",null,"用户名"),s("th",null,"角色"),s("th",null,"状态"),s("th",null,"绑定作用域"),s("th",null,"备注"),s("th",{class:"text-right"},"操作")])],-1)),s("tbody",null,[P.value?(n(),o("tr",bt,[...t[19]||(t[19]=[s("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"加载中...",-1)])])):V.value.length?D("",!0):(n(),o("tr",xt,[...t[20]||(t[20]=[s("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无账号(引导超管不在此列)",-1)])])),(n(!0),o(y,null,k(V.value,e=>(n(),o("tr",{key:e.id},[s("td",vt,p(e.id),1),s("td",ft,p(e.username||""),1),s("td",null,[s("span",{class:it(["badge badge-sm",Q[e.identity]||""])},p(K[e.identity]||e.identity),3)]),s("td",null,[e.enabled?(n(),o("span",yt,"启用")):(n(),o("span",gt,"停用"))]),s("td",null,[e.identity===3||e.identity===4?(n(),o(y,{key:0},[R(e).length?(n(),o("span",kt,p(R(e).join(" · ")),1)):(n(),o("span",wt,"未绑定(不限)"))],64)):(n(),o("span",_t,"全部权限")),e.identity===3?(n(),o("div",ht," 余额 VIP"+p(e.balance_vipday||0)+"天 · 翻译"+p(e.balance_trademin||0)+"分 · 会议"+p(e.balance_meetmin||0)+"分 ",1)):D("",!0)]),s("td",Ct,p(e.remark||""),1),s("td",null,[s("div",Vt,[e.identity===3?(n(),o("button",{key:0,class:"btn btn-ghost btn-xs text-emerald-600",onClick:i=>et(e)},"充值",8,Ut)):D("",!0),s("button",{class:"btn btn-ghost btn-xs",onClick:i=>F(e)},"编辑",8,It),s("button",{class:"btn btn-ghost btn-xs text-amber-600",onClick:i=>tt(e.id,e.username)},"改密",8,St),s("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:i=>st(e.id,e.username)},"删除",8,Et)])])]))),128))])])])],512),[[A,C.value==="list"]]),r(s("div",null,[s("div",$t,[s("button",{class:"btn btn-ghost btn-sm",onClick:t[1]||(t[1]=e=>L())},"← 返回列表"),s("h2",Nt,p(f.value?"编辑账号 #"+f.value:"新建账号"),1)]),s("div",jt,[s("div",At,[s("div",null,[t[22]||(t[22]=s("label",{class:"text-xs text-slate-500"},"用户名",-1)),r(s("input",{"onUpdate:modelValue":t[2]||(t[2]=e=>a.username=e),disabled:!!f.value,class:"input input-bordered input-sm w-full",placeholder:"登录用户名"},null,8,Mt),[[w,a.username]])]),r(s("div",null,[t[23]||(t[23]=s("label",{class:"text-xs text-slate-500"},"密码",-1)),r(s("input",{"onUpdate:modelValue":t[3]||(t[3]=e=>a.password=e),type:"password",class:"input input-bordered input-sm w-full",placeholder:"登录密码"},null,512),[[w,a.password]])],512),[[A,!f.value]]),s("div",null,[t[25]||(t[25]=s("label",{class:"text-xs text-slate-500"},"角色",-1)),r(s("select",{"onUpdate:modelValue":t[4]||(t[4]=e=>a.identity=e),class:"select select-bordered select-sm w-full"},[...t[24]||(t[24]=[s("option",{value:2},"管理员(除账号管理外全部)",-1),s("option",{value:3},"代理(外部,按绑定限制)",-1),s("option",{value:4},"运营(内部,按绑定限制)",-1),s("option",{value:1},"超管(全部权限)",-1)])],512),[[H,a.identity,void 0,{number:!0}]])]),s("div",null,[t[27]||(t[27]=s("label",{class:"text-xs text-slate-500"},"状态",-1)),r(s("select",{"onUpdate:modelValue":t[5]||(t[5]=e=>a.enabled=e),class:"select select-bordered select-sm w-full"},[...t[26]||(t[26]=[s("option",{value:"1"},"启用",-1),s("option",{value:"0"},"停用",-1)])],512),[[H,a.enabled]])]),s("div",Pt,[t[28]||(t[28]=s("label",{class:"text-xs text-slate-500"},"备注",-1)),r(s("input",{"onUpdate:modelValue":t[6]||(t[6]=e=>a.remark=e),class:"input input-bordered input-sm w-full",placeholder:"可选"},null,512),[[w,a.remark]])])]),r(s("div",Tt,[t[33]||(t[33]=s("div",{class:"text-sm font-semibold text-slate-600 mb-2"},[m("作用域绑定 "),s("span",{class:"text-xs text-slate-400 font-normal"},"(代理/运营生效;勾选可访问页面,并限制仪表盘数据范围)")],-1)),s("div",Lt,[t[29]||(t[29]=s("div",{class:"text-xs text-slate-500 mb-1.5"},"可访问页面",-1)),s("div",Ot,[(n(),o(y,null,k(W,e=>s("label",{key:e[0],class:"chk"},[r(s("input",{"onUpdate:modelValue":t[7]||(t[7]=i=>d.access=i),type:"checkbox",value:e[0]},null,8,Dt),[[M,d.access]]),m(p(e[1]),1)])),64))])]),s("div",Bt,[t[30]||(t[30]=s("div",{class:"text-xs text-slate-500 mb-1.5"},[m("绑定应用 "),s("span",{class:"text-slate-300"},"(仪表盘只显示这些应用数据;不勾=不限)")],-1)),s("div",Gt,[U.value.length?(n(!0),o(y,{key:0},k(U.value,e=>(n(),o("label",{key:e.id,class:"chk"},[r(s("input",{"onUpdate:modelValue":t[8]||(t[8]=i=>d.apps=i),type:"checkbox",value:e.name},null,8,Rt),[[M,d.apps]]),m(p(e.name||"应用#"+e.id),1)]))),128)):(n(),o("span",Ft,"无注册应用"))])]),s("div",qt,[t[31]||(t[31]=s("div",{class:"text-xs text-slate-500 mb-1.5"},[m("绑定区域 "),s("span",{class:"text-slate-300"},"(不勾=不限)")],-1)),s("div",zt,[(n(),o(y,null,k(X,e=>s("label",{key:e[0],class:"chk"},[r(s("input",{"onUpdate:modelValue":t[9]||(t[9]=i=>d.regions=i),type:"checkbox",value:e[0]},null,8,Ht),[[M,d.regions]]),m(p(e[1]),1)])),64))])]),s("div",null,[t[32]||(t[32]=s("div",{class:"text-xs text-slate-500 mb-1.5"},[m("绑定产品 "),s("span",{class:"text-slate-300"},"(按厂家分组;仪表盘只显示这些产品数据;不勾=不限)")],-1)),s("div",Jt,[T.value?(n(),o("span",Kt,"加载产品中...")):_.value.length?(n(!0),o(y,{key:2},k(_.value,e=>(n(),o("div",{key:e.fid,class:"mb-2 last:mb-0"},[s("div",Wt,"🏭 "+p(e.label),1),s("div",Xt,[(n(!0),o(y,null,k(e.products,i=>(n(),o("label",{key:i.id,class:"chk"},[r(s("input",{"onUpdate:modelValue":t[10]||(t[10]=$=>d.products=$),type:"checkbox",value:String(i.id)},null,8,Yt),[[M,d.products]]),m(p((i.devicename||"产品")+" #"+i.id),1)]))),128))])]))),128)):(n(),o("span",Qt,"无产品"))])])],512),[[A,a.identity===3||a.identity===4]]),s("div",Zt,[s("button",{class:"btn btn-ghost btn-sm",onClick:t[11]||(t[11]=e=>L())},"取消"),s("button",{class:"btn btn-primary btn-sm text-white",disabled:I.value,onClick:t[12]||(t[12]=e=>Z())},"保存",8,ts)])])],512),[[A,C.value==="form"]]),s("dialog",{ref_key:"topupModal",ref:O,class:"modal"},[s("div",ss,[t[39]||(t[39]=s("h3",{class:"font-bold text-lg mb-1"},"充值 / 调整资源点",-1)),s("p",es,[t[34]||(t[34]=m("代理:",-1)),s("span",ls,p(u.name),1),t[35]||(t[35]=m("。填增量(可填负数下调),当前余额:",-1)),s("span",ns,p(u.cur),1)]),s("div",os,[s("div",null,[t[36]||(t[36]=s("label",{class:"text-xs text-slate-500"},"VIP天数",-1)),r(s("input",{"onUpdate:modelValue":t[13]||(t[13]=e=>u.vipday=e),type:"number",class:"input input-bordered input-sm w-full"},null,512),[[w,u.vipday,void 0,{number:!0}]])]),s("div",null,[t[37]||(t[37]=s("label",{class:"text-xs text-slate-500"},"翻译分钟",-1)),r(s("input",{"onUpdate:modelValue":t[14]||(t[14]=e=>u.trademin=e),type:"number",class:"input input-bordered input-sm w-full"},null,512),[[w,u.trademin,void 0,{number:!0}]])]),s("div",null,[t[38]||(t[38]=s("label",{class:"text-xs text-slate-500"},"会议分钟",-1)),r(s("input",{"onUpdate:modelValue":t[15]||(t[15]=e=>u.meetmin=e),type:"number",class:"input input-bordered input-sm w-full"},null,512),[[w,u.meetmin,void 0,{number:!0}]])])]),s("div",as,[s("button",{class:"btn btn-ghost btn-sm",onClick:t[16]||(t[16]=e=>z())},"取消"),s("button",{class:"btn btn-primary btn-sm text-white",onClick:t[17]||(t[17]=e=>lt())},"确认")])]),t[40]||(t[40]=s("form",{method:"dialog",class:"modal-backdrop"},[s("button",null,"close")],-1))],512)]))}}),bs=dt(is,[["__scopeId","data-v-eb25cf37"]]);export{bs as default}; diff --git a/apps/admin/.output/public/_nuxt/C4pFFOT7.js b/apps/admin/.output/public/_nuxt/C4pFFOT7.js new file mode 100644 index 00000000..306e6c45 --- /dev/null +++ b/apps/admin/.output/public/_nuxt/C4pFFOT7.js @@ -0,0 +1 @@ +import{g as j,j as B,c as n,k as i,v as $,a as e,F as b,r as y,p as A,m as v,l as F,t as r,D as I,s as d,x as O,A as D,o as u}from"./CfpW9SkI.js";import{u as T}from"./DSu8q42f.js";import{u as q}from"./CMwGY1Mu.js";import"./DL330dAC.js";const G={class:"flex items-center justify-between mb-5"},z={class:"flex items-center gap-3 mb-4"},H=["value"],J={class:"bg-white rounded-xl shadow-sm border border-slate-100"},K={class:"overflow-x-auto"},P={class:"table"},Q={key:0},W={key:1},X={class:"bg-slate-100/80"},Y={colspan:"4",class:"py-2"},Z={class:"font-semibold text-slate-600 text-sm"},ee={class:"text-xs text-slate-400 ml-2"},te={class:"font-mono text-sm font-medium"},le=["title"],se={class:"text-sm text-slate-400"},oe={class:"text-right"},ae={class:"inline-flex gap-1"},ne=["onClick"],ie=["onClick"],ue={class:"flex items-center gap-3 mb-5"},re={class:"text-lg font-semibold text-slate-800"},de={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},me={class:"grid grid-cols-2 gap-4"},be={class:"form-control mb-4"},ve=["value"],pe={class:"form-control mb-4"},ce={class:"form-control mb-4"},fe={class:"form-control mb-4"},ge={class:"form-control mb-6"},xe={class:"flex gap-3"},ye=["disabled"],Ve=j({__name:"globalconfig",setup(we){const V=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}],{webApi:p}=T(),{success:U,error:w}=q(),c=d("list"),f=d([]),k=d(!1),_=d(!1),g=d(!1),m=d(1),h=d(""),s=O({id:0,region:1,group:"",key:"",value:"",description:""}),N=D(()=>{const o=h.value.trim().toLowerCase();return o?f.value.filter(t=>((t.group||"")+(t.key||"")).toLowerCase().includes(o)):f.value}),E=D(()=>{const o={};return N.value.forEach(l=>{const a=l.group||"";(o[a]=o[a]||[]).push(l)}),Object.keys(o).sort((l,a)=>l===""?-1:a===""?1:l({key:l,label:l||"未分组",items:o[l]}))});async function x(){k.value=!0;try{const o=await p("getglobalconfigs",{region:m.value});f.value=o?.items??[]}catch(o){w(o?.message??"获取配置失败"),f.value=[]}finally{k.value=!1}}function C(){c.value="list",x()}function S(o){o?(g.value=!0,s.id=o.id||0,s.region=o.region||1,s.group=o.group||"",s.key=o.key||"",s.value=o.value||"",s.description=o.description||""):(g.value=!1,s.id=0,s.region=m.value>0?m.value:1,s.group="",s.key="",s.value="",s.description=""),c.value="form"}async function L(){_.value=!0;try{const o={region:Number(s.region)||0,group:s.group.trim(),key:s.key.trim(),value:s.value,description:s.description.trim()};g.value?(o.id=Number(s.id),await p("updateglobalconfig",o)):await p("addglobalconfig",o),U("保存成功"),C()}catch(o){w(o?.message??"保存失败")}finally{_.value=!1}}function M(o){window.confirm("确定删除该配置项吗?")&&p("delglobalconfig",{ids:[o.id]}).then(()=>{U("删除成功"),x()}).catch(t=>w(t?.message??"删除失败"))}return B(x),(o,t)=>(u(),n("div",null,[i(e("div",null,[e("div",G,[t[10]||(t[10]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"全局环境配置"),e("p",{class:"text-xs text-slate-400 mt-1"},"全局第三方服务配置(AI / 翻译等),按区域分组,所有应用共享。修改后各服务约 10 分钟内自动同步。")],-1)),e("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=l=>S())},"+ 新增配置")]),e("div",z,[t[11]||(t[11]=e("span",{class:"text-sm text-slate-500"},"区域",-1)),i(e("select",{"onUpdate:modelValue":t[1]||(t[1]=l=>m.value=l),class:"select select-bordered select-sm",onChange:x},[(u(),n(b,null,y(V,l=>e("option",{key:l.value,value:l.value},r(l.label),9,H)),64))],544),[[A,m.value,void 0,{number:!0}]]),i(e("input",{"onUpdate:modelValue":t[2]||(t[2]=l=>h.value=l),class:"input input-bordered input-sm w-48",placeholder:"按分组/键搜索"},null,512),[[v,h.value]])]),e("div",J,[e("div",K,[e("table",P,[t[14]||(t[14]=e("thead",null,[e("tr",null,[e("th",null,"键"),e("th",null,"值"),e("th",null,"描述"),e("th",{class:"text-right"},"操作")])],-1)),e("tbody",null,[k.value?(u(),n("tr",Q,[...t[12]||(t[12]=[e("td",{colspan:"4",class:"text-center py-8"},[e("span",{class:"loading loading-spinner loading-sm"})],-1)])])):N.value.length?F("",!0):(u(),n("tr",W,[...t[13]||(t[13]=[e("td",{colspan:"4",class:"text-center text-slate-400 py-8"},"暂无配置",-1)])])),(u(!0),n(b,null,y(E.value,l=>(u(),n(b,{key:l.key},[e("tr",X,[e("td",Y,[e("span",Z,"▸ "+r(l.label),1),e("span",ee,r(l.items.length)+" 项",1)])]),(u(!0),n(b,null,y(l.items,a=>(u(),n("tr",{key:a.id,class:"hover"},[e("td",te,r(a.key||""),1),e("td",{class:"text-sm text-slate-500 max-w-xs truncate",title:a.value||""},r(a.value||""),9,le),e("td",se,r(a.description||""),1),e("td",oe,[e("div",ae,[e("button",{class:"btn btn-ghost btn-xs",onClick:R=>S(a)},"编辑",8,ne),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:R=>M(a)},"删除",8,ie)])])]))),128))],64))),128))])])])])],512),[[$,c.value==="list"]]),i(e("div",null,[e("div",ue,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[3]||(t[3]=l=>C())},"← 返回列表"),e("h2",re,r(g.value?"编辑配置":"新增配置"),1)]),e("div",de,[e("form",{onSubmit:I(L,["prevent"])},[e("div",me,[e("div",be,[t[15]||(t[15]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"区域 *")],-1)),i(e("select",{"onUpdate:modelValue":t[4]||(t[4]=l=>s.region=l),class:"select select-bordered w-full"},[(u(),n(b,null,y(V,l=>e("option",{key:l.value,value:l.value},r(l.label),9,ve)),64))],512),[[A,s.region,void 0,{number:!0}]])]),e("div",pe,[t[16]||(t[16]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"分组 (group)")],-1)),i(e("input",{"onUpdate:modelValue":t[5]||(t[5]=l=>s.group=l),type:"text",class:"input input-bordered w-full",placeholder:"如 ai / translate / asr"},null,512),[[v,s.group]])])]),e("div",ce,[t[17]||(t[17]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"键 (key) *")],-1)),i(e("input",{"onUpdate:modelValue":t[6]||(t[6]=l=>s.key=l),type:"text",class:"input input-bordered w-full",required:"",placeholder:"如 openai_api_key"},null,512),[[v,s.key]])]),e("div",fe,[t[18]||(t[18]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"值 (value)")],-1)),i(e("textarea",{"onUpdate:modelValue":t[7]||(t[7]=l=>s.value=l),class:"textarea textarea-bordered w-full font-mono text-sm",rows:"3"},null,512),[[v,s.value]])]),e("div",ge,[t[19]||(t[19]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"描述")],-1)),i(e("input",{"onUpdate:modelValue":t[8]||(t[8]=l=>s.description=l),type:"text",class:"input input-bordered w-full"},null,512),[[v,s.description]])]),e("div",xe,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[9]||(t[9]=l=>C())},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:_.value},"保存",8,ye)])],32)])],512),[[$,c.value==="form"]])]))}});export{Ve as default}; diff --git a/apps/admin/.output/public/_nuxt/CEy0BeiT.js b/apps/admin/.output/public/_nuxt/CEy0BeiT.js new file mode 100644 index 00000000..ef7a5f20 --- /dev/null +++ b/apps/admin/.output/public/_nuxt/CEy0BeiT.js @@ -0,0 +1 @@ +import{g as P,j as R,c as r,k as n,v as V,a as t,l as B,F as H,r as I,t as i,D as L,m as a,q as O,s as b,x as E,A as q,o as u,n as D,d as z}from"./CfpW9SkI.js";import{u as G}from"./DSu8q42f.js";import{u as K}from"./CMwGY1Mu.js";import"./DL330dAC.js";const Y={class:"flex items-center justify-between mb-5"},J={class:"bg-white rounded-xl shadow-sm border border-slate-100"},Q={class:"overflow-x-auto"},W={class:"table table-zebra text-sm"},X={key:0},Z={key:1},tt={class:"font-mono"},st={class:"font-medium"},et={class:"font-mono text-xs text-slate-500"},lt={class:"text-xs text-slate-500"},ot={key:0,class:"text-green-600"},nt={key:1,class:"text-slate-400"},at={class:"flex gap-1"},dt=["onClick"],it=["onClick"],rt={class:"flex items-center gap-3 mb-5"},ut={class:"text-lg font-semibold text-slate-800"},pt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},mt={class:"grid grid-cols-2 gap-4"},bt={class:"form-control"},ft={class:"form-control"},ct={class:"grid grid-cols-3 gap-4"},xt={class:"form-control col-span-2"},vt={class:"form-control"},gt={class:"form-control mt-4"},yt={class:"form-control mt-4"},_t={class:"grid grid-cols-2 gap-4"},kt={class:"form-control"},wt={class:"form-control"},ht={class:"form-control"},St={class:"form-control"},Vt={class:"grid grid-cols-2 gap-4"},Ut={class:"form-control"},Ct={class:"form-control"},Ht={class:"grid grid-cols-2 gap-4 mt-4"},It={class:"form-control"},Et={class:"form-control"},Dt={class:"form-control mt-4"},Tt={class:"flex items-center gap-2 mt-4"},Nt={class:"flex items-center gap-2 cursor-pointer"},$t={class:"mt-4 text-sm space-y-0.5"},jt={class:"flex gap-3 mt-6"},At=["disabled"],Ft=["disabled"],Ot=P({__name:"environments",setup(Mt){const{consoleApi:c}=G(),{success:_,error:m}=K(),x=b("list"),v=b([]),k=b(!1),g=b(!1),f=b(!1),y=b(!1),d=E({show:!1,ok:!1,ssh_ok:!1,ssh_msg:"",etcd_ok:!1,etcd_msg:"",redis_ok:!1,redis_msg:"",nats_ok:!1,nats_msg:""}),T=q(()=>[{key:"ssh",label:"SSH 部署机",ok:d.ssh_ok,msg:d.ssh_msg},{key:"etcd",label:"ETCD",ok:d.etcd_ok,msg:d.etcd_msg},{key:"redis",label:"Redis",ok:d.redis_ok,msg:d.redis_msg},{key:"nats",label:"NATS",ok:d.nats_ok,msg:d.nats_msg}]);function w(){return{id:0,name:"",code:"",remark:"",enabled:!0,ssh_host:"",ssh_port:22,ssh_user:"root",ssh_private_key:"",registry:"",registry_user:"",registry_pass:"",docker_network:"1panel-network",etcd_servers:"",redis_addr:"",redis_pwd:"",nats_url:""}}const l=E(w());function U(o){Object.assign(l,w(),o)}function N(o){return o.ssh_host?`${o.ssh_user||"root"}@${o.ssh_host}:${o.ssh_port||22}`:"-"}function $(o){return o.registry||"-"}async function h(){k.value=!0;try{const o=await c("envs/list",{});v.value=o??[]}catch(o){m(o?.message??"获取环境列表失败"),v.value=[]}finally{k.value=!1}}function p(){f.value=!1,d.show=!1}function S(){x.value="list",h()}function C(o){o?(g.value=!0,U(o)):(g.value=!1,U(w())),p(),x.value="form"}async function j(){if(!l.ssh_host.trim()){m("请先填 SSH 主机");return}y.value=!0;try{const o=await c("envs/test",{...l});Object.assign(d,o,{show:!0}),f.value=!!o.ok,f.value?_("SSH 握手成功,可以保存"):m("SSH 未通过,请检查主机/私钥/用户")}catch(o){m(o?.message??"测试失败")}finally{y.value=!1}}async function A(){if(!f.value){m("请先「测试连接」通过再保存");return}const o={...l};let s="envs/add";g.value&&l.id?(o.id=Number(l.id),s="envs/update"):delete o.id;try{await c(s,o),_("保存成功"),S()}catch(e){m(e?.message??"失败")}}function F(o){window.confirm(`删除环境 #${o} ?(该环境下若有应用关联将被拒绝)`)&&c("envs/del",{id:o}).then(()=>{_("已删除"),h()}).catch(s=>m(s?.message??"失败"))}return R(h),(o,s)=>(u(),r("div",null,[n(t("div",null,[t("div",Y,[s[19]||(s[19]=t("div",null,[t("h2",{class:"text-lg font-semibold text-slate-800"},"环境节点(部署服务器)"),t("p",{class:"text-sm text-slate-400 mt-1"},"部署服务器节点(如 上海 / 日本 / 新加坡):远端 IP、SSH 登录账号与私钥、私有镜像仓库、区域共享基础设施。应用管理里「部署到目标环境」从这里选择、两边对应;下一期即可从页面直接更新服务/部署应用。密钥加密存储,不回显明文。")],-1)),t("button",{class:"btn btn-primary btn-sm text-white",onClick:s[0]||(s[0]=e=>C())},"+ 新增节点")]),t("div",J,[t("div",Q,[t("table",W,[s[22]||(s[22]=t("thead",null,[t("tr",null,[t("th",null,"ID"),t("th",null,"名称"),t("th",null,"区域码"),t("th",null,"SSH 目标"),t("th",null,"镜像仓库"),t("th",null,"启用"),t("th",null,"操作")])],-1)),t("tbody",null,[k.value?(u(),r("tr",X,[...s[20]||(s[20]=[t("td",{colspan:"7",class:"text-center py-8"},[t("span",{class:"loading loading-spinner loading-sm"})],-1)])])):v.value.length?B("",!0):(u(),r("tr",Z,[...s[21]||(s[21]=[t("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无环境",-1)])])),(u(!0),r(H,null,I(v.value,e=>(u(),r("tr",{key:e.id},[t("td",tt,i(e.id),1),t("td",st,i(e.name||""),1),t("td",null,i(e.code||""),1),t("td",et,i(N(e)),1),t("td",lt,i($(e)),1),t("td",null,[e.enabled?(u(),r("span",ot,"是")):(u(),r("span",nt,"否"))]),t("td",null,[t("div",at,[t("button",{class:"btn btn-ghost btn-xs",onClick:M=>C(e)},"编辑",8,dt),t("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:M=>F(e.id)},"删除",8,it)])])]))),128))])])])])],512),[[V,x.value==="list"]]),n(t("div",null,[t("div",rt,[t("button",{class:"btn btn-ghost btn-sm",onClick:s[1]||(s[1]=e=>S())},"← 返回"),t("h2",ut,i(g.value?"编辑节点":"新增节点"),1)]),t("div",pt,[t("form",{onSubmit:L(A,["prevent"])},[t("div",mt,[t("div",bt,[s[23]||(s[23]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"名称 *")],-1)),n(t("input",{"onUpdate:modelValue":s[2]||(s[2]=e=>l.name=e),type:"text",class:"input input-bordered w-full",required:"",placeholder:"如 上海生产"},null,512),[[a,l.name]])]),t("div",ft,[s[24]||(s[24]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"区域码")],-1)),n(t("input",{"onUpdate:modelValue":s[3]||(s[3]=e=>l.code=e),type:"text",class:"input input-bordered w-full",list:"env-code-list",placeholder:"shanghai / japan / singapore"},null,512),[[a,l.code]]),s[25]||(s[25]=t("datalist",{id:"env-code-list"},[t("option",{value:"shanghai"}),t("option",{value:"japan"}),t("option",{value:"singapore"})],-1))])]),s[41]||(s[41]=t("div",{class:"divider text-xs text-slate-400 mt-6"},"SSH 部署目标",-1)),t("div",ct,[t("div",xt,[s[26]||(s[26]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"SSH 主机")],-1)),n(t("input",{"onUpdate:modelValue":s[4]||(s[4]=e=>l.ssh_host=e),type:"text",class:"input input-bordered w-full",placeholder:"139.224.212.237",onInput:p},null,544),[[a,l.ssh_host]])]),t("div",vt,[s[27]||(s[27]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"端口")],-1)),n(t("input",{"onUpdate:modelValue":s[5]||(s[5]=e=>l.ssh_port=e),type:"number",class:"input input-bordered w-full",placeholder:"22",onInput:p},null,544),[[a,l.ssh_port,void 0,{number:!0}]])])]),t("div",gt,[s[28]||(s[28]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"SSH 用户")],-1)),n(t("input",{"onUpdate:modelValue":s[6]||(s[6]=e=>l.ssh_user=e),type:"text",class:"input input-bordered w-full",placeholder:"root",onInput:p},null,544),[[a,l.ssh_user]])]),t("div",yt,[s[29]||(s[29]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"SSH 私钥 (PEM)")],-1)),n(t("textarea",{"onUpdate:modelValue":s[7]||(s[7]=e=>l.ssh_private_key=e),class:"textarea textarea-bordered w-full font-mono text-xs h-28",placeholder:"-----BEGIN OPENSSH PRIVATE KEY-----",onInput:p},null,544),[[a,l.ssh_private_key]]),s[30]||(s[30]=t("span",{class:"text-xs text-slate-400 mt-1"},"加密存储;编辑时显示 [encrypted] 表示不改,如需更换直接粘贴新私钥。",-1))]),s[42]||(s[42]=t("div",{class:"divider text-xs text-slate-400 mt-6"},"私有镜像仓库 + Docker 网络",-1)),t("div",_t,[t("div",kt,[s[31]||(s[31]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"仓库地址")],-1)),n(t("input",{"onUpdate:modelValue":s[8]||(s[8]=e=>l.registry=e),type:"text",class:"input input-bordered w-full",placeholder:"docker-registry.ideapsound.com"},null,512),[[a,l.registry]])]),t("div",wt,[s[32]||(s[32]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"Docker 网络")],-1)),n(t("input",{"onUpdate:modelValue":s[9]||(s[9]=e=>l.docker_network=e),type:"text",class:"input input-bordered w-full",placeholder:"1panel-network"},null,512),[[a,l.docker_network]])]),t("div",ht,[s[33]||(s[33]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"仓库账号")],-1)),n(t("input",{"onUpdate:modelValue":s[10]||(s[10]=e=>l.registry_user=e),type:"text",class:"input input-bordered w-full",autocomplete:"off"},null,512),[[a,l.registry_user]])]),t("div",St,[s[34]||(s[34]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"仓库密码")],-1)),n(t("input",{"onUpdate:modelValue":s[11]||(s[11]=e=>l.registry_pass=e),type:"password",class:"input input-bordered w-full",autocomplete:"new-password",placeholder:"[encrypted]"},null,512),[[a,l.registry_pass]])])]),s[43]||(s[43]=t("div",{class:"divider text-xs text-slate-400 mt-6"},"节点共享集群服务",-1)),s[44]||(s[44]=t("p",{class:"text-xs text-slate-400 -mt-2 mb-2"},"该服务器上各应用共用的地址。各应用自己的部署目录、业务库 DSN、镜像、redis 库号等,在「应用管理 → 部署到目标环境」里按应用填。",-1)),t("div",Vt,[t("div",Ut,[s[35]||(s[35]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"ETCD")],-1)),n(t("input",{"onUpdate:modelValue":s[12]||(s[12]=e=>l.etcd_servers=e),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"etcd:2379",onInput:p},null,544),[[a,l.etcd_servers]])]),t("div",Ct,[s[36]||(s[36]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"NATS")],-1)),n(t("input",{"onUpdate:modelValue":s[13]||(s[13]=e=>l.nats_url=e),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"nats://nats:4222",onInput:p},null,544),[[a,l.nats_url]])])]),t("div",Ht,[t("div",It,[s[37]||(s[37]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"Redis 地址")],-1)),n(t("input",{"onUpdate:modelValue":s[14]||(s[14]=e=>l.redis_addr=e),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"redis:6379",onInput:p},null,544),[[a,l.redis_addr]])]),t("div",Et,[s[38]||(s[38]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"Redis 密码")],-1)),n(t("input",{"onUpdate:modelValue":s[15]||(s[15]=e=>l.redis_pwd=e),type:"password",class:"input input-bordered w-full",autocomplete:"new-password",placeholder:"[encrypted]"},null,512),[[a,l.redis_pwd]])])]),t("div",Dt,[s[39]||(s[39]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"备注")],-1)),n(t("input",{"onUpdate:modelValue":s[16]||(s[16]=e=>l.remark=e),type:"text",class:"input input-bordered w-full"},null,512),[[a,l.remark]])]),t("div",Tt,[t("label",Nt,[n(t("input",{"onUpdate:modelValue":s[17]||(s[17]=e=>l.enabled=e),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[O,l.enabled]]),s[40]||(s[40]=t("span",{class:"text-sm"},"启用",-1))])]),n(t("div",$t,[(u(!0),r(H,null,I(T.value,e=>(u(),r("div",{key:e.key,class:D(e.ok?"text-green-700":"text-red-600")},[t("span",{class:D(e.ok?"text-green-600":"text-red-500")},i(e.ok?"✓":"✗"),3),z(" "+i(e.label)+":"+i(e.msg),1)],2))),128))],512),[[V,d.show]]),t("div",jt,[t("button",{type:"button",class:"btn btn-ghost",onClick:s[18]||(s[18]=e=>S())},"取消"),t("button",{type:"button",class:"btn btn-outline",disabled:y.value,onClick:j},i(y.value?"测试中...":"测试连接"),9,At),t("button",{type:"submit",class:"btn btn-primary text-white",disabled:!f.value},"保存",8,Ft)]),s[45]||(s[45]=t("p",{class:"text-xs text-slate-400 mt-2"},"需先「测试连接」(SSH 握手成功即可保存;基础设施逐项仅作提示)。",-1))],32)])],512),[[V,x.value==="form"]])]))}});export{Ot as default}; diff --git a/apps/admin/.output/public/_nuxt/CF8arGVK.js b/apps/admin/.output/public/_nuxt/CF8arGVK.js deleted file mode 100644 index 29a2b09c..00000000 --- a/apps/admin/.output/public/_nuxt/CF8arGVK.js +++ /dev/null @@ -1 +0,0 @@ -import{g as Ce,o as n,c as o,F as v,a as e,r as h,d as N,t as d,l as g,n as z,A as E,_ as Se,j as We,k as c,p as ie,G as B,m as y,q as O,v as Ve,s as x,x as Ue,J as R,B as ee,D as Xe}from"./CTAruH_8.js";import{u as Ye}from"./9B2ftqmN.js";import{u as Qe}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const $e=[{code:"zh-CN",name:"中文(简体)"},{code:"zh-TW",name:"中文(繁体)"},{code:"zh-HK",name:"中文(香港)"},{code:"yue-HK",name:"粤语"},{code:"en-US",name:"英语(美国)"},{code:"en-GB",name:"英语(英国)"},{code:"ja-JP",name:"日语"},{code:"ko-KR",name:"韩语"},{code:"id-ID",name:"印尼语"},{code:"es-ES",name:"西班牙语(西)"},{code:"es-MX",name:"西班牙语(墨)"},{code:"pt-BR",name:"葡萄牙语(巴西)"},{code:"pt-PT",name:"葡萄牙语(葡)"},{code:"de-DE",name:"德语"},{code:"fr-FR",name:"法语"},{code:"it-IT",name:"意大利语"},{code:"nl-NL",name:"荷兰语"},{code:"pl-PL",name:"波兰语"},{code:"ru-RU",name:"俄语"},{code:"uk-UA",name:"乌克兰语"},{code:"tr-TR",name:"土耳其语"},{code:"vi-VN",name:"越南语"},{code:"th-TH",name:"泰语"},{code:"ms-MY",name:"马来语"},{code:"fil-PH",name:"菲律宾语"},{code:"ar-SA",name:"阿拉伯语"}];function Ze(M){const D=$e.find(w=>w.code===M);return D?D.name:M}const et={class:"lang-select"},tt={class:"lang-chip-name"},lt=["onClick"],st={key:0,class:"lang-empty"},nt={key:0,class:"lang-dd"},ot={class:"lang-dd-sum"},at={class:"lang-dd-panel"},dt=["checked","onChange"],it={class:"lang-opt-code"},ut={class:"lang-opt-name"},ct=["value","disabled"],rt=["value"],pt=Ce({__name:"LangSelect",props:{modelValue:{},multiple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},options:{default:void 0}},emits:["update:modelValue"],setup(M,{emit:D}){const w=M,V=D,W=E(()=>w.options&&w.options.length?w.options:$e),U=E(()=>(w.modelValue||"").split(",").map(T=>T.trim()).filter(Boolean));function S(T){return Ze(T)}function $(T){if(w.disabled)return;const j=U.value.slice(),m=j.indexOf(T);m>=0?j.splice(m,1):j.push(T),V("update:modelValue",j.join(","))}function H(T){V("update:modelValue",T.target.value)}return(T,j)=>(n(),o("div",et,[M.multiple?(n(),o(v,{key:0},[e("div",{class:z(["lang-chips",{"lang-disabled":M.disabled}])},[(n(!0),o(v,null,h(U.value,m=>(n(),o("span",{key:m,class:"lang-chip"},[N(d(m),1),e("span",tt,d(S(m)),1),e("button",{type:"button",class:"lang-x",onClick:X=>$(m)},"×",8,lt)]))),128)),U.value.length?g("",!0):(n(),o("span",st,"未选择语言"))],2),M.disabled?g("",!0):(n(),o("details",nt,[e("summary",ot,"+ 选择语言(已选 "+d(U.value.length)+")",1),e("div",at,[(n(!0),o(v,null,h(W.value,m=>(n(),o("label",{key:m.code,class:"lang-opt"},[e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary",checked:U.value.includes(m.code),onChange:X=>$(m.code)},null,40,dt),e("span",it,d(m.code),1),e("span",ut,d(m.name),1)]))),128))])]))],64)):(n(),o("select",{key:1,class:"select select-bordered select-sm w-full text-xs",value:M.modelValue,disabled:M.disabled,onChange:H},[j[0]||(j[0]=e("option",{value:""},"(未设置)",-1)),(n(!0),o(v,null,h(W.value,m=>(n(),o("option",{key:m.code,value:m.code},d(m.code)+" · "+d(m.name),9,rt))),128))],40,ct))]))}}),vt=Object.assign(Se(pt,[["__scopeId","data-v-4903af59"]]),{__name:"LangSelect"}),mt={key:0,class:"mb-4 rounded-lg px-4 py-3 text-sm",style:{background:"#fffbeb",border:"1px solid #fde68a",color:"#92400e"}},bt={class:"flex items-center justify-between mb-5"},xt={class:"flex items-center gap-3"},yt=["value"],_t=["value"],ht={class:"flex gap-4",style:{"align-items":"flex-start"}},gt={style:{width:"248px","flex-shrink":"0"}},kt={class:"flex flex-col gap-2"},ft=["onClick"],wt={style:{"min-width":"0",flex:"1"}},Vt={class:"flex items-center gap-2"},Ut={class:"font-semibold text-slate-800 text-sm truncate"},Ct={class:"flex flex-wrap gap-1 mt-1 items-center"},St={key:0,class:"provider-chip"},$t={key:1,class:"lock-badge"},Tt={key:0,class:"text-xs text-slate-400 text-center py-8"},At={class:"flex-1 min-w-0"},Mt={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},zt={key:0,class:"text-center text-slate-300 py-20"},Dt={class:"flex items-center justify-between mb-5"},jt={class:"flex items-center gap-3"},Ft={class:"text-base font-semibold text-slate-800"},Nt={class:"text-xs text-slate-400 mt-0.5"},Lt={key:0},Rt={class:"flex gap-2"},It={class:"grid grid-cols-2 gap-4 mb-4"},Bt={class:"form-control"},Ot={class:"form-control"},Et={class:"form-control mb-4"},Ht={class:"mb-4"},Pt={class:"text-xs text-slate-500 ml-2"},Gt={key:0,class:"text-xs text-slate-400 py-4 text-center"},Jt={key:1,class:"overflow-x-auto"},Kt={class:"table text-xs"},qt=["onUpdate:modelValue","title"],Wt=["onUpdate:modelValue"],Xt={class:"text-center"},Yt=["onUpdate:modelValue"],Qt={class:"relative"},Zt=["type","onUpdate:modelValue"],el=["onClick"],tl=["onUpdate:modelValue"],ll=["onClick"],sl={class:"wizard-steps mb-5"},nl={key:0},ol={key:0},al={class:"type-grid"},dl=["onClick"],il={class:"text-sm text-slate-700 mt-2"},ul={class:"flex items-center justify-between mb-3"},cl={class:"text-sm text-slate-500"},rl={class:"type-grid"},pl=["onClick"],vl={class:"provider-chip"},ml={class:"text-sm text-slate-700 mt-2"},bl={class:"text-[11px] text-slate-400 mt-0.5"},xl={key:0,class:"text-xs text-slate-400 mt-2"},yl={class:"flex items-center justify-between mb-3"},_l={class:"flex items-center gap-2"},hl={key:0,class:"provider-chip"},gl={class:"flex gap-2"},kl={class:"grid grid-cols-2 gap-4 mb-4"},fl={class:"form-control"},wl={class:"form-control"},Vl={class:"grid grid-cols-2 gap-4 mb-4"},Ul={class:"form-control"},Cl={class:"form-control"},Sl={class:"form-control mb-4"},$l={key:0,class:"text-xs text-slate-400 py-4 text-center"},Tl={key:1,class:"overflow-x-auto"},Al={class:"table text-xs"},Ml=["onUpdate:modelValue","title"],zl=["onUpdate:modelValue"],Dl={class:"text-center"},jl=["onUpdate:modelValue"],Fl={class:"relative"},Nl=["type","onUpdate:modelValue"],Ll=["onClick"],Rl=["onUpdate:modelValue"],Il=["onClick"],Bl={key:0,class:"text-center py-10 text-slate-400"},Ol={class:"flex items-center justify-between mb-5"},El={class:"flex items-center gap-3"},Hl={class:"text-base font-semibold text-slate-800"},Pl={class:"badge badge-warning badge-sm mt-0.5"},Gl={class:"rounded-lg px-3 py-2 mb-4 text-xs",style:{background:"#fefce8",border:"1px solid #fde047",color:"#854d0e"}},Jl={class:"overflow-x-auto"},Kl={class:"table text-xs"},ql=["title"],Wl={class:"text-slate-500"},Xl={class:"text-center"},Yl={key:0,class:"disabled-badge"},Ql={key:1,class:"override-badge"},Zl={key:2,class:"inherit-badge"},es={class:"text-center"},ts=["onUpdate:modelValue"],ls={class:"relative"},ss=["type","onUpdate:modelValue","disabled"],ns=["onClick"],os=["onUpdate:modelValue","disabled","placeholder"],as={key:0},ds={class:"divider text-xs text-slate-400 my-3"},is={key:0,class:"text-xs text-slate-400 py-2 text-center"},us={key:1,class:"overflow-x-auto"},cs={class:"table text-xs"},rs=["onUpdate:modelValue","title"],ps=["onUpdate:modelValue"],vs={class:"text-center"},ms=["onUpdate:modelValue"],bs={class:"relative"},xs=["type","onUpdate:modelValue"],ys=["onClick"],_s=["onUpdate:modelValue"],hs=["onClick"],gs={class:"sync-overlay"},ks={class:"sync-box"},fs={class:"flex items-start gap-3 mb-4"},ws={style:{width:"42px",height:"42px",background:"linear-gradient(135deg,#4f46e5,#7c3aed)","border-radius":"13px",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},Vs={style:{width:"20px",height:"20px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Us={class:"text-xs text-slate-400 mt-1"},Cs=["innerHTML"],Ss={class:"flex items-center justify-between mb-1"},$s={class:"flex gap-2"},Ts={class:"sync-region-grid"},As=["onClick"],Ms=["checked","onClick"],zs={class:"sync-overlay"},Ds={class:"tpl-box"},js={class:"flex items-center justify-between mb-4"},Fs={class:"flex gap-2"},Ns={class:"tpl-list"},Ls={class:"text-xs font-semibold text-slate-500 mb-1"},Rs={style:{"min-width":"0",flex:"1"}},Is={class:"flex items-center gap-2"},Bs={class:"font-semibold text-sm text-slate-800 truncate"},Os={class:"provider-chip"},Es={key:0,class:"badge badge-xs badge-ghost"},Hs={class:"text-xs text-slate-400 mt-0.5"},Ps={class:"flex gap-1"},Gs=["onClick"],Js=["onClick"],Ks={key:0,class:"text-xs text-slate-400 text-center py-6"},qs={class:"flex items-center justify-between mb-4"},Ws={class:"text-base font-semibold text-slate-800"},Xs={class:"flex gap-2"},Ys={class:"grid grid-cols-2 gap-3 mb-3"},Qs={class:"form-control"},Zs=["disabled"],en={class:"form-control"},tn=["value"],ln={class:"form-control"},sn={class:"form-control"},nn={class:"form-control mb-3"},on={class:"overflow-x-auto",style:{"max-height":"34vh"}},an={class:"table text-xs"},dn=["onUpdate:modelValue","title"],un=["onUpdate:modelValue"],cn={class:"text-center"},rn=["onUpdate:modelValue"],pn=["onUpdate:modelValue"],vn=["onClick"],mn={key:0},bn=Ce({__name:"serviceconfig",setup(M){const D=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}],w=[{v:1,label:"STT 语音识别",short:"STT",color:"#0369a1",bg:"#dbeafe"},{v:2,label:"TTS 语音合成",short:"TTS",color:"#7c3aed",bg:"#ede9fe"},{v:3,label:"MT 机器翻译",short:"MT",color:"#059669",bg:"#dcfce7"},{v:4,label:"AST 端到端翻译",short:"AST",color:"#c2410c",bg:"#fff7ed"},{v:5,label:"LLM 大语言",short:"LLM",color:"#b45309",bg:"#fef9c3"},{v:7,label:"STS 端到端对话",short:"STS",color:"#be185d",bg:"#fce7f3"},{v:6,label:"存储 OSS/COS",short:"存储",color:"#475569",bg:"#f1f5f9"}],{webApi:V,consoleApi:W}=Ye(),{success:U,error:S}=Qe(),$=x(""),H=x([]);async function T(){try{const s=await W("products/list",{});H.value=(s??[]).map(l=>l.name).filter(Boolean)}catch{H.value=[]}}function j(){p.value=null,C.value="empty",Y()}function m(s){return w.find(l=>l.v===s)||{short:"?",color:"#999",bg:"#eee",v:0,label:""}}function X(s){return(s||"").split(",").map(l=>parseInt(l)||0).filter(l=>l>0)}function ue(s){return(s.fields||[]).filter(l=>l.encrypted).length}const te=x(!0),P=x([]),p=x(null),A=x(0),C=x("empty"),i=Ue({id:"",name:"",provider:"",description:"",enable:!1}),_=x(0),f=x([]),G=x(""),k=x(1),J=x([]),I=x([]),le=x(!1),K=x([]),se=E(()=>{const s=D.find(l=>l.value===A.value);return s?s.label:"区域"+A.value}),Te=E(()=>w.map(s=>({cat:s.v,label:s.label,items:K.value.filter(l=>l.category===s.v)})).filter(s=>s.items.length));async function Y(){try{const s=await V("getsvcconfigs",{app_name:$.value});P.value=s?.items??[],te.value=!0}catch{te.value=!1,P.value=[];return}if(p.value){const s=P.value.find(l=>l.id===p.value.id);s&&Q(s)}}async function ne(){try{const s=await V("getsvctemplates",{});K.value=s?.items??[]}catch{K.value=[]}}function Ae(){p.value?Q(p.value):C.value!=="new"&&(C.value="empty")}function Q(s){s&&(p.value=s,A.value===0?Me():Fe())}function Me(){const s=p.value;i.id=s.id,i.name=s.name||"",i.provider=s.provider||"",i.description=s.description||"",i.enable=!!s.enable,_.value=X(s.categories)[0]||0,f.value=JSON.parse(JSON.stringify(s.fields||[])).map(l=>({...l,_show:!1})),C.value="default"}function ze(){p.value=null,i.id="",i.name="",i.provider="",i.description="",i.enable=!1,_.value=0,f.value=[],G.value="",k.value=1,C.value="new"}const ce=E(()=>K.value.filter(s=>s.category===_.value));function De(s){_.value!==s&&(_.value=s,G.value="",i.provider="",f.value=[]),k.value=2}function re(s){s?(G.value=s.id,i.provider=s.provider||"",i.name||(i.name=s.name||""),i.id||(i.id=s.id||""),i.description||(i.description=s.description||""),f.value=(s.fields||[]).map(l=>({key:l.key,description:l.description,type:l.type||"",encrypted:!!l.encrypted,def_value:l.def_value||"",sort:l.sort,_show:!1}))):(G.value="",i.provider="",f.value=[]),k.value=3}function je(){p.value?Q(p.value):C.value="empty"}function pe(){f.value.push({key:"",description:"",encrypted:!1,def_value:"",sort:f.value.length,_show:!1})}function ve(s){f.value.splice(s,1),f.value.forEach((l,r)=>{l.sort=r})}async function Fe(){const s=p.value;le.value=!0,C.value="region";try{const r=(await V("getsvcregionoverride",{app_name:$.value,svc_id:s.id,region:A.value}))?.fields??[];J.value=r.filter(t=>!t.region_only).map(t=>({key:t.key,description:t.description,type:t.type||"",encrypted:!!t.encrypted,is_overridden:!!t.is_overridden,disabled:!!t.disabled,value:t.value||"",_input:t.encrypted?"":t.is_overridden&&t.value||"",_show:!1})),I.value=r.filter(t=>t.region_only).map(t=>({key:t.key,description:t.description,encrypted:!!t.encrypted,_input:t.encrypted?"":t.value||"",_show:!1}))}catch(l){S(l?.message??"加载区域分叉失败"),J.value=[],I.value=[]}finally{le.value=!1}}function Ne(){I.value.push({key:"",description:"",encrypted:!1,_input:"",_show:!1})}function Le(s){I.value.splice(s,1)}function Re(s){const l={name:i.name||"",provider:i.provider||"",description:i.description||"",categories:_.value?String(_.value):"",enable:i.enable||!1,fields:f.value.map(r=>({key:r.key,description:r.description,type:r.type||"",encrypted:r.encrypted,def_value:r.def_value,sort:r.sort}))};return s?l.id=i.id||"":l.id=p.value.id,l.app_name=$.value,l}function Ie(){const s={},l=[];J.value.forEach(t=>{s[t.key]=t._input||"",t.disabled&&l.push(t.key)});const r=I.value.filter(t=>(t.key||"").trim()).map((t,u)=>({key:t.key.trim(),description:t.description,encrypted:t.encrypted,def_value:t._input||"",sort:u}));return{overrides:s,disabled_keys:l,extra_fields:r}}async function me(s){const l=s||!p.value;if(A.value===0){const r=Re(l);if(!r.id||!r.name)return S("服务ID 和名称 必填"),!1;const t=l?"addsvcconfig":"updatesvcconfig";try{const u=await V(t,r);return p.value=u,await Y(),U("保存成功"),!0}catch(u){return S(u?.message??"保存失败"),!1}}else{const{overrides:r,disabled_keys:t,extra_fields:u}=Ie();try{return await V("savesvcregionoverride",{app_name:$.value,svc_id:p.value.id,region:A.value,overrides:r,disabled_keys:t,extra_fields:u}),U("区域分叉已保存"),!0}catch(a){return S(a?.message??"保存失败"),!1}}}async function Be(){if(p.value&&window.confirm("确定删除服务「"+p.value.name+"」及其所有区域分叉?")){try{await V("delsvcconfig",{app_name:$.value,id:p.value.id})}catch(s){S(s?.message??"删除失败");return}p.value=null,U("已删除"),await Y(),C.value="empty"}}const oe=x(!1),ae=x(!1),be=x(""),xe=x(""),L=x([]),ye=E(()=>D.filter(s=>s.value!==A.value));function de(s){ae.value=s;const l=p.value?p.value.name:i.name||"新服务",r=A.value===0;be.value=r?"「"+l+"」默认配置将保存,可同步推送到其他区域。":"「"+l+"」在当前区域的字段分叉将保存,可同步到其他区域。",xe.value=r?"✦ 同步内容:各字段默认值推送为目标区域「覆盖值」,目标区域原有分叉将被替换。":"✦ 同步内容:当前区域的值覆盖 / 区域专属字段 / 停用字段整体复制到目标区域。",L.value=[],oe.value=!0}function _e(s){const l=L.value.indexOf(s);l>=0?L.value.splice(l,1):L.value.push(s)}function he(s){L.value=s?ye.value.map(l=>l.value):[]}function ge(){oe.value=!1}async function Oe(){ge(),await me(ae.value)}async function Ee(){const s=L.value.slice();if(ge(),!await me(ae.value)||!s.length)return;const r=p.value?p.value.id:null;if(!r)return;let t=0;try{t=(await V("syncsvctoregins",{app_name:$.value,svc_id:r,src_region:A.value,target_regions:s}))?.synced??0}catch(a){S(a?.message??"同步失败");return}const u=s.map(a=>{const we=D.find(qe=>qe.value===a);return we?we.label:"区域"+a});U("已保存并同步到:"+u.join("、")+"("+t+" 个)")}const ke=x(!1),Z=x("list"),q=x(!1),b=Ue({id:"",category:2,provider:"",name:"",description:""}),F=x([]);function He(){ke.value=!1}function fe(s){s?(q.value=!0,b.id=s.id,b.category=s.category||2,b.provider=s.provider||"",b.name=s.name||"",b.description=s.description||"",F.value=(s.fields||[]).map(l=>({key:l.key,description:l.description,type:l.type||"",encrypted:!!l.encrypted,def_value:l.def_value||"",sort:l.sort}))):(q.value=!1,b.id="",b.category=2,b.provider="",b.name="",b.description="",F.value=[]),Z.value="form"}function Pe(){F.value.push({key:"",description:"",encrypted:!1,def_value:"",sort:F.value.length})}function Ge(s){F.value.splice(s,1),F.value.forEach((l,r)=>{l.sort=r})}async function Je(){if(!b.id.trim()||!b.name.trim()||!b.provider.trim()){S("模板ID / 展示名 / 服务商标识 必填");return}const s={id:b.id.trim(),category:Number(b.category)||0,provider:b.provider.trim(),name:b.name.trim(),description:b.description.trim(),fields:F.value.map((l,r)=>({key:l.key,description:l.description,type:l.type||"",encrypted:l.encrypted,def_value:l.def_value,sort:r}))};try{await V(q.value?"updatesvctemplate":"addsvctemplate",s)}catch(l){S(l?.message??"保存失败");return}U("模板已保存"),await ne(),Z.value="list"}async function Ke(s){if(window.confirm("确定删除模板「"+s.name+"」?"+(s.builtin?"(内置模板下次启动会被重新补回)":""))){try{await V("delsvctemplate",{id:s.id})}catch(l){S(l?.message??"删除失败");return}U("已删除"),await ne()}}return We(()=>{T(),Y(),ne()}),(s,l)=>{const r=vt;return n(),o("div",null,[te.value?g("",!0):(n(),o("div",mt," ⚠ 「第三方服务配置」后端接口暂不可用(连接失败),请检查 console 服务是否运行。 ")),e("div",bt,[l[29]||(l[29]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"第三方服务配置"),e("p",{class:"text-xs text-slate-400 mt-1"},[N("按服务类型分组管理已接入的第三方服务(火山引擎、阿里云、Azure 等)。默认展示"),e("b",null,"全局默认"),N("配置,可切换到具体应用;区域默认"),e("b",null,"中国"),N(",切换区域可为该区域覆盖字段值。")])],-1)),e("div",xt,[c(e("select",{"onUpdate:modelValue":l[0]||(l[0]=t=>$.value=t),class:"select select-bordered select-sm",onChange:j},[l[27]||(l[27]=e("option",{value:""},"全局默认",-1)),(n(!0),o(v,null,h(H.value,t=>(n(),o("option",{key:t,value:t},"应用:"+d(t),9,yt))),128))],544),[[ie,$.value]]),c(e("select",{"onUpdate:modelValue":l[1]||(l[1]=t=>A.value=t),class:"select select-bordered select-sm",onChange:Ae},[(n(),o(v,null,h(D,t=>e("option",{key:t.value,value:t.value},d(t.label),9,_t)),64)),l[28]||(l[28]=e("option",{value:0},"默认(全区域)",-1))],544),[[ie,A.value,void 0,{number:!0}]]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:ze},"+ 添加服务")])]),e("div",ht,[e("div",gt,[e("div",kt,[(n(!0),o(v,null,h(P.value,t=>(n(),o("div",{key:t.id,class:z(["svc-item",{active:p.value&&p.value.id===t.id}]),onClick:u=>Q(t)},[e("div",{class:"svc-logo",style:B({background:t.color||"#6366f1"})},d(t.icon||(t.name||"").charAt(0)),5),e("div",wt,[e("div",Vt,[e("span",Ut,d(t.name),1),e("span",{class:z(["badge badge-xs",t.enable?"badge-success":"badge-ghost"])},d(t.enable?"启用":"停用"),3)]),e("div",Ct,[t.provider?(n(),o("span",St,d(t.provider),1)):g("",!0),(n(!0),o(v,null,h(X(t.categories),u=>(n(),o("span",{key:u,class:"cat-chip",style:B({color:m(u).color,background:m(u).bg})},d(m(u).short),5))),128)),ue(t)?(n(),o("span",$t,"🔒"+d(ue(t)),1)):g("",!0)])])],10,ft))),128)),P.value.length?g("",!0):(n(),o("p",Tt,"暂无服务"))])]),e("div",At,[e("div",Mt,[C.value==="empty"?(n(),o("div",zt,[...l[30]||(l[30]=[e("div",{class:"text-5xl mb-3"},"⚙️",-1),e("p",{class:"text-sm"},"从左侧选择一个服务开始配置",-1)])])):C.value==="default"&&p.value?(n(),o(v,{key:1},[e("div",Dt,[e("div",jt,[e("div",{class:"svc-logo",style:B({background:p.value.color||"#6366f1",width:"44px",height:"44px",fontSize:"20px"})},d(p.value.icon||(p.value.name||"").charAt(0)),5),e("div",null,[e("h3",Ft,d(p.value.name),1),e("p",Nt,[N(d(p.value.id),1),i.provider?(n(),o("span",Lt," · 服务商 "+d(i.provider),1)):g("",!0)])])]),e("div",Rt,[e("button",{class:"btn btn-error btn-sm btn-outline",onClick:Be},"删除服务"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[2]||(l[2]=t=>de(!1))},"保存")])]),l[38]||(l[38]=e("div",{class:"divider text-xs text-slate-400 my-3"},"基本信息",-1)),e("div",It,[e("div",Bt,[l[31]||(l[31]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务名称 *")],-1)),c(e("input",{"onUpdate:modelValue":l[3]||(l[3]=t=>i.name=t),class:"input input-bordered"},null,512),[[y,i.name]])]),e("div",Ot,[l[32]||(l[32]=e("label",{class:"label"},[e("span",{class:"label-text"},"启用")],-1)),c(e("input",{"onUpdate:modelValue":l[4]||(l[4]=t=>i.enable=t),type:"checkbox",class:"toggle toggle-primary mt-3"},null,512),[[O,i.enable]])])]),e("div",Et,[l[33]||(l[33]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务描述")],-1)),c(e("input",{"onUpdate:modelValue":l[5]||(l[5]=t=>i.description=t),class:"input input-bordered"},null,512),[[y,i.description]])]),e("div",Ht,[l[34]||(l[34]=e("p",{class:"text-sm font-medium text-slate-700 mb-2"},"服务类型",-1)),_.value?(n(),o("span",{key:0,class:"cat-chip",style:B({color:m(_.value).color,background:m(_.value).bg})},d(m(_.value).short),5)):g("",!0),e("span",Pt,d(_.value?m(_.value).label:"未设置"),1),l[35]||(l[35]=e("span",{class:"text-[11px] text-slate-400 ml-2"},"(类型在创建时确定,不可更改)",-1))]),l[39]||(l[39]=e("div",{class:"divider text-xs text-slate-400 my-3"},"配置字段(全区域共用)",-1)),e("div",null,[f.value.length?(n(),o("div",Jt,[e("table",Kt,[l[37]||(l[37]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(f.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,qt),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,Wt),[[y,t.description]])]),e("td",Xt,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,Yt),[[O,t.encrypted]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a,multiple:!0},null,8,["modelValue","onUpdate:modelValue"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a},null,8,["modelValue","onUpdate:modelValue"])):t.encrypted?(n(),o(v,{key:2},[e("div",Qt,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t.def_value=a,placeholder:"留空保留原值"},null,8,Zt),[[ee,t.def_value]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,el)]),l[36]||(l[36]=e("span",{class:"lock-badge ml-1"},"🔒 加密",-1))],64)):c((n(),o("input",{key:3,class:"field-input","onUpdate:modelValue":a=>t.def_value=a},null,8,tl)),[[y,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>ve(u)},"×",8,ll)])]))),128))])])])):(n(),o("p",Gt,"尚无字段,点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:pe},"+ 添加字段")])],64)):C.value==="new"?(n(),o(v,{key:2},[e("div",{class:"flex items-center justify-between mb-4"},[l[40]||(l[40]=e("h3",{class:"text-base font-semibold text-slate-800"},"新增第三方服务",-1)),e("button",{class:"btn btn-ghost btn-sm",onClick:je},"取消")]),e("div",sl,[e("div",{class:z(["wstep",{on:k.value>=1,cur:k.value===1}]),onClick:l[6]||(l[6]=t=>k.value=1)},[l[41]||(l[41]=N("① 服务类型",-1)),_.value?(n(),o("span",nl," · "+d(m(_.value).short),1)):g("",!0)],2),l[43]||(l[43]=e("div",{class:"wline"},null,-1)),e("div",{class:z(["wstep",{on:k.value>=2,cur:k.value===2,disabled:!_.value}]),onClick:l[7]||(l[7]=t=>_.value&&(k.value=2))},[l[42]||(l[42]=N("② 服务商",-1)),i.provider?(n(),o("span",ol," · "+d(i.provider),1)):g("",!0)],2),l[44]||(l[44]=e("div",{class:"wline"},null,-1)),e("div",{class:z(["wstep",{on:k.value>=3,cur:k.value===3,disabled:k.value<3}])},"③ 配置",2)]),k.value===1?(n(),o(v,{key:0},[l[45]||(l[45]=e("p",{class:"text-sm text-slate-500 mb-3"},"请选择要接入的服务类型(每个服务归属单一类型,独立配置):",-1)),e("div",al,[(n(),o(v,null,h(w,t=>e("div",{key:t.v,class:z(["type-card",{on:_.value===t.v}]),onClick:u=>De(t.v)},[e("span",{class:"cat-chip",style:B({color:t.color,background:t.bg})},d(t.short),5),e("span",il,d(t.label),1)],10,dl)),64))])],64)):k.value===2?(n(),o(v,{key:1},[e("div",ul,[e("p",cl,"为「"+d(m(_.value).label)+"」选择服务商:",1),e("button",{class:"btn btn-ghost btn-xs",onClick:l[8]||(l[8]=t=>k.value=1)},"← 上一步")]),e("div",rl,[(n(!0),o(v,null,h(ce.value,t=>(n(),o("div",{key:t.id,class:z(["type-card",{on:G.value===t.id}]),onClick:u=>re(t)},[e("span",vl,d(t.provider),1),e("span",ml,d(t.name),1),e("span",bl,d((t.fields||[]).length)+" 字段",1)],10,pl))),128)),e("div",{class:"type-card",onClick:l[9]||(l[9]=t=>re(null))},[...l[46]||(l[46]=[e("span",{class:"provider-chip",style:{background:"#f1f5f9",color:"#475569"}},"自定义",-1),e("span",{class:"text-sm text-slate-700 mt-2"},"空白自定义",-1),e("span",{class:"text-[11px] text-slate-400 mt-0.5"},"手动添加字段",-1)])])]),ce.value.length?g("",!0):(n(),o("p",xl,"该类型暂无内置模板,可选「空白自定义」,或到「服务商模板」新增。"))],64)):(n(),o(v,{key:2},[e("div",yl,[e("div",_l,[e("span",{class:"cat-chip",style:B({color:m(_.value).color,background:m(_.value).bg})},d(m(_.value).short),5),i.provider?(n(),o("span",hl,d(i.provider),1)):g("",!0)]),e("div",gl,[e("button",{class:"btn btn-ghost btn-xs",onClick:l[10]||(l[10]=t=>k.value=2)},"← 上一步"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[11]||(l[11]=t=>de(!0))},"创建")])]),e("div",kl,[e("div",fl,[l[47]||(l[47]=e("label",{class:"label"},[e("span",{class:"label-text"},[N("服务ID * "),e("span",{class:"text-slate-400 text-xs"},"(唯一,如 tts_azure)")])],-1)),c(e("input",{"onUpdate:modelValue":l[12]||(l[12]=t=>i.id=t),class:"input input-bordered font-mono",placeholder:"tts_azure"},null,512),[[y,i.id]])]),e("div",wl,[l[48]||(l[48]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务名称 *")],-1)),c(e("input",{"onUpdate:modelValue":l[13]||(l[13]=t=>i.name=t),class:"input input-bordered",placeholder:"微软 Azure TTS"},null,512),[[y,i.name]])])]),e("div",Vl,[e("div",Ul,[l[49]||(l[49]=e("label",{class:"label"},[e("span",{class:"label-text"},[N("服务商标识 "),e("span",{class:"text-slate-400 text-xs"},"(如 azure/alibaba)")])],-1)),c(e("input",{"onUpdate:modelValue":l[14]||(l[14]=t=>i.provider=t),class:"input input-bordered font-mono",placeholder:"azure"},null,512),[[y,i.provider]])]),e("div",Cl,[l[50]||(l[50]=e("label",{class:"label"},[e("span",{class:"label-text"},"启用")],-1)),c(e("input",{"onUpdate:modelValue":l[15]||(l[15]=t=>i.enable=t),type:"checkbox",class:"toggle toggle-primary mt-3"},null,512),[[O,i.enable]])])]),e("div",Sl,[l[51]||(l[51]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务描述")],-1)),c(e("input",{"onUpdate:modelValue":l[16]||(l[16]=t=>i.description=t),class:"input input-bordered",placeholder:"简述该服务的用途"},null,512),[[y,i.description]])]),l[54]||(l[54]=e("div",{class:"divider text-xs text-slate-400 my-3"},"配置字段",-1)),e("div",null,[f.value.length?(n(),o("div",Tl,[e("table",Al,[l[53]||(l[53]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(f.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,Ml),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,zl),[[y,t.description]])]),e("td",Dl,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,jl),[[O,t.encrypted]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a,multiple:!0},null,8,["modelValue","onUpdate:modelValue"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a},null,8,["modelValue","onUpdate:modelValue"])):t.encrypted?(n(),o(v,{key:2},[e("div",Fl,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t.def_value=a,placeholder:"留空保留原值"},null,8,Nl),[[ee,t.def_value]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,Ll)]),l[52]||(l[52]=e("span",{class:"lock-badge ml-1"},"🔒 加密",-1))],64)):c((n(),o("input",{key:3,class:"field-input","onUpdate:modelValue":a=>t.def_value=a},null,8,Rl)),[[y,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>ve(u)},"×",8,Il)])]))),128))])])])):(n(),o("p",$l,"尚无字段,选模板自动带出或点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:pe},"+ 添加字段")])],64))],64)):C.value==="region"&&p.value?(n(),o(v,{key:3},[le.value?(n(),o("div",Bl,"加载中...")):(n(),o(v,{key:1},[e("div",Ol,[e("div",El,[e("div",{class:"svc-logo",style:B({background:p.value.color||"#6366f1",width:"44px",height:"44px",fontSize:"20px"})},d(p.value.icon||(p.value.name||"").charAt(0)),5),e("div",null,[e("h3",Hl,d(p.value.name),1),e("span",Pl,d(se.value)+" 分叉模式",1)])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[17]||(l[17]=t=>de(!1))},"保存分叉")]),e("div",Gl," ✦ 当前编辑「"+d(se.value)+"」的字段分叉:默认字段可覆盖值或勾选「不适用」停用;也可新增本区域专属字段。留空的覆盖字段继承默认值,加密字段留空保留已存储密文。 ",1),l[60]||(l[60]=e("p",{class:"text-sm font-medium text-slate-700 mb-2"},"默认字段",-1)),e("div",Jl,[e("table",Kl,[l[57]||(l[57]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-24 text-center"},"状态"),e("th",{class:"w-20 text-center"},"本区域不适用"),e("th",null,"有效值")])],-1)),e("tbody",null,[(n(!0),o(v,null,h(J.value,(t,u)=>(n(),o("tr",{key:u,class:z({"opacity-50":t.disabled})},[e("td",{class:"font-mono text-slate-700 break-all",title:t.key},d(t.key),9,ql),e("td",Wl,d(t.description),1),e("td",Xl,[t.disabled?(n(),o("span",Yl,"停用")):t.is_overridden?(n(),o("span",Ql,"覆盖")):(n(),o("span",Zl,"继承"))]),e("td",es,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs","onUpdate:modelValue":a=>t.disabled=a},null,8,ts),[[O,t.disabled]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t._input,"onUpdate:modelValue":a=>t._input=a,multiple:!0,disabled:t.disabled},null,8,["modelValue","onUpdate:modelValue","disabled"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t._input,"onUpdate:modelValue":a=>t._input=a,disabled:t.disabled},null,8,["modelValue","onUpdate:modelValue","disabled"])):t.encrypted?(n(),o(v,{key:2},[e("div",ls,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t._input=a,disabled:t.disabled,placeholder:"留空继承默认"},null,8,ss),[[ee,t._input]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,ns)]),l[55]||(l[55]=e("span",{class:"lock-badge ml-1"},"🔒",-1))],64)):c((n(),o("input",{key:3,class:"field-input","onUpdate:modelValue":a=>t._input=a,disabled:t.disabled,placeholder:"留空继承:"+(t.value||"")},null,8,os)),[[y,t._input]])])],2))),128)),J.value.length?g("",!0):(n(),o("tr",as,[...l[56]||(l[56]=[e("td",{colspan:"5",class:"text-center text-slate-400 py-3"},"该服务尚无默认字段",-1)])]))])])]),e("div",ds,d(se.value)+" 专属字段",1),e("div",null,[I.value.length?(n(),o("div",us,[e("table",cs,[l[59]||(l[59]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(I.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,rs),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,ps),[[y,t.description]])]),e("td",vs,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,ms),[[O,t.encrypted]])]),e("td",null,[t.encrypted?(n(),o(v,{key:0},[e("div",bs,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t._input=a,placeholder:"留空保留原值"},null,8,xs),[[ee,t._input]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,ys)]),l[58]||(l[58]=e("span",{class:"lock-badge ml-1"},"🔒",-1))],64)):c((n(),o("input",{key:1,class:"field-input","onUpdate:modelValue":a=>t._input=a},null,8,_s)),[[y,t._input]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>Le(u)},"×",8,hs)])]))),128))])])])):(n(),o("p",is,"尚无区域专属字段,点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:Ne},"+ 添加区域专属字段")])],64))],64)):g("",!0)])])]),c(e("div",gs,[e("div",ks,[e("div",fs,[e("div",ws,[(n(),o("svg",Vs,[...l[61]||(l[61]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"},null,-1)])]))]),e("div",null,[l[62]||(l[62]=e("h3",{class:"text-base font-semibold text-slate-800"},"同步到其他区域",-1)),e("p",Us,d(be.value),1)])]),e("div",{class:"text-xs px-3 py-2 rounded-lg mb-3",style:{background:"#f0fdf4",border:"1px solid #bbf7d0",color:"#15803d"},innerHTML:xe.value},null,8,Cs),e("div",Ss,[l[63]||(l[63]=e("span",{class:"text-xs font-semibold text-slate-500"},"选择目标区域",-1)),e("div",$s,[e("button",{class:"btn btn-ghost btn-xs",onClick:l[18]||(l[18]=t=>he(!0))},"全选"),e("button",{class:"btn btn-ghost btn-xs",onClick:l[19]||(l[19]=t=>he(!1))},"清空")])]),e("div",Ts,[(n(!0),o(v,null,h(ye.value,t=>(n(),o("label",{key:t.value,class:z(["sync-region-item",{checked:L.value.includes(t.value)}]),onClick:u=>_e(t.value)},[e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary",checked:L.value.includes(t.value),onClick:Xe(u=>_e(t.value),["stop"])},null,8,Ms),e("span",null,d(t.label),1)],10,As))),128))]),l[64]||(l[64]=e("p",{class:"text-[11px] text-slate-400 mb-5"},"⚠ 已勾选区域将被当前配置(值覆盖 / 区域专属字段 / 停用字段)整体替换;加密字段密文一并同步。",-1)),e("div",{class:"flex gap-3 justify-end"},[e("button",{class:"btn btn-ghost",onClick:Oe},"仅保存当前区域"),e("button",{class:"btn btn-primary text-white",onClick:Ee},"保存并同步")])])],512),[[Ve,oe.value]]),c(e("div",zs,[e("div",Ds,[Z.value==="list"?(n(),o(v,{key:0},[e("div",js,[l[65]||(l[65]=e("div",null,[e("h3",{class:"text-base font-semibold text-slate-800"},"服务商模板"),e("p",{class:"text-xs text-slate-400 mt-1"},"模板是字段预设,新增服务时可一键带出。内置模板可编辑;删除后重启会被重新补回。")],-1)),e("div",Fs,[e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[20]||(l[20]=t=>fe())},"+ 新增模板"),e("button",{class:"btn btn-ghost btn-sm",onClick:He},"关闭")])]),e("div",Ns,[(n(!0),o(v,null,h(Te.value,t=>(n(),o("div",{key:t.cat,class:"mb-3"},[e("p",Ls,d(t.label),1),(n(!0),o(v,null,h(t.items,u=>(n(),o("div",{key:u.id,class:"tpl-row"},[e("div",Rs,[e("div",Is,[e("span",Bs,d(u.name),1),e("span",Os,d(u.provider),1),u.builtin?(n(),o("span",Es,"内置")):g("",!0)]),e("p",Hs,d(u.id)+" · "+d((u.fields||[]).length)+" 字段",1)]),e("div",Ps,[e("button",{class:"btn btn-ghost btn-xs",onClick:a=>fe(u)},"编辑",8,Gs),e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>Ke(u)},"删除",8,Js)])]))),128))]))),128)),K.value.length?g("",!0):(n(),o("p",Ks,"暂无模板"))])],64)):(n(),o(v,{key:1},[e("div",qs,[e("h3",Ws,d(q.value?"编辑模板":"新增模板"),1),e("div",Xs,[e("button",{class:"btn btn-ghost btn-sm",onClick:l[21]||(l[21]=t=>Z.value="list")},"返回"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:Je},"保存")])]),e("div",Ys,[e("div",Qs,[l[66]||(l[66]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"模板ID *")],-1)),c(e("input",{"onUpdate:modelValue":l[22]||(l[22]=t=>b.id=t),disabled:q.value,class:"input input-bordered input-sm font-mono",placeholder:"tts_azure"},null,8,Zs),[[y,b.id]])]),e("div",en,[l[67]||(l[67]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"类别 *")],-1)),c(e("select",{"onUpdate:modelValue":l[23]||(l[23]=t=>b.category=t),class:"select select-bordered select-sm"},[(n(),o(v,null,h(w,t=>e("option",{key:t.v,value:t.v},d(t.label),9,tn)),64))],512),[[ie,b.category,void 0,{number:!0}]])]),e("div",ln,[l[68]||(l[68]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"服务商标识 *")],-1)),c(e("input",{"onUpdate:modelValue":l[24]||(l[24]=t=>b.provider=t),class:"input input-bordered input-sm font-mono",placeholder:"azure"},null,512),[[y,b.provider]])]),e("div",sn,[l[69]||(l[69]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"展示名 *")],-1)),c(e("input",{"onUpdate:modelValue":l[25]||(l[25]=t=>b.name=t),class:"input input-bordered input-sm",placeholder:"微软 Azure TTS"},null,512),[[y,b.name]])])]),e("div",nn,[l[70]||(l[70]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"描述")],-1)),c(e("input",{"onUpdate:modelValue":l[26]||(l[26]=t=>b.description=t),class:"input input-bordered input-sm"},null,512),[[y,b.description]])]),l[73]||(l[73]=e("p",{class:"text-sm font-medium text-slate-700 mb-1"},"字段",-1)),e("div",on,[e("table",an,[l[72]||(l[72]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认/提示值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(F.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,dn),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,un),[[y,t.description]])]),e("td",cn,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,rn),[[O,t.encrypted]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a,multiple:!0},null,8,["modelValue","onUpdate:modelValue"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a},null,8,["modelValue","onUpdate:modelValue"])):c((n(),o("input",{key:2,class:"field-input","onUpdate:modelValue":a=>t.def_value=a,placeholder:"可留空"},null,8,pn)),[[y,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>Ge(u)},"×",8,vn)])]))),128)),F.value.length?g("",!0):(n(),o("tr",mn,[...l[71]||(l[71]=[e("td",{colspan:"5",class:"text-center text-slate-400 py-2"},"尚无字段",-1)])]))])])]),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:Pe},"+ 添加字段")],64))])],512),[[Ve,ke.value]])])}}}),kn=Se(bn,[["__scopeId","data-v-04ce4a7d"]]);export{kn as default}; diff --git a/apps/admin/.output/public/_nuxt/Bi5c3E0c.js b/apps/admin/.output/public/_nuxt/CHwWlLZM.js similarity index 56% rename from apps/admin/.output/public/_nuxt/Bi5c3E0c.js rename to apps/admin/.output/public/_nuxt/CHwWlLZM.js index e9c92ee2..533e61eb 100644 --- a/apps/admin/.output/public/_nuxt/Bi5c3E0c.js +++ b/apps/admin/.output/public/_nuxt/CHwWlLZM.js @@ -1,4 +1,4 @@ -import{g as z,j as G,K as P,c as a,a as e,d as u,k as x,p as U,F as f,r as B,m as Y,q as Z,t as n,s as i,A as E,o,n as F,l as A,_ as J}from"./CTAruH_8.js";import{u as Q}from"./9B2ftqmN.js";import{u as W}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const X=globalThis.setInterval,$={class:"flex items-center justify-between mb-4 flex-wrap gap-3"},tt={class:"flex items-center gap-2 flex-wrap"},et=["value"],st={class:"flex items-center gap-1 text-xs text-slate-500 cursor-pointer"},lt={class:"flex items-center gap-4 mb-3 text-xs text-slate-500"},nt={class:"text-slate-700"},at={class:"text-slate-700"},ot={class:"text-slate-700"},rt={class:"muted"},ut={class:"panel overflow-hidden"},it={id:"logBody",style:{"max-height":"calc(100vh - 230px)","overflow-y":"auto"}},ct={key:0,class:"text-center text-slate-400 py-10"},dt={key:1,class:"text-center text-red-400 py-10"},vt={key:2,class:"text-center text-slate-400 py-10"},pt={class:"t"},mt={class:"app-name"},ft={key:0,class:"unreg",title:"该应用名未在 console 注册,快照已收到但不会写入统计库"},gt={key:1,class:"muted"},xt={class:"muted"},_t={class:"muted"},yt={class:"muted"},bt={key:0,class:"muted"},ht={class:"t"},wt={key:0,class:"late"},kt=z({__name:"statlog",setup(Ct){const{webApi:I}=Q(),{success:O,error:R}=W(),j={cn:"中国",us:"美国",ea:"东亚",sea:"东南亚",sa:"南亚",me:"中东",eu:"欧洲",ru:"俄罗斯",af:"非洲",sam:"南美",nam:"北美",oc:"大洋洲",br:"巴西",in:"印度"};function D(l){return l?j[l]||l:"-"}const c=i([]),_=i(!1),g=i(""),L=i("-"),N=i("-"),y=i(""),v=i(0),b=i(""),h=i(""),w=i(!1);let d=null;function p(l=0){const s=new Date(Date.now()+l*864e5),t=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(s);return parseInt(t.replace(/-/g,""),10)}function k(l){const s=""+l;return s.length===8?s.slice(0,4)+"-"+s.slice(4,6)+"-"+s.slice(6,8):s}function C(l){if(!l)return"--";const s=new Date(l*1e3),t=r=>r<10?"0"+r:""+r;return t(s.getHours())+":"+t(s.getMinutes())+":"+t(s.getSeconds())}function S(l){return l?"0x"+(l>>>0).toString(16).toUpperCase():"全部"}const V=E(()=>[{value:p(0),label:"今天 "+k(p(0))},{value:p(-1),label:"昨天 "+k(p(-1))}]);function M(l){return l==="error"?{cls:"lv-error",txt:"解析失败"}:l==="warn"?{cls:"lv-warn",txt:"未落库"}:{cls:"lv-info",txt:"已落库"}}function H(l){return!!(l.snap_ts&&l.ts&&l.ts-l.snap_ts>120)}const T=E(()=>{const l=b.value,s=h.value.trim().toLowerCase();return c.value.filter(t=>!(l&&t.level!==l||s&&((t.app||"")+" "+(t.region||"")+" "+D(t.region)+" "+(t.product_id||"")+" "+S(t.product_id)+" "+(t.stat_day||"")).toLowerCase().indexOf(s)<0))});async function m(){_.value=!0,g.value="";try{const l=await I("getstatlogs",{day:v.value||0});c.value=l?.entries||[],L.value=l?.total!=null?l.total:c.value.length,N.value=c.value.length?C(c.value[0].ts):"--"}catch(l){g.value=l?.message||"网络异常"}finally{_.value=!1}}async function K(){const l=v.value||0,s=V.value.find(r=>r.value===l),t=s?s.label:""+l;if(window.confirm("确定清空「"+t+`」的接收流水吗? +import{g as z,j as G,K as P,c as a,a as e,d as u,k as x,p as U,F as f,r as B,m as Y,q as Z,t as n,s as i,A as E,o,n as F,l as A,_ as J}from"./CfpW9SkI.js";import{u as Q}from"./DSu8q42f.js";import{u as W}from"./CMwGY1Mu.js";import"./DL330dAC.js";const X=globalThis.setInterval,$={class:"flex items-center justify-between mb-4 flex-wrap gap-3"},tt={class:"flex items-center gap-2 flex-wrap"},et=["value"],st={class:"flex items-center gap-1 text-xs text-slate-500 cursor-pointer"},lt={class:"flex items-center gap-4 mb-3 text-xs text-slate-500"},nt={class:"text-slate-700"},at={class:"text-slate-700"},ot={class:"text-slate-700"},rt={class:"muted"},ut={class:"panel overflow-hidden"},it={id:"logBody",style:{"max-height":"calc(100vh - 230px)","overflow-y":"auto"}},ct={key:0,class:"text-center text-slate-400 py-10"},dt={key:1,class:"text-center text-red-400 py-10"},vt={key:2,class:"text-center text-slate-400 py-10"},pt={class:"t"},mt={class:"app-name"},ft={key:0,class:"unreg",title:"该应用名未在 console 注册,快照已收到但不会写入统计库"},gt={key:1,class:"muted"},xt={class:"muted"},_t={class:"muted"},yt={class:"muted"},bt={key:0,class:"muted"},ht={class:"t"},wt={key:0,class:"late"},kt=z({__name:"statlog",setup(Ct){const{webApi:I}=Q(),{success:O,error:R}=W(),j={cn:"中国",us:"美国",ea:"东亚",sea:"东南亚",sa:"南亚",me:"中东",eu:"欧洲",ru:"俄罗斯",af:"非洲",sam:"南美",nam:"北美",oc:"大洋洲",br:"巴西",in:"印度"};function D(l){return l?j[l]||l:"-"}const c=i([]),_=i(!1),g=i(""),L=i("-"),N=i("-"),y=i(""),v=i(0),b=i(""),h=i(""),w=i(!1);let d=null;function p(l=0){const s=new Date(Date.now()+l*864e5),t=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(s);return parseInt(t.replace(/-/g,""),10)}function k(l){const s=""+l;return s.length===8?s.slice(0,4)+"-"+s.slice(4,6)+"-"+s.slice(6,8):s}function C(l){if(!l)return"--";const s=new Date(l*1e3),t=r=>r<10?"0"+r:""+r;return t(s.getHours())+":"+t(s.getMinutes())+":"+t(s.getSeconds())}function S(l){return l?"0x"+(l>>>0).toString(16).toUpperCase():"全部"}const V=E(()=>[{value:p(0),label:"今天 "+k(p(0))},{value:p(-1),label:"昨天 "+k(p(-1))}]);function M(l){return l==="error"?{cls:"lv-error",txt:"解析失败"}:l==="warn"?{cls:"lv-warn",txt:"未落库"}:{cls:"lv-info",txt:"已落库"}}function H(l){return!!(l.snap_ts&&l.ts&&l.ts-l.snap_ts>120)}const T=E(()=>{const l=b.value,s=h.value.trim().toLowerCase();return c.value.filter(t=>!(l&&t.level!==l||s&&((t.app||"")+" "+(t.region||"")+" "+D(t.region)+" "+(t.product_id||"")+" "+S(t.product_id)+" "+(t.stat_day||"")).toLowerCase().indexOf(s)<0))});async function m(){_.value=!0,g.value="";try{const l=await I("getstatlogs",{day:v.value||0});c.value=l?.entries||[],L.value=l?.total!=null?l.total:c.value.length,N.value=c.value.length?C(c.value[0].ts):"--"}catch(l){g.value=l?.message||"网络异常"}finally{_.value=!1}}async function K(){const l=v.value||0,s=V.value.find(r=>r.value===l),t=s?s.label:""+l;if(window.confirm("确定清空「"+t+`」的接收流水吗? 只清除本核对面板的记录,不影响已落库的统计数据。 -清空后可重新触发埋点,观察是否正常进来。`))try{const r=await I("clearstatlogs",{day:l});O("已清空 "+(r&&r.cleared!=null?r.cleared:0)+" 条"),m()}catch(r){R("清空失败:"+(r?.message||"网络异常"))}}function q(){w.value?(d=X(m,15e3),y.value="· 每 15 秒自动刷新"):(d&&clearInterval(d),d=null,y.value="")}return G(()=>{v.value=p(0),m()}),P(()=>{d&&clearInterval(d)}),(l,s)=>(o(),a("div",null,[e("div",$,[s[6]||(s[6]=e("div",null,[e("h2",{class:"text-lg font-bold text-slate-700"},"统计日志"),e("p",{class:"text-xs text-slate-400 mt-0.5"},[u("console 从 NATS 收到的「当日统计快照」接收流水(最新在前,按接收时间分天存 Redis)。各业务部署每个同步周期/启动时/0点 推送一次当日绝对快照,console 收到后覆盖落库。用于核对每个部署是否在正常汇报;带 "),e("span",{class:"unreg"},"未注册"),u(" 的应用快照已收到但"),e("b",null,"不会落库"),u("(应用名需与 console 注册表完全一致)。")])],-1)),e("div",tt,[x(e("select",{"onUpdate:modelValue":s[0]||(s[0]=t=>v.value=t),class:"select select-bordered select-sm",onChange:m},[(o(!0),a(f,null,B(V.value,t=>(o(),a("option",{key:t.value,value:t.value},n(t.label),9,et))),128))],544),[[U,v.value,void 0,{number:!0}]]),x(e("select",{"onUpdate:modelValue":s[1]||(s[1]=t=>b.value=t),class:"select select-bordered select-sm"},[...s[4]||(s[4]=[e("option",{value:""},"全部级别",-1),e("option",{value:"info"},"已落库",-1),e("option",{value:"warn"},"未落库",-1),e("option",{value:"error"},"解析失败",-1)])],512),[[U,b.value]]),x(e("input",{"onUpdate:modelValue":s[2]||(s[2]=t=>h.value=t),class:"input input-bordered input-sm w-44",placeholder:"筛选 应用/区域/产品"},null,512),[[Y,h.value]]),e("label",st,[x(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>w.value=t),type:"checkbox",class:"checkbox checkbox-xs",onChange:q},null,544),[[Z,w.value]]),s[5]||(s[5]=u(" 自动刷新 ",-1))]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:m},"刷新"),e("button",{class:"btn btn-outline btn-error btn-sm",title:"清空本日核对流水(不影响已落库的统计数据),清空后可重新观察埋点是否正常进来",onClick:K},"清空本日")])]),e("div",lt,[e("span",null,[s[7]||(s[7]=u("该日保留 ",-1)),e("b",nt,n(L.value),1),s[8]||(s[8]=u(" 条",-1))]),e("span",null,[s[9]||(s[9]=u("当前显示 ",-1)),e("b",at,n(T.value.length),1),s[10]||(s[10]=u(" 条",-1))]),e("span",null,[s[11]||(s[11]=u("最近接收 ",-1)),e("b",ot,n(N.value),1)]),e("span",rt,n(y.value),1)]),e("div",ut,[s[12]||(s[12]=e("div",{id:"logHead"},[e("div",null,"接收时间"),e("div",null,"级别"),e("div",null,"应用 · 区域 · 产品"),e("div",null,"统计日"),e("div",null,"指标摘要 / 说明"),e("div",null,"快照时间")],-1)),e("div",it,[_.value?(o(),a("div",ct,"加载中...")):g.value?(o(),a("div",dt,"加载失败:"+n(g.value),1)):T.value.length?(o(!0),a(f,{key:3},B(T.value,(t,r)=>(o(),a("div",{key:r,class:"logrow"},[e("div",pt,n(C(t.ts)),1),e("div",null,[e("span",{class:F(["lv",M(t.level).cls])},n(M(t.level).txt),3)]),e("div",null,[t.app?(o(),a(f,{key:0},[e("span",mt,n(t.app),1),t.registered?A("",!0):(o(),a("span",ft,"未注册"))],64)):(o(),a("span",gt,"(无应用名)")),e("span",xt," · "+n(D(t.region)),1),e("span",_t," · "+n(S(t.product_id)),1)]),e("div",yt,n(t.stat_day?k(t.stat_day):"-"),1),e("div",null,[t.msg?(o(),a(f,{key:0},[e("span",{class:F(t.level==="error"?"text-red-600":"text-amber-600")},n(t.msg),3),t.summary?(o(),a("span",bt," · "+n(t.summary),1)):A("",!0)],64)):(o(),a(f,{key:1},[u(n(t.summary||"无增量"),1)],64))]),e("div",ht,[u(n(C(t.snap_ts)),1),H(t)?(o(),a("span",wt,"迟到"+n(t.ts-t.snap_ts)+"s",1)):A("",!0)])]))),128)):(o(),a("div",vt,n(c.value.length?"无匹配记录":"该日暂无接收记录"),1))])])]))}}),Nt=J(kt,[["__scopeId","data-v-742ee359"]]);export{Nt as default}; +清空后可重新触发埋点,观察是否正常进来。`))try{const r=await I("clearstatlogs",{day:l});O("已清空 "+(r&&r.cleared!=null?r.cleared:0)+" 条"),m()}catch(r){R("清空失败:"+(r?.message||"网络异常"))}}function q(){w.value?(d=X(m,15e3),y.value="· 每 15 秒自动刷新"):(d&&clearInterval(d),d=null,y.value="")}return G(()=>{v.value=p(0),m()}),P(()=>{d&&clearInterval(d)}),(l,s)=>(o(),a("div",null,[e("div",$,[s[6]||(s[6]=e("div",null,[e("h2",{class:"text-lg font-bold text-slate-700"},"统计日志"),e("p",{class:"text-xs text-slate-400 mt-0.5"},[u("console 从 NATS 收到的「当日统计快照」接收流水(最新在前,按接收时间分天存 Redis)。各业务部署每个同步周期/启动时/0点 推送一次当日绝对快照,console 收到后覆盖落库。用于核对每个部署是否在正常汇报;带 "),e("span",{class:"unreg"},"未注册"),u(" 的应用快照已收到但"),e("b",null,"不会落库"),u("(应用名需与 console 注册表完全一致)。")])],-1)),e("div",tt,[x(e("select",{"onUpdate:modelValue":s[0]||(s[0]=t=>v.value=t),class:"select select-bordered select-sm",onChange:m},[(o(!0),a(f,null,B(V.value,t=>(o(),a("option",{key:t.value,value:t.value},n(t.label),9,et))),128))],544),[[U,v.value,void 0,{number:!0}]]),x(e("select",{"onUpdate:modelValue":s[1]||(s[1]=t=>b.value=t),class:"select select-bordered select-sm"},[...s[4]||(s[4]=[e("option",{value:""},"全部级别",-1),e("option",{value:"info"},"已落库",-1),e("option",{value:"warn"},"未落库",-1),e("option",{value:"error"},"解析失败",-1)])],512),[[U,b.value]]),x(e("input",{"onUpdate:modelValue":s[2]||(s[2]=t=>h.value=t),class:"input input-bordered input-sm w-44",placeholder:"筛选 应用/区域/产品"},null,512),[[Y,h.value]]),e("label",st,[x(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>w.value=t),type:"checkbox",class:"checkbox checkbox-xs",onChange:q},null,544),[[Z,w.value]]),s[5]||(s[5]=u(" 自动刷新 ",-1))]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:m},"刷新"),e("button",{class:"btn btn-outline btn-error btn-sm",title:"清空本日核对流水(不影响已落库的统计数据),清空后可重新观察埋点是否正常进来",onClick:K},"清空本日")])]),e("div",lt,[e("span",null,[s[7]||(s[7]=u("该日保留 ",-1)),e("b",nt,n(L.value),1),s[8]||(s[8]=u(" 条",-1))]),e("span",null,[s[9]||(s[9]=u("当前显示 ",-1)),e("b",at,n(T.value.length),1),s[10]||(s[10]=u(" 条",-1))]),e("span",null,[s[11]||(s[11]=u("最近接收 ",-1)),e("b",ot,n(N.value),1)]),e("span",rt,n(y.value),1)]),e("div",ut,[s[12]||(s[12]=e("div",{id:"logHead"},[e("div",null,"接收时间"),e("div",null,"级别"),e("div",null,"应用 · 区域 · 产品"),e("div",null,"统计日"),e("div",null,"指标摘要 / 说明"),e("div",null,"快照时间")],-1)),e("div",it,[_.value?(o(),a("div",ct,"加载中...")):g.value?(o(),a("div",dt,"加载失败:"+n(g.value),1)):T.value.length?(o(!0),a(f,{key:3},B(T.value,(t,r)=>(o(),a("div",{key:r,class:"logrow"},[e("div",pt,n(C(t.ts)),1),e("div",null,[e("span",{class:F(["lv",M(t.level).cls])},n(M(t.level).txt),3)]),e("div",null,[t.app?(o(),a(f,{key:0},[e("span",mt,n(t.app),1),t.registered?A("",!0):(o(),a("span",ft,"未注册"))],64)):(o(),a("span",gt,"(无应用名)")),e("span",xt," · "+n(D(t.region)),1),e("span",_t," · "+n(S(t.product_id)),1)]),e("div",yt,n(t.stat_day?k(t.stat_day):"-"),1),e("div",null,[t.msg?(o(),a(f,{key:0},[e("span",{class:F(t.level==="error"?"text-red-600":"text-amber-600")},n(t.msg),3),t.summary?(o(),a("span",bt," · "+n(t.summary),1)):A("",!0)],64)):(o(),a(f,{key:1},[u(n(t.summary||"无增量"),1)],64))]),e("div",ht,[u(n(C(t.snap_ts)),1),H(t)?(o(),a("span",wt,"迟到"+n(t.ts-t.snap_ts)+"s",1)):A("",!0)])]))),128)):(o(),a("div",vt,n(c.value.length?"无匹配记录":"该日暂无接收记录"),1))])])]))}}),Lt=J(kt,[["__scopeId","data-v-742ee359"]]);export{Lt as default}; diff --git a/apps/admin/.output/public/_nuxt/CMwGY1Mu.js b/apps/admin/.output/public/_nuxt/CMwGY1Mu.js new file mode 100644 index 00000000..69067e78 --- /dev/null +++ b/apps/admin/.output/public/_nuxt/CMwGY1Mu.js @@ -0,0 +1 @@ +import{a as u}from"./DL330dAC.js";let i=0;function f(){const o=u("app:toasts",()=>[]);function e(s,t="info",r=3e3){const a=++i;o.value.push({id:a,type:t,msg:s}),r>0&&setTimeout(()=>{o.value=o.value.filter(n=>n.id!==a)},r)}return{toasts:o,toast:e,success:(s,t)=>e(s,"success",t),error:(s,t)=>e(s,"error",t),info:(s,t)=>e(s,"info",t),warn:(s,t)=>e(s,"warning",t)}}export{f as u}; diff --git a/apps/admin/.output/public/_nuxt/CZnZfJ5f.js b/apps/admin/.output/public/_nuxt/CZnZfJ5f.js deleted file mode 100644 index 71e8d883..00000000 --- a/apps/admin/.output/public/_nuxt/CZnZfJ5f.js +++ /dev/null @@ -1 +0,0 @@ -import{g as R,j as q,c as a,k as i,v as E,a as t,F as p,r as f,p as j,m as u,t as r,D as H,H as I,s as m,x as G,A as k,o as d}from"./CTAruH_8.js";import{u as J}from"./9B2ftqmN.js";import{u as K}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const P={class:"flex items-center justify-between mb-5"},Q={class:"flex items-center gap-3 mb-4 flex-wrap"},W=["value"],X=["value"],Y={class:"bg-white rounded-xl shadow-sm border border-slate-100"},Z={class:"overflow-x-auto"},tt={class:"table table-zebra"},et={key:0},st={key:1},lt={class:"bg-slate-100/80"},ot={colspan:"7",class:"py-2"},nt={class:"font-semibold text-slate-600 text-sm"},at={class:"text-xs text-slate-400 ml-2"},it={class:"font-mono text-sm text-slate-400"},dt={class:"font-medium"},rt={class:"font-mono text-sm"},ut={class:"badge badge-outline badge-sm"},mt={class:"text-sm"},pt={class:"text-sm"},bt={key:1,class:"text-slate-300"},ct={class:"text-right"},ft={class:"inline-flex gap-1"},vt=["onClick"],gt=["onClick"],xt={class:"flex items-center gap-3 mb-5"},yt={class:"text-lg font-semibold text-slate-800"},wt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},kt={class:"grid grid-cols-2 gap-4"},ht={class:"form-control mb-4"},_t={class:"form-control mb-4"},Vt={class:"form-control mb-4"},Ut={class:"form-control mb-4"},Ct={class:"form-control mb-4"},Ft={class:"form-control mb-4"},St={class:"form-control mb-4"},Lt={class:"form-control mb-4"},$t={class:"form-control mb-6"},At={class:"flex gap-3"},Dt=["disabled"],zt=R({__name:"meettemplates",setup(Et){const{webApi:v}=J(),{success:L,error:g}=K(),x=m("list"),b=m([]),h=m(!1),_=m(!1),c=m(!1),y=m(""),w=m(""),V=m(""),o=G({id:0,title:"",tid:"",language:"",ttype:"",tags:"",icon:"",description:"",outline:"",template:""});function $(l){return(l||"").split(",").map(e=>e.trim()).filter(Boolean)}const B=k(()=>{const l=new Set;return b.value.forEach(e=>{e.language&&l.add(e.language)}),Array.from(l).sort()}),M=k(()=>{const l=new Set;return b.value.forEach(e=>{e.tid&&l.add(e.tid)}),Array.from(l).sort()}),A=k(()=>{const l=V.value.trim().toLowerCase();return b.value.filter(e=>!(y.value&&(e.language||"")!==y.value||w.value&&(e.tid||"")!==w.value||l&&(e.title||"").toLowerCase().indexOf(l)<0))}),O=k(()=>{const l={};return A.value.forEach(s=>{const n=s.tid||"";(l[n]=l[n]||[]).push(s)}),Object.keys(l).sort((s,n)=>s===""?-1:n===""?1:s({key:s,label:s||"无 tid",items:l[s]}))});async function U(){h.value=!0;try{const l=await v("getmeettemplates",{});b.value=l?.templates??[]}catch(l){g(l?.message??"加载失败"),b.value=[]}finally{h.value=!1}}function C(){x.value="list",U()}function F(l){o.id=l.id||0,o.title=l.title||"",o.tid=l.tid||"",o.language=l.language||"",o.ttype=l.ttype||"",o.tags=l.tags||"",o.icon=l.icon||"",o.description=l.description||"",o.outline=l.outline||"",o.template=l.template||""}async function D(l){if(x.value="form",l&&l.id){c.value=!0,F(l);try{const e=await v("getmeettemplate",{id:l.id});e&&F(e)}catch(e){g(e?.message??"加载详情失败")}}else c.value=!1,F({})}async function T(){_.value=!0;try{const l={title:o.title.trim(),tid:o.tid.trim(),language:o.language.trim(),ttype:o.ttype.trim(),tags:o.tags.trim(),icon:o.icon.trim(),description:o.description.trim(),outline:o.outline,template:o.template};c.value&&(l.id=Number(o.id)),await v(c.value?"updatemeettemplate":"addmeettemplate",l),L("保存成功"),C()}catch(l){g(l?.message??"保存失败")}finally{_.value=!1}}function z(l){window.confirm(`确定删除模板 "${l.title||""}" 吗?`)&&v("delmeettemplate",{ids:[l.id]}).then(()=>{L("删除成功"),U()}).catch(e=>g(e?.message??"删除失败"))}return q(U),(l,e)=>(d(),a("div",null,[i(t("div",null,[t("div",P,[e[15]||(e[15]=t("div",null,[t("h2",{class:"text-lg font-semibold text-slate-800"},"会议模板"),t("p",{class:"text-xs text-slate-400 mt-1"},"会议纪要公共模板(source=public),所有应用共享。修改后各服务约 10 分钟内自动同步。")],-1)),t("button",{class:"btn btn-primary btn-sm text-white",onClick:e[0]||(e[0]=s=>D())},"+ 新增模板")]),t("div",Q,[e[18]||(e[18]=t("span",{class:"text-sm text-slate-500"},"语言",-1)),i(t("select",{"onUpdate:modelValue":e[1]||(e[1]=s=>y.value=s),class:"select select-bordered select-sm"},[e[16]||(e[16]=t("option",{value:""},"全部语言",-1)),(d(!0),a(p,null,f(B.value,s=>(d(),a("option",{key:s,value:s},r(s),9,W))),128))],512),[[j,y.value]]),e[19]||(e[19]=t("span",{class:"text-sm text-slate-500"},"分组(tid)",-1)),i(t("select",{"onUpdate:modelValue":e[2]||(e[2]=s=>w.value=s),class:"select select-bordered select-sm"},[e[17]||(e[17]=t("option",{value:""},"全部分组",-1)),(d(!0),a(p,null,f(M.value,s=>(d(),a("option",{key:s,value:s},r(s),9,X))),128))],512),[[j,w.value]]),i(t("input",{"onUpdate:modelValue":e[3]||(e[3]=s=>V.value=s),class:"input input-bordered input-sm w-48",placeholder:"按标题搜索"},null,512),[[u,V.value]])]),t("div",Y,[t("div",Z,[t("table",tt,[e[22]||(e[22]=t("thead",null,[t("tr",null,[t("th",null,"ID"),t("th",null,"标题"),t("th",null,"模板标识(tid)"),t("th",null,"语言"),t("th",null,"类型"),t("th",null,"标签"),t("th",{class:"text-right"},"操作")])],-1)),t("tbody",null,[h.value?(d(),a("tr",et,[...e[20]||(e[20]=[t("td",{colspan:"7",class:"text-center py-8"},[t("span",{class:"loading loading-spinner loading-sm"})],-1)])])):A.value.length?(d(!0),a(p,{key:2},f(O.value,s=>(d(),a(p,{key:s.key},[t("tr",lt,[t("td",ot,[t("span",nt,"▸ "+r(s.label),1),t("span",at,r(s.items.length)+" 个版本",1)])]),(d(!0),a(p,null,f(s.items,n=>(d(),a("tr",{key:n.id,class:"hover"},[t("td",it,r(n.id||""),1),t("td",dt,r(n.title||""),1),t("td",rt,r(n.tid||""),1),t("td",null,[t("span",ut,r(n.language||"-"),1)]),t("td",mt,r(n.ttype||""),1),t("td",pt,[$(n.tags).length?(d(!0),a(p,{key:0},f($(n.tags),(S,N)=>(d(),a("span",{key:N,class:"badge badge-ghost badge-sm mr-1"},r(S),1))),128)):(d(),a("span",bt,"-"))]),t("td",ct,[t("div",ft,[t("button",{class:"btn btn-ghost btn-xs",onClick:S=>D(n)},"编辑",8,vt),t("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:S=>z(n)},"删除",8,gt)])])]))),128))],64))),128)):(d(),a("tr",st,[...e[21]||(e[21]=[t("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无模板",-1)])]))])])])])],512),[[E,x.value==="list"]]),i(t("div",null,[t("div",xt,[t("button",{class:"btn btn-ghost btn-sm",onClick:e[4]||(e[4]=s=>C())},"← 返回列表"),t("h2",yt,r(c.value?"编辑模板":"新增模板"),1)]),t("div",wt,[t("form",{onSubmit:H(T,["prevent"])},[t("div",kt,[t("div",ht,[e[23]||(e[23]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"标题 *")],-1)),i(t("input",{"onUpdate:modelValue":e[5]||(e[5]=s=>o.title=s),type:"text",class:"input input-bordered w-full",required:""},null,512),[[u,o.title]])]),t("div",_t,[e[24]||(e[24]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"模板标识 (tid)")],-1)),i(t("input",{"onUpdate:modelValue":e[6]||(e[6]=s=>o.tid=s),type:"text",class:"input input-bordered w-full",placeholder:"同一 tid 可有多语言版本"},null,512),[[u,o.tid]])]),t("div",Vt,[e[25]||(e[25]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"语言")],-1)),i(t("input",{"onUpdate:modelValue":e[7]||(e[7]=s=>o.language=s),type:"text",class:"input input-bordered w-full",placeholder:"如 zh / en",list:"langlist"},null,512),[[u,o.language]]),e[26]||(e[26]=I('',1))]),t("div",Ut,[e[27]||(e[27]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"类型 (ttype)")],-1)),i(t("input",{"onUpdate:modelValue":e[8]||(e[8]=s=>o.ttype=s),type:"text",class:"input input-bordered w-full",placeholder:"如 meeting / interview"},null,512),[[u,o.ttype]])]),t("div",Ct,[e[28]||(e[28]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"标签 (tags)")],-1)),i(t("input",{"onUpdate:modelValue":e[9]||(e[9]=s=>o.tags=s),type:"text",class:"input input-bordered w-full",placeholder:"逗号分隔"},null,512),[[u,o.tags]])]),t("div",Ft,[e[29]||(e[29]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"图标 (icon)")],-1)),i(t("input",{"onUpdate:modelValue":e[10]||(e[10]=s=>o.icon=s),type:"text",class:"input input-bordered w-full",placeholder:"图标 URL 或名称"},null,512),[[u,o.icon]])])]),t("div",St,[e[30]||(e[30]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"描述")],-1)),i(t("input",{"onUpdate:modelValue":e[11]||(e[11]=s=>o.description=s),type:"text",class:"input input-bordered w-full"},null,512),[[u,o.description]])]),t("div",Lt,[e[31]||(e[31]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"大纲 (outline)")],-1)),i(t("textarea",{"onUpdate:modelValue":e[12]||(e[12]=s=>o.outline=s),class:"textarea textarea-bordered w-full font-mono text-sm",rows:"4"},null,512),[[u,o.outline]])]),t("div",$t,[e[32]||(e[32]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"模板内容 (template)")],-1)),i(t("textarea",{"onUpdate:modelValue":e[13]||(e[13]=s=>o.template=s),class:"textarea textarea-bordered w-full font-mono text-sm",rows:"10"},null,512),[[u,o.template]])]),t("div",At,[t("button",{type:"button",class:"btn btn-ghost",onClick:e[14]||(e[14]=s=>C())},"取消"),t("button",{type:"submit",class:"btn btn-primary text-white",disabled:_.value},"保存",8,Dt)])],32)])],512),[[E,x.value==="form"]])]))}});export{zt as default}; diff --git a/apps/admin/.output/public/_nuxt/P2ZWRt51.js b/apps/admin/.output/public/_nuxt/C_4yneL9.js similarity index 96% rename from apps/admin/.output/public/_nuxt/P2ZWRt51.js rename to apps/admin/.output/public/_nuxt/C_4yneL9.js index c5d0f6ac..43456c24 100644 --- a/apps/admin/.output/public/_nuxt/P2ZWRt51.js +++ b/apps/admin/.output/public/_nuxt/C_4yneL9.js @@ -1 +1 @@ -import{_ as o,o as s,c as a,a as t,t as r}from"./CTAruH_8.js";import{u as i}from"./DpWhlKu2.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},c={class:"max-w-520px text-center"},l=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:500},statusText:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return i({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(h,m)=>(s(),a("div",u,[t("div",c,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.status)},null,8,l),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusText)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},x=o(f,[["__scopeId","data-v-2c2ce9e3"]]);export{x as default}; +import{_ as o,o as s,c as a,a as t,t as r}from"./CfpW9SkI.js";import{u as i}from"./tlYhbUA5.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},c={class:"max-w-520px text-center"},l=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:500},statusText:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return i({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(h,m)=>(s(),a("div",u,[t("div",c,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.status)},null,8,l),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusText)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},x=o(f,[["__scopeId","data-v-2c2ce9e3"]]);export{x as default}; diff --git a/apps/admin/.output/public/_nuxt/Cy8zKM7T.js b/apps/admin/.output/public/_nuxt/C_DpaApf.js similarity index 71% rename from apps/admin/.output/public/_nuxt/Cy8zKM7T.js rename to apps/admin/.output/public/_nuxt/C_DpaApf.js index 25116ead..639492c3 100644 --- a/apps/admin/.output/public/_nuxt/Cy8zKM7T.js +++ b/apps/admin/.output/public/_nuxt/C_DpaApf.js @@ -1,4 +1,4 @@ -import{g as fe,C as xe,j as ge,c as d,a as e,k as r,p as O,F as E,r as $,m,l as z,v as K,t as i,H as ye,q as jt,D as Gt,n as Xt,d as g,A as U,s as n,x as he,o as u}from"./CTAruH_8.js";import{u as we}from"./9B2ftqmN.js";import{u as ke}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const Ce={class:"space-y-6"},_e={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4"},Se={class:"flex items-end gap-3 flex-wrap"},Me={class:"form-control"},Ue=["value"],Ve={class:"form-control"},De=["value"],Ae={class:"form-control"},je={class:"form-control"},Ne={class:"grid grid-cols-3 gap-4"},Ie={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5"},Te={class:"text-2xl font-bold text-slate-800"},Pe={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5"},Fe={class:"text-2xl font-bold text-indigo-600"},Be={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5"},Le={class:"text-base font-semibold text-slate-700"},Oe={class:"bg-white rounded-xl shadow-sm border border-slate-100 mt-5"},Ee={class:"flex items-center justify-between px-5 py-3 border-b border-slate-100"},$e={class:"flex items-center gap-2"},ze={class:"text-xs text-slate-400"},qe={class:"overflow-x-auto",style:{"max-height":"360px"}},Re={class:"table table-pin-rows text-sm"},He={key:0},Ge={key:1},Xe={colspan:"8",class:"text-center text-red-400 py-8"},Ye={key:2},Je={class:"text-xs text-slate-500 whitespace-nowrap"},Ke={class:"text-xs"},Qe={class:"text-xs"},We={class:"text-xs"},Ze={class:"font-mono text-xs"},ts={class:"font-mono text-xs"},es={class:"text-right font-medium"},ss={class:"flex gap-1"},ls=["onClick"],os=["onClick"],ns={class:"bg-white rounded-xl shadow-sm border border-slate-100 mt-5"},as={class:"flex items-center justify-between px-5 py-3 border-b border-slate-100 flex-wrap gap-2"},is={class:"flex items-end gap-2 flex-wrap"},ds={class:"form-control"},us={class:"form-control"},rs={class:"form-control"},cs={class:"form-control"},vs={class:"form-control"},bs={class:"form-control"},ps={class:"form-control"},ms={class:"form-control"},fs=["disabled"],xs=["disabled"],gs=["disabled"],ys=["disabled"],hs={class:"overflow-x-auto"},ws={class:"w-8"},ks={key:0},Cs={key:1},_s={colspan:"10",class:"text-center text-red-400 py-8"},Ss={key:2},Ms=["value"],Us={class:"font-mono text-xs"},Vs={class:"font-mono text-xs"},Ds={key:0,class:"badge badge-success badge-sm"},As={key:1,class:"badge badge-warning badge-sm"},js={key:2,class:"badge badge-error badge-sm"},Ns={key:0,class:"badge badge-error badge-sm"},Is={key:1,class:"badge badge-ghost badge-sm"},Ts={class:"text-xs"},Ps={class:"text-xs text-slate-500"},Fs={class:"flex gap-1"},Bs=["onClick"],Ls=["onClick"],Os=["onClick"],Es={class:"flex items-center justify-between px-5 py-3 border-t border-slate-100"},$s={class:"text-xs text-slate-500"},zs={class:"flex items-center gap-2"},qs=["disabled"],Rs={class:"text-xs text-slate-500"},Hs=["disabled"],Gs={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},Xs={class:"form-control mb-4"},Ys=["value"],Js={class:"form-control mb-4"},Ks=["disabled"],Qs={value:0},Ws=["value"],Zs={class:"tabs tabs-boxed mb-4 bg-slate-100 inline-flex"},tl={class:"form-control mb-4"},el={class:"form-control mb-4"},sl=["required"],ll={class:"form-control mb-2"},ol={class:"form-control mb-4"},nl={class:"flex gap-3 mt-2"},al=["disabled"],il={key:0,class:"loading loading-spinner loading-xs"},dl={class:"modal-box w-11/12 max-w-2xl"},ul={class:"grid grid-cols-2 gap-4 mb-3"},rl={class:"form-control"},cl={class:"form-control"},vl={class:"form-control mb-3"},bl={class:"form-control mb-3"},pl={class:"form-control mb-4"},ml={class:"text-sm text-slate-500"},fl={class:"modal-action"},xl=["disabled"],gl={key:0,class:"loading loading-spinner loading-xs"},yl={class:"modal-box max-w-md"},hl={class:"text-sm space-y-1 mb-4"},wl={class:"font-medium"},kl={class:"font-medium"},Cl={class:"font-mono font-medium text-red-600"},_l={class:"font-medium"},Sl={class:"form-control mb-2"},Ml={class:"label"},Ul={class:"label-text text-xs"},Vl={class:"font-mono text-red-600"},Dl={class:"text-xs text-red-500 min-h-[1em] mb-2"},Al={class:"modal-action"},jl=["disabled"],Nl={key:0,class:"loading loading-spinner loading-xs"},Ol=fe({__name:"device",setup(Il){const{webApi:y}=we(),{success:h,error:V,warn:_}=ke(),w=xe(),Yt=U(()=>w.identity===1),Jt=U(()=>w.identity>0&&w.identity<=2),D=n([]),A=n([]),j=n([]),k=n([]),x=n([]),q=n(0),C=n(0),Q=n(200),N=n("production"),W=n("main"),S=n(0),b=n(0),pt=n(""),mt=n(""),ft=n("-"),xt=n("-"),gt=n("-"),yt=n(""),ht=n(!1),Z=n(""),tt=n("1"),wt=n("usedtime"),et=n(""),kt=n(""),Ct=n(""),_t=n(""),R=n("200"),St=n(null),H=n(""),st=n(!1),I=n([]),Nt=U(()=>I.value.length),It=n(null),T=n(0),G=n(0),lt=n(!1),ot=n(null),X=n(""),nt=n(!1),Y=n(null),P=n(""),at=n(null),it=n(!1),v=he({to:"",cc:"",subject:"",content:""}),Mt=n(null),p=n(null),dt=n(""),ut=n(""),rt=n(!1),Kt=U(()=>!!p.value&&dt.value.trim()===String(p.value.probatch)),Tt=U(()=>Math.max(1,Math.ceil(q.value/Q.value))),Qt=U(()=>b.value?"第 "+(C.value+1)+" / "+Tt.value+" 页":"-"),Pt=U(()=>S.value?A.value.filter(l=>l.factoryid===S.value):A.value),Ft=U(()=>T.value?A.value.filter(l=>l.factoryid===T.value):[]);function ct(l){if(!l)return"-";const t=new Date(l*1e3);return t.getFullYear()+"-"+String(t.getMonth()+1).padStart(2,"0")+"-"+String(t.getDate()).padStart(2,"0")+" "+String(t.getHours()).padStart(2,"0")+":"+String(t.getMinutes()).padStart(2,"0")}function Bt(l,t){if(!l)return 0;const s=new Date(l+(t?"T23:59:59":"T00:00:00"));return Math.floor(s.getTime()/1e3)}function Ut(l){const t=D.value.find(s=>s.id===l);return t?t.factory:String(l||"")}function Vt(l){const t=j.value.find(s=>s.id===l);return t?t.devicename:String(l||"")}function Lt(l){return l?Number(l).toString(16).toUpperCase():""}async function Wt(){try{const[t,s]=await Promise.all([y("getfactorys",{}),y("getproducts",{})]);D.value=t?.factorys??[],j.value=s?.products??[]}catch(t){V(t?.message??"加载基础数据失败"),D.value=[],j.value=[]}const l=w.products.map(t=>parseInt(t)).filter(t=>!isNaN(t)&&t>0);w.identity!==1&&l.length>0?A.value=j.value.filter(t=>l.indexOf(t.id)>=0):A.value=j.value.slice(),A.value.length>0&&(b.value=A.value[0].id),F()}function vt(){W.value="main"}function Zt(){W.value="create",T.value=0,G.value=0,lt.value=!1,ot.value=null,X.value="",Dt("production")}function te(){b.value&&!Pt.value.find(l=>l.id===b.value)&&(b.value=0),F()}function ee(){C.value=0,F()}function Ot(){let l;if(R.value==="custom"){if(l=Number(St.value),!l||l<1)return}else l=parseInt(R.value);l>2e3&&(l=2e3),Q.value=l,B(!0)}function F(){Et(),B(!0)}async function Et(){ht.value=!0,Z.value="";const l={limit:500};S.value&&(l.factoryid=S.value),b.value&&(l.productid=b.value);const t=Bt(pt.value,!1);t&&(l.start=t);const s=Bt(mt.value,!0);s&&(l.end=s);try{const o=await y("getfactorydeliverynotes",l);k.value=o?.notes??[],ft.value=o?.total_batch??0,xt.value=o?.total_devices??0,gt.value=k.value.length?ct(k.value[0].ts):"-",yt.value="共 "+k.value.length+" 条"}catch(o){Z.value=o?.message??"",k.value=[],ft.value="0",xt.value="0",gt.value="-",yt.value=""}finally{ht.value=!1}}function se(l,t,s,o){p.value={factoryid:l,productid:t,probatch:s,devicetnum:o},dt.value="",ut.value="",Mt.value?.showModal()}function $t(){Mt.value?.close(),p.value=null}async function le(){if(p.value){rt.value=!0,ut.value="";try{const l=await y("revokefactorydevics",{factoryid:p.value.factoryid,productid:p.value.productid,probatch:p.value.probatch});$t(),h("已撤销批次,删除 "+(l?.deleted??0)+" 个设备码"),F()}catch(l){ut.value=l?.message??"撤销失败"}finally{rt.value=!1}}}function oe(l,t){b.value=l,et.value=String(t),tt.value="0",C.value=0,B(!0),setTimeout(()=>{It.value?.scrollIntoView({behavior:"smooth",block:"start"})},100)}function zt(){const l={productid:b.value,sortby:wt.value,order:"desc"},t=parseInt(tt.value);isNaN(t)||(l.status=t),S.value&&(l.factoryid=S.value);const s=parseInt(et.value);s&&(l.probatch=s);const o=kt.value.trim();o&&(l.code=o);const a=Ct.value.trim();a&&(l.devicemac=a);const f=_t.value.trim();return f&&(l.uid=f),l}async function B(l){if(l&&(C.value=0),I.value=[],st.value=!1,!b.value){x.value=[],q.value=0,H.value="";return}const t=Object.assign(zt(),{limit:Q.value,offset:C.value*Q.value});try{const s=await y("getfactorydevics",t);x.value=s?.devices??[],q.value=s?.total??0,H.value=""}catch(s){H.value=s?.message??"",x.value=[],q.value=0}}function qt(l){C.value=Math.max(0,C.value+l),B(!1)}async function ne(l){if(window.confirm("确定重置该设备授权状态?"))try{await y("resetlicensestatus",{licenses:l}),h("重置成功"),B(!1),Et()}catch(t){V(t?.message??"失败")}}function ae(){st.value?I.value=x.value.map(l=>l.code||""):I.value=[]}async function bt(l,t){if(!b.value){_("请先选择产品");return}const s=t??I.value.slice();if(!s.length){_("请先勾选设备码");return}const o=l===-1?"禁用":"恢复";if(window.confirm("确定"+o+" "+s.length+" 个设备码?"+(l===-1?` +import{g as fe,C as xe,j as ge,c as d,a as e,k as r,p as O,F as E,r as $,m,l as z,v as K,t as i,H as ye,q as jt,D as Gt,n as Xt,d as g,A as U,s as n,x as he,o as u}from"./CfpW9SkI.js";import{u as we}from"./DSu8q42f.js";import{u as ke}from"./CMwGY1Mu.js";import"./DL330dAC.js";const Ce={class:"space-y-6"},_e={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4"},Se={class:"flex items-end gap-3 flex-wrap"},Me={class:"form-control"},Ue=["value"],Ve={class:"form-control"},De=["value"],Ae={class:"form-control"},je={class:"form-control"},Ne={class:"grid grid-cols-3 gap-4"},Ie={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5"},Te={class:"text-2xl font-bold text-slate-800"},Pe={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5"},Fe={class:"text-2xl font-bold text-indigo-600"},Be={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5"},Le={class:"text-base font-semibold text-slate-700"},Oe={class:"bg-white rounded-xl shadow-sm border border-slate-100 mt-5"},Ee={class:"flex items-center justify-between px-5 py-3 border-b border-slate-100"},$e={class:"flex items-center gap-2"},ze={class:"text-xs text-slate-400"},qe={class:"overflow-x-auto",style:{"max-height":"360px"}},Re={class:"table table-pin-rows text-sm"},He={key:0},Ge={key:1},Xe={colspan:"8",class:"text-center text-red-400 py-8"},Ye={key:2},Je={class:"text-xs text-slate-500 whitespace-nowrap"},Ke={class:"text-xs"},Qe={class:"text-xs"},We={class:"text-xs"},Ze={class:"font-mono text-xs"},ts={class:"font-mono text-xs"},es={class:"text-right font-medium"},ss={class:"flex gap-1"},ls=["onClick"],os=["onClick"],ns={class:"bg-white rounded-xl shadow-sm border border-slate-100 mt-5"},as={class:"flex items-center justify-between px-5 py-3 border-b border-slate-100 flex-wrap gap-2"},is={class:"flex items-end gap-2 flex-wrap"},ds={class:"form-control"},us={class:"form-control"},rs={class:"form-control"},cs={class:"form-control"},vs={class:"form-control"},bs={class:"form-control"},ps={class:"form-control"},ms={class:"form-control"},fs=["disabled"],xs=["disabled"],gs=["disabled"],ys=["disabled"],hs={class:"overflow-x-auto"},ws={class:"w-8"},ks={key:0},Cs={key:1},_s={colspan:"10",class:"text-center text-red-400 py-8"},Ss={key:2},Ms=["value"],Us={class:"font-mono text-xs"},Vs={class:"font-mono text-xs"},Ds={key:0,class:"badge badge-success badge-sm"},As={key:1,class:"badge badge-warning badge-sm"},js={key:2,class:"badge badge-error badge-sm"},Ns={key:0,class:"badge badge-error badge-sm"},Is={key:1,class:"badge badge-ghost badge-sm"},Ts={class:"text-xs"},Ps={class:"text-xs text-slate-500"},Fs={class:"flex gap-1"},Bs=["onClick"],Ls=["onClick"],Os=["onClick"],Es={class:"flex items-center justify-between px-5 py-3 border-t border-slate-100"},$s={class:"text-xs text-slate-500"},zs={class:"flex items-center gap-2"},qs=["disabled"],Rs={class:"text-xs text-slate-500"},Hs=["disabled"],Gs={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},Xs={class:"form-control mb-4"},Ys=["value"],Js={class:"form-control mb-4"},Ks=["disabled"],Qs={value:0},Ws=["value"],Zs={class:"tabs tabs-boxed mb-4 bg-slate-100 inline-flex"},tl={class:"form-control mb-4"},el={class:"form-control mb-4"},sl=["required"],ll={class:"form-control mb-2"},ol={class:"form-control mb-4"},nl={class:"flex gap-3 mt-2"},al=["disabled"],il={key:0,class:"loading loading-spinner loading-xs"},dl={class:"modal-box w-11/12 max-w-2xl"},ul={class:"grid grid-cols-2 gap-4 mb-3"},rl={class:"form-control"},cl={class:"form-control"},vl={class:"form-control mb-3"},bl={class:"form-control mb-3"},pl={class:"form-control mb-4"},ml={class:"text-sm text-slate-500"},fl={class:"modal-action"},xl=["disabled"],gl={key:0,class:"loading loading-spinner loading-xs"},yl={class:"modal-box max-w-md"},hl={class:"text-sm space-y-1 mb-4"},wl={class:"font-medium"},kl={class:"font-medium"},Cl={class:"font-mono font-medium text-red-600"},_l={class:"font-medium"},Sl={class:"form-control mb-2"},Ml={class:"label"},Ul={class:"label-text text-xs"},Vl={class:"font-mono text-red-600"},Dl={class:"text-xs text-red-500 min-h-[1em] mb-2"},Al={class:"modal-action"},jl=["disabled"],Nl={key:0,class:"loading loading-spinner loading-xs"},Ll=fe({__name:"device",setup(Il){const{webApi:y}=we(),{success:h,error:V,warn:_}=ke(),w=xe(),Yt=U(()=>w.identity===1),Jt=U(()=>w.identity>0&&w.identity<=2),D=n([]),A=n([]),j=n([]),k=n([]),x=n([]),q=n(0),C=n(0),Q=n(200),N=n("production"),W=n("main"),S=n(0),b=n(0),pt=n(""),mt=n(""),ft=n("-"),xt=n("-"),gt=n("-"),yt=n(""),ht=n(!1),Z=n(""),tt=n("1"),wt=n("usedtime"),et=n(""),kt=n(""),Ct=n(""),_t=n(""),R=n("200"),St=n(null),H=n(""),st=n(!1),I=n([]),Nt=U(()=>I.value.length),It=n(null),T=n(0),G=n(0),lt=n(!1),ot=n(null),X=n(""),nt=n(!1),Y=n(null),P=n(""),at=n(null),it=n(!1),v=he({to:"",cc:"",subject:"",content:""}),Mt=n(null),p=n(null),dt=n(""),ut=n(""),rt=n(!1),Kt=U(()=>!!p.value&&dt.value.trim()===String(p.value.probatch)),Tt=U(()=>Math.max(1,Math.ceil(q.value/Q.value))),Qt=U(()=>b.value?"第 "+(C.value+1)+" / "+Tt.value+" 页":"-"),Pt=U(()=>S.value?A.value.filter(l=>l.factoryid===S.value):A.value),Ft=U(()=>T.value?A.value.filter(l=>l.factoryid===T.value):[]);function ct(l){if(!l)return"-";const t=new Date(l*1e3);return t.getFullYear()+"-"+String(t.getMonth()+1).padStart(2,"0")+"-"+String(t.getDate()).padStart(2,"0")+" "+String(t.getHours()).padStart(2,"0")+":"+String(t.getMinutes()).padStart(2,"0")}function Bt(l,t){if(!l)return 0;const s=new Date(l+(t?"T23:59:59":"T00:00:00"));return Math.floor(s.getTime()/1e3)}function Ut(l){const t=D.value.find(s=>s.id===l);return t?t.factory:String(l||"")}function Vt(l){const t=j.value.find(s=>s.id===l);return t?t.devicename:String(l||"")}function Lt(l){return l?Number(l).toString(16).toUpperCase():""}async function Wt(){try{const[t,s]=await Promise.all([y("getfactorys",{}),y("getproducts",{})]);D.value=t?.factorys??[],j.value=s?.products??[]}catch(t){V(t?.message??"加载基础数据失败"),D.value=[],j.value=[]}const l=w.products.map(t=>parseInt(t)).filter(t=>!isNaN(t)&&t>0);w.identity!==1&&l.length>0?A.value=j.value.filter(t=>l.indexOf(t.id)>=0):A.value=j.value.slice(),A.value.length>0&&(b.value=A.value[0].id),F()}function vt(){W.value="main"}function Zt(){W.value="create",T.value=0,G.value=0,lt.value=!1,ot.value=null,X.value="",Dt("production")}function te(){b.value&&!Pt.value.find(l=>l.id===b.value)&&(b.value=0),F()}function ee(){C.value=0,F()}function Ot(){let l;if(R.value==="custom"){if(l=Number(St.value),!l||l<1)return}else l=parseInt(R.value);l>2e3&&(l=2e3),Q.value=l,B(!0)}function F(){Et(),B(!0)}async function Et(){ht.value=!0,Z.value="";const l={limit:500};S.value&&(l.factoryid=S.value),b.value&&(l.productid=b.value);const t=Bt(pt.value,!1);t&&(l.start=t);const s=Bt(mt.value,!0);s&&(l.end=s);try{const o=await y("getfactorydeliverynotes",l);k.value=o?.notes??[],ft.value=o?.total_batch??0,xt.value=o?.total_devices??0,gt.value=k.value.length?ct(k.value[0].ts):"-",yt.value="共 "+k.value.length+" 条"}catch(o){Z.value=o?.message??"",k.value=[],ft.value="0",xt.value="0",gt.value="-",yt.value=""}finally{ht.value=!1}}function se(l,t,s,o){p.value={factoryid:l,productid:t,probatch:s,devicetnum:o},dt.value="",ut.value="",Mt.value?.showModal()}function $t(){Mt.value?.close(),p.value=null}async function le(){if(p.value){rt.value=!0,ut.value="";try{const l=await y("revokefactorydevics",{factoryid:p.value.factoryid,productid:p.value.productid,probatch:p.value.probatch});$t(),h("已撤销批次,删除 "+(l?.deleted??0)+" 个设备码"),F()}catch(l){ut.value=l?.message??"撤销失败"}finally{rt.value=!1}}}function oe(l,t){b.value=l,et.value=String(t),tt.value="0",C.value=0,B(!0),setTimeout(()=>{It.value?.scrollIntoView({behavior:"smooth",block:"start"})},100)}function zt(){const l={productid:b.value,sortby:wt.value,order:"desc"},t=parseInt(tt.value);isNaN(t)||(l.status=t),S.value&&(l.factoryid=S.value);const s=parseInt(et.value);s&&(l.probatch=s);const o=kt.value.trim();o&&(l.code=o);const a=Ct.value.trim();a&&(l.devicemac=a);const f=_t.value.trim();return f&&(l.uid=f),l}async function B(l){if(l&&(C.value=0),I.value=[],st.value=!1,!b.value){x.value=[],q.value=0,H.value="";return}const t=Object.assign(zt(),{limit:Q.value,offset:C.value*Q.value});try{const s=await y("getfactorydevics",t);x.value=s?.devices??[],q.value=s?.total??0,H.value=""}catch(s){H.value=s?.message??"",x.value=[],q.value=0}}function qt(l){C.value=Math.max(0,C.value+l),B(!1)}async function ne(l){if(window.confirm("确定重置该设备授权状态?"))try{await y("resetlicensestatus",{licenses:l}),h("重置成功"),B(!1),Et()}catch(t){V(t?.message??"失败")}}function ae(){st.value?I.value=x.value.map(l=>l.code||""):I.value=[]}async function bt(l,t){if(!b.value){_("请先选择产品");return}const s=t??I.value.slice();if(!s.length){_("请先勾选设备码");return}const o=l===-1?"禁用":"恢复";if(window.confirm("确定"+o+" "+s.length+" 个设备码?"+(l===-1?` 禁用后该设备码将无法绑定。`:"")))try{const a=await y("disablefactorydevics",{productid:b.value,codes:s,disabled:l});h(o+"成功("+(a?.affected??0)+" 条)"),B(!1)}catch(a){V(a?.message??o+"失败")}}function ie(){G.value=0}function Dt(l){N.value=l}function de(l){const s=l.target.files?.[0];if(!s)return;const o=new FileReader;o.onload=a=>{const f=String(a.target?.result??"").split(` `),c=[];f.forEach(L=>{const M=L.split(",");M[0]&&M[0].trim()&&c.push(M[0].trim())}),X.value=c.join(", "),h("读取 "+c.length+" 个 MAC 地址")},o.readAsText(s,"UTF-8")}async function ue(){const l=Number(T.value),t=Number(G.value);if(!l||!t){_("请选择厂家和产品");return}const s={factoryid:l,productid:t};if(N.value==="production"){if(s.createtype=1,s.number=Number(ot.value),s.isbindmac=lt.value,!s.number||s.number<1){_("请输入有效数量");return}}else{s.createtype=2;const o=X.value.trim();if(!o){_("请输入或上传 MAC 地址");return}s.macaddresses=o}nt.value=!0;try{const o=await y("createfactorydevics",s);o&&o.devices&&o.devices.length>0?(h("成功生成 "+o.devices.length+" 个授权码"),At(o.devices),ve(o,l,t)):(h("创建成功"),vt(),F())}catch(o){V(o?.message??"创建失败")}finally{nt.value=!1}}function At(l){const t=l.some(c=>c.devicemac),s=t?["License","Mac地址"]:["License"],o=l.map(c=>t?[c.code||"",c.devicemac||""]:[c.code||""]),a=[s.join(",")].concat(o.map(c=>c.join(","))).join(` `);Y.value=new Blob([a],{type:"text/csv;charset=utf-8;"});const f=l[0];P.value="设备生产_"+(f.factoryid||"unknown")+"_"+(f.productid||"unknown")+"_"+new Date().toISOString().split("T")[0]+".csv"}async function re(){if(!b.value){_("请先选择产品");return}try{const l=zt(),t=2e3;let s=[],o=0,a=1/0;for(;s.length[ct(a.ts),Ut(a.factoryid),Vt(a.productid),a.probatch||0,a.startmac||"",a.endmac||"",a.devicetnum||0]),s=[l.join(",")].concat(t.map(a=>a.join(","))).join(` @@ -25,4 +25,4 @@ import{g as fe,C as xe,j as ge,c as d,a as e,k as r,p as O,F as E,r as $,m,l as 请查收。 此致 -敬礼!`,at.value?.showModal()}function Ht(){at.value?.close()}async function pe(){it.value=!0;const l=new FormData;l.append("to",v.to),l.append("subject",v.subject),l.append("content",v.content);const t=v.cc.trim();if(t&&l.append("cc",t),Y.value&&P.value){const s=new File([Y.value],P.value,{type:"text/csv"});l.append("file",s,P.value)}try{const s={};w.token&&(s.Authorization=w.token),w.currentAppId&&(s["X-App-Id"]=String(w.currentAppId));const a=await(await fetch("/web/api/api_sendsmtpemail",{method:"POST",headers:s,body:l})).json();a.code===0?(h("邮件发送成功"),Ht(),vt(),F()):V("发送失败: "+(a.msg||"未知错误"))}catch(s){V("发送失败: "+(s?.message??""))}finally{it.value=!1}}return ge(Wt),(l,t)=>(u(),d("div",Ce,[e("div",_e,[e("div",Se,[e("div",Me,[t[32]||(t[32]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"厂家")],-1)),r(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>S.value=s),class:"select select-bordered select-sm",style:{"min-width":"160px"},onChange:te},[t[31]||(t[31]=e("option",{value:0},"全部",-1)),(u(!0),d(E,null,$(D.value,s=>(u(),d("option",{key:s.id,value:s.id},i(s.factory||""),9,Ue))),128))],544),[[O,S.value,void 0,{number:!0}]])]),e("div",Ve,[t[34]||(t[34]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"产品")],-1)),r(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>b.value=s),class:"select select-bordered select-sm",style:{"min-width":"200px"},onChange:ee},[t[33]||(t[33]=e("option",{value:0},"请选择产品",-1)),(u(!0),d(E,null,$(Pt.value,s=>(u(),d("option",{key:s.id,value:s.id},i(s.devicename||""),9,De))),128))],544),[[O,b.value,void 0,{number:!0}]])]),e("div",Ae,[t[35]||(t[35]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"起始时间")],-1)),r(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>pt.value=s),type:"date",class:"input input-bordered input-sm"},null,512),[[m,pt.value]])]),e("div",je,[t[36]||(t[36]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"结束时间")],-1)),r(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>mt.value=s),type:"date",class:"input input-bordered input-sm"},null,512),[[m,mt.value]])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:F},"查询"),Jt.value?(u(),d("button",{key:0,class:"btn btn-success btn-sm text-white",onClick:Zt},"+ 生成授权码")):z("",!0)])]),r(e("div",null,[e("div",Ne,[e("div",Ie,[t[37]||(t[37]=e("div",{class:"text-xs text-slate-400 mb-1"},"命中批次数",-1)),e("div",Te,i(ft.value),1)]),e("div",Pe,[t[38]||(t[38]=e("div",{class:"text-xs text-slate-400 mb-1"},"生产设备总数",-1)),e("div",Fe,i(xt.value),1)]),e("div",Be,[t[39]||(t[39]=e("div",{class:"text-xs text-slate-400 mb-1"},"最近一次生产时间",-1)),e("div",Le,i(gt.value),1)])]),e("div",Oe,[e("div",Ee,[t[40]||(t[40]=e("h3",{class:"text-sm font-semibold text-slate-700"},"生产记录(按批次)",-1)),e("div",$e,[e("span",ze,i(yt.value),1),e("button",{class:"btn btn-ghost btn-xs",onClick:ce},"导出CSV")])]),e("div",qe,[e("table",Re,[t[43]||(t[43]=e("thead",null,[e("tr",null,[e("th",{class:"w-40"},"生产时间"),e("th",null,"厂家"),e("th",null,"产品"),e("th",null,"批次"),e("th",null,"起始MAC"),e("th",null,"结束MAC"),e("th",{class:"text-right"},"数量"),e("th",null,"操作")])],-1)),e("tbody",null,[ht.value?(u(),d("tr",He,[...t[41]||(t[41]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"加载中…",-1)])])):Z.value?(u(),d("tr",Ge,[e("td",Xe,"查询失败: "+i(Z.value),1)])):k.value.length?(u(!0),d(E,{key:3},$(k.value,(s,o)=>(u(),d("tr",{key:o,class:"hover"},[e("td",Je,i(ct(s.ts)),1),e("td",Ke,i(Ut(s.factoryid)),1),e("td",Qe,i(Vt(s.productid)),1),e("td",We,i(s.probatch||0),1),e("td",Ze,i(s.startmac||""),1),e("td",ts,i(s.endmac||""),1),e("td",es,i(s.devicetnum||0),1),e("td",null,[e("div",ss,[e("button",{class:"btn btn-ghost btn-xs text-indigo-500",onClick:a=>oe(s.productid,s.probatch)},"查看授权码",8,ls),Yt.value?(u(),d("button",{key:0,class:"btn btn-ghost btn-xs text-red-500",onClick:a=>se(s.factoryid,s.productid,s.probatch,s.devicetnum||0)},"撤销",8,os)):z("",!0)])])]))),128)):(u(),d("tr",Ye,[...t[42]||(t[42]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])]))])])])]),e("div",ns,[e("div",as,[t[55]||(t[55]=e("h3",{class:"text-sm font-semibold text-slate-700"},"授权码记录",-1)),e("div",is,[e("div",ds,[t[45]||(t[45]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"状态")],-1)),r(e("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>tt.value=s),class:"select select-bordered select-xs"},[...t[44]||(t[44]=[e("option",{value:"1"},"已激活",-1),e("option",{value:"-1"},"未使用",-1),e("option",{value:"2"},"已过期",-1),e("option",{value:"0"},"全部",-1)])],512),[[O,tt.value]])]),e("div",us,[t[47]||(t[47]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"排序")],-1)),r(e("select",{"onUpdate:modelValue":t[5]||(t[5]=s=>wt.value=s),class:"select select-bordered select-xs"},[...t[46]||(t[46]=[e("option",{value:"usedtime"},"激活时间",-1),e("option",{value:"createtime"},"创建时间",-1)])],512),[[O,wt.value]])]),e("div",rs,[t[48]||(t[48]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"批次")],-1)),r(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>et.value=s),type:"number",class:"input input-bordered input-xs",placeholder:"批次号",style:{width:"90px"}},null,512),[[m,et.value]])]),e("div",cs,[t[49]||(t[49]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"授权码")],-1)),r(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>kt.value=s),type:"text",class:"input input-bordered input-xs",placeholder:"授权码"},null,512),[[m,kt.value]])]),e("div",vs,[t[50]||(t[50]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"MAC")],-1)),r(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>Ct.value=s),type:"text",class:"input input-bordered input-xs",placeholder:"MAC"},null,512),[[m,Ct.value]])]),e("div",bs,[t[51]||(t[51]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"用户UID")],-1)),r(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>_t.value=s),type:"text",class:"input input-bordered input-xs",placeholder:"UID"},null,512),[[m,_t.value]])]),e("div",ps,[t[53]||(t[53]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"每页数量")],-1)),r(e("select",{"onUpdate:modelValue":t[10]||(t[10]=s=>R.value=s),class:"select select-bordered select-xs",onChange:Ot},[...t[52]||(t[52]=[ye('',6)])],544),[[O,R.value]])]),r(e("div",ms,[t[54]||(t[54]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"自定义")],-1)),r(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>St.value=s),type:"number",min:"1",max:"2000",class:"input input-bordered input-xs",placeholder:"1-2000",style:{width:"90px"},onChange:Ot},null,544),[[m,St.value,void 0,{number:!0}]])],512),[[K,R.value==="custom"]]),e("button",{class:"btn btn-primary btn-xs text-white",onClick:t[12]||(t[12]=s=>B(!0))},"搜索"),e("button",{class:"btn btn-error btn-xs text-white",disabled:Nt.value===0,onClick:t[13]||(t[13]=s=>bt(-1))},"批量禁用",8,fs),e("button",{class:"btn btn-warning btn-xs text-white",disabled:Nt.value===0,onClick:t[14]||(t[14]=s=>bt(0))},"批量恢复",8,xs),e("button",{class:"btn btn-ghost btn-xs",disabled:!x.value.length,onClick:re},"导出",8,gs),e("button",{class:"btn btn-ghost btn-xs",disabled:!x.value.length,onClick:be},"发邮件",8,ys)])]),e("div",hs,[e("table",{ref_key:"devicesTable",ref:It,class:"table table-zebra text-sm"},[e("thead",null,[e("tr",null,[e("th",ws,[r(e("input",{"onUpdate:modelValue":t[15]||(t[15]=s=>st.value=s),type:"checkbox",class:"checkbox checkbox-xs",onChange:ae},null,544),[[jt,st.value]])]),t[56]||(t[56]=e("th",null,"授权码",-1)),t[57]||(t[57]=e("th",null,"类型",-1)),t[58]||(t[58]=e("th",null,"批次",-1)),t[59]||(t[59]=e("th",null,"MAC",-1)),t[60]||(t[60]=e("th",null,"状态",-1)),t[61]||(t[61]=e("th",null,"封禁",-1)),t[62]||(t[62]=e("th",null,"用户UID",-1)),t[63]||(t[63]=e("th",null,"激活时间",-1)),t[64]||(t[64]=e("th",null,"操作",-1))])]),e("tbody",null,[b.value?H.value?(u(),d("tr",Cs,[e("td",_s,"查询失败: "+i(H.value),1)])):x.value.length?(u(!0),d(E,{key:3},$(x.value,(s,o)=>(u(),d("tr",{key:o},[e("td",null,[r(e("input",{"onUpdate:modelValue":t[16]||(t[16]=a=>I.value=a),type:"checkbox",class:"checkbox checkbox-xs",value:s.code||""},null,8,Ms),[[jt,I.value]])]),e("td",Us,i(s.code||""),1),e("td",null,i(s.codetype===0?"授权码":"设备码"),1),e("td",null,i(s.probatch),1),e("td",Vs,i(s.devicemac||""),1),e("td",null,[s.status===0?(u(),d("span",Ds,"未使用")):s.status===1?(u(),d("span",As,"已使用")):(u(),d("span",js,"已过期"))]),e("td",null,[s.disabled!==0?(u(),d("span",Ns,"已禁用")):(u(),d("span",Is,"正常"))]),e("td",Ts,i(s.uid||""),1),e("td",Ps,i(s.usedtime?ct(s.usedtime):"-"),1),e("td",null,[e("div",Fs,[s.disabled!==0?(u(),d("button",{key:0,class:"btn btn-ghost btn-xs text-warning",onClick:a=>bt(0,[s.code])},"恢复",8,Bs)):(u(),d("button",{key:1,class:"btn btn-ghost btn-xs text-error",onClick:a=>bt(-1,[s.code])},"禁用",8,Ls)),s.status!==0?(u(),d("button",{key:2,class:"btn btn-ghost btn-xs text-orange-500",onClick:a=>ne(s.code)},"重置",8,Os)):z("",!0)])])]))),128)):(u(),d("tr",Ss,[...t[66]||(t[66]=[e("td",{colspan:"10",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])])):(u(),d("tr",ks,[...t[65]||(t[65]=[e("td",{colspan:"10",class:"text-center text-slate-400 py-8"},"请先选择产品",-1)])]))])],512)]),e("div",Es,[e("span",$s,i(b.value?"共 "+q.value+" 条":"-"),1),e("div",zs,[e("button",{class:"btn btn-ghost btn-xs",disabled:C.value<=0||!b.value,onClick:t[17]||(t[17]=s=>qt(-1))},"上一页",8,qs),e("span",Rs,i(Qt.value),1),e("button",{class:"btn btn-ghost btn-xs",disabled:!b.value||C.value+1>=Tt.value,onClick:t[18]||(t[18]=s=>qt(1))},"下一页",8,Hs)])])])],512),[[K,W.value==="main"]]),r(e("div",null,[e("div",{class:"flex items-center gap-3 mb-5"},[e("button",{class:"btn btn-ghost btn-sm",onClick:vt},"← 返回"),t[67]||(t[67]=e("h2",{class:"text-lg font-semibold text-slate-800"},"生成授权码",-1))]),e("div",Gs,[e("form",{onSubmit:Gt(ue,["prevent"])},[e("div",Xs,[t[69]||(t[69]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"厂家 *")],-1)),r(e("select",{"onUpdate:modelValue":t[19]||(t[19]=s=>T.value=s),class:"select select-bordered w-full",required:"",onChange:ie},[t[68]||(t[68]=e("option",{value:0},"请选择厂家",-1)),(u(!0),d(E,null,$(D.value,s=>(u(),d("option",{key:s.id,value:s.id},i((s.factory||"")+" ("+Lt(s.id)+")"),9,Ys))),128))],544),[[O,T.value,void 0,{number:!0}]])]),e("div",Js,[t[70]||(t[70]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"产品 *")],-1)),r(e("select",{"onUpdate:modelValue":t[20]||(t[20]=s=>G.value=s),class:"select select-bordered w-full",required:"",disabled:!Ft.value.length},[e("option",Qs,i(T.value?"请选择产品":"请先选择厂家"),1),(u(!0),d(E,null,$(Ft.value,s=>(u(),d("option",{key:s.id,value:s.id},i((s.devicename||"")+" ("+Lt(s.id)+")"),9,Ws))),128))],8,Ks),[[O,G.value,void 0,{number:!0}]])]),e("div",Zs,[e("a",{class:Xt(["tab",{"tab-active":N.value==="production"}]),onClick:t[21]||(t[21]=s=>Dt("production"))},"生产",2),e("a",{class:Xt(["tab",{"tab-active":N.value==="import"}]),onClick:t[22]||(t[22]=s=>Dt("import"))},"导入",2)]),r(e("div",null,[e("div",tl,[t[71]||(t[71]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"绑定MAC地址")],-1)),r(e("input",{"onUpdate:modelValue":t[23]||(t[23]=s=>lt.value=s),type:"checkbox",class:"toggle toggle-primary"},null,512),[[jt,lt.value]])]),e("div",el,[t[72]||(t[72]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"数量 *")],-1)),r(e("input",{"onUpdate:modelValue":t[24]||(t[24]=s=>ot.value=s),type:"number",class:"input input-bordered w-full",min:"1",max:"10000",placeholder:"请输入生产数量",required:N.value==="production"},null,8,sl),[[m,ot.value,void 0,{number:!0}]])])],512),[[K,N.value==="production"]]),r(e("div",null,[e("div",ll,[t[73]||(t[73]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"上传 CSV 文件")],-1)),e("input",{type:"file",class:"file-input file-input-bordered file-input-sm w-full",accept:".csv",onChange:de},null,32),t[74]||(t[74]=e("p",{class:"text-xs text-slate-400 mt-1"},"上传 CSV 文件,系统将读取第一列作为 MAC 地址",-1))]),e("div",ol,[t[75]||(t[75]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"MAC 地址列表 *")],-1)),r(e("textarea",{"onUpdate:modelValue":t[25]||(t[25]=s=>X.value=s),class:"textarea textarea-bordered w-full",rows:"4",placeholder:"MAC 地址以逗号分隔,可手动输入或通过CSV导入"},null,512),[[m,X.value]])])],512),[[K,N.value==="import"]]),e("div",nl,[e("button",{type:"button",class:"btn btn-ghost",onClick:vt},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:nt.value},[nt.value?(u(),d("span",il)):z("",!0),t[76]||(t[76]=g("生成 ",-1))],8,al)])],32)])],512),[[K,W.value==="create"]]),e("dialog",{ref_key:"emailModal",ref:at,class:"modal"},[e("div",dl,[t[83]||(t[83]=e("h3",{class:"font-bold text-lg mb-4 flex items-center gap-2"},[e("svg",{class:"h-5 w-5 text-blue-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})]),g(" 发送邮件通知 ")],-1)),e("form",{onSubmit:Gt(pe,["prevent"])},[e("div",ul,[e("div",rl,[t[77]||(t[77]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"收件人 *")],-1)),r(e("input",{"onUpdate:modelValue":t[26]||(t[26]=s=>v.to=s),type:"email",class:"input input-bordered input-sm w-full",required:""},null,512),[[m,v.to]])]),e("div",cl,[t[78]||(t[78]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"抄送")],-1)),r(e("input",{"onUpdate:modelValue":t[27]||(t[27]=s=>v.cc=s),type:"text",class:"input input-bordered input-sm w-full",placeholder:"多个邮箱用逗号分隔"},null,512),[[m,v.cc]])])]),e("div",vl,[t[79]||(t[79]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"主题 *")],-1)),r(e("input",{"onUpdate:modelValue":t[28]||(t[28]=s=>v.subject=s),type:"text",class:"input input-bordered input-sm w-full",required:""},null,512),[[m,v.subject]])]),e("div",bl,[t[80]||(t[80]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"内容 *")],-1)),r(e("textarea",{"onUpdate:modelValue":t[29]||(t[29]=s=>v.content=s),class:"textarea textarea-bordered w-full",rows:"10",required:""},null,512),[[m,v.content]])]),e("div",pl,[t[81]||(t[81]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"附件")],-1)),e("div",ml,i(P.value?"📎 "+P.value:"无附件"),1)]),e("div",fl,[e("button",{type:"button",class:"btn btn-ghost btn-sm",onClick:Ht},"取消"),e("button",{type:"submit",class:"btn btn-primary btn-sm text-white",disabled:it.value},[it.value?(u(),d("span",gl)):z("",!0),t[82]||(t[82]=g("发送邮件 ",-1))],8,xl)])],32)]),t[84]||(t[84]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512),e("dialog",{ref_key:"revokeModal",ref:Mt,class:"modal"},[e("div",yl,[t[92]||(t[92]=e("h3",{class:"font-bold text-lg mb-3 flex items-center gap-2 text-red-600"},[e("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01M4.93 19h14.14a2 2 0 001.74-3L13.74 4a2 2 0 00-3.48 0L3.19 16a2 2 0 001.74 3z"})]),g(" 撤销生产批次 ")],-1)),t[93]||(t[93]=e("div",{class:"bg-red-50 border border-red-200 rounded-lg p-3 text-sm text-red-700 mb-4"},[g(" 此操作将"),e("strong",null,"删除该批次的全部设备码"),g("以及对应的生产出货记录,"),e("strong",null,"不可恢复"),g("。"),e("br"),g(" 若该批次中已有任意设备码被激活/绑定,撤销会被拒绝。 ")],-1)),e("div",hl,[e("div",null,[t[85]||(t[85]=e("span",{class:"text-slate-500"},"厂家:",-1)),e("span",wl,i(p.value?Ut(p.value.factoryid):""),1)]),e("div",null,[t[86]||(t[86]=e("span",{class:"text-slate-500"},"产品:",-1)),e("span",kl,i(p.value?Vt(p.value.productid):""),1)]),e("div",null,[t[87]||(t[87]=e("span",{class:"text-slate-500"},"批次:",-1)),e("span",Cl,i(p.value?p.value.probatch:""),1)]),e("div",null,[t[88]||(t[88]=e("span",{class:"text-slate-500"},"设备码数量:",-1)),e("span",_l,i(p.value?p.value.devicetnum:""),1)])]),e("div",Sl,[e("label",Ml,[e("span",Ul,[t[89]||(t[89]=g("请输入批次号 ",-1)),e("span",Vl,i(p.value?p.value.probatch:""),1),t[90]||(t[90]=g(" 以确认撤销",-1))])]),r(e("input",{"onUpdate:modelValue":t[30]||(t[30]=s=>dt.value=s),type:"text",class:"input input-bordered input-sm w-full",autocomplete:"off"},null,512),[[m,dt.value]])]),e("p",Dl,i(ut.value),1),e("div",Al,[e("button",{type:"button",class:"btn btn-ghost btn-sm",onClick:$t},"取消"),e("button",{type:"button",class:"btn btn-error btn-sm text-white",disabled:!Kt.value||rt.value,onClick:le},[rt.value?(u(),d("span",Nl)):z("",!0),t[91]||(t[91]=g("确认撤销 ",-1))],8,jl)])]),t[94]||(t[94]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512)]))}});export{Ol as default}; +敬礼!`,at.value?.showModal()}function Ht(){at.value?.close()}async function pe(){it.value=!0;const l=new FormData;l.append("to",v.to),l.append("subject",v.subject),l.append("content",v.content);const t=v.cc.trim();if(t&&l.append("cc",t),Y.value&&P.value){const s=new File([Y.value],P.value,{type:"text/csv"});l.append("file",s,P.value)}try{const s={};w.token&&(s.Authorization=w.token),w.currentAppId&&(s["X-App-Id"]=String(w.currentAppId));const a=await(await fetch("/web/api/api_sendsmtpemail",{method:"POST",headers:s,body:l})).json();a.code===0?(h("邮件发送成功"),Ht(),vt(),F()):V("发送失败: "+(a.msg||"未知错误"))}catch(s){V("发送失败: "+(s?.message??""))}finally{it.value=!1}}return ge(Wt),(l,t)=>(u(),d("div",Ce,[e("div",_e,[e("div",Se,[e("div",Me,[t[32]||(t[32]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"厂家")],-1)),r(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>S.value=s),class:"select select-bordered select-sm",style:{"min-width":"160px"},onChange:te},[t[31]||(t[31]=e("option",{value:0},"全部",-1)),(u(!0),d(E,null,$(D.value,s=>(u(),d("option",{key:s.id,value:s.id},i(s.factory||""),9,Ue))),128))],544),[[O,S.value,void 0,{number:!0}]])]),e("div",Ve,[t[34]||(t[34]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"产品")],-1)),r(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>b.value=s),class:"select select-bordered select-sm",style:{"min-width":"200px"},onChange:ee},[t[33]||(t[33]=e("option",{value:0},"请选择产品",-1)),(u(!0),d(E,null,$(Pt.value,s=>(u(),d("option",{key:s.id,value:s.id},i(s.devicename||""),9,De))),128))],544),[[O,b.value,void 0,{number:!0}]])]),e("div",Ae,[t[35]||(t[35]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"起始时间")],-1)),r(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>pt.value=s),type:"date",class:"input input-bordered input-sm"},null,512),[[m,pt.value]])]),e("div",je,[t[36]||(t[36]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"结束时间")],-1)),r(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>mt.value=s),type:"date",class:"input input-bordered input-sm"},null,512),[[m,mt.value]])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:F},"查询"),Jt.value?(u(),d("button",{key:0,class:"btn btn-success btn-sm text-white",onClick:Zt},"+ 生成授权码")):z("",!0)])]),r(e("div",null,[e("div",Ne,[e("div",Ie,[t[37]||(t[37]=e("div",{class:"text-xs text-slate-400 mb-1"},"命中批次数",-1)),e("div",Te,i(ft.value),1)]),e("div",Pe,[t[38]||(t[38]=e("div",{class:"text-xs text-slate-400 mb-1"},"生产设备总数",-1)),e("div",Fe,i(xt.value),1)]),e("div",Be,[t[39]||(t[39]=e("div",{class:"text-xs text-slate-400 mb-1"},"最近一次生产时间",-1)),e("div",Le,i(gt.value),1)])]),e("div",Oe,[e("div",Ee,[t[40]||(t[40]=e("h3",{class:"text-sm font-semibold text-slate-700"},"生产记录(按批次)",-1)),e("div",$e,[e("span",ze,i(yt.value),1),e("button",{class:"btn btn-ghost btn-xs",onClick:ce},"导出CSV")])]),e("div",qe,[e("table",Re,[t[43]||(t[43]=e("thead",null,[e("tr",null,[e("th",{class:"w-40"},"生产时间"),e("th",null,"厂家"),e("th",null,"产品"),e("th",null,"批次"),e("th",null,"起始MAC"),e("th",null,"结束MAC"),e("th",{class:"text-right"},"数量"),e("th",null,"操作")])],-1)),e("tbody",null,[ht.value?(u(),d("tr",He,[...t[41]||(t[41]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"加载中…",-1)])])):Z.value?(u(),d("tr",Ge,[e("td",Xe,"查询失败: "+i(Z.value),1)])):k.value.length?(u(!0),d(E,{key:3},$(k.value,(s,o)=>(u(),d("tr",{key:o,class:"hover"},[e("td",Je,i(ct(s.ts)),1),e("td",Ke,i(Ut(s.factoryid)),1),e("td",Qe,i(Vt(s.productid)),1),e("td",We,i(s.probatch||0),1),e("td",Ze,i(s.startmac||""),1),e("td",ts,i(s.endmac||""),1),e("td",es,i(s.devicetnum||0),1),e("td",null,[e("div",ss,[e("button",{class:"btn btn-ghost btn-xs text-indigo-500",onClick:a=>oe(s.productid,s.probatch)},"查看授权码",8,ls),Yt.value?(u(),d("button",{key:0,class:"btn btn-ghost btn-xs text-red-500",onClick:a=>se(s.factoryid,s.productid,s.probatch,s.devicetnum||0)},"撤销",8,os)):z("",!0)])])]))),128)):(u(),d("tr",Ye,[...t[42]||(t[42]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])]))])])])]),e("div",ns,[e("div",as,[t[55]||(t[55]=e("h3",{class:"text-sm font-semibold text-slate-700"},"授权码记录",-1)),e("div",is,[e("div",ds,[t[45]||(t[45]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"状态")],-1)),r(e("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>tt.value=s),class:"select select-bordered select-xs"},[...t[44]||(t[44]=[e("option",{value:"1"},"已激活",-1),e("option",{value:"-1"},"未使用",-1),e("option",{value:"2"},"已过期",-1),e("option",{value:"0"},"全部",-1)])],512),[[O,tt.value]])]),e("div",us,[t[47]||(t[47]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"排序")],-1)),r(e("select",{"onUpdate:modelValue":t[5]||(t[5]=s=>wt.value=s),class:"select select-bordered select-xs"},[...t[46]||(t[46]=[e("option",{value:"usedtime"},"激活时间",-1),e("option",{value:"createtime"},"创建时间",-1)])],512),[[O,wt.value]])]),e("div",rs,[t[48]||(t[48]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"批次")],-1)),r(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>et.value=s),type:"number",class:"input input-bordered input-xs",placeholder:"批次号",style:{width:"90px"}},null,512),[[m,et.value]])]),e("div",cs,[t[49]||(t[49]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"授权码")],-1)),r(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>kt.value=s),type:"text",class:"input input-bordered input-xs",placeholder:"授权码"},null,512),[[m,kt.value]])]),e("div",vs,[t[50]||(t[50]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"MAC")],-1)),r(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>Ct.value=s),type:"text",class:"input input-bordered input-xs",placeholder:"MAC"},null,512),[[m,Ct.value]])]),e("div",bs,[t[51]||(t[51]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"用户UID")],-1)),r(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>_t.value=s),type:"text",class:"input input-bordered input-xs",placeholder:"UID"},null,512),[[m,_t.value]])]),e("div",ps,[t[53]||(t[53]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"每页数量")],-1)),r(e("select",{"onUpdate:modelValue":t[10]||(t[10]=s=>R.value=s),class:"select select-bordered select-xs",onChange:Ot},[...t[52]||(t[52]=[ye('',6)])],544),[[O,R.value]])]),r(e("div",ms,[t[54]||(t[54]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"自定义")],-1)),r(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>St.value=s),type:"number",min:"1",max:"2000",class:"input input-bordered input-xs",placeholder:"1-2000",style:{width:"90px"},onChange:Ot},null,544),[[m,St.value,void 0,{number:!0}]])],512),[[K,R.value==="custom"]]),e("button",{class:"btn btn-primary btn-xs text-white",onClick:t[12]||(t[12]=s=>B(!0))},"搜索"),e("button",{class:"btn btn-error btn-xs text-white",disabled:Nt.value===0,onClick:t[13]||(t[13]=s=>bt(-1))},"批量禁用",8,fs),e("button",{class:"btn btn-warning btn-xs text-white",disabled:Nt.value===0,onClick:t[14]||(t[14]=s=>bt(0))},"批量恢复",8,xs),e("button",{class:"btn btn-ghost btn-xs",disabled:!x.value.length,onClick:re},"导出",8,gs),e("button",{class:"btn btn-ghost btn-xs",disabled:!x.value.length,onClick:be},"发邮件",8,ys)])]),e("div",hs,[e("table",{ref_key:"devicesTable",ref:It,class:"table table-zebra text-sm"},[e("thead",null,[e("tr",null,[e("th",ws,[r(e("input",{"onUpdate:modelValue":t[15]||(t[15]=s=>st.value=s),type:"checkbox",class:"checkbox checkbox-xs",onChange:ae},null,544),[[jt,st.value]])]),t[56]||(t[56]=e("th",null,"授权码",-1)),t[57]||(t[57]=e("th",null,"类型",-1)),t[58]||(t[58]=e("th",null,"批次",-1)),t[59]||(t[59]=e("th",null,"MAC",-1)),t[60]||(t[60]=e("th",null,"状态",-1)),t[61]||(t[61]=e("th",null,"封禁",-1)),t[62]||(t[62]=e("th",null,"用户UID",-1)),t[63]||(t[63]=e("th",null,"激活时间",-1)),t[64]||(t[64]=e("th",null,"操作",-1))])]),e("tbody",null,[b.value?H.value?(u(),d("tr",Cs,[e("td",_s,"查询失败: "+i(H.value),1)])):x.value.length?(u(!0),d(E,{key:3},$(x.value,(s,o)=>(u(),d("tr",{key:o},[e("td",null,[r(e("input",{"onUpdate:modelValue":t[16]||(t[16]=a=>I.value=a),type:"checkbox",class:"checkbox checkbox-xs",value:s.code||""},null,8,Ms),[[jt,I.value]])]),e("td",Us,i(s.code||""),1),e("td",null,i(s.codetype===0?"授权码":"设备码"),1),e("td",null,i(s.probatch),1),e("td",Vs,i(s.devicemac||""),1),e("td",null,[s.status===0?(u(),d("span",Ds,"未使用")):s.status===1?(u(),d("span",As,"已使用")):(u(),d("span",js,"已过期"))]),e("td",null,[s.disabled!==0?(u(),d("span",Ns,"已禁用")):(u(),d("span",Is,"正常"))]),e("td",Ts,i(s.uid||""),1),e("td",Ps,i(s.usedtime?ct(s.usedtime):"-"),1),e("td",null,[e("div",Fs,[s.disabled!==0?(u(),d("button",{key:0,class:"btn btn-ghost btn-xs text-warning",onClick:a=>bt(0,[s.code])},"恢复",8,Bs)):(u(),d("button",{key:1,class:"btn btn-ghost btn-xs text-error",onClick:a=>bt(-1,[s.code])},"禁用",8,Ls)),s.status!==0?(u(),d("button",{key:2,class:"btn btn-ghost btn-xs text-orange-500",onClick:a=>ne(s.code)},"重置",8,Os)):z("",!0)])])]))),128)):(u(),d("tr",Ss,[...t[66]||(t[66]=[e("td",{colspan:"10",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])])):(u(),d("tr",ks,[...t[65]||(t[65]=[e("td",{colspan:"10",class:"text-center text-slate-400 py-8"},"请先选择产品",-1)])]))])],512)]),e("div",Es,[e("span",$s,i(b.value?"共 "+q.value+" 条":"-"),1),e("div",zs,[e("button",{class:"btn btn-ghost btn-xs",disabled:C.value<=0||!b.value,onClick:t[17]||(t[17]=s=>qt(-1))},"上一页",8,qs),e("span",Rs,i(Qt.value),1),e("button",{class:"btn btn-ghost btn-xs",disabled:!b.value||C.value+1>=Tt.value,onClick:t[18]||(t[18]=s=>qt(1))},"下一页",8,Hs)])])])],512),[[K,W.value==="main"]]),r(e("div",null,[e("div",{class:"flex items-center gap-3 mb-5"},[e("button",{class:"btn btn-ghost btn-sm",onClick:vt},"← 返回"),t[67]||(t[67]=e("h2",{class:"text-lg font-semibold text-slate-800"},"生成授权码",-1))]),e("div",Gs,[e("form",{onSubmit:Gt(ue,["prevent"])},[e("div",Xs,[t[69]||(t[69]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"厂家 *")],-1)),r(e("select",{"onUpdate:modelValue":t[19]||(t[19]=s=>T.value=s),class:"select select-bordered w-full",required:"",onChange:ie},[t[68]||(t[68]=e("option",{value:0},"请选择厂家",-1)),(u(!0),d(E,null,$(D.value,s=>(u(),d("option",{key:s.id,value:s.id},i((s.factory||"")+" ("+Lt(s.id)+")"),9,Ys))),128))],544),[[O,T.value,void 0,{number:!0}]])]),e("div",Js,[t[70]||(t[70]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"产品 *")],-1)),r(e("select",{"onUpdate:modelValue":t[20]||(t[20]=s=>G.value=s),class:"select select-bordered w-full",required:"",disabled:!Ft.value.length},[e("option",Qs,i(T.value?"请选择产品":"请先选择厂家"),1),(u(!0),d(E,null,$(Ft.value,s=>(u(),d("option",{key:s.id,value:s.id},i((s.devicename||"")+" ("+Lt(s.id)+")"),9,Ws))),128))],8,Ks),[[O,G.value,void 0,{number:!0}]])]),e("div",Zs,[e("a",{class:Xt(["tab",{"tab-active":N.value==="production"}]),onClick:t[21]||(t[21]=s=>Dt("production"))},"生产",2),e("a",{class:Xt(["tab",{"tab-active":N.value==="import"}]),onClick:t[22]||(t[22]=s=>Dt("import"))},"导入",2)]),r(e("div",null,[e("div",tl,[t[71]||(t[71]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"绑定MAC地址")],-1)),r(e("input",{"onUpdate:modelValue":t[23]||(t[23]=s=>lt.value=s),type:"checkbox",class:"toggle toggle-primary"},null,512),[[jt,lt.value]])]),e("div",el,[t[72]||(t[72]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"数量 *")],-1)),r(e("input",{"onUpdate:modelValue":t[24]||(t[24]=s=>ot.value=s),type:"number",class:"input input-bordered w-full",min:"1",max:"10000",placeholder:"请输入生产数量",required:N.value==="production"},null,8,sl),[[m,ot.value,void 0,{number:!0}]])])],512),[[K,N.value==="production"]]),r(e("div",null,[e("div",ll,[t[73]||(t[73]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"上传 CSV 文件")],-1)),e("input",{type:"file",class:"file-input file-input-bordered file-input-sm w-full",accept:".csv",onChange:de},null,32),t[74]||(t[74]=e("p",{class:"text-xs text-slate-400 mt-1"},"上传 CSV 文件,系统将读取第一列作为 MAC 地址",-1))]),e("div",ol,[t[75]||(t[75]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"MAC 地址列表 *")],-1)),r(e("textarea",{"onUpdate:modelValue":t[25]||(t[25]=s=>X.value=s),class:"textarea textarea-bordered w-full",rows:"4",placeholder:"MAC 地址以逗号分隔,可手动输入或通过CSV导入"},null,512),[[m,X.value]])])],512),[[K,N.value==="import"]]),e("div",nl,[e("button",{type:"button",class:"btn btn-ghost",onClick:vt},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:nt.value},[nt.value?(u(),d("span",il)):z("",!0),t[76]||(t[76]=g("生成 ",-1))],8,al)])],32)])],512),[[K,W.value==="create"]]),e("dialog",{ref_key:"emailModal",ref:at,class:"modal"},[e("div",dl,[t[83]||(t[83]=e("h3",{class:"font-bold text-lg mb-4 flex items-center gap-2"},[e("svg",{class:"h-5 w-5 text-blue-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})]),g(" 发送邮件通知 ")],-1)),e("form",{onSubmit:Gt(pe,["prevent"])},[e("div",ul,[e("div",rl,[t[77]||(t[77]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"收件人 *")],-1)),r(e("input",{"onUpdate:modelValue":t[26]||(t[26]=s=>v.to=s),type:"email",class:"input input-bordered input-sm w-full",required:""},null,512),[[m,v.to]])]),e("div",cl,[t[78]||(t[78]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"抄送")],-1)),r(e("input",{"onUpdate:modelValue":t[27]||(t[27]=s=>v.cc=s),type:"text",class:"input input-bordered input-sm w-full",placeholder:"多个邮箱用逗号分隔"},null,512),[[m,v.cc]])])]),e("div",vl,[t[79]||(t[79]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"主题 *")],-1)),r(e("input",{"onUpdate:modelValue":t[28]||(t[28]=s=>v.subject=s),type:"text",class:"input input-bordered input-sm w-full",required:""},null,512),[[m,v.subject]])]),e("div",bl,[t[80]||(t[80]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"内容 *")],-1)),r(e("textarea",{"onUpdate:modelValue":t[29]||(t[29]=s=>v.content=s),class:"textarea textarea-bordered w-full",rows:"10",required:""},null,512),[[m,v.content]])]),e("div",pl,[t[81]||(t[81]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"附件")],-1)),e("div",ml,i(P.value?"📎 "+P.value:"无附件"),1)]),e("div",fl,[e("button",{type:"button",class:"btn btn-ghost btn-sm",onClick:Ht},"取消"),e("button",{type:"submit",class:"btn btn-primary btn-sm text-white",disabled:it.value},[it.value?(u(),d("span",gl)):z("",!0),t[82]||(t[82]=g("发送邮件 ",-1))],8,xl)])],32)]),t[84]||(t[84]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512),e("dialog",{ref_key:"revokeModal",ref:Mt,class:"modal"},[e("div",yl,[t[92]||(t[92]=e("h3",{class:"font-bold text-lg mb-3 flex items-center gap-2 text-red-600"},[e("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01M4.93 19h14.14a2 2 0 001.74-3L13.74 4a2 2 0 00-3.48 0L3.19 16a2 2 0 001.74 3z"})]),g(" 撤销生产批次 ")],-1)),t[93]||(t[93]=e("div",{class:"bg-red-50 border border-red-200 rounded-lg p-3 text-sm text-red-700 mb-4"},[g(" 此操作将"),e("strong",null,"删除该批次的全部设备码"),g("以及对应的生产出货记录,"),e("strong",null,"不可恢复"),g("。"),e("br"),g(" 若该批次中已有任意设备码被激活/绑定,撤销会被拒绝。 ")],-1)),e("div",hl,[e("div",null,[t[85]||(t[85]=e("span",{class:"text-slate-500"},"厂家:",-1)),e("span",wl,i(p.value?Ut(p.value.factoryid):""),1)]),e("div",null,[t[86]||(t[86]=e("span",{class:"text-slate-500"},"产品:",-1)),e("span",kl,i(p.value?Vt(p.value.productid):""),1)]),e("div",null,[t[87]||(t[87]=e("span",{class:"text-slate-500"},"批次:",-1)),e("span",Cl,i(p.value?p.value.probatch:""),1)]),e("div",null,[t[88]||(t[88]=e("span",{class:"text-slate-500"},"设备码数量:",-1)),e("span",_l,i(p.value?p.value.devicetnum:""),1)])]),e("div",Sl,[e("label",Ml,[e("span",Ul,[t[89]||(t[89]=g("请输入批次号 ",-1)),e("span",Vl,i(p.value?p.value.probatch:""),1),t[90]||(t[90]=g(" 以确认撤销",-1))])]),r(e("input",{"onUpdate:modelValue":t[30]||(t[30]=s=>dt.value=s),type:"text",class:"input input-bordered input-sm w-full",autocomplete:"off"},null,512),[[m,dt.value]])]),e("p",Dl,i(ut.value),1),e("div",Al,[e("button",{type:"button",class:"btn btn-ghost btn-sm",onClick:$t},"取消"),e("button",{type:"button",class:"btn btn-error btn-sm text-white",disabled:!Kt.value||rt.value,onClick:le},[rt.value?(u(),d("span",Nl)):z("",!0),t[91]||(t[91]=g("确认撤销 ",-1))],8,jl)])]),t[94]||(t[94]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512)]))}});export{Ll as default}; diff --git a/apps/admin/.output/public/_nuxt/CTAruH_8.js b/apps/admin/.output/public/_nuxt/CfpW9SkI.js similarity index 80% rename from apps/admin/.output/public/_nuxt/CTAruH_8.js rename to apps/admin/.output/public/_nuxt/CfpW9SkI.js index 155f042d..f3f607b9 100644 --- a/apps/admin/.output/public/_nuxt/CTAruH_8.js +++ b/apps/admin/.output/public/_nuxt/CfpW9SkI.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./C2sLAWj2.js","./9B2ftqmN.js","./D9HxoMhB.js","./yUUyh6cG.js","./lLLegusN.js","./accounts.B82323Fi.css","./B_JvM6BO.js","./appconfig.j94fgYL_.css","./vesedpp3.js","./apps.B7hnJBQU.css","./DNKl-FHZ.js","./calltranslate.B6r4Q8-j.css","./UoJ1COMF.js","./Cx-e2Cok.js","./dashboard.bI0rfjl_.css","./Cy8zKM7T.js","./Bxcdr2qc.js","./BVGGsVu4.js","./uwVesjjP.js","./BeU4EYjt.js","./CZnZfJ5f.js","./GZxzc1Rc.js","./CF8arGVK.js","./serviceconfig.Io3AqtMK.css","./Bi5c3E0c.js","./statlog.C1q_3yEh.css","./EIJPD_ga.js","./systemconfig.DaWusDMu.css","./BIBu1qhq.js","./CnuHOwQV.js","./index.4nAkFRy2.css","./FZLr1rN5.js","./CnkSDgVO.js","./default.miyQHb0v.css","./BroHRKpP.js","./DpWhlKu2.js","./error-404.Dm-MYrAh.css","./P2ZWRt51.js","./error-500.DM8oqBl3.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Dm32cczg.js","./DSu8q42f.js","./DL330dAC.js","./CMwGY1Mu.js","./accounts.B82323Fi.css","./6VNdSi_V.js","./appconfig.j94fgYL_.css","./BYskkv1s.js","./apps.BKS_pLby.css","./B_WQdNTA.js","./calltranslate.B6r4Q8-j.css","./y51pRzN1.js","./DQJ7bpDC.js","./dashboard.bI0rfjl_.css","./C_DpaApf.js","./CEy0BeiT.js","./C1a5GrA3.js","./C4pFFOT7.js","./C1U0GWax.js","./CtB1c492.js","./-beHFMDW.js","./B2Vd1HRg.js","./serviceconfig.Io3AqtMK.css","./CHwWlLZM.js","./statlog.C1q_3yEh.css","./CgB4v6_d.js","./systemconfig.CKZLIXAY.css","./BjeKh_cp.js","./DA87FDpn.js","./index.4nAkFRy2.css","./B3ocY-Ie.js","./R6fio73R.js","./default.miyQHb0v.css","./uI9fc-sC.js","./tlYhbUA5.js","./error-404.Dm-MYrAh.css","./C_4yneL9.js","./error-500.DM8oqBl3.css"])))=>i.map(i=>d[i]); (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function ho(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const fe={},_n=[],pt=()=>{},Ta=()=>!1,lr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Wr=e=>e.startsWith("onUpdate:"),Te=Object.assign,po=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},au=Object.prototype.hasOwnProperty,ie=(e,t)=>au.call(e,t),G=Array.isArray,bn=e=>In(e)==="[object Map]",Mn=e=>In(e)==="[object Set]",Go=e=>In(e)==="[object Date]",lu=e=>In(e)==="[object RegExp]",Y=e=>typeof e=="function",he=e=>typeof e=="string",Ue=e=>typeof e=="symbol",se=e=>e!==null&&typeof e=="object",Ra=e=>(se(e)||Y(e))&&Y(e.then)&&Y(e.catch),Ca=Object.prototype.toString,In=e=>Ca.call(e),cu=e=>In(e).slice(8,-1),go=e=>In(e)==="[object Object]",qr=e=>he(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,en=ho(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zr=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},uu=/-\w/g,Le=zr(e=>e.replace(uu,t=>t.slice(1).toUpperCase())),fu=/\B([A-Z])/g,Kt=zr(e=>e.replace(fu,"-$1").toLowerCase()),Gr=zr(e=>e.charAt(0).toUpperCase()+e.slice(1)),fs=zr(e=>e?`on${Gr(e)}`:""),dt=(e,t)=>!Object.is(e,t),vn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Jr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Aa=e=>{const t=he(e)?Number(e):NaN;return isNaN(t)?e:t};let Jo;const Xr=()=>Jo||(Jo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Yr(e){if(G(e)){const t={};for(let n=0;n{if(n){const r=n.split(hu);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Qr(e){let t="";if(he(e))t=e;else if(G(e))for(let n=0;nBt(n,t))}const ka=e=>!!(e&&e.__v_isRef===!0),vu=e=>he(e)?e:e==null?"":G(e)||se(e)&&(e.toString===Ca||!Y(e.toString))?ka(e)?vu(e.value):JSON.stringify(e,Oa,2):String(e),Oa=(e,t)=>ka(t)?Oa(e,t.value):bn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[ds(r,o)+" =>"]=s,n),{})}:Mn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ds(n))}:Ue(t)?ds(t):se(t)&&!G(t)&&!go(t)?String(t):t,ds=(e,t="")=>{var n;return Ue(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let Ee;class Ma{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Ee&&(Ee.active?(this.parent=Ee,this.index=(Ee.scopes||(Ee.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0){if(Ee===this)Ee=this.prevScope;else{let t=Ee;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(zn){let t=zn;for(zn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;qn;){let t=qn;for(qn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Ha(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Na(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),vo(r),wu(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function Ls(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ja(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ja(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===tr)||(e.globalVersion=tr,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ls(e))))return;e.flags|=2;const t=e.dep,n=de,r=tt;de=e,tt=!0;try{Ha(e);const s=e.fn(e._value);(t.version===0||dt(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{de=n,tt=r,Na(e),e.flags&=-3}}function vo(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)vo(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function wu(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let tt=!0;const Fa=[];function Pt(){Fa.push(tt),tt=!1}function At(){const e=Fa.pop();tt=e===void 0?!0:e}function Xo(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=de;de=void 0;try{t()}finally{de=n}}}let tr=0;class Eu{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class wo{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!de||!tt||de===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==de)n=this.activeLink=new Eu(de,this),de.deps?(n.prevDep=de.depsTail,de.depsTail.nextDep=n,de.depsTail=n):de.deps=de.depsTail=n,Ba(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=de.depsTail,n.nextDep=void 0,de.depsTail.nextDep=n,de.depsTail=n,de.deps===n&&(de.deps=r)}return n}trigger(t){this.version++,tr++,this.notify(t)}notify(t){_o();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{bo()}}}function Ba(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Ba(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Pr=new WeakMap,tn=Symbol(""),Ds=Symbol(""),nr=Symbol("");function xe(e,t,n){if(tt&&de){let r=Pr.get(e);r||Pr.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new wo),s.map=r,s.key=n),s.track()}}function Et(e,t,n,r,s,o){const i=Pr.get(e);if(!i){tr++;return}const a=l=>{l&&l.trigger()};if(_o(),t==="clear")i.forEach(a);else{const l=G(e),f=l&&qr(n);if(l&&n==="length"){const c=Number(r);i.forEach((u,h)=>{(h==="length"||h===nr||!Ue(h)&&h>=c)&&a(u)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),f&&a(i.get(nr)),t){case"add":l?f&&a(i.get("length")):(a(i.get(tn)),bn(e)&&a(i.get(Ds)));break;case"delete":l||(a(i.get(tn)),bn(e)&&a(i.get(Ds)));break;case"set":bn(e)&&a(i.get(tn));break}}bo()}function Su(e,t){const n=Pr.get(e);return n&&n.get(t)}function un(e){const t=ne(e);return t===e?t:(xe(t,"iterate",nr),Be(e)?t:t.map(rt))}function es(e){return xe(e=ne(e),"iterate",nr),e}function ut(e,t){return mt(e)?Tn(gt(e)?rt(t):t):rt(t)}const Tu={__proto__:null,[Symbol.iterator](){return ps(this,Symbol.iterator,e=>ut(this,e))},concat(...e){return un(this).concat(...e.map(t=>G(t)?un(t):t))},entries(){return ps(this,"entries",e=>(e[1]=ut(this,e[1]),e))},every(e,t){return yt(this,"every",e,t,void 0,arguments)},filter(e,t){return yt(this,"filter",e,t,n=>n.map(r=>ut(this,r)),arguments)},find(e,t){return yt(this,"find",e,t,n=>ut(this,n),arguments)},findIndex(e,t){return yt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return yt(this,"findLast",e,t,n=>ut(this,n),arguments)},findLastIndex(e,t){return yt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return yt(this,"forEach",e,t,void 0,arguments)},includes(...e){return gs(this,"includes",e)},indexOf(...e){return gs(this,"indexOf",e)},join(e){return un(this).join(e)},lastIndexOf(...e){return gs(this,"lastIndexOf",e)},map(e,t){return yt(this,"map",e,t,void 0,arguments)},pop(){return Hn(this,"pop")},push(...e){return Hn(this,"push",e)},reduce(e,...t){return Yo(this,"reduce",e,t)},reduceRight(e,...t){return Yo(this,"reduceRight",e,t)},shift(){return Hn(this,"shift")},some(e,t){return yt(this,"some",e,t,void 0,arguments)},splice(...e){return Hn(this,"splice",e)},toReversed(){return un(this).toReversed()},toSorted(e){return un(this).toSorted(e)},toSpliced(...e){return un(this).toSpliced(...e)},unshift(...e){return Hn(this,"unshift",e)},values(){return ps(this,"values",e=>ut(this,e))}};function ps(e,t,n){const r=es(e),s=r[t]();return r!==e&&!Be(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const Ru=Array.prototype;function yt(e,t,n,r,s,o){const i=es(e),a=i!==e&&!Be(e),l=i[t];if(l!==Ru[t]){const u=l.apply(e,o);return a?rt(u):u}let f=n;i!==e&&(a?f=function(u,h){return n.call(this,ut(e,u),h,e)}:n.length>2&&(f=function(u,h){return n.call(this,u,h,e)}));const c=l.call(i,f,r);return a&&s?s(c):c}function Yo(e,t,n,r){const s=es(e),o=s!==e&&!Be(e);let i=n,a=!1;s!==e&&(o?(a=r.length===0,i=function(f,c,u){return a&&(a=!1,f=ut(e,f)),n.call(this,f,ut(e,c),u,e)}):n.length>3&&(i=function(f,c,u){return n.call(this,f,c,u,e)}));const l=s[t](i,...r);return a?ut(e,l):l}function gs(e,t,n){const r=ne(e);xe(r,"iterate",nr);const s=r[t](...n);return(s===-1||s===!1)&&ts(n[0])?(n[0]=ne(n[0]),r[t](...n)):s}function Hn(e,t,n=[]){Pt(),_o();const r=ne(e)[t].apply(e,n);return bo(),At(),r}const Cu=ho("__proto__,__v_isRef,__isVue"),Ua=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ue));function Pu(e){Ue(e)||(e=String(e));const t=ne(this);return xe(t,"has",e),t.hasOwnProperty(e)}class Va{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?Hu:za:o?qa:Wa).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=G(t);if(!s){let l;if(i&&(l=Tu[n]))return l;if(n==="hasOwnProperty")return Pu}const a=Reflect.get(t,n,pe(t)?t:r);if((Ue(n)?Ua.has(n):Cu(n))||(s||xe(t,"get",n),o))return a;if(pe(a)){const l=i&&qr(n)?a:a.value;return s&&se(l)?Hs(l):l}return se(a)?s?Hs(a):ot(a):a}}class Ka extends Va{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];const i=G(t)&&qr(n);if(!this._isShallow){const f=mt(o);if(!Be(r)&&!mt(r)&&(o=ne(o),r=ne(r)),!i&&pe(o)&&!pe(r))return f||(o.value=r),!0}const a=i?Number(n)e,hr=e=>Reflect.getPrototypeOf(e);function Mu(e,t,n){return function(...r){const s=this.__v_raw,o=ne(s),i=bn(o),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,f=s[e](...r),c=n?$s:t?Tn:rt;return!t&&xe(o,"iterate",l?Ds:tn),Te(Object.create(f),{next(){const{value:u,done:h}=f.next();return h?{value:u,done:h}:{value:a?[c(u[0]),c(u[1])]:c(u),done:h}}})}}function pr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Iu(e,t){const n={get(s){const o=this.__v_raw,i=ne(o),a=ne(s);e||(dt(s,a)&&xe(i,"get",s),xe(i,"get",a));const{has:l}=hr(i),f=t?$s:e?Tn:rt;if(l.call(i,s))return f(o.get(s));if(l.call(i,a))return f(o.get(a));o!==i&&o.get(s)},get size(){const s=this.__v_raw;return!e&&xe(ne(s),"iterate",tn),s.size},has(s){const o=this.__v_raw,i=ne(o),a=ne(s);return e||(dt(s,a)&&xe(i,"has",s),xe(i,"has",a)),s===a?o.has(s):o.has(s)||o.has(a)},forEach(s,o){const i=this,a=i.__v_raw,l=ne(a),f=t?$s:e?Tn:rt;return!e&&xe(l,"iterate",tn),a.forEach((c,u)=>s.call(o,f(c),f(u),i))}};return Te(n,e?{add:pr("add"),set:pr("set"),delete:pr("delete"),clear:pr("clear")}:{add(s){const o=ne(this),i=hr(o),a=ne(s),l=!t&&!Be(s)&&!mt(s)?a:s;return i.has.call(o,l)||dt(s,l)&&i.has.call(o,s)||dt(a,l)&&i.has.call(o,a)||(o.add(l),Et(o,"add",l,l)),this},set(s,o){!t&&!Be(o)&&!mt(o)&&(o=ne(o));const i=ne(this),{has:a,get:l}=hr(i);let f=a.call(i,s);f||(s=ne(s),f=a.call(i,s));const c=l.call(i,s);return i.set(s,o),f?dt(o,c)&&Et(i,"set",s,o):Et(i,"add",s,o),this},delete(s){const o=ne(this),{has:i,get:a}=hr(o);let l=i.call(o,s);l||(s=ne(s),l=i.call(o,s)),a&&a.call(o,s);const f=o.delete(s);return l&&Et(o,"delete",s,void 0),f},clear(){const s=ne(this),o=s.size!==0,i=s.clear();return o&&Et(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Mu(s,e,t)}),n}function Eo(e,t){const n=Iu(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(ie(n,s)&&s in r?n:r,s,o)}const Lu={get:Eo(!1,!1)},Du={get:Eo(!1,!0)},$u={get:Eo(!0,!1)};const Wa=new WeakMap,qa=new WeakMap,za=new WeakMap,Hu=new WeakMap;function Nu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ot(e){return mt(e)?e:So(e,!1,xu,Lu,Wa)}function Ze(e){return So(e,!1,Ou,Du,qa)}function Hs(e){return So(e,!0,ku,$u,za)}function So(e,t,n,r,s){if(!se(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=s.get(e);if(o)return o;const i=Nu(cu(e));if(i===0)return e;const a=new Proxy(e,i===2?r:n);return s.set(e,a),a}function gt(e){return mt(e)?gt(e.__v_raw):!!(e&&e.__v_isReactive)}function mt(e){return!!(e&&e.__v_isReadonly)}function Be(e){return!!(e&&e.__v_isShallow)}function ts(e){return e?!!e.__v_raw:!1}function ne(e){const t=e&&e.__v_raw;return t?ne(t):e}function To(e){return!ie(e,"__v_skip")&&Object.isExtensible(e)&&Pa(e,"__v_skip",!0),e}const rt=e=>se(e)?ot(e):e,Tn=e=>se(e)?Hs(e):e;function pe(e){return e?e.__v_isRef===!0:!1}function nt(e){return Ga(e,!1)}function Ut(e){return Ga(e,!0)}function Ga(e,t){return pe(e)?e:new ju(e,t)}class ju{constructor(t,n){this.dep=new wo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ne(t),this._value=n?t:rt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||Be(t)||mt(t);t=r?t:ne(t),dt(t,n)&&(this._rawValue=t,this._value=r?t:rt(t),this.dep.trigger())}}function ae(e){return pe(e)?e.value:e}function ft(e){return Y(e)?e():ae(e)}const Fu={get:(e,t,n)=>t==="__v_raw"?e:ae(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return pe(s)&&!pe(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Ja(e){return gt(e)?e:new Proxy(e,Fu)}function Bu(e){const t=G(e)?new Array(e.length):{};for(const n in e)t[n]=Ya(e,n);return t}class Uu{constructor(t,n,r){this._object=t,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._key=Ue(n)?n:String(n),this._raw=ne(t);let s=!0,o=t;if(!G(t)||Ue(this._key)||!qr(this._key))do s=!ts(o)||Be(o);while(s&&(o=o.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=ae(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&pe(this._raw[this._key])){const n=this._object[this._key];if(pe(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Su(this._raw,this._key)}}class Vu{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Xa(e,t,n){return pe(e)?e:Y(e)?new Vu(e):se(e)&&arguments.length>1?Ya(e,t,n):nt(e)}function Ya(e,t,n){return new Uu(e,t,n)}class Ku{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new wo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=tr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&de!==this)return $a(this,!0),!0}get value(){const t=this.dep.track();return ja(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Wu(e,t,n=!1){let r,s;return Y(e)?r=e:(r=e.get,s=e.set),new Ku(r,s,n)}const gr={},Ar=new WeakMap;let Qt;function qu(e,t=!1,n=Qt){if(n){let r=Ar.get(n);r||Ar.set(n,r=[]),r.push(e)}}function zu(e,t,n=fe){const{immediate:r,deep:s,once:o,scheduler:i,augmentJob:a,call:l}=n,f=_=>s?_:Be(_)||s===!1||s===0?St(_,1):St(_);let c,u,h,d,m=!1,y=!1;if(pe(e)?(u=()=>e.value,m=Be(e)):gt(e)?(u=()=>f(e),m=!0):G(e)?(y=!0,m=e.some(_=>gt(_)||Be(_)),u=()=>e.map(_=>{if(pe(_))return _.value;if(gt(_))return f(_);if(Y(_))return l?l(_,2):_()})):Y(e)?t?u=l?()=>l(e,2):e:u=()=>{if(h){Pt();try{h()}finally{At()}}const _=Qt;Qt=c;try{return l?l(e,3,[d]):e(d)}finally{Qt=_}}:u=pt,t&&s){const _=u,w=s===!0?1/0:s;u=()=>St(_(),w)}const C=Zr(),E=()=>{c.stop(),C&&C.active&&po(C.effects,c)};if(o&&t){const _=t;t=(...w)=>{const k=_(...w);return E(),k}}let v=y?new Array(e.length).fill(gr):gr;const p=_=>{if(!(!(c.flags&1)||!c.dirty&&!_))if(t){const w=c.run();if(_||s||m||(y?w.some((k,A)=>dt(k,v[A])):dt(w,v))){h&&h();const k=Qt;Qt=c;try{const A=[w,v===gr?void 0:y&&v[0]===gr?[]:v,d];v=w,l?l(t,3,A):t(...A)}finally{Qt=k}}}else c.run()};return a&&a(p),c=new La(u),c.scheduler=i?()=>i(p,!1):p,d=_=>qu(_,!1,c),h=c.onStop=()=>{const _=Ar.get(c);if(_){if(l)l(_,4);else for(const w of _)w();Ar.delete(c)}},t?r?p(!0):v=c.run():i?i(p.bind(null,!0),!0):c.run(),E.pause=c.pause.bind(c),E.resume=c.resume.bind(c),E.stop=E,E}function St(e,t=1/0,n){if(t<=0||!se(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,pe(e))St(e.value,t,n);else if(G(e))for(let r=0;r{St(r,t,n)});else if(go(e)){for(const r in e)St(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&St(e[r],t,n)}return e}function cr(e,t,n,r){try{return r?e(...r):e()}catch(s){Ln(s,t,n)}}function Xe(e,t,n,r){if(Y(e)){const s=cr(e,t,n,r);return s&&Ra(s)&&s.catch(o=>{Ln(o,t,n)}),s}if(G(e)){const s=[];for(let o=0;o>>1,s=Ie[r],o=sr(s);o=sr(n)?Ie.push(e):Ie.splice(Ju(t),0,e),e.flags|=1,Za()}}function Za(){xr||(xr=Qa.then(el))}function rr(e){G(e)?wn.push(...e):$t&&e.id===-1?$t.splice(hn+1,0,e):e.flags&1||(wn.push(e),e.flags|=1),Za()}function Qo(e,t,n=lt+1){for(;nsr(n)-sr(r));if(wn.length=0,$t){$t.push(...t);return}for($t=t,hn=0;hn<$t.length;hn++){const n=$t[hn];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}$t=null,hn=0}}const sr=e=>e.id==null?e.flags&2?-1:1/0:e.id;function el(e){try{for(lt=0;lt{r._d&&Hr(-1);const o=Or(t);let i;try{i=e(...s)}finally{Or(o),r._d&&Hr(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Gy(e,t){if(Ae===null)return e;const n=as(Ae),r=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&Y(t)?t.call(r&&r.proxy):t}}function ns(){return!!(an()||nn)}const Xu=Symbol.for("v-scx"),Yu=()=>Ce(Xu);function Qu(e,t){return Po(e,null,t)}function Rt(e,t,n){return Po(e,t,n)}function Po(e,t,n=fe){const{immediate:r,deep:s,flush:o,once:i}=n,a=Te({},n),l=t&&r||!t&&o!=="post";let f;if(Pn){if(o==="sync"){const d=Yu();f=d.__watcherHandles||(d.__watcherHandles=[])}else if(!l){const d=()=>{};return d.stop=pt,d.resume=pt,d.pause=pt,d}}const c=Pe;a.call=(d,m,y)=>Xe(d,c,m,y);let u=!1;o==="post"?a.scheduler=d=>{Se(d,c&&c.suspense)}:o!=="sync"&&(u=!0,a.scheduler=(d,m)=>{m?d():Ro(d)}),a.augmentJob=d=>{t&&(d.flags|=4),u&&(d.flags|=2,c&&(d.id=c.uid,d.i=c))};const h=zu(e,t,a);return Pn&&(f?f.push(h):l&&h()),h}function Zu(e,t,n){const r=this.proxy,s=he(e)?e.includes(".")?nl(r,e):()=>r[e]:e.bind(r,r);let o;Y(t)?o=t:(o=t.handler,n=t);const i=dr(this),a=Po(s,o.bind(r),n);return i(),a}function nl(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;se.__isTeleport,ze=Symbol("_leaveCb"),Nn=Symbol("_enterCb");function tf(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return xo(()=>{e.isMounted=!0}),fr(()=>{e.isUnmounting=!0}),e}const We=[Function,Array],sl={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:We,onEnter:We,onAfterEnter:We,onEnterCancelled:We,onBeforeLeave:We,onLeave:We,onAfterLeave:We,onLeaveCancelled:We,onBeforeAppear:We,onAppear:We,onAfterAppear:We,onAppearCancelled:We},ol=e=>{const t=e.subTree;return t.component?ol(t.component):t},nf={name:"BaseTransition",props:sl,setup(e,{slots:t}){const n=an(),r=tf();return()=>{const s=t.default&&ll(t.default(),!0),o=s&&s.length?il(s):n.subTree?Xf():void 0;if(!o)return;const i=ne(e),{mode:a}=i;if(r.isLeaving)return ms(o);const l=Zo(o);if(!l)return ms(o);let f=Ns(l,i,r,n,u=>f=u);l.type!==be&&Rn(l,f);let c=n.subTree&&Zo(n.subTree);if(c&&c.type!==be&&!et(c,l)&&ol(n).type!==be){let u=Ns(c,i,r,n);if(Rn(c,u),a==="out-in"&&l.type!==be)return r.isLeaving=!0,u.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete u.afterLeave,c=void 0},ms(o);a==="in-out"&&l.type!==be?u.delayLeave=(h,d,m)=>{const y=al(r,c);y[String(c.key)]=c,h[ze]=()=>{d(),h[ze]=void 0,delete f.delayedLeave,c=void 0},f.delayedLeave=()=>{m(),delete f.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return o}}};function il(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==be){t=n;break}}return t}const rf=nf;function al(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Ns(e,t,n,r,s){const{appear:o,mode:i,persisted:a=!1,onBeforeEnter:l,onEnter:f,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:h,onLeave:d,onAfterLeave:m,onLeaveCancelled:y,onBeforeAppear:C,onAppear:E,onAfterAppear:v,onAppearCancelled:p}=t,_=String(e.key),w=al(n,e),k=(R,T)=>{R&&Xe(R,r,9,T)},A=(R,T)=>{const H=T[1];k(R,T),G(R)?R.every(L=>L.length<=1)&&H():R.length<=1&&H()},D={mode:i,persisted:a,beforeEnter(R){let T=l;if(!n.isMounted)if(o)T=C||l;else return;R[ze]&&R[ze](!0);const H=w[_];H&&et(e,H)&&H.el[ze]&&H.el[ze](),k(T,[R])},enter(R){if(w[_]===e)return;let T=f,H=c,L=u;if(!n.isMounted)if(o)T=E||f,H=v||c,L=p||u;else return;let W=!1;R[Nn]=te=>{W||(W=!0,te?k(L,[R]):k(H,[R]),D.delayedLeave&&D.delayedLeave(),R[Nn]=void 0)};const Z=R[Nn].bind(null,!1);T?A(T,[R,Z]):Z()},leave(R,T){const H=String(e.key);if(R[Nn]&&R[Nn](!0),n.isUnmounting)return T();k(h,[R]);let L=!1;R[ze]=Z=>{L||(L=!0,T(),Z?k(y,[R]):k(m,[R]),R[ze]=void 0,w[H]===e&&delete w[H])};const W=R[ze].bind(null,!1);w[H]=e,d?A(d,[R,W]):W()},clone(R){const T=Ns(R,t,n,r,s);return s&&s(T),T}};return D}function ms(e){if(ur(e))return e=kt(e),e.children=null,e}function Zo(e){if(!ur(e))return rl(e.type)&&e.children?il(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&Y(n.default))return n.default()}}function Rn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Rn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ll(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;oEn(y,t&&(G(t)?t[C]:t),n,r,s));return}if(Ct(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&En(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?as(r.component):r.el,i=s?null:o,{i:a,r:l}=e,f=t&&t.r,c=a.refs===fe?a.refs={}:a.refs,u=a.setupState,h=ne(u),d=u===fe?Ta:y=>ei(c,y)?!1:ie(h,y),m=(y,C)=>!(C&&ei(c,C));if(f!=null&&f!==l){if(ti(t),he(f))c[f]=null,d(f)&&(u[f]=null);else if(pe(f)){const y=t;m(f,y.k)&&(f.value=null),y.k&&(c[y.k]=null)}}if(Y(l))cr(l,a,12,[i,c]);else{const y=he(l),C=pe(l);if(y||C){const E=()=>{if(e.f){const v=y?d(l)?u[l]:c[l]:m()||!e.k?l.value:c[e.k];if(s)G(v)&&po(v,o);else if(G(v))v.includes(o)||v.push(o);else if(y)c[l]=[o],d(l)&&(u[l]=c[l]);else{const p=[o];m(l,e.k)&&(l.value=p),e.k&&(c[e.k]=p)}}else y?(c[l]=i,d(l)&&(u[l]=i)):C&&(m(l,e.k)&&(l.value=i),e.k&&(c[e.k]=i))};if(i){const v=()=>{E(),Mr.delete(e)};v.id=-1,Mr.set(e,v),Se(v,n)}else ti(e),E()}}}function ti(e){const t=Mr.get(e);t&&(t.flags|=8,Mr.delete(e))}let ni=!1;const fn=()=>{ni||(console.error("Hydration completed but contains mismatches."),ni=!0)},sf=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",of=e=>e.namespaceURI.includes("MathML"),mr=e=>{if(e.nodeType===1){if(sf(e))return"svg";if(of(e))return"mathml"}},mn=e=>e.nodeType===8;function af(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:a,insert:l,createComment:f}}=e,c=(p,_)=>{if(!_.hasChildNodes()){n(null,p,_),kr(),_._vnode=p;return}u(_.firstChild,p,null,null,null),kr(),_._vnode=p},u=(p,_,w,k,A,D=!1)=>{D=D||!!_.dynamicChildren;const R=mn(p)&&p.data==="[",T=()=>y(p,_,w,k,A,R),{type:H,ref:L,shapeFlag:W,patchFlag:Z}=_;let te=p.nodeType;_.el=p,Z===-2&&(D=!1,_.dynamicChildren=null);let F=null;switch(H){case rn:te!==3?_.children===""?(l(_.el=s(""),i(p),p),F=p):F=T():(p.data!==_.children&&(fn(),p.data=_.children),F=o(p));break;case be:v(p)?(F=o(p),E(_.el=p.content.firstChild,p,w)):te!==8||R?F=T():F=o(p);break;case Jn:if(R&&(p=o(p),te=p.nodeType),te===1||te===3){F=p;const q=!_.children.length;for(let V=0;V<_.staticCount;V++)q&&(_.children+=F.nodeType===1?F.outerHTML:F.data),V===_.staticCount-1&&(_.anchor=F),F=o(F);return R?o(F):F}else T();break;case ke:R?F=m(p,_,w,k,A,D):F=T();break;default:if(W&1)(te!==1||_.type.toLowerCase()!==p.tagName.toLowerCase())&&!v(p)?F=T():F=h(p,_,w,k,A,D);else if(W&6){_.slotScopeIds=A;const q=i(p);if(R?F=C(p):mn(p)&&p.data==="teleport start"?F=C(p,p.data,"teleport end"):F=o(p),t(_,q,null,w,k,mr(q),D),Ct(_)&&!_.type.__asyncResolved){let V;R?(V=ye(ke),V.anchor=F?F.previousSibling:q.lastChild):V=p.nodeType===3?Kl(""):ye("div"),V.el=p,_.component.subTree=V}}else W&64?te!==8?F=T():F=_.type.hydrate(p,_,w,k,A,D,e,d):W&128&&(F=_.type.hydrate(p,_,w,k,mr(i(p)),A,D,e,u))}return L!=null&&En(L,null,k,_),F},h=(p,_,w,k,A,D)=>{D=D||!!_.dynamicChildren;const{type:R,props:T,patchFlag:H,shapeFlag:L,dirs:W,transition:Z}=_,te=R==="input"||R==="option";if(te||H!==-1){W&&ct(_,null,w,"created");let F=!1;if(v(p)){F=Il(null,Z)&&w&&w.vnode.props&&w.vnode.props.appear;const V=p.content.firstChild;if(F){const le=V.getAttribute("class");le&&(V.$cls=le),Z.beforeEnter(V)}E(V,p,w),_.el=p=V}if(L&16&&!(T&&(T.innerHTML||T.textContent))){let V=d(p.firstChild,_,p,w,k,A,D);for(V&&!yr(p,1)&&fn();V;){const le=V;V=V.nextSibling,a(le)}}else if(L&8){let V=_.children;V[0]===` `&&(p.tagName==="PRE"||p.tagName==="TEXTAREA")&&(V=V.slice(1));const{textContent:le}=p;le!==V&&le!==V.replace(/\r\n|\r/g,` -`)&&(yr(p,0)||fn(),p.textContent=_.children)}if(T){if(te||!D||H&48){const V=p.tagName.includes("-");for(const le in T)(te&&(le.endsWith("value")||le==="indeterminate")||lr(le)&&!en(le)||le[0]==="."||V&&!en(le))&&r(p,le,null,T[le],void 0,w)}else if(T.onClick)r(p,"onClick",null,T.onClick,void 0,w);else if(H&4&>(T.style))for(const V in T.style)T.style[V]}let q;(q=T&&T.onVnodeBeforeMount)&&$e(q,w,_),W&&ct(_,null,w,"beforeMount"),((q=T&&T.onVnodeMounted)||W||F)&&Nl(()=>{q&&$e(q,w,_),F&&Z.enter(p),W&&ct(_,null,w,"mounted")},k)}return p.nextSibling},d=(p,_,w,k,A,D,R)=>{R=R||!!_.dynamicChildren;const T=_.children,H=T.length;let L=!1;for(let W=0;W{const{slotScopeIds:R}=_;R&&(A=A?A.concat(R):R);const T=i(p),H=d(o(p),_,T,w,k,A,D);return H&&mn(H)&&H.data==="]"?o(_.anchor=H):(fn(),l(_.anchor=f("]"),T,H),H)},y=(p,_,w,k,A,D)=>{if(yr(p.parentElement,1)||fn(),_.el=null,D){const H=C(p);for(;;){const L=o(p);if(L&&L!==H)a(L);else break}}const R=o(p),T=i(p);return a(p),n(null,_,T,R,w,k,mr(T),A),w&&(w.vnode.el=_.el,is(w,_.el)),R},C=(p,_="[",w="]")=>{let k=0;for(;p;)if(p=o(p),p&&mn(p)&&(p.data===_&&k++,p.data===w)){if(k===0)return o(p);k--}return p},E=(p,_,w)=>{const k=_.parentNode;k&&k.replaceChild(p,_);let A=w;for(;A;)A.vnode.el===_&&(A.vnode.el=A.subTree.el=p),A=A.parent},v=p=>p.nodeType===1&&p.tagName==="TEMPLATE";return[c,u]}const ri="data-allow-mismatch",lf={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function yr(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(ri);)e=e.parentElement;const n=e&&e.getAttribute(ri);if(n==null)return!1;if(n==="")return!0;{const r=n.split(",");return t===0&&r.includes("children")?!0:r.includes(lf[t])}}Xr().requestIdleCallback;Xr().cancelIdleCallback;function cf(e,t){if(mn(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(mn(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const Ct=e=>!!e.type.__asyncLoader;function Ir(e){Y(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:o,timeout:i,suspensible:a=!0,onError:l}=e;let f=null,c,u=0;const h=()=>(u++,f=null,d()),d=()=>{let m;return f||(m=f=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((C,E)=>{l(y,()=>C(h()),()=>E(y),u+1)});throw y}).then(y=>m!==f&&f?f:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),c=y,y)))};return Wt({name:"AsyncComponentWrapper",__asyncLoader:d,__asyncHydrate(m,y,C){let E=!1;(y.bu||(y.bu=[])).push(()=>E=!0);const v=()=>{E||C()},p=o?()=>{const _=o(v,w=>cf(m,w));_&&(y.bum||(y.bum=[])).push(_)}:v;c?p():d().then(()=>!y.isUnmounted&&p())},get __asyncResolved(){return c},setup(){const m=Pe;if(Ao(m),c)return()=>_r(c,m);const y=w=>{f=null,Ln(w,m,13,!r)};if(a&&m.suspense||Pn)return d().then(w=>()=>_r(w,m)).catch(w=>(y(w),()=>r?ye(r,{error:w}):null));const C=nt(!1),E=nt(),v=nt(!!s);let p,_;return ss(()=>{p!=null&&clearTimeout(p),_!=null&&clearTimeout(_)}),s&&(_=setTimeout(()=>{m.isUnmounted||(v.value=!1)},s)),i!=null&&(p=setTimeout(()=>{if(!m.isUnmounted&&!C.value&&!E.value){const w=new Error(`Async component timed out after ${i}ms.`);y(w),E.value=w}},i)),d().then(()=>{m.isUnmounted||(C.value=!0,m.parent&&ur(m.parent.vnode)&&m.parent.update())}).catch(w=>{if(m.isUnmounted){f=null;return}y(w),E.value=w}),()=>{if(C.value&&c)return _r(c,m);if(E.value&&r)return ye(r,{error:E.value});if(n&&!v.value)return _r(n,m)}}})}function _r(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=ye(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const ur=e=>e.type.__isKeepAlive,uf={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=an(),r=n.ctx;if(!r.renderer)return()=>{const v=t.default&&t.default();return v&&v.length===1?v[0]:v};const s=new Map,o=new Set;let i=null;const a=n.suspense,{renderer:{p:l,m:f,um:c,o:{createElement:u}}}=r,h=u("div");r.activate=(v,p,_,w,k)=>{const A=v.component;f(v,p,_,0,a),l(A.vnode,v,p,_,A,a,w,v.slotScopeIds,k),Se(()=>{A.isDeactivated=!1,A.a&&vn(A.a);const D=v.props&&v.props.onVnodeMounted;D&&$e(D,A.parent,v)},a)},r.deactivate=v=>{const p=v.component;Dr(p.m),Dr(p.a),f(v,h,null,1,a),Se(()=>{p.da&&vn(p.da);const _=v.props&&v.props.onVnodeUnmounted;_&&$e(_,p.parent,v),p.isDeactivated=!0},a)};function d(v){ys(v),c(v,n,a,!0)}function m(v){s.forEach((p,_)=>{const w=zs(Ct(p)?p.type.__asyncResolved||{}:p.type);w&&!v(w)&&y(_)})}function y(v){const p=s.get(v);p&&(!i||!et(p,i))?d(p):i&&ys(i),s.delete(v),o.delete(v)}Rt(()=>[e.include,e.exclude],([v,p])=>{v&&m(_=>Vn(v,_)),p&&m(_=>!Vn(p,_))},{flush:"post",deep:!0});let C=null;const E=()=>{C!=null&&($r(n.subTree.type)?Se(()=>{s.set(C,br(n.subTree))},n.subTree.suspense):s.set(C,br(n.subTree)))};return xo(E),hl(E),fr(()=>{s.forEach(v=>{const{subTree:p,suspense:_}=n,w=br(p);if(v.type===w.type&&v.key===w.key){ys(w);const k=w.component.da;k&&Se(k,_);return}d(v)})}),()=>{if(C=null,!t.default)return i=null;const v=t.default(),p=v[0];if(v.length>1)return i=null,v;if(!sn(p)||!(p.shapeFlag&4)&&!(p.shapeFlag&128))return i=null,p;let _=br(p);if(_.type===be)return i=null,_;const w=_.type,k=zs(Ct(_)?_.type.__asyncResolved||{}:w),{include:A,exclude:D,max:R}=e;if(A&&(!k||!Vn(A,k))||D&&k&&Vn(D,k))return _.shapeFlag&=-257,i=_,p;const T=_.key==null?w:_.key,H=s.get(T);return _.el&&(_=kt(_),p.shapeFlag&128&&(p.ssContent=_)),C=T,H?(_.el=H.el,_.component=H.component,_.transition&&Rn(_,_.transition),_.shapeFlag|=512,o.delete(T),o.add(T)):(o.add(T),R&&o.size>parseInt(R,10)&&y(o.values().next().value)),_.shapeFlag|=256,i=_,$r(p.type)?p:_}}},ff=uf;function Vn(e,t){return G(e)?e.some(n=>Vn(n,t)):he(e)?e.split(",").includes(t):lu(e)?(e.lastIndex=0,e.test(t)):!1}function cl(e,t){fl(e,"a",t)}function ul(e,t){fl(e,"da",t)}function fl(e,t,n=Pe){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(rs(t,r,n),n){let s=n.parent;for(;s&&s.parent;)ur(s.parent.vnode)&&df(r,t,n,s),s=s.parent}}function df(e,t,n,r){const s=rs(t,e,r,!0);ss(()=>{po(r[t],s)},n)}function ys(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function br(e){return e.shapeFlag&128?e.ssContent:e}function rs(e,t,n=Pe,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{Pt();const a=dr(n),l=Xe(t,n,e,i);return a(),At(),l});return r?s.unshift(o):s.push(o),o}}const Ot=e=>(t,n=Pe)=>{(!Pn||e==="sp")&&rs(e,(...r)=>t(...r),n)},dl=Ot("bm"),xo=Ot("m"),hf=Ot("bu"),hl=Ot("u"),fr=Ot("bum"),ss=Ot("um"),pf=Ot("sp"),gf=Ot("rtg"),mf=Ot("rtc");function pl(e,t=Pe){rs("ec",e,t)}const gl="components";function Jy(e,t){return yl(gl,e,!0,t)||e}const ml=Symbol.for("v-ndc");function yf(e){return he(e)?yl(gl,e,!1)||e:e||ml}function yl(e,t,n=!0,r=!1){const s=Ae||Pe;if(s){const o=s.type;{const a=zs(o,!1);if(a&&(a===t||a===Le(t)||a===Gr(Le(t))))return o}const i=si(s[e]||o[e],t)||si(s.appContext[e],t);return!i&&r?o:i}}function si(e,t){return e&&(e[t]||e[Le(t)]||e[Gr(Le(t))])}function Xy(e,t,n,r){let s;const o=n,i=G(e);if(i||he(e)){const a=i&>(e);let l=!1,f=!1;a&&(l=!Be(e),f=mt(e),e=es(e)),s=new Array(e.length);for(let c=0,u=e.length;ct(a,l,void 0,o));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,f=a.length;l0;return Ge(),ht(ke,null,[ye("slot",n,r)],f?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),Ge();const i=o&&_l(o(n)),a=n.key||i&&i.key,l=ht(ke,{key:(a&&!Ue(a)?a:`_${t}`)+(!i&&r?"_fb":"")},i||[],i&&e._===1?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function _l(e){return e.some(t=>sn(t)?!(t.type===be||t.type===ke&&!_l(t.children)):!0)?e:null}const js=e=>e?ql(e)?as(e):js(e.parent):null,Gn=Te(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>js(e.parent),$root:e=>js(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>vl(e),$forceUpdate:e=>e.f||(e.f=()=>{Ro(e.update)}),$nextTick:e=>e.n||(e.n=xt.bind(e.proxy)),$watch:e=>Zu.bind(e)}),_s=(e,t)=>e!==fe&&!e.__isScriptSetup&&ie(e,t),_f={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(_s(r,t))return i[t]=1,r[t];if(s!==fe&&ie(s,t))return i[t]=2,s[t];if(ie(o,t))return i[t]=3,o[t];if(n!==fe&&ie(n,t))return i[t]=4,n[t];Fs&&(i[t]=0)}}const f=Gn[t];let c,u;if(f)return t==="$attrs"&&xe(e.attrs,"get",""),f(e);if((c=a.__cssModules)&&(c=c[t]))return c;if(n!==fe&&ie(n,t))return i[t]=4,n[t];if(u=l.config.globalProperties,ie(u,t))return u[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return _s(s,t)?(s[t]=n,!0):r!==fe&&ie(r,t)?(r[t]=n,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:o,type:i}},a){let l;return!!(n[a]||e!==fe&&a[0]!=="$"&&ie(e,a)||_s(t,a)||ie(o,a)||ie(r,a)||ie(Gn,a)||ie(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ie(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function oi(e){return G(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Fs=!0;function bf(e){const t=vl(e),n=e.proxy,r=e.ctx;Fs=!1,t.beforeCreate&&ii(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:a,provide:l,inject:f,created:c,beforeMount:u,mounted:h,beforeUpdate:d,updated:m,activated:y,deactivated:C,beforeDestroy:E,beforeUnmount:v,destroyed:p,unmounted:_,render:w,renderTracked:k,renderTriggered:A,errorCaptured:D,serverPrefetch:R,expose:T,inheritAttrs:H,components:L,directives:W,filters:Z}=t;if(f&&vf(f,r,null),i)for(const q in i){const V=i[q];Y(V)&&(r[q]=V.bind(n))}if(s){const q=s.call(n,n);se(q)&&(e.data=ot(q))}if(Fs=!0,o)for(const q in o){const V=o[q],le=Y(V)?V.bind(n,n):Y(V.get)?V.get.bind(n,n):pt,Mt=!Y(V)&&Y(V.set)?V.set.bind(n):pt,it=Re({get:le,set:Mt});Object.defineProperty(r,q,{enumerable:!0,configurable:!0,get:()=>it.value,set:De=>it.value=De})}if(a)for(const q in a)bl(a[q],r,n,q);if(l){const q=Y(l)?l.call(n):l;Reflect.ownKeys(q).forEach(V=>{jt(V,q[V])})}c&&ii(c,e,"c");function F(q,V){G(V)?V.forEach(le=>q(le.bind(n))):V&&q(V.bind(n))}if(F(dl,u),F(xo,h),F(hf,d),F(hl,m),F(cl,y),F(ul,C),F(pl,D),F(mf,k),F(gf,A),F(fr,v),F(ss,_),F(pf,R),G(T))if(T.length){const q=e.exposed||(e.exposed={});T.forEach(V=>{Object.defineProperty(q,V,{get:()=>n[V],set:le=>n[V]=le,enumerable:!0})})}else e.exposed||(e.exposed={});w&&e.render===pt&&(e.render=w),H!=null&&(e.inheritAttrs=H),L&&(e.components=L),W&&(e.directives=W),R&&Ao(e)}function vf(e,t,n=pt){G(e)&&(e=Bs(e));for(const r in e){const s=e[r];let o;se(s)?"default"in s?o=Ce(s.from||r,s.default,!0):o=Ce(s.from||r):o=Ce(s),pe(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function ii(e,t,n){Xe(G(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function bl(e,t,n,r){let s=r.includes(".")?nl(n,r):()=>n[r];if(he(e)){const o=t[e];Y(o)&&Rt(s,o)}else if(Y(e))Rt(s,e.bind(n));else if(se(e))if(G(e))e.forEach(o=>bl(o,t,n,r));else{const o=Y(e.handler)?e.handler.bind(n):t[e.handler];Y(o)&&Rt(s,o,e)}}function vl(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,a=o.get(t);let l;return a?l=a:!s.length&&!n&&!r?l=t:(l={},s.length&&s.forEach(f=>Lr(l,f,i,!0)),Lr(l,t,i)),se(t)&&o.set(t,l),l}function Lr(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Lr(e,o,n,!0),s&&s.forEach(i=>Lr(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=wf[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const wf={data:ai,props:li,emits:li,methods:Kn,computed:Kn,beforeCreate:Me,created:Me,beforeMount:Me,mounted:Me,beforeUpdate:Me,updated:Me,beforeDestroy:Me,beforeUnmount:Me,destroyed:Me,unmounted:Me,activated:Me,deactivated:Me,errorCaptured:Me,serverPrefetch:Me,components:Kn,directives:Kn,watch:Sf,provide:ai,inject:Ef};function ai(e,t){return t?e?function(){return Te(Y(e)?e.call(this,this):e,Y(t)?t.call(this,this):t)}:t:e}function Ef(e,t){return Kn(Bs(e),Bs(t))}function Bs(e){if(G(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Le(t)}Modifiers`]||e[`${Kt(t)}Modifiers`];function Pf(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||fe;let s=n;const o=t.startsWith("update:"),i=o&&Cf(r,t.slice(7));i&&(i.trim&&(s=n.map(c=>he(c)?c.trim():c)),i.number&&(s=n.map(Jr)));let a,l=r[a=fs(t)]||r[a=fs(Le(t))];!l&&o&&(l=r[a=fs(Kt(t))]),l&&Xe(l,e,6,s);const f=r[a+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Xe(f,e,6,s)}}const Af=new WeakMap;function El(e,t,n=!1){const r=n?Af:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},a=!1;if(!Y(e)){const l=f=>{const c=El(f,t,!0);c&&(a=!0,Te(i,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(se(e)&&r.set(e,null),null):(G(o)?o.forEach(l=>i[l]=null):Te(i,o),se(e)&&r.set(e,i),i)}function os(e,t){return!e||!lr(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,Kt(t))||ie(e,t))}function bs(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:a,emit:l,render:f,renderCache:c,props:u,data:h,setupState:d,ctx:m,inheritAttrs:y}=e,C=Or(e);let E,v;try{if(n.shapeFlag&4){const _=s||r,w=_;E=Fe(f.call(w,_,c,u,d,h,m)),v=a}else{const _=t;E=Fe(_.length>1?_(u,{attrs:a,slots:i,emit:l}):_(u,null)),v=t.props?a:kf(a)}}catch(_){Xn.length=0,Ln(_,e,1),E=ye(be)}let p=E;if(v&&y!==!1){const _=Object.keys(v),{shapeFlag:w}=p;_.length&&w&7&&(o&&_.some(Wr)&&(v=Of(v,o)),p=kt(p,v,!1,!0))}return n.dirs&&(p=kt(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&Rn(p,n.transition),E=p,Or(C),E}function xf(e,t=!0){let n;for(let r=0;r{let t;for(const n in e)(n==="class"||n==="style"||lr(n))&&((t||(t={}))[n]=e[n]);return t},Of=(e,t)=>{const n={};for(const r in e)(!Wr(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Mf(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:a,patchFlag:l}=t,f=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?ci(r,i,f):!!i;if(l&8){const c=t.dynamicProps;for(let u=0;uObject.create(Tl),Cl=e=>Object.getPrototypeOf(e)===Tl;function If(e,t,n,r=!1){const s={},o=Rl();e.propsDefaults=Object.create(null),Pl(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:Ze(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Lf(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,a=ne(s),[l]=e.propsOptions;let f=!1;if((r||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let u=0;u{l=!0;const[h,d]=Al(u,t,!0);Te(i,h),d&&a.push(...d)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!o&&!l)return se(e)&&r.set(e,_n),_n;if(G(o))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",Oo=e=>G(e)?e.map(Fe):[Fe(e)],$f=(e,t,n)=>{if(t._n)return t;const r=Co((...s)=>Oo(t(...s)),n);return r._c=!1,r},xl=(e,t,n)=>{const r=e._ctx;for(const s in e){if(ko(s))continue;const o=e[s];if(Y(o))t[s]=$f(s,o,r);else if(o!=null){const i=Oo(o);t[s]=()=>i}}},kl=(e,t)=>{const n=Oo(t);e.slots.default=()=>n},Ol=(e,t,n)=>{for(const r in t)(n||!ko(r))&&(e[r]=t[r])},Hf=(e,t,n)=>{const r=e.slots=Rl();if(e.vnode.shapeFlag&32){const s=t._;s?(Ol(r,t,n),n&&Pa(r,"_",s,!0)):xl(t,r)}else t&&kl(e,t)},Nf=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=fe;if(r.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:Ol(s,t,n):(o=!t.$stable,xl(t,s)),i=t}else t&&(kl(e,t),i={default:1});if(o)for(const a in s)!ko(a)&&i[a]==null&&delete s[a]},Se=Nl;function jf(e){return Ml(e)}function Ff(e){return Ml(e,af)}function Ml(e,t){const n=Xr();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:a,createComment:l,setText:f,setElementText:c,parentNode:u,nextSibling:h,setScopeId:d=pt,insertStaticContent:m}=e,y=(g,b,S,M=null,P=null,O=null,j=void 0,N=null,$=!!b.dynamicChildren)=>{if(g===b)return;g&&!et(g,b)&&(M=x(g),De(g,P,O,!0),g=null),b.patchFlag===-2&&($=!1,b.dynamicChildren=null);const{type:I,ref:X,shapeFlag:U}=b;switch(I){case rn:C(g,b,S,M);break;case be:E(g,b,S,M);break;case Jn:g==null&&v(b,S,M,j);break;case ke:L(g,b,S,M,P,O,j,N,$);break;default:U&1?w(g,b,S,M,P,O,j,N,$):U&6?W(g,b,S,M,P,O,j,N,$):(U&64||U&128)&&I.process(g,b,S,M,P,O,j,N,$,J)}X!=null&&P?En(X,g&&g.ref,O,b||g,!b):X==null&&g&&g.ref!=null&&En(g.ref,null,O,g,!0)},C=(g,b,S,M)=>{if(g==null)r(b.el=a(b.children),S,M);else{const P=b.el=g.el;b.children!==g.children&&f(P,b.children)}},E=(g,b,S,M)=>{g==null?r(b.el=l(b.children||""),S,M):b.el=g.el},v=(g,b,S,M)=>{[g.el,g.anchor]=m(g.children,b,S,M,g.el,g.anchor)},p=({el:g,anchor:b},S,M)=>{let P;for(;g&&g!==b;)P=h(g),r(g,S,M),g=P;r(b,S,M)},_=({el:g,anchor:b})=>{let S;for(;g&&g!==b;)S=h(g),s(g),g=S;s(b)},w=(g,b,S,M,P,O,j,N,$)=>{if(b.type==="svg"?j="svg":b.type==="math"&&(j="mathml"),g==null)k(b,S,M,P,O,j,N,$);else{const I=g.el&&g.el._isVueCE?g.el:null;try{I&&I._beginPatch(),R(g,b,P,O,j,N,$)}finally{I&&I._endPatch()}}},k=(g,b,S,M,P,O,j,N)=>{let $,I;const{props:X,shapeFlag:U,transition:z,dirs:Q}=g;if($=g.el=i(g.type,O,X&&X.is,X),U&8?c($,g.children):U&16&&D(g.children,$,null,M,P,vs(g,O),j,N),Q&&ct(g,null,M,"created"),A($,g,g.scopeId,j,M),X){for(const ue in X)ue!=="value"&&!en(ue)&&o($,ue,null,X[ue],O,M);"value"in X&&o($,"value",null,X.value,O),(I=X.onVnodeBeforeMount)&&$e(I,M,g)}Q&&ct(g,null,M,"beforeMount");const re=Il(P,z);re&&z.beforeEnter($),r($,b,S),((I=X&&X.onVnodeMounted)||re||Q)&&Se(()=>{I&&$e(I,M,g),re&&z.enter($),Q&&ct(g,null,M,"mounted")},P)},A=(g,b,S,M,P)=>{if(S&&d(g,S),M)for(let O=0;O{for(let I=$;I{const N=b.el=g.el;let{patchFlag:$,dynamicChildren:I,dirs:X}=b;$|=g.patchFlag&16;const U=g.props||fe,z=b.props||fe;let Q;if(S&&zt(S,!1),(Q=z.onVnodeBeforeUpdate)&&$e(Q,S,b,g),X&&ct(b,g,S,"beforeUpdate"),S&&zt(S,!0),(U.innerHTML&&z.innerHTML==null||U.textContent&&z.textContent==null)&&c(N,""),I?T(g.dynamicChildren,I,N,S,M,vs(b,P),O):j||V(g,b,N,null,S,M,vs(b,P),O,!1),$>0){if($&16)H(N,U,z,S,P);else if($&2&&U.class!==z.class&&o(N,"class",null,z.class,P),$&4&&o(N,"style",U.style,z.style,P),$&8){const re=b.dynamicProps;for(let ue=0;ue{Q&&$e(Q,S,b,g),X&&ct(b,g,S,"updated")},M)},T=(g,b,S,M,P,O,j)=>{for(let N=0;N{if(b!==S){if(b!==fe)for(const O in b)!en(O)&&!(O in S)&&o(g,O,b[O],null,P,M);for(const O in S){if(en(O))continue;const j=S[O],N=b[O];j!==N&&O!=="value"&&o(g,O,N,j,P,M)}"value"in S&&o(g,"value",b.value,S.value,P)}},L=(g,b,S,M,P,O,j,N,$)=>{const I=b.el=g?g.el:a(""),X=b.anchor=g?g.anchor:a("");let{patchFlag:U,dynamicChildren:z,slotScopeIds:Q}=b;Q&&(N=N?N.concat(Q):Q),g==null?(r(I,S,M),r(X,S,M),D(b.children||[],S,X,P,O,j,N,$)):U>0&&U&64&&z&&g.dynamicChildren&&g.dynamicChildren.length===z.length?(T(g.dynamicChildren,z,S,P,O,j,N),(b.key!=null||P&&b===P.subTree)&&Ll(g,b,!0)):V(g,b,S,X,P,O,j,N,$)},W=(g,b,S,M,P,O,j,N,$)=>{b.slotScopeIds=N,g==null?b.shapeFlag&512?P.ctx.activate(b,S,M,j,$):Z(b,S,M,P,O,j,$):te(g,b,$)},Z=(g,b,S,M,P,O,j)=>{const N=g.component=Zf(g,M,P);if(ur(g)&&(N.ctx.renderer=J),ed(N,!1,j),N.asyncDep){if(P&&P.registerDep(N,F,j),!g.el){const $=N.subTree=ye(be);E(null,$,b,S),g.placeholder=$.el}}else F(N,g,b,S,P,O,j)},te=(g,b,S)=>{const M=b.component=g.component;if(Mf(g,b,S))if(M.asyncDep&&!M.asyncResolved){q(M,b,S);return}else M.next=b,M.update();else b.el=g.el,M.vnode=b},F=(g,b,S,M,P,O,j)=>{const N=()=>{if(g.isMounted){let{next:U,bu:z,u:Q,parent:re,vnode:ue}=g;{const Ne=Dl(g);if(Ne){U&&(U.el=ue.el,q(g,U,j)),Ne.asyncDep.then(()=>{Se(()=>{g.isUnmounted||I()},P)});return}}let ce=U,_e;zt(g,!1),U?(U.el=ue.el,q(g,U,j)):U=ue,z&&vn(z),(_e=U.props&&U.props.onVnodeBeforeUpdate)&&$e(_e,re,U,ue),zt(g,!0);const we=bs(g),Qe=g.subTree;g.subTree=we,y(Qe,we,u(Qe.el),x(Qe),g,P,O),U.el=we.el,ce===null&&is(g,we.el),Q&&Se(Q,P),(_e=U.props&&U.props.onVnodeUpdated)&&Se(()=>$e(_e,re,U,ue),P)}else{let U;const{el:z,props:Q}=b,{bm:re,m:ue,parent:ce,root:_e,type:we}=g,Qe=Ct(b);if(zt(g,!1),re&&vn(re),!Qe&&(U=Q&&Q.onVnodeBeforeMount)&&$e(U,ce,b),zt(g,!0),z&&ge){const Ne=()=>{g.subTree=bs(g),ge(z,g.subTree,g,P,null)};Qe&&we.__asyncHydrate?we.__asyncHydrate(z,g,Ne):Ne()}else{_e.ce&&_e.ce._hasShadowRoot()&&_e.ce._injectChildStyle(we,g.parent?g.parent.type:void 0);const Ne=g.subTree=bs(g);y(null,Ne,S,M,g,P,O),b.el=Ne.el}if(ue&&Se(ue,P),!Qe&&(U=Q&&Q.onVnodeMounted)){const Ne=b;Se(()=>$e(U,ce,Ne),P)}(b.shapeFlag&256||ce&&Ct(ce.vnode)&&ce.vnode.shapeFlag&256)&&g.a&&Se(g.a,P),g.isMounted=!0,b=S=M=null}};g.scope.on();const $=g.effect=new La(N);g.scope.off();const I=g.update=$.run.bind($),X=g.job=$.runIfDirty.bind($);X.i=g,X.id=g.uid,$.scheduler=()=>Ro(X),zt(g,!0),I()},q=(g,b,S)=>{b.component=g;const M=g.vnode.props;g.vnode=b,g.next=null,Lf(g,b.props,M,S),Nf(g,b.children,S),Pt(),Qo(g),At()},V=(g,b,S,M,P,O,j,N,$=!1)=>{const I=g&&g.children,X=g?g.shapeFlag:0,U=b.children,{patchFlag:z,shapeFlag:Q}=b;if(z>0){if(z&128){Mt(I,U,S,M,P,O,j,N,$);return}else if(z&256){le(I,U,S,M,P,O,j,N,$);return}}Q&8?(X&16&&Ke(I,P,O),U!==I&&c(S,U)):X&16?Q&16?Mt(I,U,S,M,P,O,j,N,$):Ke(I,P,O,!0):(X&8&&c(S,""),Q&16&&D(U,S,M,P,O,j,N,$))},le=(g,b,S,M,P,O,j,N,$)=>{g=g||_n,b=b||_n;const I=g.length,X=b.length,U=Math.min(I,X);let z;for(z=0;zX?Ke(g,P,O,!0,!1,U):D(b,S,M,P,O,j,N,$,U)},Mt=(g,b,S,M,P,O,j,N,$)=>{let I=0;const X=b.length;let U=g.length-1,z=X-1;for(;I<=U&&I<=z;){const Q=g[I],re=b[I]=$?wt(b[I]):Fe(b[I]);if(et(Q,re))y(Q,re,S,null,P,O,j,N,$);else break;I++}for(;I<=U&&I<=z;){const Q=g[U],re=b[z]=$?wt(b[z]):Fe(b[z]);if(et(Q,re))y(Q,re,S,null,P,O,j,N,$);else break;U--,z--}if(I>U){if(I<=z){const Q=z+1,re=Qz)for(;I<=U;)De(g[I],P,O,!0),I++;else{const Q=I,re=I,ue=new Map;for(I=re;I<=z;I++){const je=b[I]=$?wt(b[I]):Fe(b[I]);je.key!=null&&ue.set(je.key,I)}let ce,_e=0;const we=z-re+1;let Qe=!1,Ne=0;const $n=new Array(we);for(I=0;I=we){De(je,P,O,!0);continue}let at;if(je.key!=null)at=ue.get(je.key);else for(ce=re;ce<=z;ce++)if($n[ce-re]===0&&et(je,b[ce])){at=ce;break}at===void 0?De(je,P,O,!0):($n[at-re]=I+1,at>=Ne?Ne=at:Qe=!0,y(je,b[at],S,null,P,O,j,N,$),_e++)}const Wo=Qe?Bf($n):_n;for(ce=Wo.length-1,I=we-1;I>=0;I--){const je=re+I,at=b[je],qo=b[je+1],zo=je+1{const{el:O,type:j,transition:N,children:$,shapeFlag:I}=g;if(I&6){it(g.component.subTree,b,S,M);return}if(I&128){g.suspense.move(b,S,M);return}if(I&64){j.move(g,b,S,J);return}if(j===ke){r(O,b,S);for(let U=0;U<$.length;U++)it($[U],b,S,M);r(g.anchor,b,S);return}if(j===Jn){p(g,b,S);return}if(M!==2&&I&1&&N)if(M===0)N.persisted&&!O[ze]?r(O,b,S):(N.beforeEnter(O),r(O,b,S),Se(()=>N.enter(O),P));else{const{leave:U,delayLeave:z,afterLeave:Q}=N,re=()=>{g.ctx.isUnmounted?s(O):r(O,b,S)},ue=()=>{const ce=O._isLeaving||!!O[ze];O._isLeaving&&O[ze](!0),N.persisted&&!ce?re():U(O,()=>{re(),Q&&Q()})};z?z(O,re,ue):ue()}else r(O,b,S)},De=(g,b,S,M=!1,P=!1)=>{const{type:O,props:j,ref:N,children:$,dynamicChildren:I,shapeFlag:X,patchFlag:U,dirs:z,cacheIndex:Q,memo:re}=g;if(U===-2&&(P=!1),N!=null&&(Pt(),En(N,null,S,g,!0),At()),Q!=null&&(b.renderCache[Q]=void 0),X&256){b.ctx.deactivate(g);return}const ue=X&1&&z,ce=!Ct(g);let _e;if(ce&&(_e=j&&j.onVnodeBeforeUnmount)&&$e(_e,b,g),X&6)qt(g.component,S,M);else{if(X&128){g.suspense.unmount(S,M);return}ue&&ct(g,null,b,"beforeUnmount"),X&64?g.type.remove(g,b,S,J,M):I&&!I.hasOnce&&(O!==ke||U>0&&U&64)?Ke(I,b,S,!1,!0):(O===ke&&U&384||!P&&X&16)&&Ke($,b,S),M&&ln(g)}const we=re!=null&&Q==null;(ce&&(_e=j&&j.onVnodeUnmounted)||ue||we)&&Se(()=>{_e&&$e(_e,b,g),ue&&ct(g,null,b,"unmounted"),we&&(g.el=null)},S)},ln=g=>{const{type:b,el:S,anchor:M,transition:P}=g;if(b===ke){cn(S,M);return}if(b===Jn){_(g);return}const O=()=>{s(S),P&&!P.persisted&&P.afterLeave&&P.afterLeave()};if(g.shapeFlag&1&&P&&!P.persisted){const{leave:j,delayLeave:N}=P,$=()=>j(S,O);N?N(g.el,O,$):$()}else O()},cn=(g,b)=>{let S;for(;g!==b;)S=h(g),s(g),g=S;s(b)},qt=(g,b,S)=>{const{bum:M,scope:P,job:O,subTree:j,um:N,m:$,a:I}=g;Dr($),Dr(I),M&&vn(M),P.stop(),O&&(O.flags|=8,De(j,g,b,S)),N&&Se(N,b),Se(()=>{g.isUnmounted=!0},b)},Ke=(g,b,S,M=!1,P=!1,O=0)=>{for(let j=O;j{if(g.shapeFlag&6)return x(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const b=h(g.anchor||g.el),S=b&&b[ef];return S?h(S):b};let K=!1;const B=(g,b,S)=>{let M;g==null?b._vnode&&(De(b._vnode,null,null,!0),M=b._vnode.component):y(b._vnode||null,g,b,null,null,null,S),b._vnode=g,K||(K=!0,Qo(M),kr(),K=!1)},J={p:y,um:De,m:it,r:ln,mt:Z,mc:D,pc:V,pbc:T,n:x,o:e};let ee,ge;return t&&([ee,ge]=t(J)),{render:B,hydrate:ee,createApp:Rf(B,ee)}}function vs({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function zt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Il(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ll(e,t,n=!1){const r=e.children,s=t.children;if(G(r)&&G(s))for(let o=0;o>1,e[n[a]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Dl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Dl(t)}function Dr(e){if(e)for(let t=0;te.__isSuspense;let Vs=0;const Uf={name:"Suspense",__isSuspense:!0,process(e,t,n,r,s,o,i,a,l,f){if(e==null)Vf(t,n,r,s,o,i,a,l,f);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}Kf(e,t,n,r,s,i,a,l,f)}},hydrate:Wf,normalize:qf},Mo=Uf;function or(e,t){const n=e.props&&e.props[t];Y(n)&&n()}function Vf(e,t,n,r,s,o,i,a,l){const{p:f,o:{createElement:c}}=l,u=c("div"),h=e.suspense=Hl(e,s,r,t,u,n,o,i,a,l);f(null,h.pendingBranch=e.ssContent,u,null,r,h,o,i),h.deps>0?(or(e,"onPending"),or(e,"onFallback"),f(null,e.ssFallback,t,n,r,null,o,i),Sn(h,e.ssFallback)):h.resolve(!1,!0)}function Kf(e,t,n,r,s,o,i,a,{p:l,um:f,o:{createElement:c}}){const u=t.suspense=e.suspense;u.vnode=t,t.el=e.el;const h=t.ssContent,d=t.ssFallback,{activeBranch:m,pendingBranch:y,isInFallback:C,isHydrating:E}=u;if(y)u.pendingBranch=h,et(y,h)?(l(y,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0?u.resolve():C&&(E||(l(m,d,n,r,s,null,o,i,a),Sn(u,d)))):(u.pendingId=Vs++,E?(u.isHydrating=!1,u.activeBranch=y):f(y,s,u),u.deps=0,u.effects.length=0,u.hiddenContainer=c("div"),C?(l(null,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0?u.resolve():(l(m,d,n,r,s,null,o,i,a),Sn(u,d))):m&&et(m,h)?(l(m,h,n,r,s,u,o,i,a),u.resolve(!0)):(l(null,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0&&u.resolve()));else if(m&&et(m,h))l(m,h,n,r,s,u,o,i,a),Sn(u,h);else if(or(t,"onPending"),u.pendingBranch=h,h.shapeFlag&512?u.pendingId=h.component.suspenseId:u.pendingId=Vs++,l(null,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0)u.resolve();else{const{timeout:v,pendingId:p}=u;v>0?setTimeout(()=>{u.pendingId===p&&u.fallback(d)},v):v===0&&u.fallback(d)}}function Hl(e,t,n,r,s,o,i,a,l,f,c=!1){const{p:u,m:h,um:d,n:m,o:{parentNode:y,remove:C}}=f;let E;const v=zf(e);v&&t&&t.pendingBranch&&(E=t.pendingId,t.deps++);const p=e.props?Aa(e.props.timeout):void 0,_=o,w={vnode:e,parent:t,parentComponent:n,namespace:i,container:r,hiddenContainer:s,deps:0,pendingId:Vs++,timeout:typeof p=="number"?p:-1,activeBranch:null,isFallbackMountPending:!1,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(k=!1,A=!1){const{vnode:D,activeBranch:R,pendingBranch:T,pendingId:H,effects:L,parentComponent:W,container:Z,isInFallback:te}=w;let F=!1;if(w.isHydrating)w.isHydrating=!1;else if(!k){F=R&&T.transition&&T.transition.mode==="out-in";let le=!1;F&&(R.transition.afterLeave=()=>{H===w.pendingId&&(h(T,Z,o===_&&!le?m(R):o,0),rr(L),te&&D.ssFallback&&(D.ssFallback.el=null))}),R&&!w.isFallbackMountPending&&(y(R.el)===Z&&(o=m(R),le=!0),d(R,W,w,!0),!F&&te&&D.ssFallback&&Se(()=>D.ssFallback.el=null,w)),F||h(T,Z,o,0)}w.isFallbackMountPending=!1,Sn(w,T),w.pendingBranch=null,w.isInFallback=!1;let q=w.parent,V=!1;for(;q;){if(q.pendingBranch){q.effects.push(...L),V=!0;break}q=q.parent}!V&&!F&&rr(L),w.effects=[],v&&t&&t.pendingBranch&&E===t.pendingId&&(t.deps--,t.deps===0&&!A&&t.resolve()),or(D,"onResolve")},fallback(k){if(!w.pendingBranch)return;const{vnode:A,activeBranch:D,parentComponent:R,container:T,namespace:H}=w;or(A,"onFallback");const L=m(D),W=()=>{w.isFallbackMountPending=!1,w.isInFallback&&(u(null,k,T,L,R,null,H,a,l),Sn(w,k))},Z=k.transition&&k.transition.mode==="out-in";Z&&(w.isFallbackMountPending=!0,D.transition.afterLeave=W),w.isInFallback=!0,d(D,R,null,!0),Z||W()},move(k,A,D){w.activeBranch&&h(w.activeBranch,k,A,D),w.container=k},next(){return w.activeBranch&&m(w.activeBranch)},registerDep(k,A,D){const R=!!w.pendingBranch;R&&w.deps++;const T=k.vnode.el;k.asyncDep.catch(H=>{Ln(H,k,0)}).then(H=>{if(k.isUnmounted||w.isUnmounted||w.pendingId!==k.suspenseId)return;Ws(),k.asyncResolved=!0;const{vnode:L}=k;qs(k,H),T&&(L.el=T);const W=!T&&k.subTree.el;A(k,L,y(T||k.subTree.el),T?null:m(k.subTree),w,i,D),W&&(L.placeholder=null,C(W)),is(k,L.el),R&&--w.deps===0&&w.resolve()})},unmount(k,A){w.isUnmounted=!0,w.activeBranch&&d(w.activeBranch,n,k,A),w.pendingBranch&&d(w.pendingBranch,n,k,A)}};return w}function Wf(e,t,n,r,s,o,i,a,l){const f=t.suspense=Hl(t,r,n,e.parentNode,document.createElement("div"),null,s,o,i,a,!0),c=l(e,f.pendingBranch=t.ssContent,n,f,o,i);return f.deps===0&&f.resolve(!1,!0),c}function qf(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=fi(r?n.default:n),e.ssFallback=r?fi(n.fallback):ye(be)}function fi(e){let t;if(Y(e)){const n=Cn&&e._c;n&&(e._d=!1,Ge()),e=e(),n&&(e._d=!0,t=He,jl())}return G(e)&&(e=xf(e)),e=Fe(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Nl(e,t){t&&t.pendingBranch?G(e)?t.effects.push(...e):t.effects.push(e):rr(e)}function Sn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,r&&r.subTree===n&&(r.vnode.el=s,is(r,s))}function zf(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const ke=Symbol.for("v-fgt"),rn=Symbol.for("v-txt"),be=Symbol.for("v-cmt"),Jn=Symbol.for("v-stc"),Xn=[];let He=null;function Ge(e=!1){Xn.push(He=e?null:[])}function jl(){Xn.pop(),He=Xn[Xn.length-1]||null}let Cn=1;function Hr(e,t=!1){Cn+=e,e<0&&He&&t&&(He.hasOnce=!0)}function Fl(e){return e.dynamicChildren=Cn>0?He||_n:null,jl(),Cn>0&&He&&He.push(e),e}function Gf(e,t,n,r,s,o){return Fl(Ul(e,t,n,r,s,o,!0))}function ht(e,t,n,r,s){return Fl(ye(e,t,n,r,s,!0))}function sn(e){return e?e.__v_isVNode===!0:!1}function et(e,t){return e.type===t.type&&e.key===t.key}const Bl=({key:e})=>e??null,Rr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?he(e)||pe(e)||Y(e)?{i:Ae,r:e,k:t,f:!!n}:e:null);function Ul(e,t=null,n=null,r=0,s=null,o=e===ke?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Bl(t),ref:t&&Rr(t),scopeId:tl,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Ae};return a?(Io(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=he(n)?8:16),Cn>0&&!i&&He&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&He.push(l),l}const ye=Jf;function Jf(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===ml)&&(e=be),sn(e)){const a=kt(e,t,!0);return n&&Io(a,n),Cn>0&&!o&&He&&(a.shapeFlag&6?He[He.indexOf(e)]=a:He.push(a)),a.patchFlag=-2,a}if(sd(e)&&(e=e.__vccOpts),t){t=Vl(t);let{class:a,style:l}=t;a&&!he(a)&&(t.class=Qr(a)),se(l)&&(ts(l)&&!G(l)&&(l=Te({},l)),t.style=Yr(l))}const i=he(e)?1:$r(e)?128:rl(e)?64:se(e)?4:Y(e)?2:0;return Ul(e,t,n,r,s,i,o,!0)}function Vl(e){return e?ts(e)||Cl(e)?Te({},e):e:null}function kt(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:a,transition:l}=e,f=t?Wl(s||{},t):s,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&Bl(f),ref:t&&t.ref?n&&o?G(o)?o.concat(Rr(t)):[o,Rr(t)]:Rr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ke?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&kt(e.ssContent),ssFallback:e.ssFallback&&kt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&Rn(c,l.clone(c)),c}function Kl(e=" ",t=0){return ye(rn,null,e,t)}function Qy(e,t){const n=ye(Jn,null,e);return n.staticCount=t,n}function Xf(e="",t=!1){return t?(Ge(),ht(be,null,e)):ye(be,null,e)}function Fe(e){return e==null||typeof e=="boolean"?ye(be):G(e)?ye(ke,null,e.slice()):sn(e)?wt(e):ye(rn,null,String(e))}function wt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:kt(e)}function Io(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(G(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Io(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Cl(t)?t._ctx=Ae:s===3&&Ae&&(Ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Y(t)?(t={default:t,_ctx:Ae},n=32):(t=String(t),r&64?(n=16,t=[Kl(t)]):n=8);e.children=t,e.shapeFlag|=n}function Wl(...e){const t={};for(let n=0;nPe||Ae;let Nr,Ks;{const e=Xr(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Nr=t("__VUE_INSTANCE_SETTERS__",n=>Pe=n),Ks=t("__VUE_SSR_SETTERS__",n=>Pn=n)}const dr=e=>{const t=Pe;return Nr(e),e.scope.on(),()=>{e.scope.off(),Nr(t)}},Ws=()=>{Pe&&Pe.scope.off(),Nr(null)};function ql(e){return e.vnode.shapeFlag&4}let Pn=!1;function ed(e,t=!1,n=!1){t&&Ks(t);const{props:r,children:s}=e.vnode,o=ql(e);If(e,r,o,t),Hf(e,s,n||t);const i=o?td(e,t):void 0;return t&&Ks(!1),i}function td(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_f);const{setup:r}=n;if(r){Pt();const s=e.setupContext=r.length>1?rd(e):null,o=dr(e),i=cr(r,e,0,[e.props,s]),a=Ra(i);if(At(),o(),(a||e.sp)&&!Ct(e)&&Ao(e),a){if(i.then(Ws,Ws),t)return i.then(l=>{qs(e,l)}).catch(l=>{Ln(l,e,0)});e.asyncDep=i}else qs(e,i)}else zl(e)}function qs(e,t,n){Y(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:se(t)&&(e.setupState=Ja(t)),zl(e)}function zl(e,t,n){const r=e.type;e.render||(e.render=r.render||pt);{const s=dr(e);Pt();try{bf(e)}finally{At(),s()}}}const nd={get(e,t){return xe(e,"get",""),e[t]}};function rd(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,nd),slots:e.slots,emit:e.emit,expose:t}}function as(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ja(To(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}})):e.proxy}function zs(e,t=!0){return Y(e)?e.displayName||e.name:e.name||t&&e.__name}function sd(e){return Y(e)&&"__vccOpts"in e}const Re=(e,t)=>Wu(e,t,Pn);function Oe(e,t,n){try{Hr(-1);const r=arguments.length;return r===2?se(t)&&!G(t)?sn(t)?ye(e,null,[t]):ye(e,t):ye(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&sn(n)&&(n=[n]),ye(e,t,n))}finally{Hr(1)}}const od="3.5.38";let Gs;const di=typeof window<"u"&&window.trustedTypes;if(di)try{Gs=di.createPolicy("vue",{createHTML:e=>e})}catch{}const Gl=Gs?e=>Gs.createHTML(e):e=>e,id="http://www.w3.org/2000/svg",ad="http://www.w3.org/1998/Math/MathML",vt=typeof document<"u"?document:null,hi=vt&&vt.createElement("template"),ld={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?vt.createElementNS(id,e):t==="mathml"?vt.createElementNS(ad,e):n?vt.createElement(e,{is:n}):vt.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>vt.createTextNode(e),createComment:e=>vt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>vt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{hi.innerHTML=Gl(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=hi.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},It="transition",jn="animation",ir=Symbol("_vtc"),Jl={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},cd=Te({},sl,Jl),ud=e=>(e.displayName="Transition",e.props=cd,e),fd=ud((e,{slots:t})=>Oe(rf,dd(e),t)),Gt=(e,t=[])=>{G(e)?e.forEach(n=>n(...t)):e&&e(...t)},pi=e=>e?G(e)?e.some(t=>t.length>1):e.length>1:!1;function dd(e){const t={};for(const L in e)L in Jl||(t[L]=e[L]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:f=i,appearToClass:c=a,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:d=`${n}-leave-to`}=e,m=hd(s),y=m&&m[0],C=m&&m[1],{onBeforeEnter:E,onEnter:v,onEnterCancelled:p,onLeave:_,onLeaveCancelled:w,onBeforeAppear:k=E,onAppear:A=v,onAppearCancelled:D=p}=t,R=(L,W,Z,te)=>{L._enterCancelled=te,Jt(L,W?c:a),Jt(L,W?f:i),Z&&Z()},T=(L,W)=>{L._isLeaving=!1,Jt(L,u),Jt(L,d),Jt(L,h),W&&W()},H=L=>(W,Z)=>{const te=L?A:v,F=()=>R(W,L,Z);Gt(te,[W,F]),gi(()=>{Jt(W,L?l:o),_t(W,L?c:a),pi(te)||mi(W,r,y,F)})};return Te(t,{onBeforeEnter(L){Gt(E,[L]),_t(L,o),_t(L,i)},onBeforeAppear(L){Gt(k,[L]),_t(L,l),_t(L,f)},onEnter:H(!1),onAppear:H(!0),onLeave(L,W){L._isLeaving=!0;const Z=()=>T(L,W);_t(L,u),L._enterCancelled?(_t(L,h),bi(L)):(bi(L),_t(L,h)),gi(()=>{L._isLeaving&&(Jt(L,u),_t(L,d),pi(_)||mi(L,r,C,Z))}),Gt(_,[L,Z])},onEnterCancelled(L){R(L,!1,void 0,!0),Gt(p,[L])},onAppearCancelled(L){R(L,!0,void 0,!0),Gt(D,[L])},onLeaveCancelled(L){T(L),Gt(w,[L])}})}function hd(e){if(e==null)return null;if(se(e))return[ws(e.enter),ws(e.leave)];{const t=ws(e);return[t,t]}}function ws(e){return Aa(e)}function _t(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[ir]||(e[ir]=new Set)).add(t)}function Jt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[ir];n&&(n.delete(t),n.size||(e[ir]=void 0))}function gi(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let pd=0;function mi(e,t,n,r){const s=e._endId=++pd,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:i,timeout:a,propCount:l}=gd(e,t);if(!i)return r();const f=i+"end";let c=0;const u=()=>{e.removeEventListener(f,h),o()},h=d=>{d.target===e&&++c>=l&&u()};setTimeout(()=>{c(n[m]||"").split(", "),s=r(`${It}Delay`),o=r(`${It}Duration`),i=yi(s,o),a=r(`${jn}Delay`),l=r(`${jn}Duration`),f=yi(a,l);let c=null,u=0,h=0;t===It?i>0&&(c=It,u=i,h=o.length):t===jn?f>0&&(c=jn,u=f,h=l.length):(u=Math.max(i,f),c=u>0?i>f?It:jn:null,h=c?c===It?o.length:l.length:0);const d=c===It&&/\b(?:transform|all)(?:,|$)/.test(r(`${It}Property`).toString());return{type:c,timeout:u,propCount:h,hasTransform:d}}function yi(e,t){for(;e.length_i(n)+_i(e[r])))}function _i(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function bi(e){return(e?e.ownerDocument:document).body.offsetHeight}function md(e,t,n){const r=e[ir];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const jr=Symbol("_vod"),Xl=Symbol("_vsh"),Zy={name:"show",beforeMount(e,{value:t},{transition:n}){e[jr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Fn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Fn(e,!0),r.enter(e)):r.leave(e,()=>{Fn(e,!1)}):Fn(e,t))},beforeUnmount(e,{value:t}){Fn(e,t)}};function Fn(e,t){e.style.display=t?e[jr]:"none",e[Xl]=!t}const yd=Symbol(""),_d=/(?:^|;)\s*display\s*:/;function bd(e,t,n){const r=e.style,s=he(n);let o=!1;if(n&&!s){if(t)if(he(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&Wn(r,a,"")}else for(const i in t)n[i]==null&&Wn(r,i,"");for(const i in n){i==="display"&&(o=!0);const a=n[i];a!=null?wd(e,i,!he(t)&&t?t[i]:void 0,a)||Wn(r,i,a):Wn(r,i,"")}}else if(s){if(t!==n){const i=r[yd];i&&(n+=";"+i),r.cssText=n,o=_d.test(n)}}else t&&e.removeAttribute("style");jr in e&&(e[jr]=o?r.display:"",e[Xl]&&(r.display="none"))}const vi=/\s*!important$/;function Wn(e,t,n){if(G(n))n.forEach(r=>Wn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=vd(e,t);vi.test(n)?e.setProperty(Kt(r),n.replace(vi,""),"important"):e[r]=n}}const wi=["Webkit","Moz","ms"],Es={};function vd(e,t){const n=Es[t];if(n)return n;let r=Le(t);if(r!=="filter"&&r in e)return Es[t]=r;r=Gr(r);for(let s=0;sSs||(Rd.then(()=>Ss=0),Ss=Date.now());function Pd(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;const s=n.value;if(G(s)){const o=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{o.call(r),r._stopped=!0};const i=s.slice(),a=[r];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ad=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?md(e,r,i):t==="style"?bd(e,n,r):lr(t)?Wr(t)||Sd(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):xd(e,t,r,i))?(Ti(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Si(e,t,r,i,o,t!=="value")):e._isVueCE&&(kd(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!he(r)))?Ti(e,Le(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Si(e,t,r,i))};function xd(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Pi(t)&&Y(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Pi(t)&&he(n)?!1:t in e}function kd(e,t){const n=e._def.props;if(!n)return!1;const r=Le(t);return Array.isArray(n)?n.some(s=>Le(s)===r):Object.keys(n).some(s=>Le(s)===r)}const Vt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return G(t)?n=>vn(t,n):t};function Od(e){e.target.composing=!0}function Ai(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Je=Symbol("_assign");function xi(e,t,n){return t&&(e=e.trim()),n&&(e=Jr(e)),e}const ki={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Je]=Vt(s);const o=r||s.props&&s.props.type==="number";Tt(e,t?"change":"input",i=>{i.target.composing||e[Je](xi(e.value,n,o))}),(n||o)&&Tt(e,"change",()=>{e.value=xi(e.value,n,o)}),t||(Tt(e,"compositionstart",Od),Tt(e,"compositionend",Ai),Tt(e,"change",Ai))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[Je]=Vt(i),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?Jr(e.value):e.value,l=t??"";if(a===l)return;const f=e.getRootNode();(f instanceof Document||f instanceof ShadowRoot)&&f.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===l)||(e.value=l)}},Md={deep:!0,created(e,t,n){e[Je]=Vt(n),Tt(e,"change",()=>{const r=e._modelValue,s=An(e),o=e.checked,i=e[Je];if(G(r)){const a=mo(r,s),l=a!==-1;if(o&&!l)i(r.concat(s));else if(!o&&l){const f=[...r];f.splice(a,1),i(f)}}else if(Mn(r)){const a=new Set(r);o?a.add(s):a.delete(s),i(a)}else i(Yl(e,o))})},mounted:Oi,beforeUpdate(e,t,n){e[Je]=Vt(n),Oi(e,t,n)}};function Oi(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(G(t))s=mo(t,r.props.value)>-1;else if(Mn(t))s=t.has(r.props.value);else{if(t===n)return;s=Bt(t,Yl(e,!0))}e.checked!==s&&(e.checked=s)}const Id={created(e,{value:t},n){e.checked=Bt(t,n.props.value),e[Je]=Vt(n),Tt(e,"change",()=>{e[Je](An(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Je]=Vt(r),t!==n&&(e.checked=Bt(t,r.props.value))}},Ld={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=Mn(t);Tt(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Jr(An(i)):An(i));e[Je](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,xt(()=>{e._assigning=!1})}),e[Je]=Vt(r)},mounted(e,{value:t}){Mi(e,t)},beforeUpdate(e,t,n){e[Je]=Vt(n)},updated(e,{value:t}){e._assigning||Mi(e,t)}};function Mi(e,t){const n=e.multiple,r=G(t);if(!(n&&!r&&!Mn(t))){for(let s=0,o=e.options.length;sString(f)===String(a)):i.selected=mo(t,a)>-1}else i.selected=t.has(a);else if(Bt(An(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function An(e){return"_value"in e?e._value:e.value}function Yl(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const e_={created(e,t,n){vr(e,t,n,null,"created")},mounted(e,t,n){vr(e,t,n,null,"mounted")},beforeUpdate(e,t,n,r){vr(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){vr(e,t,n,r,"updated")}};function Dd(e,t){switch(e){case"SELECT":return Ld;case"TEXTAREA":return ki;default:switch(t){case"checkbox":return Md;case"radio":return Id;default:return ki}}}function vr(e,t,n,r,s){const i=Dd(e.tagName,n.props&&n.props.type)[s];i&&i(e,t,n,r)}const $d=["ctrl","shift","alt","meta"],Hd={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>$d.some(n=>e[`${n}Key`]&&!t.includes(n))},t_=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(s=>{if(!("key"in s))return;const o=Kt(s.key);if(t.some(i=>i===o||Nd[i]===o))return e(s)}))},Ql=Te({patchProp:Ad},ld);let Yn,Ii=!1;function jd(){return Yn||(Yn=jf(Ql))}function Fd(){return Yn=Ii?Yn:Ff(Ql),Ii=!0,Yn}const Bd=((...e)=>{const t=jd().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ec(r);if(!s)return;const o=t._component;!Y(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,Zl(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t}),Ud=((...e)=>{const t=Fd().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ec(r);if(s)return n(s,!0,Zl(s))},t});function Zl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ec(e){return he(e)?document.querySelector(e):e}const Vd=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,Kd=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Wd=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function qd(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){zd(e);return}return t}function zd(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Gd(e,t={}){if(typeof e!="string")return e;if(e[0]==='"'&&e[e.length-1]==='"'&&e.indexOf("\\")===-1)return e.slice(1,-1);const n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!Wd.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(Vd.test(e)||Kd.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,qd)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const tc=/#/g,nc=/&/g,Jd=/\//g,Xd=/=/g,Yd=/\?/g,ls=/\+/g,Qd=/%5e/gi,Zd=/%60/gi,eh=/%7c/gi,th=/%20/gi,nh=/%2f/gi,rh=/%252f/gi;function rc(e){return encodeURI(""+e).replace(eh,"|")}function Js(e){return rc(typeof e=="string"?e:JSON.stringify(e)).replace(ls,"%2B").replace(th,"+").replace(tc,"%23").replace(nc,"%26").replace(Zd,"`").replace(Qd,"^").replace(Jd,"%2F")}function Ts(e){return Js(e).replace(Xd,"%3D")}function sh(e){return rc(e).replace(tc,"%23").replace(Yd,"%3F").replace(rh,"%2F").replace(nc,"%26").replace(ls,"%2B")}function ar(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function oh(e){return ar(e.replace(nh,"%252F"))}function ih(e){return ar(e.replace(ls," "))}function ah(e){return ar(e.replace(ls," "))}function sc(e=""){const t=Object.create(null);e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const s=ih(r[1]);if(s==="__proto__"||s==="constructor")continue;const o=ah(r[2]||"");t[s]===void 0?t[s]=o:Array.isArray(t[s])?t[s].push(o):t[s]=[t[s],o]}return t}function lh(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${Ts(e)}=${Js(n)}`).join("&"):`${Ts(e)}=${Js(t)}`:Ts(e)}function ch(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>lh(t,e[t])).filter(Boolean).join("&")}const uh=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,fh=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,dh=/^([/\\]\s*){2,}[^/\\]/,hh=/^[\s\0]*(blob|data|javascript|vbscript):$/i,ph=/\/$|\/\?|\/#/,gh=/^\.?\//;function Dn(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?uh.test(e):fh.test(e)||(t.acceptRelative?dh.test(e):!1)}function Xs(e){return!!e&&hh.test(e)}function Ys(e="",t){return t?ph.test(e):e.endsWith("/")}function Fr(e="",t){if(!t)return(Ys(e)?e.slice(0,-1):e)||"/";if(!Ys(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");s!==-1&&(n=e.slice(0,s),r=e.slice(s));const[o,...i]=n.split("?");return((o.endsWith("/")?o.slice(0,-1):o)||"/")+(i.length>0?`?${i.join("?")}`:"")+r}function mh(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(Ys(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");if(s!==-1&&(n=e.slice(0,s),r=e.slice(s),!n))return r;const[o,...i]=n.split("?");return o+"/"+(i.length>0?`?${i.join("?")}`:"")+r}function yh(e,t){if(ic(t)||Dn(e))return e;const n=Fr(t);if(e.startsWith(n)){const r=e[n.length];if(!r||r==="/"||r==="?")return e}return ac(n,e)}function Li(e,t){if(ic(t))return e;const n=Fr(t);if(!e.startsWith(n))return e;const r=e[n.length];return r&&r!=="/"&&r!=="?"?e:"/"+e.slice(n.length).replace(/^\/+/,"")}function oc(e,t){const n=Lo(e),r={...sc(n.search),...t};return n.search=ch(r),bh(n)}function ic(e){return!e||e==="/"}function _h(e){return e&&e!=="/"}function ac(e,...t){let n=e||"";for(const r of t.filter(s=>_h(s)))if(n){const s=r.replace(gh,"");n=mh(n)+s}else n=r;return n}function lc(...e){const t=/\/(?!\/)/,n=e.filter(Boolean),r=[];let s=0;for(const i of n)if(!(!i||i==="/")){for(const[a,l]of i.split(t).entries())if(!(!l||l===".")){if(l===".."){if(r.length===1&&Dn(r[0]))continue;r.pop(),s--;continue}if(a===1&&r[r.length-1]?.endsWith(":/")){r[r.length-1]+="/"+l;continue}r.push(l),s++}}let o=r.join("/");return s>=0?n[0]?.startsWith("/")&&!o.startsWith("/")?o="/"+o:n[0]?.startsWith("./")&&!o.startsWith("./")&&(o="./"+o):o="../".repeat(-1*s)+o,n[n.length-1]?.endsWith("/")&&!o.endsWith("/")&&(o+="/"),o}function cc(e,t){return ar(Fr(e))===ar(Fr(t))}const uc=Symbol.for("ufo:protocolRelative");function Lo(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,u,h=""]=n;return{protocol:u.toLowerCase(),pathname:h,href:u+h,auth:"",host:"",search:"",hash:""}}if(!Dn(e,{acceptRelative:!0}))return Di(e);const[,r="",s,o=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,i="",a=""]=o.match(/([^#/?]*)(.*)?/)||[];r==="file:"&&(a=a.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:l,search:f,hash:c}=Di(a);return{protocol:r.toLowerCase(),auth:s?s.slice(0,Math.max(0,s.length-1)):"",host:i,pathname:l,search:f,hash:c,[uc]:!r}}function Di(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function bh(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",s=e.auth?e.auth+"@":"",o=e.host||"";return(e.protocol||e[uc]?(e.protocol||"")+"//":"")+s+o+t+n+r}class vh extends Error{constructor(t,n){super(t,n),this.name="FetchError",n?.cause&&!this.cause&&(this.cause=n.cause)}}function wh(e){const t=e.error?.message||e.error?.toString()||"",n=e.request?.method||e.options?.method||"GET",r=e.request?.url||String(e.request)||"/",s=`[${n}] ${JSON.stringify(r)}`,o=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${s}: ${o}${t?` ${t}`:""}`,a=new vh(i,e.error?{cause:e.error}:void 0);for(const l of["request","options","response"])Object.defineProperty(a,l,{get(){return e[l]}});for(const[l,f]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(a,l,{get(){return e.response&&e.response[f]}});return a}const Eh=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function $i(e="GET"){return Eh.has(e.toUpperCase())}function Sh(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const Th=new Set(["image/svg","application/xml","application/xhtml","application/html"]),Rh=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Ch(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return Rh.test(t)?"json":t==="text/event-stream"?"stream":Th.has(t)||t.startsWith("text/")?"text":"blob"}function Ph(e,t,n,r){const s=Ah(t?.headers??e?.headers,n?.headers,r);let o;return(n?.query||n?.params||t?.params||t?.query)&&(o={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:o,params:o,headers:s}}function Ah(e,t,n){if(!t)return new n(e);const r=new n(t);if(e)for(const[s,o]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(s,o);return r}async function wr(e,t){if(t)if(Array.isArray(t))for(const n of t)await n(e);else await t(e)}const xh=new Set([408,409,425,429,500,502,503,504]),kh=new Set([101,204,205,304]);function fc(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function s(a){const l=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!l){let c;typeof a.options.retry=="number"?c=a.options.retry:c=$i(a.options.method)?0:1;const u=a.response&&a.response.status||500;if(c>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(u):xh.has(u))){const h=typeof a.options.retryDelay=="function"?a.options.retryDelay(a):a.options.retryDelay||0;return h>0&&await new Promise(d=>setTimeout(d,h)),o(a.request,{...a.options,retry:c-1})}}const f=wh(a);throw Error.captureStackTrace&&Error.captureStackTrace(f,o),f}const o=async function(l,f={}){const c={request:l,options:Ph(l,f,e.defaults,n),response:void 0,error:void 0};if(c.options.method&&(c.options.method=c.options.method.toUpperCase()),c.options.onRequest&&(await wr(c,c.options.onRequest),c.options.headers instanceof n||(c.options.headers=new n(c.options.headers||{}))),typeof c.request=="string"&&(c.options.baseURL&&(c.request=yh(c.request,c.options.baseURL)),c.options.query&&(c.request=oc(c.request,c.options.query),delete c.options.query),"query"in c.options&&delete c.options.query,"params"in c.options&&delete c.options.params),c.options.body&&$i(c.options.method))if(Sh(c.options.body)){const d=c.options.headers.get("content-type");typeof c.options.body!="string"&&(c.options.body=d==="application/x-www-form-urlencoded"?new URLSearchParams(c.options.body).toString():JSON.stringify(c.options.body)),d||c.options.headers.set("content-type","application/json"),c.options.headers.has("accept")||c.options.headers.set("accept","application/json")}else("pipeTo"in c.options.body&&typeof c.options.body.pipeTo=="function"||typeof c.options.body.pipe=="function")&&("duplex"in c.options||(c.options.duplex="half"));let u;if(!c.options.signal&&c.options.timeout){const d=new r;u=setTimeout(()=>{const m=new Error("[TimeoutError]: The operation was aborted due to timeout");m.name="TimeoutError",m.code=23,d.abort(m)},c.options.timeout),c.options.signal=d.signal}try{c.response=await t(c.request,c.options)}catch(d){return c.error=d,c.options.onRequestError&&await wr(c,c.options.onRequestError),await s(c)}finally{u&&clearTimeout(u)}if((c.response.body||c.response._bodyInit)&&!kh.has(c.response.status)&&c.options.method!=="HEAD"){const d=(c.options.parseResponse?"json":c.options.responseType)||Ch(c.response.headers.get("content-type")||"");switch(d){case"json":{const m=await c.response.text(),y=c.options.parseResponse||Gd;c.response._data=y(m);break}case"stream":{c.response._data=c.response.body||c.response._bodyInit;break}default:c.response._data=await c.response[d]()}}return c.options.onResponse&&await wr(c,c.options.onResponse),!c.options.ignoreResponseError&&c.response.status>=400&&c.response.status<600?(c.options.onResponseError&&await wr(c,c.options.onResponseError),await s(c)):c.response},i=async function(l,f){return(await o(l,f))._data};return i.raw=o,i.native=(...a)=>t(...a),i.create=(a={},l={})=>fc({...e,...l,defaults:{...e.defaults,...l.defaults,...a}}),i}const Br=(function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")})(),Oh=Br.fetch?(...e)=>Br.fetch(...e):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),Mh=Br.Headers,Ih=Br.AbortController,Lh=fc({fetch:Oh,Headers:Mh,AbortController:Ih}),Dh=Lh,$h=()=>window?.__NUXT__?.config||window?.useNuxtApp?.().payload?.config,Do=()=>$h().app,Hh=()=>Do().baseURL,Nh=()=>Do().buildAssetsDir,$o=(...e)=>lc(dc(),Nh(),...e),dc=(...e)=>{const t=Do(),n=t.cdnURL||t.baseURL;return e.length?lc(n,...e):n};globalThis.__buildAssetsURL=$o,globalThis.__publicAssetsURL=dc;globalThis.$fetch||(globalThis.$fetch=Dh.create({baseURL:Hh()}));"global"in globalThis||(globalThis.global=globalThis);function Qs(e,t={},n){for(const r in e){const s=e[r],o=n?`${n}:${r}`:r;typeof s=="object"&&s!==null?Qs(s,t,o):typeof s=="function"&&(t[o]=s)}return t}const hc=(()=>{if(console.createTask)return console.createTask;const e={run:t=>t()};return()=>e})();function pc(e,t,n,r){for(let s=n;se[s](...t)):e[s](...t);if(o&&typeof o.then=="function")return Promise.resolve(o).then(()=>pc(e,t,s+1,r))}catch(o){return Promise.reject(o)}}function jh(e,t,n){if(e.length>0)return pc(e,t,0,hc(n))}function Fh(e,t,n){if(e.length>0){const r=hc(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}}function Rs(e,t){for(const n of[...e])n(t)}var Bh=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!="function")return()=>{};const r=e;let s;for(;this._deprecatedHooks[e];)s=this._deprecatedHooks[e],e=s.to;if(s&&!n.allowDeprecated){let o=s.message;o||(o=`${r} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(o)||(console.warn(o),this._deprecatedMessages.add(o))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&(this.removeHook(e,t),t=void 0)}}hookOnce(e,t){let n,r=(...s)=>(typeof n=="function"&&n(),n=void 0,r=void 0,t(...s));return n=this.hook(e,r),n}removeHook(e,t){const n=this._hooks[e];if(n){const r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t=="string"?{to:t}:t;const n=this._hooks[e]||[];this._hooks[e]=void 0;for(const r of n)this.hook(e,r)}deprecateHooks(e){for(const t in e)this.deprecateHook(t,e[t])}addHooks(e){const t=Qs(e),n=Object.keys(t).map(r=>this.hook(r,t[r]));return()=>{for(const r of n)r();n.length=0}}removeHooks(e){const t=Qs(e);for(const n in t)this.removeHook(n,t[n])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(jh,e,t)}callHookParallel(e,...t){return this.callHookWith(Fh,e,t)}callHookWith(e,t,n){const r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&Rs(this._before,r);const s=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return s instanceof Promise?s.finally(()=>{this._after&&r&&Rs(this._after,r)}):(this._after&&r&&Rs(this._after,r),s)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){const t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){const t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function gc(){return new Bh}function Uh(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let s;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?s=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const o=()=>{if(s){const i=s.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=o();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>o(),set:(i,a)=>{a||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,a)=>{r(i),t=i;try{return s?s.run(i,a):a()}finally{n||(t=void 0)}},async callAsync(i,a){t=i;const l=()=>{t=i},f=()=>t===i?l:void 0;Zs.add(f);try{const c=s?s.run(i,a):a();return n||(t=void 0),await c}finally{Zs.delete(f)}}}}function Vh(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=Uh({...e,...r})),t[n]}}}const Ur=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},Hi="__unctx__",Kh=Ur[Hi]||(Ur[Hi]=Vh()),Wh=(e,t={})=>Kh.get(e,t),Ni="__unctx_async_handlers__",Zs=Ur[Ni]||(Ur[Ni]=new Set);function Qn(e){const t=[];for(const s of Zs){const o=s();o&&t.push(o)}const n=()=>{for(const s of t)s()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(s=>{throw n(),s})),[r,n]}const ji=!1,Fi=!1,qh=!1,Bi={id:"__nuxt-loader"},r_={componentName:"NuxtLink",prefetch:!0,prefetchOn:{visibility:!0}},zh={deep:!1},Gh={},Jh="#__nuxt",mc="nuxt-app",Ui=36e5,Xh="vite:preloadError";function yc(e=mc){return Wh(e,{asyncContext:!1})}const Yh="__nuxt_plugin";function Qh(e){let t=0;const n={_id:e.id||mc||"nuxt-app",_scope:yo(),provide:void 0,versions:{get nuxt(){return"4.4.8"},get vue(){return n.vueApp.version}},payload:Ze({...e.ssrContext?.payload||{},data:Ze({}),state:ot({}),once:new Set,_errors:Ze({})}),static:{data:{}},runWithContext(s){return n._scope.active&&!Zr()?n._scope.run(()=>Vi(n,s)):Vi(n,s)},isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let s=!1;return()=>{if(!s&&(s=!0,t--,t===0))return n.isHydrating=!1,n.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:Ze({}),_state:Ze({}),_payloadRevivers:{},...e};{const s=window.__NUXT__;if(s)for(const o in s)switch(o){case"data":case"state":case"_errors":Object.assign(n.payload[o],s[o]);break;default:n.payload[o]=s[o]}}n.hooks=gc(),n.hook=n.hooks.hook;{const s=n.hooks.callHook;n.hooks.callHook=(o,...i)=>Promise.resolve().then(()=>s(o,...i))}n.callHook=n.hooks.callHook,n.provide=(s,o)=>{const i="$"+s;Er(n,i,o),Er(n.vueApp.config.globalProperties,i,o)},Er(n.vueApp,"$nuxt",n),Er(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener(Xh,o=>{n.callHook("app:chunkError",{error:o.payload}),o.payload?.message?.includes("Unable to preload CSS")&&o.preventDefault()}),window.useNuxtApp||=ve;const s=n.hook("app:error",(...o)=>{console.error("[nuxt] error caught during app initialization",...o)});n.hook("app:mounted",s)}const r=n.payload.config;return n.provide("config",r),n}function Zh(e,t){t.hooks&&e.hooks.addHooks(t.hooks)}async function ep(e,t){if(typeof t=="function"){const{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n=="object")for(const r in n)e.provide(r,n[r])}}async function tp(e,t){const n=new Set,r=[],s=[];let o,i=0;async function a(l){const f=l.dependsOn?.filter(c=>t.some(u=>u._name===c)&&!n.has(c))??[];if(f.length>0)r.push([new Set(f),l]);else{const c=ep(e,l).then(async()=>{l._name&&(n.add(l._name),await Promise.all(r.map(async([u,h])=>{u.has(l._name)&&(u.delete(l._name),u.size===0&&(i++,await a(h)))})))}).catch(u=>{if(!l.parallel&&!e.payload.error)throw u;o||=u});l.parallel?s.push(c):await c}}for(const l of t)Zh(e,l);for(const l of t)await a(l);if(await Promise.all(s),i)for(let l=0;l{}),e,{[Yh]:!0,_name:t})}const np=Ye;function Vi(e,t,n){const r=()=>t();return yc(e._id).set(e),e.vueApp.runWithContext(r)}function rp(e){let t;return ns()&&(t=an()?.appContext.app.$nuxt),t||=yc(e).tryUse(),t||null}function ve(e){const t=rp(e);if(!t)throw new Error("[nuxt] instance unavailable");return t}function Ho(e){return ve().$config}function Er(e,t,n){Object.defineProperty(e,t,{get:()=>n})}function Cs(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function eo(e,t,n=".",r){if(!Cs(t))return eo(e,{},n,r);const s={...t};for(const o of Object.keys(e)){if(o==="__proto__"||o==="constructor")continue;const i=e[o];i!=null&&(r&&r(s,o,i,n)||(Array.isArray(i)&&Array.isArray(s[o])?s[o]=[...i,...s[o]]:Cs(i)&&Cs(s[o])?s[o]=eo(i,s[o],(n?`${n}.`:"")+o.toString(),r):s[o]=i))}return s}function sp(e){return(...t)=>t.reduce((n,r)=>eo(n,r,"",e),{})}const _c=sp();function op(e,t){try{return t in e}catch{return!1}}class Ki extends Error{static __h3_error__=!0;statusCode=500;fatal=!1;unhandled=!1;statusMessage;data;cause;constructor(t,n={}){super(t,n),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:to(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=bc(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}function ip(e){if(typeof e=="string")return new Ki(e);if(ap(e))return e;const t=new Ki(e.message??e.statusMessage??"",{cause:e.cause||e});if(op(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=to(e.statusCode,t.statusCode):e.status&&(t.statusCode=to(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;bc(t.statusMessage)!==n&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function ap(e){return e?.constructor?.__h3_error__===!0}const lp=/[^\u0009\u0020-\u007E]/g;function bc(e=""){return e.replace(lp,"")}function to(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const vc=Symbol("layout-meta"),on=Symbol("route");import.meta.url.replace(/\/app\/.*$/,"/");const Ve=()=>ve()?.$router,No=()=>ns()?Ce(on,ve()._route):ve()._route;const cp=()=>{try{if(ve()._processingMiddleware)return!0}catch{return!1}return!1},s_=(e,t)=>{e||="/";const n=typeof e=="string"?e:"path"in e?up(e):Ve().resolve(e).href;if(t?.open){const{protocol:f}=new URL(n,window.location.href);if(f&&Xs(f))throw new Error(`Cannot navigate to a URL with '${f}' protocol.`);const{target:c="_blank",windowFeatures:u={}}=t.open,h=[];for(const[d,m]of Object.entries(u))m!==void 0&&h.push(`${d.toLowerCase()}=${m}`);return open(n,c,h.join(", ")),Promise.resolve()}const r=Dn(n,{acceptRelative:!0}),s=t?.external||r;if(s){if(!t?.external)throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const{protocol:f}=new URL(n,window.location.href);if(f&&Xs(f))throw new Error(`Cannot navigate to a URL with '${f}' protocol.`)}const o=cp();if(!s&&o){if(t?.replace){if(typeof e=="string"){const{pathname:f,search:c,hash:u}=Lo(e);return{path:f,...c&&{query:sc(c)},...u&&{hash:u},replace:!0}}return{...e,replace:!0}}return e}const i=Ve(),a=ve();if(s)return a._scope.stop(),t?.replace?location.replace(n):location.href=n,o?a.isHydrating?new Promise(()=>{}):!1:Promise.resolve();const l=typeof e=="string"?fp(e):e;return t?.replace?i.replace(l):i.push(l)};function up(e){return oc(e.path||"",e.query||{})+(e.hash||"")}function fp(e){const t=Lo(e);return sh(oh(t.pathname))+t.search+t.hash}const wc="__nuxt_error",cs=()=>Xa(ve().payload,"error"),Zt=e=>{const t=Ft(e);try{const n=cs();ve().hooks.callHook("app:error",t),n.value||=t}catch{throw t}return t},dp=async(e={})=>{const t=ve(),n=cs();t.callHook("app:error:cleared",e),e.redirect&&await Ve().replace(e.redirect),n.value=void 0},Ec=e=>!!e&&typeof e=="object"&&wc in e,Ft=e=>{typeof e!="string"&&e.statusText&&(e.message??=e.statusText);const t=ip(e);return Object.defineProperty(t,wc,{value:!0,configurable:!1,writable:!1}),Object.defineProperty(t,"status",{get:()=>t.statusCode,configurable:!0}),Object.defineProperty(t,"statusText",{get:()=>t.statusMessage,configurable:!0}),t};let Sc;const xn=e=>Sc=e,Tc=Symbol();function no(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Zn||(Zn={}));function hp(){const e=yo(!0),t=e.run(()=>nt({}));let n=[],r=[];const s=To({install(o){xn(s),s._a=o,o.provide(Tc,s),o.config.globalProperties.$pinia=s,r.forEach(i=>n.push(i)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const Rc=()=>{};function Wi(e,t,n,r=Rc){e.add(t);const s=()=>{e.delete(t)&&r()};return!n&&Zr()&&Ia(s),s}function dn(e,...t){e.forEach(n=>{n(...t)})}const pp=e=>e(),qi=Symbol(),Ps=Symbol();function ro(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];no(s)&&no(r)&&e.hasOwnProperty(n)&&!pe(r)&&!gt(r)?e[n]=ro(s,r):e[n]=r}return e}const gp=Symbol();function mp(e){return!no(e)||!Object.prototype.hasOwnProperty.call(e,gp)}const{assign:Dt}=Object;function yp(e){return!!(pe(e)&&e.effect)}function _p(e,t,n,r){const{state:s,actions:o,getters:i}=t,a=n.state.value[e];let l;function f(){a||(n.state.value[e]=s?s():{});const c=Bu(n.state.value[e]);return Dt(c,o,Object.keys(i||{}).reduce((u,h)=>(u[h]=To(Re(()=>{xn(n);const d=n._s.get(e);return i[h].call(d,d)})),u),{}))}return l=Cc(e,f,t,n,r,!0),l}function Cc(e,t,n={},r,s,o){let i;const a=Dt({actions:{}},n),l={deep:!0};let f,c,u=new Set,h=new Set,d;const m=r.state.value[e];!o&&!m&&(r.state.value[e]={});let y;function C(D){let R;f=c=!1,typeof D=="function"?(D(r.state.value[e]),R={type:Zn.patchFunction,storeId:e,events:d}):(ro(r.state.value[e],D),R={type:Zn.patchObject,payload:D,storeId:e,events:d});const T=y=Symbol();xt().then(()=>{y===T&&(f=!0)}),c=!0,dn(u,R,r.state.value[e])}const E=o?function(){const{state:R}=n,T=R?R():{};this.$patch(H=>{Dt(H,T)})}:Rc;function v(){i.stop(),u.clear(),h.clear(),r._s.delete(e)}const p=(D,R="")=>{if(qi in D)return D[Ps]=R,D;const T=function(){xn(r);const H=Array.from(arguments),L=new Set,W=new Set;function Z(q){L.add(q)}function te(q){W.add(q)}dn(h,{args:H,name:T[Ps],store:w,after:Z,onError:te});let F;try{F=D.apply(this&&this.$id===e?this:w,H)}catch(q){throw dn(W,q),q}return F instanceof Promise?F.then(q=>(dn(L,q),q)).catch(q=>(dn(W,q),Promise.reject(q))):(dn(L,F),F)};return T[qi]=!0,T[Ps]=R,T},_={_p:r,$id:e,$onAction:Wi.bind(null,h),$patch:C,$reset:E,$subscribe(D,R={}){const T=Wi(u,D,R.detached,()=>H()),H=i.run(()=>Rt(()=>r.state.value[e],L=>{(R.flush==="sync"?c:f)&&D({storeId:e,type:Zn.direct,events:d},L)},Dt({},l,R)));return T},$dispose:v},w=ot(_);r._s.set(e,w);const A=(r._a&&r._a.runWithContext||pp)(()=>r._e.run(()=>(i=yo()).run(()=>t({action:p}))));for(const D in A){const R=A[D];if(pe(R)&&!yp(R)||gt(R))o||(m&&mp(R)&&(pe(R)?R.value=m[D]:ro(R,m[D])),r.state.value[e][D]=R);else if(typeof R=="function"){const T=p(R,D);A[D]=T,a.actions[D]=R}}return Dt(w,A),Dt(ne(w),A),Object.defineProperty(w,"$state",{get:()=>r.state.value[e],set:D=>{C(R=>{Dt(R,D)})}}),r._p.forEach(D=>{Dt(w,i.run(()=>D({store:w,app:r._a,pinia:r,options:a})))}),m&&o&&n.hydrate&&n.hydrate(w.$state,m),f=!0,c=!0,w}function bp(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function o(i,a){const l=ns();return i=i||(l?Ce(Tc,null):null),i&&xn(i),i=Sc,i._s.has(e)||(s?Cc(e,t,r,i):_p(e,r,i)),i._s.get(e)}return o.$id=e,o}const vp=-1,wp=-2,Ep=-3,Sp=-4,Tp=-5,Rp=-6,Cp=-7,Pc=2**32-1,so=Pc-1;function Pp(e){return!(!Number.isInteger(e)||e<0||e>so)}function Ap(e){return!(!Number.isInteger(e)||e<0||e>Pc)}function xp(e){return Uint8Array.fromBase64(e).buffer}function kp(e){return Uint8Array.from(Buffer.from(e,"base64")).buffer}function Op(e){const t=atob(e),n=t.length,r=new Uint8Array(n);for(let s=0;s=f)throw new Error("Invalid input");c[h]=o(l[u+1])}c.length=f}else{const f=new Array(l.length);r[i]=f;for(let c=0;c`${r}:${String(s)}`).join(",")}`}function Vr(e,t,n){typeof e==="function"&&(!n||n!=="titleTemplate"&&!(n[0]==="o"&&n[1]==="n"))&&(e=e());const s=t?t(n,e):e;if(Array.isArray(s))return s.map(o=>Vr(o,t));if(s?.constructor===Object){const o={};for(const i of Object.keys(s))o[i]=Vr(s[i],t,i);return o}return s}function qp(e,t){const n=e==="style"?new Map:new Set;function r(s){if(s==null||s===void 0)return;const o=String(s).trim();if(o)if(e==="style"){const[i,...a]=o.split(":").map(l=>l?l.trim():"");i&&a.length&&n.set(i,a.join(":"))}else o.split(" ").filter(Boolean).forEach(i=>n.add(i))}return typeof t=="string"?e==="style"?t.split(";").forEach(r):r(t):Array.isArray(t)?t.forEach(s=>r(s)):t&&typeof t=="object"&&Object.entries(t).forEach(([s,o])=>{o&&o!=="false"&&(e==="style"?n.set(String(s).trim(),String(o)):r(s))}),n}function kc(e,t){if(e.props=e.props||{},!t)return e;if(e.tag==="templateParams")return e.props=t,e;const n=oo.has(e.tag)||e.tag==="htmlAttrs"||e.tag==="bodyAttrs";return Object.entries(t).forEach(([r,s])=>{if(r==="__proto__"||r==="constructor"||r==="prototype")return;if(s===null){e.props[r]=null;return}if(r==="class"||r==="style"){e.props[r]=qp(r,s);return}if(Bp.has(r)){if((r==="textContent"||r==="innerHTML")&&typeof s=="object"){let f=t.type;if(t.type||(f="application/json"),!f?.endsWith("json")&&f!=="speculationrules")return;t.type=f,e.props.type=f,e[r]=JSON.stringify(s)}else e[r]=s;return}const o=r.startsWith("data-"),i=n&&!o?r.toLowerCase():r,a=String(s),l=e.tag==="meta"&&i==="content";a==="true"||a===""?e.props[i]=o||l?a:!0:!s&&o&&a==="false"?e.props[i]="false":s!==void 0&&(e.props[i]=s)}),e}function zp(e,t){const n=typeof t=="object"&&typeof t!="function"?t:{[e==="script"||e==="noscript"||e==="style"?"innerHTML":"textContent"]:t},r=kc({tag:e,props:{}},n);return r.key&&Hp.has(r.tag)&&(r.props["data-hid"]=r._h=r.key),r.tag==="script"&&typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),Array.isArray(r.props.content)?r.props.content.map(s=>({...r,props:{...r.props,content:s}})):r}function Gp(e,t){if(!e)return[];typeof e=="function"&&(e=e());const n=(s,o)=>{for(let i=0;i{if(o!==void 0)for(const i of Array.isArray(o)?o:[o])r.push(zp(s,i))}),r.flat()}const zi=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,Gi={base:-10,title:10},Jp={critical:-8,high:-1,low:2},Ji={meta:{"content-security-policy":-30,charset:-20,viewport:-15},link:{preconnect:20,stylesheet:60,preload:70,modulepreload:70,prefetch:90,"dns-prefetch":90,prerender:90},script:{async:30,defer:80,sync:50},style:{imported:40,sync:60}},Xp=/@import/,Bn=e=>e===""||e===!0;function Yp(e,t){if(typeof t.tagPriority=="number")return t.tagPriority;let n=100;const r=Jp[t.tagPriority]||0,s=e.resolvedOptions.disableCapoSorting?{link:{},script:{},style:{}}:Ji;if(t.tag in Gi)n=Gi[t.tag];else if(t.tag==="meta"){const o=t.props["http-equiv"]==="content-security-policy"?"content-security-policy":t.props.charset?"charset":t.props.name==="viewport"?"viewport":null;o&&(n=Ji.meta[o])}else if(t.tag==="link"&&t.props.rel)n=s.link[t.props.rel];else if(t.tag==="script"){const o=String(t.props.type);Bn(t.props.async)?n=s.script.async:t.props.src&&!Bn(t.props.defer)&&!Bn(t.props.async)&&o!=="module"&&!o.endsWith("json")||t.innerHTML&&!o.endsWith("json")?n=s.script.sync:(Bn(t.props.defer)&&t.props.src&&!Bn(t.props.async)||o==="module")&&(n=s.script.defer)}else t.tag==="style"&&(n=t.innerHTML&&Xp.test(t.innerHTML)?s.style.imported:s.style.sync);return(n||100)+r}function Xi(e,t){const n=typeof t=="function"?t(e):t,r=n.key||String(e.plugins.size+1);e.plugins.get(r)||(e.plugins.set(r,n),e.hooks.addHooks(n.hooks||{}))}function Qp(e={}){const t=gc();t.addHooks(e.hooks||{});const n=!e.document,r=new Map,s=new Map,o=new Set,i={_entryCount:1,plugins:s,dirty:!1,resolvedOptions:e,hooks:t,ssr:n,entries:r,headEntries(){return[...r.values()]},use:a=>Xi(i,a),push(a,l){const f={...l||{}};delete f.head;const c=f._index??i._entryCount++,u={_i:c,input:a,options:f},h={_poll(d=!1){i.dirty=!0,!d&&o.add(c),t.callHook("entries:updated",i)},dispose(){r.delete(c)&&i.invalidate()},patch(d){(!f.mode||f.mode==="server"&&n||f.mode==="client"&&!n)&&(u.input=d,r.set(c,u),h._poll())}};return h.patch(a),h},async resolveTags(){const a={tagMap:new Map,tags:[],entries:[...i.entries.values()]};for(await t.callHook("entries:resolve",a);o.size;){const h=o.values().next().value;o.delete(h);const d=r.get(h);if(d){const m={tags:Gp(d.input,e.propResolvers||[]).map(y=>Object.assign(y,d.options)),entry:d};await t.callHook("entries:normalize",m),d._tags=m.tags.map((y,C)=>(y._w=Yp(i,y),y._p=(d._i<<10)+C,y._d=io(y),y._d||(y._h=xc(y)),y))}}let l=!1;a.entries.flatMap(h=>(h._tags||[]).map(d=>({...d,props:{...d.props}}))).sort(zi).reduce((h,d)=>{const m=d._d||d._h;if(!h.has(m))return h.set(m,d);const y=h.get(m);if((d?.tagDuplicateStrategy||(Up.has(d.tag)?"merge":null)||(d.key&&d.key===y.key?"merge":null))==="merge"){const E={...y.props};Object.entries(d.props).forEach(([v,p])=>E[v]=v==="style"?new Map([...y.props.style||new Map,...p]):v==="class"?new Set([...y.props.class||new Set,...p]):p),h.set(m,{...d,props:E})}else d._p>>10===y._p>>10&&d.tag==="meta"&&Ac(m)?(h.set(m,Object.assign([...Array.isArray(y)?y:[y],d],d)),l=!0):(d._w===y._w?d._p>y._p:d?._wXi(i,a)),i.hooks.callHook("init",i),e.init?.forEach(a=>a&&i.push(a)),i}const Zp=(e,t)=>pe(t)?ft(t):t,Oc="usehead";function eg(e){return{install(n){n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(Oc,e)}}.install}function tg(){if(ns()){const e=Ce(Oc);if(e)return e}throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.")}function o_(e,t={}){const n=t.head||tg();return n.ssr?n.push(e||{},t):ng(n,e,t)}function ng(e,t,n={}){const r=nt(!1);let s;return Qu(()=>{const i=r.value?{}:Vr(t,Zp);s?s.patch(i):s=e.push(i,n)}),an()&&(fr(()=>{s.dispose()}),ul(()=>{r.value=!0}),cl(()=>{r.value=!1})),s}const rg=(e,t)=>[],Mc=e=>_c({},...rg("",typeof e=="string"?e.toLowerCase():e).map(t=>t.data).reverse()),sg=Mc;let Cr;function og(){let e;return e=$fetch($o(`builds/meta/${Ho().app.buildId}.json`),{responseType:"json"}).then(t=>{if(!t||typeof t!="object"||!Array.isArray(t.prerendered))throw new Error("[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.");return t}),Cr=e,e.catch(t=>{Cr===e&&(Cr=void 0),console.error("[nuxt] Error fetching app manifest.",t)}),e}function Ic(){return Cr||og()}function Lc(e){const t=typeof e=="string"?e:e.path;try{return sg(t.toLowerCase())}catch(n){return console.error("[nuxt] Error matching route rules.",n),{}}}async function Yi(e,t={}){return null}async function ig(e){return null}let Xt=null;async function ag(){if(Xt)return Xt;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await lg(e.textContent||""),n=e.dataset.src?await ig(e.dataset.src):void 0;return Xt={...t,...n,...window.__NUXT__},Xt.config?.public&&(Xt.config.public=ot(Xt.config.public)),Xt}async function lg(e){return await Dp(e,ve()._payloadRevivers)}function Dc(e,t){ve()._payloadRevivers[e]=t}const cg=np(()=>{Dc("skipHydrate",e=>{})});function Qi(e){try{return JSON.parse(e)}catch{return e}}const ug=[["NuxtError",e=>Ft(e)],["EmptyShallowRef",e=>Ut(e==="_"?void 0:e==="0n"?BigInt(0):Qi(e))],["EmptyRef",e=>nt(e==="_"?void 0:e==="0n"?BigInt(0):Qi(e))],["ShallowRef",e=>Ut(e)],["ShallowReactive",e=>Ze(e)],["Ref",e=>nt(e)],["Reactive",e=>ot(e)]],fg=Ye({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const[r,s]of ug)Dc(r,s);Object.assign(e.payload,([t,n]=Qn(()=>e.runWithContext(ag)),t=await t,n(),t)),delete window.__NUXT__}});async function jo(e,t={}){const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!!r.shouldRender)return e._domUpdatePromise||(e._domUpdatePromise=new Promise(async s=>{const o=new Map,i=new Promise(d=>{e.resolveTags().then(m=>{d(m.map(y=>{const C=o.get(y._d)||0,E={tag:y,id:(C?`${y._d}:${C}`:y._d)||y._h,shouldRender:!0};return y._d&&Ac(y._d)&&o.set(y._d,C+1),E}))})});let a=e._dom;if(!a){a={title:n.title,elMap:new Map().set("htmlAttrs",n.documentElement).set("bodyAttrs",n.body)};for(const d of["body","head"]){const m=n[d]?.children;for(const y of m){const C=y.tagName.toLowerCase();if(!oo.has(C))continue;const E=kc({tag:C,props:{}},{innerHTML:y.innerHTML,...y.getAttributeNames().reduce((v,p)=>(v[p]=y.getAttribute(p),v),{})||{}});if(E.key=y.getAttribute("data-hid")||void 0,E._d=io(E)||xc(E),a.elMap.has(E._d)){let v=1,p=E._d;for(;a.elMap.has(p);)p=`${E._d}:${v++}`;a.elMap.set(p,y)}else a.elMap.set(E._d,y)}}}a.pendingSideEffects={...a.sideEffects},a.sideEffects={};function l(d,m,y){const C=`${d}:${m}`;a.sideEffects[C]=y,delete a.pendingSideEffects[C]}function f({id:d,$el:m,tag:y}){const C=y.tag.endsWith("Attrs");a.elMap.set(d,m),C||(y.textContent&&y.textContent!==m.textContent&&(m.textContent=y.textContent),y.innerHTML&&y.innerHTML!==m.innerHTML&&(m.innerHTML=y.innerHTML),l(d,"el",()=>{m?.remove(),a.elMap.delete(d)}));for(const E in y.props){if(!Object.prototype.hasOwnProperty.call(y.props,E))continue;const v=y.props[E];if(E.startsWith("on")&&typeof v=="function"){const _=m?.dataset;if(_&&_[`${E}fired`]){const w=E.slice(0,-5);v.call(m,new Event(w.substring(2)))}m.getAttribute(`data-${E}`)!==""&&((y.tag==="bodyAttrs"?n.defaultView:m).addEventListener(E.substring(2),v.bind(m)),m.setAttribute(`data-${E}`,""));continue}const p=`attr:${E}`;if(E==="class"){if(!v)continue;for(const _ of v)C&&l(d,`${p}:${_}`,()=>m.classList.remove(_)),!m.classList.contains(_)&&m.classList.add(_)}else if(E==="style"){if(!v)continue;for(const[_,w]of v)l(d,`${p}:${_}`,()=>{m.style.removeProperty(_)}),m.style.setProperty(_,w)}else v!==!1&&v!==null&&(m.getAttribute(E)!==v&&m.setAttribute(E,v===!0?"":String(v)),C&&l(d,p,()=>m.removeAttribute(E)))}}const c=[],u={bodyClose:void 0,bodyOpen:void 0,head:void 0},h=await i;for(const d of h){const{tag:m,shouldRender:y,id:C}=d;if(y){if(m.tag==="title"){n.title=m.textContent,l("title","",()=>n.title=a.title);continue}d.$el=d.$el||a.elMap.get(C),d.$el?f(d):oo.has(m.tag)&&c.push(d)}}for(const d of c){const m=d.tag.tagPosition||"head";d.$el=n.createElement(d.tag.tag),f(d),u[m]=u[m]||n.createDocumentFragment(),u[m].appendChild(d.$el)}for(const d of h)await e.hooks.callHook("dom:renderTag",d,n,l);u.head&&n.head.appendChild(u.head),u.bodyOpen&&n.body.insertBefore(u.bodyOpen,n.body.firstChild),u.bodyClose&&n.body.appendChild(u.bodyClose);for(const d in a.pendingSideEffects)a.pendingSideEffects[d]();e._dom=a,await e.hooks.callHook("dom:rendered",{renders:h}),s()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1})),e._domUpdatePromise}function dg(e={}){const t=e.domOptions?.render||jo;e.document=e.document||(typeof window<"u"?document:void 0);const n=e.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML||!1;return Qp({...e,plugins:[...e.plugins||[],{key:"client",hooks:{"entries:updated":t}}],init:[n?JSON.parse(n):!1,...e.init||[]]})}function hg(e,t){let n=0;return()=>{const r=++n;t(()=>{n===r&&e()})}}function pg(e={}){const t=dg({domOptions:{render:hg(()=>jo(t),n=>setTimeout(n,0))},...e});return t.install=eg(t),t}const gg={disableDefaults:!0},mg=Ye({name:"nuxt:head",enforce:"pre",setup(e){const t=pg(gg);e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await jo(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r);const s=t.push.bind(t);t.push=((o,i)=>{const a=s(o,i),l=a.dispose.bind(a);return a.dispose=()=>{const f=e["~transitionPromise"];f?f.then(l):l()},a})}}});const pn=typeof document<"u";function $c(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function yg(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&$c(e.default)}const oe=Object.assign;function As(e,t){const n={};for(const r in t){const s=t[r];n[r]=st(s)?s.map(e):e(s)}return n}const er=()=>{},st=Array.isArray;function Zi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Hc=Symbol("");function kn(e,t){return oe(new Error,{type:e,[Hc]:!0},t)}function bt(e,t){return e instanceof Error&&Hc in e&&(t==null||!!(e.type&t))}const _g=Symbol(""),ea=Symbol(""),Fo=Symbol(""),Bo=Symbol(""),ao=Symbol("");function Nc(e){return Ce(Bo)}const bg={trailing:!0};function vg(e,t=25,n={}){if(n={...bg,...n},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let r,s,o=[],i,a;const l=(u,h)=>(i=wg(e,u,h),i.finally(()=>{if(i=null,n.trailing&&a&&!s){const d=l(u,a);return a=null,d}}),i),f=function(...u){return n.trailing&&(a=u),i||new Promise(h=>{const d=!s&&n.leading;clearTimeout(s),s=setTimeout(()=>{s=null;const m=n.leading?r:l(this,u);a=null;for(const y of o)y(m);o=[]},t),d?(r=l(this,u),h(r)):o.push(h)})},c=u=>{u&&(clearTimeout(u),s=null)};return f.isPending=()=>!!s,f.cancel=()=>{c(s),o=[],a=null},f.flush=()=>{if(c(s),!a||i)return;const u=a;return a=null,l(this,u)},f}async function wg(e,t,n){return await e.apply(t,n)}const jc=/#/g,Eg=/&/g,Sg=/\//g,Tg=/=/g,Rg=/\?/g,Fc=/\+/g,Cg=/%5B/g,Pg=/%5D/g,Bc=/%5E/g,Ag=/%60/g,Uc=/%7B/g,xg=/%7C/g,Vc=/%7D/g,kg=/%20/g;function Uo(e){return e==null?"":encodeURI(""+e).replace(xg,"|").replace(Cg,"[").replace(Pg,"]")}function Og(e){return Uo(e).replace(Uc,"{").replace(Vc,"}").replace(Bc,"^")}function lo(e){return Uo(e).replace(Fc,"%2B").replace(kg,"+").replace(jc,"%23").replace(Eg,"%26").replace(Ag,"`").replace(Uc,"{").replace(Vc,"}").replace(Bc,"^")}function Mg(e){return lo(e).replace(Tg,"%3D")}function Ig(e){return Uo(e).replace(jc,"%23").replace(Rg,"%3F")}function Lg(e){return Ig(e).replace(Sg,"%2F")}function Kr(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Dg=/\/$/,$g=e=>e.replace(Dg,"");function xs(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return l=a>=0&&l>a?-1:l,l>=0&&(r=t.slice(0,l),o=t.slice(l,a>0?a:t.length),s=e(o.slice(1))),a>=0&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=Fg(r??t,n),{fullPath:r+o+i,path:r,query:s,hash:Kr(i)}}function Hg(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ta(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ng(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&On(t.matched[r],n.matched[s])&&Kc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function On(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Kc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!jg(e[n],t[n]))return!1;return!0}function jg(e,t){return st(e)?na(e,t):st(t)?na(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function na(e,t){return st(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Fg(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const qe={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};function Bg(e){if(!e)if(pn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),$g(e)}const Ug=/^[^#]+#/;function Vg(e,t){return e.replace(Ug,"#")+t}function Kg(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const us=()=>({left:window.scrollX,top:window.scrollY});function Wg(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=Kg(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function ra(e,t){return(history.state?history.state.position-t:-1)+e}const co=new Map;function qg(e,t){co.set(e,t)}function zg(e){const t=co.get(e);return co.delete(e),t}function Gg(e){return typeof e=="string"||e&&typeof e=="object"}function Wc(e){return typeof e=="string"||typeof e=="symbol"}function Jg(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&lo(s)):[r&&lo(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Xg(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=st(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}function Un(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ht(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const f=h=>{h===!1?l(kn(4,{from:n,to:t})):h instanceof Error?l(h):Gg(h)?l(kn(2,{from:t,to:h})):(i&&r.enterCallbacks[s]===i&&typeof h=="function"&&i.push(h),a())},c=o(()=>e.call(r&&r.instances[s],t,n,f));let u=Promise.resolve(c);e.length<3&&(u=u.then(f)),u.catch(h=>l(h))})}function ks(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if($c(l)){const f=(l.__vccOpts||l)[t];f&&o.push(Ht(f,n,r,i,a,s))}else{let f=l();o.push(()=>f.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${a}" at "${i.path}"`);const u=yg(c)?c.default:c;i.mods[a]=c,i.components[a]=u;const h=(u.__vccOpts||u)[t];return h&&Ht(h,n,r,i,a,s)()}))}}return o}function Yg(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iOn(f,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(f=>On(f,l))||s.push(l))}return[n,r,s]}let Qg=()=>location.protocol+"//"+location.host;function qc(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,a=s.slice(i);return a[0]!=="/"&&(a="/"+a),ta(a,"")}return ta(n,e)+r+s}function Zg(e,t,n,r){let s=[],o=[],i=null;const a=({state:h})=>{const d=qc(e,location),m=n.value,y=t.value;let C=0;if(h){if(n.value=d,t.value=h,i&&i===m){i=null;return}C=y?h.position-y.position:0}else r(d);s.forEach(E=>{E(n.value,m,{delta:C,type:"pop",direction:C?C>0?"forward":"back":""})})};function l(){i=n.value}function f(h){s.push(h);const d=()=>{const m=s.indexOf(h);m>-1&&s.splice(m,1)};return o.push(d),d}function c(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(oe({},h.state,{scroll:us()}),"")}}function u(){for(const h of o)h();o=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:l,listen:f,destroy:u}}function oa(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?us():null}}function em(e){const{history:t,location:n}=window,r={value:qc(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,f,c){const u=e.indexOf("#"),h=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+l:Qg()+e+l;try{t[c?"replaceState":"pushState"](f,"",h),s.value=f}catch(d){console.error(d),n[c?"replace":"assign"](h)}}function i(l,f){o(l,oe({},t.state,oa(s.value.back,l,s.value.forward,!0),f,{position:s.value.position}),!0),r.value=l}function a(l,f){const c=oe({},s.value,t.state,{forward:l,scroll:us()});o(c.current,c,!0),o(l,oe({},oa(r.value,l,null),{position:c.position+1},f),!1),r.value=l}return{location:r,state:s,push:a,replace:i}}function tm(e){e=Bg(e);const t=em(e),n=Zg(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=oe({location:"",base:e,go:r,createHref:Vg.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}const nm={type:0,value:""},rm=/[a-zA-Z0-9_]/;function sm(e){if(!e)return[[]];if(e==="/")return[[nm]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(d){throw new Error(`ERR (${n})/"${f}": ${d}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let a=0,l,f="",c="";function u(){f&&(n===0?o.push({type:0,value:f}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:f,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),f="")}function h(){f+=l}for(;at.length?t.length===1&&t[0]===80?1:-1:0}function zc(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const cm={strict:!1,end:!0,sensitive:!1};function um(e,t,n){const r=am(sm(e.path),n),s=oe(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function fm(e,t){const n=[],r=new Map;t=Zi(cm,t);function s(u){return r.get(u)}function o(u,h,d){const m=!d,y=ca(u);y.aliasOf=d&&d.record;const C=Zi(t,u),E=[y];if("alias"in u){const _=typeof u.alias=="string"?[u.alias]:u.alias;for(const w of _)E.push(ca(oe({},y,{components:d?d.record.components:y.components,path:w,aliasOf:d?d.record:y})))}let v,p;for(const _ of E){const{path:w}=_;if(h&&w[0]!=="/"){const k=h.record.path,A=k[k.length-1]==="/"?"":"/";_.path=h.record.path+(w&&A+w)}if(v=um(_,h,C),d?d.alias.push(v):(p=p||v,p!==v&&p.alias.push(v),m&&u.name&&!ua(v)&&i(u.name)),Gc(v)&&l(v),y.children){const k=y.children;for(let A=0;A{i(p)}:er}function i(u){if(Wc(u)){const h=r.get(u);h&&(r.delete(u),n.splice(n.indexOf(h),1),h.children.forEach(i),h.alias.forEach(i))}else{const h=n.indexOf(u);h>-1&&(n.splice(h,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function a(){return n}function l(u){const h=pm(u,n);n.splice(h,0,u),u.record.name&&!ua(u)&&r.set(u.record.name,u)}function f(u,h){let d,m={},y,C;if("name"in u&&u.name){if(d=r.get(u.name),!d)throw kn(1,{location:u});C=d.record.name,m=oe(la(h.params,d.keys.filter(p=>!p.optional).concat(d.parent?d.parent.keys.filter(p=>p.optional):[]).map(p=>p.name)),u.params&&la(u.params,d.keys.map(p=>p.name))),y=d.stringify(m)}else if(u.path!=null)y=u.path,d=n.find(p=>p.re.test(y)),d&&(m=d.parse(y),C=d.record.name,d.keys.forEach(p=>{p.optional&&!m[p.name]&&delete m[p.name]}));else{if(d=h.name?r.get(h.name):n.find(p=>p.re.test(h.path)),!d)throw kn(1,{location:u,currentLocation:h});C=d.record.name,m=oe({},h.params,u.params),y=d.stringify(m)}const E=[];let v=d;for(;v;)E.unshift(v.record),v=v.parent;return{name:C,path:y,params:m,matched:E,meta:hm(E)}}e.forEach(u=>o(u));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:f,removeRoute:i,clearRoutes:c,getRoutes:a,getRecordMatcher:s}}function la(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function ca(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:dm(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function dm(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function ua(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function hm(e){return e.reduce((t,n)=>oe(t,n.meta),{})}function pm(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;zc(e,t[o])<0?r=o:n=o+1}const s=gm(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function gm(e){let t=e;for(;t=t.parent;)if(Gc(t)&&zc(e,t)===0)return t}function Gc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function fa(e){const t=Ce(Fo),n=Ce(Bo),r=Re(()=>{const l=ae(e.to);return t.resolve(l)}),s=Re(()=>{const{matched:l}=r.value,{length:f}=l,c=l[f-1],u=n.matched;if(!c||!u.length)return-1;const h=u.findIndex(On.bind(null,c));if(h>-1)return h;const d=da(l[f-2]);return f>1&&da(c)===d&&u[u.length-1].path!==d?u.findIndex(On.bind(null,l[f-2])):h}),o=Re(()=>s.value>-1&&bm(n.params,r.value.params)),i=Re(()=>s.value>-1&&s.value===n.matched.length-1&&Kc(n.params,r.value.params));function a(l={}){if(_m(l)){const f=t[ae(e.replace)?"replace":"push"](ae(e.to)).catch(er);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:r,href:Re(()=>r.value.href),isActive:o,isExactActive:i,navigate:a}}function mm(e){return e.length===1?e[0]:e}const ym=Wt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:fa,setup(e,{slots:t}){const n=ot(fa(e)),{options:r}=Ce(Fo),s=Re(()=>({[ha(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[ha(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&mm(t.default(n));return e.custom?o:Oe("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}});function _m(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function bm(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!st(s)||s.length!==r.length||r.some((o,i)=>o.valueOf()!==s[i].valueOf()))return!1}return!0}function da(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ha=(e,t,n)=>e??t??n,vm=Wt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ce(ao),s=Re(()=>e.route||r.value),o=Ce(ea,0),i=Re(()=>{let f=ae(o);const{matched:c}=s.value;let u;for(;(u=c[f])&&!u.components;)f++;return f}),a=Re(()=>s.value.matched[i.value]);jt(ea,Re(()=>i.value+1)),jt(_g,a),jt(ao,s);const l=nt();return Rt(()=>[l.value,a.value,e.name],([f,c,u],[h,d,m])=>{c&&(c.instances[u]=f,d&&d!==c&&f&&f===h&&(c.leaveGuards.size||(c.leaveGuards=d.leaveGuards),c.updateGuards.size||(c.updateGuards=d.updateGuards))),f&&c&&(!d||!On(c,d)||!h)&&(c.enterCallbacks[u]||[]).forEach(y=>y(f))},{flush:"post"}),()=>{const f=s.value,c=e.name,u=a.value,h=u&&u.components[c];if(!h)return pa(n.default,{Component:h,route:f});const d=u.props[c],m=d?d===!0?f.params:typeof d=="function"?d(f):d:null,C=Oe(h,oe({},m,t,{onVnodeUnmounted:E=>{E.component.isUnmounted&&(u.instances[c]=null)},ref:l}));return pa(n.default,{Component:C,route:f})||C}}});function pa(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Jc=vm;function wm(e){const t=fm(e.routes,e),n=e.parseQuery||Jg,r=e.stringifyQuery||sa,s=e.history,o=Un(),i=Un(),a=Un(),l=Ut(qe);let f=qe;pn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=As.bind(null,x=>""+x),u=As.bind(null,Lg),h=As.bind(null,Kr);function d(x,K){let B,J;return Wc(x)?(B=t.getRecordMatcher(x),J=K):J=x,t.addRoute(J,B)}function m(x){const K=t.getRecordMatcher(x);K&&t.removeRoute(K)}function y(){return t.getRoutes().map(x=>x.record)}function C(x){return!!t.getRecordMatcher(x)}function E(x,K){if(K=oe({},K||l.value),typeof x=="string"){const b=xs(n,x,K.path),S=t.resolve({path:b.path},K),M=s.createHref(b.fullPath);return oe(b,S,{params:h(S.params),redirectedFrom:void 0,href:M})}let B;if(x.path!=null)B=oe({},x,{path:xs(n,x.path,K.path).path});else{const b=oe({},x.params);for(const S in b)b[S]==null&&delete b[S];B=oe({},x,{params:u(b)}),K.params=u(K.params)}const J=t.resolve(B,K),ee=x.hash||"";J.params=c(h(J.params));const ge=Hg(r,oe({},x,{hash:Og(ee),path:J.path})),g=s.createHref(ge);return oe({fullPath:ge,hash:ee,query:r===sa?Xg(x.query):x.query||{}},J,{redirectedFrom:void 0,href:g})}function v(x){return typeof x=="string"?xs(n,x,l.value.path):oe({},x)}function p(x,K){if(f!==x)return kn(8,{from:K,to:x})}function _(x){return A(x)}function w(x){return _(oe(v(x),{replace:!0}))}function k(x,K){const B=x.matched[x.matched.length-1];if(B&&B.redirect){const{redirect:J}=B;let ee=typeof J=="function"?J(x,K):J;return typeof ee=="string"&&(ee=ee.includes("?")||ee.includes("#")?ee=v(ee):{path:ee},ee.params={}),oe({query:x.query,hash:x.hash,params:ee.path!=null?{}:x.params},ee)}}function A(x,K){const B=f=E(x),J=l.value,ee=x.state,ge=x.force,g=x.replace===!0,b=k(B,J);if(b)return A(oe(v(b),{state:typeof b=="object"?oe({},ee,b.state):ee,force:ge,replace:g}),K||B);const S=B;S.redirectedFrom=K;let M;return!ge&&Ng(r,J,B)&&(M=kn(16,{to:S,from:J}),it(J,J,!0,!1)),(M?Promise.resolve(M):T(S,J)).catch(P=>bt(P)?bt(P,2)?P:Mt(P):V(P,S,J)).then(P=>{if(P){if(bt(P,2))return A(oe({replace:g},v(P.to),{state:typeof P.to=="object"?oe({},ee,P.to.state):ee,force:ge}),K||S)}else P=L(S,J,!0,g,ee);return H(S,J,P),P})}function D(x,K){const B=p(x,K);return B?Promise.reject(B):Promise.resolve()}function R(x){const K=cn.values().next().value;return K&&typeof K.runWithContext=="function"?K.runWithContext(x):x()}function T(x,K){let B;const[J,ee,ge]=Yg(x,K);B=ks(J.reverse(),"beforeRouteLeave",x,K);for(const b of J)b.leaveGuards.forEach(S=>{B.push(Ht(S,x,K))});const g=D.bind(null,x,K);return B.push(g),Ke(B).then(()=>{B=[];for(const b of o.list())B.push(Ht(b,x,K));return B.push(g),Ke(B)}).then(()=>{B=ks(ee,"beforeRouteUpdate",x,K);for(const b of ee)b.updateGuards.forEach(S=>{B.push(Ht(S,x,K))});return B.push(g),Ke(B)}).then(()=>{B=[];for(const b of ge)if(b.beforeEnter)if(st(b.beforeEnter))for(const S of b.beforeEnter)B.push(Ht(S,x,K));else B.push(Ht(b.beforeEnter,x,K));return B.push(g),Ke(B)}).then(()=>(x.matched.forEach(b=>b.enterCallbacks={}),B=ks(ge,"beforeRouteEnter",x,K,R),B.push(g),Ke(B))).then(()=>{B=[];for(const b of i.list())B.push(Ht(b,x,K));return B.push(g),Ke(B)}).catch(b=>bt(b,8)?b:Promise.reject(b))}function H(x,K,B){a.list().forEach(J=>R(()=>J(x,K,B)))}function L(x,K,B,J,ee){const ge=p(x,K);if(ge)return ge;const g=K===qe,b=pn?history.state:{};B&&(J||g?s.replace(x.fullPath,oe({scroll:g&&b&&b.scroll},ee)):s.push(x.fullPath,ee)),l.value=x,it(x,K,B,g),Mt()}let W;function Z(){W||(W=s.listen((x,K,B)=>{if(!qt.listening)return;const J=E(x),ee=k(J,qt.currentRoute.value);if(ee){A(oe(ee,{replace:!0,force:!0}),J).catch(er);return}f=J;const ge=l.value;pn&&qg(ra(ge.fullPath,B.delta),us()),T(J,ge).catch(g=>bt(g,12)?g:bt(g,2)?(A(oe(v(g.to),{force:!0}),J).then(b=>{bt(b,20)&&!B.delta&&B.type==="pop"&&s.go(-1,!1)}).catch(er),Promise.reject()):(B.delta&&s.go(-B.delta,!1),V(g,J,ge))).then(g=>{g=g||L(J,ge,!1),g&&(B.delta&&!bt(g,8)?s.go(-B.delta,!1):B.type==="pop"&&bt(g,20)&&s.go(-1,!1)),H(J,ge,g)}).catch(er)}))}let te=Un(),F=Un(),q;function V(x,K,B){Mt(x);const J=F.list();return J.length?J.forEach(ee=>ee(x,K,B)):console.error(x),Promise.reject(x)}function le(){return q&&l.value!==qe?Promise.resolve():new Promise((x,K)=>{te.add([x,K])})}function Mt(x){return q||(q=!x,Z(),te.list().forEach(([K,B])=>x?B(x):K()),te.reset()),x}function it(x,K,B,J){const{scrollBehavior:ee}=e;if(!pn||!ee)return Promise.resolve();const ge=!B&&zg(ra(x.fullPath,0))||(J||!B)&&history.state&&history.state.scroll||null;return xt().then(()=>ee(x,K,ge)).then(g=>g&&Wg(g)).catch(g=>V(g,x,K))}const De=x=>s.go(x);let ln;const cn=new Set,qt={currentRoute:l,listening:!0,addRoute:d,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:C,getRoutes:y,resolve:E,options:e,push:_,replace:w,go:De,back:()=>De(-1),forward:()=>De(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:F.add,isReady:le,install(x){x.component("RouterLink",ym),x.component("RouterView",Jc),x.config.globalProperties.$router=qt,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>ae(l)}),pn&&!ln&&l.value===qe&&(ln=!0,_(s.location).catch(J=>{}));const K={};for(const J in qe)Object.defineProperty(K,J,{get:()=>l.value[J],enumerable:!0});x.provide(Fo,qt),x.provide(Bo,Ze(K)),x.provide(ao,l);const B=x.unmount;cn.add(x),x.unmount=function(){cn.delete(x),cn.size<1&&(f=qe,W&&W(),W=null,l.value=qe,ln=!1,q=!1),B()}}};function Ke(x){return x.reduce((K,B)=>K.then(()=>R(B)),Promise.resolve())}return qt}const Em=/(:\w+)\([^)]+\)/g,Sm=/(:\w+)[?+*]/g,Tm=/:\w+/g,Rm=(e,t)=>t.path.replace(Em,"$1").replace(Sm,"$1").replace(Tm,n=>e.params[n.slice(1)]?.toString()||""),uo=(e,t)=>{const n=e.route.matched.find(s=>s.components?.default===e.Component.type),r=t??n?.meta.key??(n&&Rm(e.route,n));return typeof r=="function"?r(e.route):r},Cm=(e,t)=>({default:()=>e?Oe(ff,e===!0?{}:e,t):t});function Xc(e){return Array.isArray(e)?e:[e]}const Pm="modulepreload",Am=function(e,t){return new URL(e,t).href},ga={},me=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let f=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};const i=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");s=f(n.map(c=>{if(c=Am(c,r),c in ga)return;ga[c]=!0;const u=c.endsWith(".css"),h=u?'[rel="stylesheet"]':"";if(r)for(let m=i.length-1;m>=0;m--){const y=i[m];if(y.href===c&&(!u||y.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${h}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":Pm,u||(d.as="script"),d.crossOrigin="",d.href=c,l&&d.setAttribute("nonce",l),document.head.appendChild(d),u)return new Promise((m,y)=>{d.addEventListener("load",m),d.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&o(a.reason);return t().catch(o)})},xm={title:"后台账号"},km={title:"应用服务配置"},Om={title:"应用管理"},Mm={title:"通话翻译配置"},Im={title:"公码管理"},Lm={title:"数据概览"},Dm={title:"生产管理"},$m={title:"环境节点"},Hm={title:"厂家管理"},Nm={title:"全局环境配置"},jm={title:"MCP配置"},Fm={title:"会议模板"},Bm={title:"产品管理"},Um={title:"第三方服务配置"},Vm={title:"统计日志"},Km={title:"系统配置"},Wm={title:"用户查询"},qm={layout:"auth"},Os=[{name:"accounts",path:"/accounts",meta:xm||{},component:()=>me(()=>import("./C2sLAWj2.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)},{name:"appconfig",path:"/appconfig",meta:km||{},component:()=>me(()=>import("./B_JvM6BO.js"),__vite__mapDeps([6,1,2,3,4,7]),import.meta.url)},{name:"apps",path:"/apps",meta:Om||{},component:()=>me(()=>import("./vesedpp3.js"),__vite__mapDeps([8,1,2,3,4,9]),import.meta.url)},{name:"calltranslate",path:"/calltranslate",meta:Mm||{},component:()=>me(()=>import("./DNKl-FHZ.js"),__vite__mapDeps([10,1,2,3,4,11]),import.meta.url)},{name:"code",path:"/code",meta:Im||{},component:()=>me(()=>import("./UoJ1COMF.js"),__vite__mapDeps([12,1,2,3,4]),import.meta.url)},{name:"dashboard",path:"/dashboard",meta:Lm||{},component:()=>me(()=>import("./Cx-e2Cok.js"),__vite__mapDeps([13,1,2,3,14]),import.meta.url)},{name:"device",path:"/device",meta:Dm||{},component:()=>me(()=>import("./Cy8zKM7T.js"),__vite__mapDeps([15,1,2,3,4]),import.meta.url)},{name:"environments",path:"/environments",meta:$m||{},component:()=>me(()=>import("./Bxcdr2qc.js"),__vite__mapDeps([16,1,2,3,4]),import.meta.url)},{name:"factory",path:"/factory",meta:Hm||{},component:()=>me(()=>import("./BVGGsVu4.js"),__vite__mapDeps([17,1,2,3,4]),import.meta.url)},{name:"globalconfig",path:"/globalconfig",meta:Nm||{},component:()=>me(()=>import("./uwVesjjP.js"),__vite__mapDeps([18,1,2,3,4]),import.meta.url)},{name:"mcpconfig",path:"/mcpconfig",meta:jm||{},component:()=>me(()=>import("./BeU4EYjt.js"),__vite__mapDeps([19,1,2,3,4]),import.meta.url)},{name:"meettemplates",path:"/meettemplates",meta:Fm||{},component:()=>me(()=>import("./CZnZfJ5f.js"),__vite__mapDeps([20,1,2,3,4]),import.meta.url)},{name:"product",path:"/product",meta:Bm||{},component:()=>me(()=>import("./GZxzc1Rc.js"),__vite__mapDeps([21,1,2,3,4]),import.meta.url)},{name:"serviceconfig",path:"/serviceconfig",meta:Um||{},component:()=>me(()=>import("./CF8arGVK.js"),__vite__mapDeps([22,1,2,3,4,23]),import.meta.url)},{name:"statlog",path:"/statlog",meta:Vm||{},component:()=>me(()=>import("./Bi5c3E0c.js"),__vite__mapDeps([24,1,2,3,4,25]),import.meta.url)},{name:"systemconfig",path:"/systemconfig",meta:Km||{},component:()=>me(()=>import("./EIJPD_ga.js"),__vite__mapDeps([26,4,3,27]),import.meta.url)},{name:"users",path:"/users",meta:Wm||{},component:()=>me(()=>import("./BIBu1qhq.js"),__vite__mapDeps([28,1,2,3,4]),import.meta.url)},{name:"index",path:"/",meta:qm||{},component:()=>me(()=>import("./CnuHOwQV.js"),__vite__mapDeps([29,30]),import.meta.url)}],Yc=(e,t)=>({default:()=>e?Oe(fd,e===!0?{}:e,t):t.default?.()}),zm=/(:\w+)\([^)]+\)/g,Gm=/(:\w+)[?+*]/g,Jm=/:\w+/g;function ma(e){const t=e?.meta.key??e.path.replace(zm,"$1").replace(Gm,"$1").replace(Jm,n=>e.params[n.slice(1)]?.toString()||"");return typeof t=="function"?t(e):t}function Xm(e,t){return e===t||t===qe?!1:ma(e)!==ma(t)?!0:!e.matched.every((r,s)=>r.components&&r.components.default===t.matched[s]?.components?.default)}function ya(e){return Array.isArray(e)?e:[e]}function Qc(e){const t=[];for(const n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?ya(n.onAfterLeave):void 0,onBeforeLeave:n.onBeforeLeave?ya(n.onBeforeLeave):void 0});return _c(...t)}const Ym={scrollBehavior(e,t,n){const r=ve(),s=Ve().options?.scrollBehaviorType??"auto";return e.path.replace(/\/$/,"")===t.path.replace(/\/$/,"")?t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:Zc(e.hash),behavior:s}:!1:(typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1?!1:t===qe?_a(e,t,n,s):new Promise(i=>{const a=()=>{requestAnimationFrame(()=>i(_a(e,t,n,s)))};r.hooks.hookOnce("page:loading:end",()=>{const l=r["~transitionPromise"];l?l.then(a):a()})})}};function Zc(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function _a(e,t,n,r){return n||(e.hash?{el:e.hash,top:Zc(e.hash),behavior:Xm(e,t)?r:"instant"}:{left:0,top:0})}const Qm={hashMode:!1,scrollBehaviorType:"auto"},Lt={...Qm,...Ym},Zm=async(e,t)=>{let n,r;if(!e.meta?.validate)return;const s=([n,r]=Qn(()=>Promise.resolve(e.meta.validate(e))),n=await n,r(),n);if(s===!0)return;const o=Ft({fatal:!0,status:s&&(s.status||s.statusCode)||404,statusText:s&&(s.statusText||s.statusMessage)||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}});return typeof window<"u"&&window.history.pushState({},"",t.fullPath),o},ey=e=>{const t=Lc({path:e.path});if(t.redirect){const n=t.redirect.includes("#")?t.redirect:t.redirect+e.hash;return Dn(n,{acceptRelative:!0})?(window.location.href=n,!1):n}},ty=[Zm,ey],fo={};function ny(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const f=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(f);return c[0]!=="/"&&(c="/"+c),Li(c,"")}const a=Li(r,e),l=!n||cc(a,n)?a:n;return l+(l.includes("?")?"":s)+o}const ry=Ye({name:"nuxt:router",enforce:"pre",async setup(e){let t,n,r=Ho().app.baseURL;const s=Lt.history?.(r)??tm(r),o=Lt.routes?([t,n]=Qn(()=>Lt.routes(Os)),t=await t,n(),t??Os):Os;let i;const a=wm({...Lt,scrollBehavior:(E,v,p)=>{if(v===qe){i=p;return}if(Lt.scrollBehavior){if(a.options.scrollBehavior=Lt.scrollBehavior,"scrollRestoration"in window.history){const _=a.beforeEach(()=>{_(),window.history.scrollRestoration="manual"})}return Lt.scrollBehavior(E,qe,i||p)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(a);const l=Ut(a.currentRoute.value);a.afterEach((E,v)=>{l.value=v}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const f=ny(r,window.location,e.payload.path),c=Ut(a.currentRoute.value),u=()=>{c.value=a.currentRoute.value};a.afterEach((E,v)=>{const p=E.matched.at(-1)?.components?.default,_=v.matched.at(-1)?.components?.default;if(p===_){u();return}E.matched.lengthw.components?.default===v.matched[k]?.components?.default)&&u()});const h={sync:u};for(const E in c.value)Object.defineProperty(h,E,{get:()=>c.value[E],enumerable:!0});e._route=Ze(h),e._middleware||={global:[],named:{}};const d=cs();a.afterEach(async(E,v,p)=>{delete e._processingMiddleware,!e.isHydrating&&d.value&&await e.runWithContext(dp),p&&await e.callHook("page:loading:end")});try{[t,n]=Qn(()=>a.isReady()),await t,n()}catch(E){[t,n]=Qn(()=>e.runWithContext(()=>Zt(E))),await t,n()}const m=f!==a.currentRoute.value.fullPath?a.resolve(f):a.currentRoute.value,y=e.isHydrating&&e.payload.prerenderedAt&&e.payload.path&&f!==e.payload.path&&cc(a.currentRoute.value.path,e.payload.path);u();const C=e.payload.state._layout;return a.beforeEach(async(E,v)=>{await e.callHook("page:loading:start"),E.meta=ot(E.meta),e.isHydrating&&C&&!mt(E.meta.layout)&&(E.meta.layout=C),e._processingMiddleware=!0;{const p=new Set([...ty,...e._middleware.global]);for(const w of E.matched){const k=w.meta.middleware;if(k)for(const A of Xc(k))p.add(A)}const _=Lc({path:E.path});if(_.appMiddleware)for(const w in _.appMiddleware)_.appMiddleware[w]?p.add(w):p.delete(w);for(const w of p){const k=typeof w=="string"?e._middleware.named[w]||await fo[w]?.().then(A=>A.default||A):w;if(!k)throw new Error(`Unknown route middleware: '${w}'.`);try{const A=await e.runWithContext(()=>k(E,v));if(!e.payload.serverRendered&&e.isHydrating&&(A===!1||A instanceof Error)){const D=A||Ft({status:404,statusText:`Page Not Found: ${f}`});return await e.runWithContext(()=>Zt(D)),!1}if(A===!0)continue;if(A===!1)return A;if(A)return Ec(A)&&A.fatal&&await e.runWithContext(()=>Zt(A)),A}catch(A){const D=Ft(A);return D.fatal&&await e.runWithContext(()=>Zt(D)),D}}}}),a.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),a.afterEach(E=>{if(E.matched.length===0&&!d.value)return e.runWithContext(()=>Zt(Ft({status:404,fatal:!1,statusText:`Page not found: ${E.fullPath}`,data:{path:E.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{if("name"in m&&(m.name=void 0),y){const E=a.resolve(e.payload.path);"name"in E&&(E.name=void 0),await a.replace({...E,force:!0}),e.hooks.hookOnce("app:suspense:resolve",async()=>{await a.replace({...m,force:!0})})}else await a.replace({...m,force:!0});a.options.scrollBehavior=Lt.scrollBehavior}catch(E){await e.runWithContext(()=>Zt(E))}}),{provide:{router:a}}}}),ba=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),i_=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),Vo=e=>{const t=ve();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{ba(()=>e())}):ba(()=>e())},sy=Ye({name:"nuxt:payload",setup(e){const t=new Set;Ve().beforeResolve(async(n,r)=>{if(n.path===r.path)return;const s=await Yi(n.path);if(s){for(const o of t)delete e.static.data[o];for(const o in s.data)o in e.static.data||t.add(o),e.static.data[o]=s.data[o]}}),Vo(()=>{e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await Yi().catch(()=>{console.warn("[nuxt] Error preloading payload for",n)})}),navigator.connection?.effectiveType!=="slow-2g"&&setTimeout(Ic,1e3)})}}),oy=Ye(()=>{const e=Ve();Vo(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),iy=Ye(e=>{let t;async function n(){let r;try{r=await Ic()}catch(s){const o=s;if(!("status"in o&&(o.status===404||o.status===403)))throw o}t&&clearTimeout(t),t=setTimeout(n,Ui);try{const s=await $fetch($o("builds/latest.json")+`?${Date.now()}`);s.id!==r?.id&&(e.hooks.callHook("app:manifest:update",s),t&&clearTimeout(t))}catch{}}Vo(()=>{t=setTimeout(n,Ui)})});function ay(e={}){const t=e.path||window.location.pathname,n=new URL(t,window.location.href);if(n.host!==window.location.host)throw new Error(`Cannot navigate to a URL with a different host: '${t}'.`);if(n.protocol&&Xs(n.protocol))throw new Error(`Cannot navigate to a URL with '${n.protocol}' protocol.`);let r={};try{r=JSON.parse(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||r?.path!==t||r?.expires{r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const i=ac(n.app.baseURL,o.fullPath);ay({path:i,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}});function cy(e){return typeof e=="string"?`'${e}'`:new uy().serialize(e)}const uy=(function(){class e{#e=new Map;compare(n,r){const s=typeof n,o=typeof r;return s==="string"&&o==="string"?n.localeCompare(r):s==="number"&&o==="number"?n-r:String.prototype.localeCompare.call(this.serialize(n,!0),this.serialize(r,!0))}serialize(n,r){if(n===null)return"null";switch(typeof n){case"string":return r?n:`'${n}'`;case"bigint":return`${n}n`;case"object":return this.$object(n);case"function":return this.$function(n)}return String(n)}serializeObject(n){const r=Object.prototype.toString.call(n);if(r!=="[object Object]")return this.serializeBuiltInType(r.length<10?`unknown:${r}`:r.slice(8,-1),n);const s=n.constructor,o=s===Object||s===void 0?"":s.name;if(o!==""&&globalThis[o]===s)return this.serializeBuiltInType(o,n);if(typeof n.toJSON=="function"){const i=n.toJSON();return o+(i!==null&&typeof i=="object"?this.$object(i):`(${this.serialize(i)})`)}return this.serializeObjectEntries(o,Object.entries(n))}serializeBuiltInType(n,r){const s=this["$"+n];if(s)return s.call(this,r);if(typeof r?.entries=="function")return this.serializeObjectEntries(n,r.entries());throw new Error(`Cannot serialize ${n}`)}serializeObjectEntries(n,r){const s=Array.from(r).sort((i,a)=>this.compare(i[0],a[0]));let o=`${n}{`;for(let i=0;ithis.compare(r,s)))}`}$Map(n){return this.serializeObjectEntries("Map",n.entries())}}for(const t of["Error","RegExp","URL"])e.prototype["$"+t]=function(n){return`${t}(${n})`};for(const t of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join(",")}]`};for(const t of["BigInt64Array","BigUint64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join("n,")}${n.length>0?"n":""}]`};return e})(),fy=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],dy=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],hy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",Yt=[];class py{_data=new yn;_hash=new yn([...fy]);_nDataBytes=0;_minBufferSize=0;finalize(t){t&&this._append(t);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(t,n){const r=this._hash.words;let s=r[0],o=r[1],i=r[2],a=r[3],l=r[4],f=r[5],c=r[6],u=r[7];for(let h=0;h<64;h++){if(h<16)Yt[h]=t[n+h]|0;else{const p=Yt[h-15],_=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,w=Yt[h-2],k=(w<<15|w>>>17)^(w<<13|w>>>19)^w>>>10;Yt[h]=_+Yt[h-7]+k+Yt[h-16]}const d=l&f^~l&c,m=s&o^s&i^o&i,y=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),C=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),E=u+C+d+dy[h]+Yt[h],v=y+m;u=c,c=f,f=l,l=a+E|0,a=i,i=o,o=s,s=E+v|0}r[0]=r[0]+s|0,r[1]=r[1]+o|0,r[2]=r[2]+i|0,r[3]=r[3]+a|0,r[4]=r[4]+l|0,r[5]=r[5]+f|0,r[6]=r[6]+c|0,r[7]=r[7]+u|0}_append(t){typeof t=="string"&&(t=yn.fromUtf8(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_process(t){let n,r=this._data.sigBytes/64;t?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const s=r*16,o=Math.min(s*4,this._data.sigBytes);if(s){for(let i=0;i>>2]|=(n.charCodeAt(o)&255)<<24-o%4*8;return new yn(s,r)}toBase64(){const t=[];for(let n=0;n>>2]>>>24-n%4*8&255,s=this.words[n+1>>>2]>>>24-(n+1)%4*8&255,o=this.words[n+2>>>2]>>>24-(n+2)%4*8&255,i=r<<16|s<<8|o;for(let a=0;a<4&&n*8+a*6>>6*(3-a)&63))}return t.join("")}concat(t){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let n=0;n>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=t.words[n>>>2];this.sigBytes+=t.sigBytes}}function gy(e){return new py().finalize(e).toBase64()}function gn(e){return gy(cy(e))}const my=Symbol.for("nuxt:client-only");function eu(e){return Object.defineProperty(function(){throw new Error(`[nuxt] \`${e.name}\` is a compiler macro and cannot be called at runtime.`)},"__nuxt_factory",{enumerable:!1,get:()=>e.factory})}const tu=eu({name:"createUseAsyncData",factory(e={}){function t(...n){const r=typeof n[n.length-1]=="string"?n.pop():void 0;_y(n[0],n[1])&&n.unshift(r);let[s,o,i={}]=n,a=!1;const l=pe(s)||typeof s=="function",f=l?Re(()=>ft(s)):{value:s};if(!f.value||typeof f.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a non-empty string.");if(typeof o!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const c=typeof e=="function",u=ve(),h=c?e(i):e;if(!c)for(const p in h)h[p]!==void 0&&i[p]===void 0&&(i[p]=h[p]);if(i.server??=!0,i.default??=vy,i.getCachedData??=ru,i.lazy??=!1,i.immediate??=!0,i.deep??=zh.deep,i.dedupe??="cancel",c)for(const p in h)h[p]!==void 0&&(i[p]=h[p]);u._asyncData[f.value];function d(){const p={cause:"initial",dedupe:i.dedupe},_=u._asyncData[f.value];return _?._init?u._asyncDataPromises[f.value]&&(p.cachedData=_._initialCachedData):(p.cachedData=i.getCachedData(f.value,u,{cause:"initial"}),u._asyncData[f.value]=va(u,f.value,o,i,p.cachedData),u._asyncData[f.value]._initialCachedData=p.cachedData),()=>u._asyncData[f.value].execute(p)}const m=d(),y=u._asyncData[f.value];y._deps++;const C=i.server!==!1&&u.payload.serverRendered;{let p=function(T){const H=u._asyncData[T];H?._deps&&(H._deps--,H._deps===0&&H?._off())};const _=an();if(_&&C&&i.immediate&&!_.sp&&(_.sp=[]),_&&!_._nuxtOnBeforeMountCbs){_._nuxtOnBeforeMountCbs=[];const T=_._nuxtOnBeforeMountCbs;dl(()=>{T.forEach(H=>{H()}),T.splice(0,T.length)}),ss(()=>T.splice(0,T.length))}const w=_&&(_._nuxtClientOnly||Ce(my,!1));C&&u.isHydrating&&(y.error.value||y.data.value!==void 0)?y.status.value=y.error.value?"error":"success":_&&(!w&&u.payload.serverRendered&&u.isHydrating||i.lazy)&&i.immediate?_._nuxtOnBeforeMountCbs.push(m):i.immediate&&y.status.value!=="success"&&m();const k=Zr(),A=()=>{},D=l?Rt(f,(T,H)=>{if((T||H)&&T!==H){a=!0;const L=u._asyncData[H]?.data.value!==void 0,W=u._asyncDataPromises[H]!==void 0,Z={cause:"initial",dedupe:i.dedupe};if(!u._asyncData[T]?._init){let F;H&&L?F=u._asyncData[H].data.value:(F=i.getCachedData(T,u,{cause:"initial"}),Z.cachedData=F),u._asyncData[T]=va(u,T,o,i,F)}u._asyncData[T]._deps++,H&&p(H),i._keyTriggersExecute!==!1&&(i.immediate||L||W)&&u._asyncData[T].execute(Z),rr(()=>{a=!1})}},{flush:"sync"}):A,R=i.watch?Rt(i.watch,()=>{a||(u._asyncData[f.value]?._execute.isPending()&&rr(()=>{u._asyncData[f.value]?._execute.flush()}),u._asyncData[f.value]?._execute({cause:"watch",dedupe:i.dedupe}))}):A;k&&Ia(()=>{D(),R(),p(f.value)})}const E={data:Sr(()=>u._asyncData[f.value]?.data),pending:Sr(()=>u._asyncData[f.value]?.pending),status:Sr(()=>u._asyncData[f.value]?.status),error:Sr(()=>u._asyncData[f.value]?.error),refresh:(...p)=>u._asyncData[f.value]?._init?u._asyncData[f.value].execute(...p):d()(),execute:(...p)=>E.refresh(...p),clear:()=>{const p=u._asyncData[f.value];if(p?._abortController)try{p._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{p._abortController=void 0}nu(u,f.value)}},v=Promise.resolve(u._asyncDataPromises[f.value]).then(()=>E);return Object.assign(v,E),Object.defineProperties(v,{then:{enumerable:!0,value:v.then.bind(v)},catch:{enumerable:!0,value:v.catch.bind(v)},finally:{enumerable:!0,value:v.finally.bind(v)}}),v}return t}}),yy=tu.__nuxt_factory();tu.__nuxt_factory({lazy:!0,_functionName:"useLazyAsyncData"});function Sr(e){return Re({get(){return e()?.value},set(t){const n=e();n&&(n.value=t)}})}function _y(e,t){return!(typeof e=="string"||typeof e=="object"&&e!==null||typeof e=="function"&&typeof t=="function")}function nu(e,t){t in e.payload.data&&(e.payload.data[t]=void 0),t in e.payload._errors&&(e.payload._errors[t]=void 0),e._asyncData[t]&&(e._asyncData[t].data.value=ae(e._asyncData[t]._default()),e._asyncData[t].error.value=void 0,e._asyncData[t].status.value="idle",e._asyncData[t]._initialCachedData=void 0),t in e._asyncDataPromises&&(e._asyncDataPromises[t]=void 0)}function by(e,t){const n={};for(const r of t)n[r]=e[r];return n}function va(e,t,n,r,s){e.payload._errors[t]??=void 0;const o=r.getCachedData!==ru,i=n,a=r.deep?nt:Ut,l=s!==void 0,f=e.hook("app:data:refresh",async u=>{(!u||u.includes(t))&&await c.execute({cause:"refresh:hook"})}),c={data:a(l?s:r.default()),pending:Re(()=>c.status.value==="pending"),error:Xa(e.payload._errors,t),status:Ut("idle"),execute:(...u)=>{const[h,d=void 0]=u,m=h&&d===void 0&&typeof h=="object"?h:{};if(e._asyncDataPromises[t]&&(m.dedupe??r.dedupe)==="defer")return e._asyncDataPromises[t];{const E="cachedData"in m?m.cachedData:r.getCachedData(t,e,{cause:m.cause??"refresh:manual"});if(E!==void 0)return e.payload.data[t]=c.data.value=E,c.error.value=void 0,c.status.value="success",Promise.resolve(E)}c._abortController&&c._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),c._abortController=new AbortController,c.status.value="pending";const y=new AbortController,C=new Promise((E,v)=>{try{const p=m.timeout??r.timeout,_=wy([c._abortController?.signal,m?.signal],y.signal,p);if(_.aborted){const w=_.reason;v(w instanceof Error?w:new DOMException(String(w??"Aborted"),"AbortError"));return}return _.addEventListener("abort",()=>{const w=_.reason;v(w instanceof Error?w:new DOMException(String(w??"Aborted"),"AbortError"))},{once:!0,signal:y.signal}),Promise.resolve(i(e,{signal:_})).then(E,v)}catch(p){v(p)}}).then(async E=>{if(e._asyncDataPromises[t]!==C)return;let v=E;r.transform&&(v=await r.transform(E)),r.pick&&(v=by(v,r.pick)),e.payload.data[t]=v,c.data.value=v,c.error.value=void 0,c.status.value="success"}).catch(E=>{if(e._asyncDataPromises[t]!==C||c._abortController?.signal.aborted)return e._asyncDataPromises[t];if(typeof DOMException<"u"&&E instanceof DOMException&&E.name==="AbortError")return c.status.value="idle",e._asyncDataPromises[t];c.error.value=Ft(E),c.data.value=ae(r.default()),c.status.value="error"}).finally(()=>{y.abort(),e._asyncDataPromises[t]===C&&delete e._asyncDataPromises[t]});return e._asyncDataPromises[t]=C,e._asyncDataPromises[t]},_execute:vg((...u)=>c.execute(...u),0,{leading:!0}),_default:r.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{f(),e._asyncData[t]?._init&&(e._asyncData[t]._init=!1),o||xt(()=>{e._asyncData[t]?._init||(nu(e,t),c.execute=()=>Promise.resolve())})}};return c}const vy=()=>{},ru=(e,t,n)=>{if(t.isHydrating)return t.payload.data[e];if(n.cause!=="refresh:manual"&&n.cause!=="refresh:hook")return t.static.data[e]};function wy(e,t,n){const r=e.filter(i=>!!i);if(typeof n=="number"&&n>=0){const i=AbortSignal.timeout?.(n);i&&r.push(i)}if(AbortSignal.any)return AbortSignal.any(r);const s=new AbortController;for(const i of r)if(i.aborted){const a=i.reason??new DOMException("Aborted","AbortError");try{s.abort(a)}catch{s.abort()}return s.signal}const o=()=>{const a=r.find(l=>l.aborted)?.reason??new DOMException("Aborted","AbortError");try{s.abort(a)}catch{s.abort()}};for(const i of r)i.addEventListener?.("abort",o,{once:!0,signal:t});return s.signal}function Ey(e){const t=[ft(e.method)?.toUpperCase()||"GET",ft(e.baseURL)];for(const n of[e.query||e.params]){const r=ft(n);if(!r)continue;const s={};for(const[o,i]of Object.entries(r))s[ft(o)]=ft(i);t.push(s)}if(e.body){const n=ft(e.body);if(!n)t.push(gn(n));else if(n instanceof ArrayBuffer)t.push(gn(Object.fromEntries([...new Uint8Array(n).entries()].map(([r,s])=>[r,s.toString()]))));else if(n instanceof FormData){const r=[];for(const s of n.entries()){const[o,i]=s;r.push([o,i instanceof File?`${i.name}:${i.size}:${i.lastModified}`:i])}t.push(gn(r))}else if(go(n))t.push(gn(ot(n)));else try{t.push(gn(n))}catch{console.warn("[useFetch] Failed to hash body",n)}}return t}const su=eu({name:"createUseFetch",factory(e={}){function t(n,r,s){const[o={},i]=typeof r=="string"?[{},r]:[r,s],a=typeof e=="function"?e(o):e,{server:l,lazy:f,default:c,transform:u,pick:h,watch:d,immediate:m,getCachedData:y,deep:C,dedupe:E,timeout:v,...p}={...typeof e=="function"?{}:a,...o,...typeof e=="function"?a:{}},_=Re(()=>ft(n)),w=Re(()=>ft(p.key)||"$f"+gn([i,typeof _.value=="string"?_.value:"",...Ey(p)]));if(!p.baseURL&&typeof _.value=="string"&&_.value[0]==="/"&&_.value[1]==="/")throw new Error('[nuxt] [useFetch] the request URL must not start with "//".');const k=ot({...Gh,...p,cache:typeof p.cache=="boolean"?void 0:p.cache}),A={server:l,lazy:f,default:c,transform:u,pick:h,immediate:m,getCachedData:y,deep:C,dedupe:E,timeout:v,watch:d===!1?[]:[...d||[],k]};return d===!1&&(A._keyTriggersExecute=!1),yy(w,(R,{signal:T})=>(p.$fetch||globalThis.$fetch)(_.value,{signal:T,...k}),A)}return t}});su.__nuxt_factory();su.__nuxt_factory({lazy:!0,_functionName:"useLazyFetch"});function Sy(e){if(e?.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Ty(e,t=Ve()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||=new Set,t._routePreloaded.has(n)))return;const s=t._preloadPromises||=[];if(s.length>4)return Promise.all(s).then(()=>Ty(e,t));t._routePreloaded.add(n);for(const o of r){const i=o.components?.default;if(typeof i!="function")continue;const a=Promise.resolve(i()).catch(()=>{}).finally(()=>s.splice(s.indexOf(a),1));s.push(a)}await Promise.all(s)}const Ry=Ye({name:"pinia",setup(e){const t=hp();return e.vueApp.use(t),xn(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}},hooks:{"app:rendered"(){const e=ve();e.payload.pinia=ne(e.$pinia).state.value,xn(void 0)}}}),Cy=Ye({name:"nuxt:global-components"}),Nt={auth:Ir(()=>me(()=>import("./1YPtusTp.js"),[],import.meta.url).then(e=>e.default||e)),default:Ir(()=>me(()=>import("./FZLr1rN5.js"),__vite__mapDeps([31,32,4,3,2,33]),import.meta.url).then(e=>e.default||e))},Py=Ye({name:"nuxt:prefetch",setup(e){const t=Ve();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{const r=n?.meta?.layout;r&&typeof Nt[r]=="function"&&await Nt[r]()})}),e.hooks.hook("link:prefetch",n=>{if(Dn(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=Xc(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof fo[i]=="function"&&fo[i]();typeof s=="string"&&s in Nt&&Sy(Nt[s])})}}),Ay={1:"超管",2:"管理员",3:"代理",4:"运营"},Ko="auth_state";function Tr(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}function Ms(e){localStorage.setItem(Ko,JSON.stringify(e))}function xy(){try{const e=localStorage.getItem(Ko);return e?JSON.parse(e):null}catch{return null}}const ky=bp("auth",{state:()=>({token:"",account:"",identity:0,access:[],apps:[],regions:[],products:[],appbinds:[],currentAppId:0,siteTitle:""}),getters:{isSuperAdmin(){return this.identity===1},isAdmin(){return this.identity===1||this.identity===2},identityLabel(){return Ay[this.identity]??""},isLoggedIn(){return!!this.token}},actions:{setLoginData(e){this.token=e.token,this.account=e.account,this.identity=e.identity,this.access=Tr(e.access),this.apps=Tr(e.apps),this.regions=Tr(e.regions),this.products=Tr(e.products),this.appbinds=e.appbinds??[],this.appbinds.length>0&&!this.currentAppId&&(this.currentAppId=this.appbinds[0].id),Ms({token:this.token,account:this.account,identity:this.identity,access:this.access,apps:this.apps,regions:this.regions,products:this.products,appbinds:this.appbinds,currentAppId:this.currentAppId,siteTitle:this.siteTitle})},setCurrentApp(e){this.currentAppId=e,Ms({token:this.token,account:this.account,identity:this.identity,access:this.access,apps:this.apps,regions:this.regions,products:this.products,appbinds:this.appbinds,currentAppId:this.currentAppId,siteTitle:this.siteTitle})},setSiteTitle(e){this.siteTitle=e,Ms({token:this.token,account:this.account,identity:this.identity,access:this.access,apps:this.apps,regions:this.regions,products:this.products,appbinds:this.appbinds,currentAppId:this.currentAppId,siteTitle:this.siteTitle})},logout(){this.token="",this.account="",this.identity=0,this.access=[],this.apps=[],this.regions=[],this.products=[],this.appbinds=[],this.currentAppId=0,this.siteTitle="",localStorage.removeItem(Ko)},restore(){const e=xy();e&&(this.token=e.token??"",this.account=e.account??"",this.identity=e.identity??0,this.access=e.access??[],this.apps=e.apps??[],this.regions=e.regions??[],this.products=e.products??[],this.appbinds=e.appbinds??[],this.currentAppId=e.currentAppId??0,this.siteTitle=e.siteTitle??"")},hasAccess(e){return this.identity===1?!0:this.access.includes(e)}}}),Oy=Ye(()=>{ky().restore()}),My=[cg,fg,mg,ry,sy,oy,iy,ly,Ry,Cy,Py,Oy],ou=(e="RouteProvider")=>Wt({name:e,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){const n=t.renderKey,r=t.route,s={};for(const o in t.route)Object.defineProperty(s,o,{get:()=>n===t.renderKey?t.route[o]:r[o],enumerable:!0});return jt(on,Ze(s)),()=>t.vnode?Oe(t.vnode,{ref:t.vnodeRef}):t.vnode}}),Iy=ou(),wa=new WeakMap,Ly=Wt({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=ve(),o=nt(),i=Ce(on,null);let a;r({pageRef:o});const l=Ce(vc,null);let f;const c=s.deferHydration();let u=!1,h=!1,d=0;if(s.isHydrating){const y=s.hooks.hookOnce("app:error",c),C=Ve().beforeEach(()=>{y(),C()})}e.pageKey&&Rt(()=>e.pageKey,(y,C)=>{y!==C&&s.callHook("page:loading:start")});let m=!1;{const y=Ve().beforeResolve(()=>{m=!1});fr(()=>{y(),c()})}return()=>Oe(Jc,{name:e.name,route:e.route,...t},{default:y=>{const C=Dy(i,y.route,y.Component),E=i&&i.matched.length===y.route.matched.length;if(!y.Component){if(f&&!E&&!Is(f))return f;c();return}if(f&&l&&!Is(f)&&!l.isCurrent(y.route))return f;if(C&&i&&(!l||l?.isCurrent(i)))return(E||f)&&!Is(f)?f:null;const v=uo(y,e.pageKey),p=$y(i,y.route,y.Component);!s.isHydrating&&a===v&&!p&&xt(()=>{m||(m=!0,s.callHook("page:loading:end"))}),u&&a!==v&&h&&d++,a=v;const _=!!(e.transition??y.route.meta.pageTransition??Fi),w=_&&Qc([e.transition,y.route.meta.pageTransition,Fi,{onAfterLeave(){s["~transitionFinish"]?.(),delete s["~transitionFinish"],delete s["~transitionPromise"],s.callHook("page:transition:finish",y.Component)}}]),k=e.keepalive??y.route.meta.keepalive??qh;return f=Yc(_&&w,Cm(k,Oe(Mo,{key:d,suspensible:!0,onPending:()=>{u=!0,_&&!s["~transitionPromise"]&&(s["~transitionPromise"]=new Promise(A=>{s["~transitionFinish"]=A})),s.callHook("page:start",y.Component)},onResolve:async()=>{u=!1,h=!0;try{await xt(),s._route.sync?.(),await s.callHook("page:finish",y.Component),!m&&!p&&(m=!0,await s.callHook("page:loading:end"))}finally{c()}}},{default:()=>{const A={key:v||void 0,vnode:n.default?Hy(n.default,y):y.Component,route:y.route,renderKey:v||void 0,trackRootNodes:_,vnodeRef:o};if(!k)return Oe(Iy,A);const D=y.Component.type,R=D;let T=wa.get(R);return T||(T=ou(D.name||D.__name),wa.set(R,T)),Oe(T,A)}}))).default(),f}})}});function Dy(e,t,n){if(!e)return!1;const r=t.matched.findIndex(i=>i.components?.default===n?.type);if(r===-1)return!1;const s=t.matched.slice(0,r).filter(i=>i.components?.default);if(!s.length)return!1;const o=e.matched.filter(i=>i.components?.default);return s.some((i,a)=>i.components?.default!==o[a]?.components?.default)||n&&uo({route:t,Component:n})!==uo({route:e,Component:n})}function $y(e,t,n){return e?t.matched.findIndex(s=>s.components?.default===n?.type)Oe(Nt[e.name],e.layoutProps,t.slots)}}),jy={name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},Fy=Wt({name:"NuxtLayout",inheritAttrs:!1,props:jy,setup(e,t){const n=ve(),r=Ce(on),o=!r||r===No()?Nc():r,i=Re(()=>{let c=ae(e.name)??o?.meta.layout??iu(o?.path).appLayout??"default";return c&&!(c in Nt)&&e.fallback&&(c=ae(e.fallback)),c}),a=Ut();t.expose({layoutRef:a});const l=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",l),u=Ve().beforeEach(()=>{c(),u()})}let f;return()=>{const u=!!i.value&&i.value in Nt&&!!(o?.meta.layoutTransition??ji),h=u&&Qc([o?.meta.layoutTransition,ji,{onBeforeLeave(){n["~transitionPromise"]=new Promise(m=>{n["~transitionFinish"]=m})},onAfterLeave(){n["~transitionFinish"]?.(),delete n["~transitionFinish"],delete n["~transitionPromise"]}}]),d=f;return f=i.value,Yc(h,{default:()=>Oe(Mo,{suspensible:!0,onResolve:async()=>{await xt(l)}},{default:()=>Oe(By,{layoutProps:Wl(t.attrs,o.meta.layoutProps??{},{ref:a}),key:i.value||void 0,name:i.value,shouldProvide:!e.name,isRenderingNewLayout:m=>m!==d&&m===i.value,hasTransition:u},t.slots)})}).default()}}}),By=Wt({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean},isRenderingNewLayout:{type:Function,required:!0}},setup(e,t){const n=e.name;e.shouldProvide&&jt(vc,{isCurrent:o=>n===!1||n===(o.meta.layout??iu(o.path).appLayout??"default")});const r=Ce(on);if(r&&r===No()){const o=Nc(),i={};for(const a in o){const l=a;Object.defineProperty(i,l,{enumerable:!0,get:()=>e.isRenderingNewLayout(e.name)?o[l]:r[l]})}jt(on,Ze(i))}return()=>!n||typeof n=="string"&&!(n in Nt)?t.slots.default?.():Oe(Ny,{key:n,layoutProps:e.layoutProps,name:n},t.slots)}}),Uy=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Vy={};function Ky(e,t){const n=Ly,r=Fy;return Ge(),ht(r,null,{default:Co(()=>[ye(n)]),_:1})}const Wy=Uy(Vy,[["render",Ky]]),qy={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error,r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),a=void 0,c=s?Ir(()=>me(()=>import("./BroHRKpP.js"),__vite__mapDeps([34,32,35,36]),import.meta.url)):Ir(()=>me(()=>import("./P2ZWRt51.js"),__vite__mapDeps([37,35,38]),import.meta.url));return(u,h)=>(Ge(),ht(ae(c),mu(Vl({status:ae(r),statusText:ae(o),statusCode:ae(r),statusMessage:ae(o),description:ae(i),stack:ae(a)})),null,16))}},zy={key:0},Ea={__name:"nuxt-root",setup(e){const t=()=>null,n=ve(),r=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",r),u=Ve().beforeEach(()=>{c(),u()})}const s=!1;jt(on,No()),n.hooks.callHookWith(c=>c.map(u=>u()),"vue:setup",[]);const o=cs(),i=!1,a=/bot\b|chrome-lighthouse|facebookexternalhit|google\b/i;function l(c,u,h){const d=n.vueApp.config.errorHandler;if(d&&!d.__nuxt_default)try{d(c,u,h)}catch(m){console.error("[nuxt] Error in `app.config.errorHandler`",m)}}pl((c,u,h)=>{if(n.hooks.callHook("vue:error",c,u,h)?.catch(d=>console.error("[nuxt] Error in `vue:error` hook",d)),a.test(navigator.userAgent))return n.hooks.callHook("app:error",c),console.error(`[nuxt] Not rendering error page for bot with user agent \`${navigator.userAgent}\`:`,c),!1;if(Ec(c)&&(c.fatal||c.unhandled))return n.runWithContext(()=>Zt(c)),l(c,u,h),!1});const f=!1;return(c,u)=>(Ge(),ht(Mo,{onResolve:ae(r)},{default:Co(()=>[ae(i)?(Ge(),Gf("div",zy)):ae(o)?(Ge(),ht(ae(qy),{key:1,error:ae(o)},null,8,["error"])):ae(f)?(Ge(),ht(ae(t),{key:2,context:ae(f)},null,8,["context"])):ae(s)?(Ge(),ht(yf(ae(s)),{key:3})):(Ge(),ht(ae(Wy),{key:4}))]),_:1},8,["onResolve"]))}};let Sa;{let e;Sa=async function(){if(e)return e;const n=!!(window.__NUXT__?.serverRendered??document.getElementById("__NUXT_DATA__")?.dataset.ssr==="true"),r=n?Ud(Ea):Bd(Ea),s=Qh({vueApp:r});async function o(i){await s.callHook("app:error",i),s.payload.error||=Ft(i)}o.__nuxt_default=!0,r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)}),!n&&Bi.id&&s.hook("app:suspense:resolve",()=>{document.getElementById(Bi.id)?.remove()});try{await tp(s,My)}catch(i){o(i)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(Jh),await s.hooks.callHook("app:mounted",r),await xt()}catch(i){o(i)}return r},e=Sa().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{Dn as $,Re as A,e_ as B,ky as C,t_ as D,xt as E,ke as F,Yr as G,Qy as H,n_ as I,ht as J,fr as K,Yy as L,ae as M,Vo as N,ba as O,i_ as P,Oe as Q,Jy as R,sc as S,fd as T,fp as U,Ut as V,up as W,Ty as X,s_ as Y,ac as Z,Uy as _,Ul as a,Xs as a0,Ho as a1,mh as a2,Fr as a3,r_ as a4,Xa as a5,pe as a6,ye as b,Gf as c,Kl as d,ve as e,Oc as f,Wt as g,ns as h,Ce as i,xo as j,Gy as k,Xf as l,ki as m,Qr as n,Ge as o,Ld as p,Md as q,Xy as r,nt as s,vu as t,o_ as u,Zy as v,Co as w,ot as x,No as y,Ve as z}; +`)&&(yr(p,0)||fn(),p.textContent=_.children)}if(T){if(te||!D||H&48){const V=p.tagName.includes("-");for(const le in T)(te&&(le.endsWith("value")||le==="indeterminate")||lr(le)&&!en(le)||le[0]==="."||V&&!en(le))&&r(p,le,null,T[le],void 0,w)}else if(T.onClick)r(p,"onClick",null,T.onClick,void 0,w);else if(H&4&>(T.style))for(const V in T.style)T.style[V]}let q;(q=T&&T.onVnodeBeforeMount)&&$e(q,w,_),W&&ct(_,null,w,"beforeMount"),((q=T&&T.onVnodeMounted)||W||F)&&Nl(()=>{q&&$e(q,w,_),F&&Z.enter(p),W&&ct(_,null,w,"mounted")},k)}return p.nextSibling},d=(p,_,w,k,A,D,R)=>{R=R||!!_.dynamicChildren;const T=_.children,H=T.length;let L=!1;for(let W=0;W{const{slotScopeIds:R}=_;R&&(A=A?A.concat(R):R);const T=i(p),H=d(o(p),_,T,w,k,A,D);return H&&mn(H)&&H.data==="]"?o(_.anchor=H):(fn(),l(_.anchor=f("]"),T,H),H)},y=(p,_,w,k,A,D)=>{if(yr(p.parentElement,1)||fn(),_.el=null,D){const H=C(p);for(;;){const L=o(p);if(L&&L!==H)a(L);else break}}const R=o(p),T=i(p);return a(p),n(null,_,T,R,w,k,mr(T),A),w&&(w.vnode.el=_.el,is(w,_.el)),R},C=(p,_="[",w="]")=>{let k=0;for(;p;)if(p=o(p),p&&mn(p)&&(p.data===_&&k++,p.data===w)){if(k===0)return o(p);k--}return p},E=(p,_,w)=>{const k=_.parentNode;k&&k.replaceChild(p,_);let A=w;for(;A;)A.vnode.el===_&&(A.vnode.el=A.subTree.el=p),A=A.parent},v=p=>p.nodeType===1&&p.tagName==="TEMPLATE";return[c,u]}const ri="data-allow-mismatch",lf={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function yr(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(ri);)e=e.parentElement;const n=e&&e.getAttribute(ri);if(n==null)return!1;if(n==="")return!0;{const r=n.split(",");return t===0&&r.includes("children")?!0:r.includes(lf[t])}}Xr().requestIdleCallback;Xr().cancelIdleCallback;function cf(e,t){if(mn(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(mn(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const Ct=e=>!!e.type.__asyncLoader;function Ir(e){Y(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:o,timeout:i,suspensible:a=!0,onError:l}=e;let f=null,c,u=0;const h=()=>(u++,f=null,d()),d=()=>{let m;return f||(m=f=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((C,E)=>{l(y,()=>C(h()),()=>E(y),u+1)});throw y}).then(y=>m!==f&&f?f:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),c=y,y)))};return Wt({name:"AsyncComponentWrapper",__asyncLoader:d,__asyncHydrate(m,y,C){let E=!1;(y.bu||(y.bu=[])).push(()=>E=!0);const v=()=>{E||C()},p=o?()=>{const _=o(v,w=>cf(m,w));_&&(y.bum||(y.bum=[])).push(_)}:v;c?p():d().then(()=>!y.isUnmounted&&p())},get __asyncResolved(){return c},setup(){const m=Pe;if(Ao(m),c)return()=>_r(c,m);const y=w=>{f=null,Ln(w,m,13,!r)};if(a&&m.suspense||Pn)return d().then(w=>()=>_r(w,m)).catch(w=>(y(w),()=>r?ye(r,{error:w}):null));const C=nt(!1),E=nt(),v=nt(!!s);let p,_;return ss(()=>{p!=null&&clearTimeout(p),_!=null&&clearTimeout(_)}),s&&(_=setTimeout(()=>{m.isUnmounted||(v.value=!1)},s)),i!=null&&(p=setTimeout(()=>{if(!m.isUnmounted&&!C.value&&!E.value){const w=new Error(`Async component timed out after ${i}ms.`);y(w),E.value=w}},i)),d().then(()=>{m.isUnmounted||(C.value=!0,m.parent&&ur(m.parent.vnode)&&m.parent.update())}).catch(w=>{if(m.isUnmounted){f=null;return}y(w),E.value=w}),()=>{if(C.value&&c)return _r(c,m);if(E.value&&r)return ye(r,{error:E.value});if(n&&!v.value)return _r(n,m)}}})}function _r(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=ye(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const ur=e=>e.type.__isKeepAlive,uf={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=an(),r=n.ctx;if(!r.renderer)return()=>{const v=t.default&&t.default();return v&&v.length===1?v[0]:v};const s=new Map,o=new Set;let i=null;const a=n.suspense,{renderer:{p:l,m:f,um:c,o:{createElement:u}}}=r,h=u("div");r.activate=(v,p,_,w,k)=>{const A=v.component;f(v,p,_,0,a),l(A.vnode,v,p,_,A,a,w,v.slotScopeIds,k),Se(()=>{A.isDeactivated=!1,A.a&&vn(A.a);const D=v.props&&v.props.onVnodeMounted;D&&$e(D,A.parent,v)},a)},r.deactivate=v=>{const p=v.component;Dr(p.m),Dr(p.a),f(v,h,null,1,a),Se(()=>{p.da&&vn(p.da);const _=v.props&&v.props.onVnodeUnmounted;_&&$e(_,p.parent,v),p.isDeactivated=!0},a)};function d(v){ys(v),c(v,n,a,!0)}function m(v){s.forEach((p,_)=>{const w=zs(Ct(p)?p.type.__asyncResolved||{}:p.type);w&&!v(w)&&y(_)})}function y(v){const p=s.get(v);p&&(!i||!et(p,i))?d(p):i&&ys(i),s.delete(v),o.delete(v)}Rt(()=>[e.include,e.exclude],([v,p])=>{v&&m(_=>Vn(v,_)),p&&m(_=>!Vn(p,_))},{flush:"post",deep:!0});let C=null;const E=()=>{C!=null&&($r(n.subTree.type)?Se(()=>{s.set(C,br(n.subTree))},n.subTree.suspense):s.set(C,br(n.subTree)))};return xo(E),hl(E),fr(()=>{s.forEach(v=>{const{subTree:p,suspense:_}=n,w=br(p);if(v.type===w.type&&v.key===w.key){ys(w);const k=w.component.da;k&&Se(k,_);return}d(v)})}),()=>{if(C=null,!t.default)return i=null;const v=t.default(),p=v[0];if(v.length>1)return i=null,v;if(!sn(p)||!(p.shapeFlag&4)&&!(p.shapeFlag&128))return i=null,p;let _=br(p);if(_.type===be)return i=null,_;const w=_.type,k=zs(Ct(_)?_.type.__asyncResolved||{}:w),{include:A,exclude:D,max:R}=e;if(A&&(!k||!Vn(A,k))||D&&k&&Vn(D,k))return _.shapeFlag&=-257,i=_,p;const T=_.key==null?w:_.key,H=s.get(T);return _.el&&(_=kt(_),p.shapeFlag&128&&(p.ssContent=_)),C=T,H?(_.el=H.el,_.component=H.component,_.transition&&Rn(_,_.transition),_.shapeFlag|=512,o.delete(T),o.add(T)):(o.add(T),R&&o.size>parseInt(R,10)&&y(o.values().next().value)),_.shapeFlag|=256,i=_,$r(p.type)?p:_}}},ff=uf;function Vn(e,t){return G(e)?e.some(n=>Vn(n,t)):he(e)?e.split(",").includes(t):lu(e)?(e.lastIndex=0,e.test(t)):!1}function cl(e,t){fl(e,"a",t)}function ul(e,t){fl(e,"da",t)}function fl(e,t,n=Pe){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(rs(t,r,n),n){let s=n.parent;for(;s&&s.parent;)ur(s.parent.vnode)&&df(r,t,n,s),s=s.parent}}function df(e,t,n,r){const s=rs(t,e,r,!0);ss(()=>{po(r[t],s)},n)}function ys(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function br(e){return e.shapeFlag&128?e.ssContent:e}function rs(e,t,n=Pe,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{Pt();const a=dr(n),l=Xe(t,n,e,i);return a(),At(),l});return r?s.unshift(o):s.push(o),o}}const Ot=e=>(t,n=Pe)=>{(!Pn||e==="sp")&&rs(e,(...r)=>t(...r),n)},dl=Ot("bm"),xo=Ot("m"),hf=Ot("bu"),hl=Ot("u"),fr=Ot("bum"),ss=Ot("um"),pf=Ot("sp"),gf=Ot("rtg"),mf=Ot("rtc");function pl(e,t=Pe){rs("ec",e,t)}const gl="components";function Jy(e,t){return yl(gl,e,!0,t)||e}const ml=Symbol.for("v-ndc");function yf(e){return he(e)?yl(gl,e,!1)||e:e||ml}function yl(e,t,n=!0,r=!1){const s=Ae||Pe;if(s){const o=s.type;{const a=zs(o,!1);if(a&&(a===t||a===Le(t)||a===Gr(Le(t))))return o}const i=si(s[e]||o[e],t)||si(s.appContext[e],t);return!i&&r?o:i}}function si(e,t){return e&&(e[t]||e[Le(t)]||e[Gr(Le(t))])}function Xy(e,t,n,r){let s;const o=n,i=G(e);if(i||he(e)){const a=i&>(e);let l=!1,f=!1;a&&(l=!Be(e),f=mt(e),e=es(e)),s=new Array(e.length);for(let c=0,u=e.length;ct(a,l,void 0,o));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,f=a.length;l0;return Ge(),ht(ke,null,[ye("slot",n,r)],f?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),Ge();const i=o&&_l(o(n)),a=n.key||i&&i.key,l=ht(ke,{key:(a&&!Ue(a)?a:`_${t}`)+(!i&&r?"_fb":"")},i||[],i&&e._===1?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function _l(e){return e.some(t=>sn(t)?!(t.type===be||t.type===ke&&!_l(t.children)):!0)?e:null}const js=e=>e?ql(e)?as(e):js(e.parent):null,Gn=Te(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>js(e.parent),$root:e=>js(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>vl(e),$forceUpdate:e=>e.f||(e.f=()=>{Ro(e.update)}),$nextTick:e=>e.n||(e.n=xt.bind(e.proxy)),$watch:e=>Zu.bind(e)}),_s=(e,t)=>e!==fe&&!e.__isScriptSetup&&ie(e,t),_f={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(_s(r,t))return i[t]=1,r[t];if(s!==fe&&ie(s,t))return i[t]=2,s[t];if(ie(o,t))return i[t]=3,o[t];if(n!==fe&&ie(n,t))return i[t]=4,n[t];Fs&&(i[t]=0)}}const f=Gn[t];let c,u;if(f)return t==="$attrs"&&xe(e.attrs,"get",""),f(e);if((c=a.__cssModules)&&(c=c[t]))return c;if(n!==fe&&ie(n,t))return i[t]=4,n[t];if(u=l.config.globalProperties,ie(u,t))return u[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return _s(s,t)?(s[t]=n,!0):r!==fe&&ie(r,t)?(r[t]=n,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:o,type:i}},a){let l;return!!(n[a]||e!==fe&&a[0]!=="$"&&ie(e,a)||_s(t,a)||ie(o,a)||ie(r,a)||ie(Gn,a)||ie(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ie(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function oi(e){return G(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Fs=!0;function bf(e){const t=vl(e),n=e.proxy,r=e.ctx;Fs=!1,t.beforeCreate&&ii(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:a,provide:l,inject:f,created:c,beforeMount:u,mounted:h,beforeUpdate:d,updated:m,activated:y,deactivated:C,beforeDestroy:E,beforeUnmount:v,destroyed:p,unmounted:_,render:w,renderTracked:k,renderTriggered:A,errorCaptured:D,serverPrefetch:R,expose:T,inheritAttrs:H,components:L,directives:W,filters:Z}=t;if(f&&vf(f,r,null),i)for(const q in i){const V=i[q];Y(V)&&(r[q]=V.bind(n))}if(s){const q=s.call(n,n);se(q)&&(e.data=ot(q))}if(Fs=!0,o)for(const q in o){const V=o[q],le=Y(V)?V.bind(n,n):Y(V.get)?V.get.bind(n,n):pt,Mt=!Y(V)&&Y(V.set)?V.set.bind(n):pt,it=Re({get:le,set:Mt});Object.defineProperty(r,q,{enumerable:!0,configurable:!0,get:()=>it.value,set:De=>it.value=De})}if(a)for(const q in a)bl(a[q],r,n,q);if(l){const q=Y(l)?l.call(n):l;Reflect.ownKeys(q).forEach(V=>{jt(V,q[V])})}c&&ii(c,e,"c");function F(q,V){G(V)?V.forEach(le=>q(le.bind(n))):V&&q(V.bind(n))}if(F(dl,u),F(xo,h),F(hf,d),F(hl,m),F(cl,y),F(ul,C),F(pl,D),F(mf,k),F(gf,A),F(fr,v),F(ss,_),F(pf,R),G(T))if(T.length){const q=e.exposed||(e.exposed={});T.forEach(V=>{Object.defineProperty(q,V,{get:()=>n[V],set:le=>n[V]=le,enumerable:!0})})}else e.exposed||(e.exposed={});w&&e.render===pt&&(e.render=w),H!=null&&(e.inheritAttrs=H),L&&(e.components=L),W&&(e.directives=W),R&&Ao(e)}function vf(e,t,n=pt){G(e)&&(e=Bs(e));for(const r in e){const s=e[r];let o;se(s)?"default"in s?o=Ce(s.from||r,s.default,!0):o=Ce(s.from||r):o=Ce(s),pe(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function ii(e,t,n){Xe(G(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function bl(e,t,n,r){let s=r.includes(".")?nl(n,r):()=>n[r];if(he(e)){const o=t[e];Y(o)&&Rt(s,o)}else if(Y(e))Rt(s,e.bind(n));else if(se(e))if(G(e))e.forEach(o=>bl(o,t,n,r));else{const o=Y(e.handler)?e.handler.bind(n):t[e.handler];Y(o)&&Rt(s,o,e)}}function vl(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,a=o.get(t);let l;return a?l=a:!s.length&&!n&&!r?l=t:(l={},s.length&&s.forEach(f=>Lr(l,f,i,!0)),Lr(l,t,i)),se(t)&&o.set(t,l),l}function Lr(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Lr(e,o,n,!0),s&&s.forEach(i=>Lr(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=wf[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const wf={data:ai,props:li,emits:li,methods:Kn,computed:Kn,beforeCreate:Me,created:Me,beforeMount:Me,mounted:Me,beforeUpdate:Me,updated:Me,beforeDestroy:Me,beforeUnmount:Me,destroyed:Me,unmounted:Me,activated:Me,deactivated:Me,errorCaptured:Me,serverPrefetch:Me,components:Kn,directives:Kn,watch:Sf,provide:ai,inject:Ef};function ai(e,t){return t?e?function(){return Te(Y(e)?e.call(this,this):e,Y(t)?t.call(this,this):t)}:t:e}function Ef(e,t){return Kn(Bs(e),Bs(t))}function Bs(e){if(G(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Le(t)}Modifiers`]||e[`${Kt(t)}Modifiers`];function Pf(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||fe;let s=n;const o=t.startsWith("update:"),i=o&&Cf(r,t.slice(7));i&&(i.trim&&(s=n.map(c=>he(c)?c.trim():c)),i.number&&(s=n.map(Jr)));let a,l=r[a=fs(t)]||r[a=fs(Le(t))];!l&&o&&(l=r[a=fs(Kt(t))]),l&&Xe(l,e,6,s);const f=r[a+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Xe(f,e,6,s)}}const Af=new WeakMap;function El(e,t,n=!1){const r=n?Af:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},a=!1;if(!Y(e)){const l=f=>{const c=El(f,t,!0);c&&(a=!0,Te(i,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(se(e)&&r.set(e,null),null):(G(o)?o.forEach(l=>i[l]=null):Te(i,o),se(e)&&r.set(e,i),i)}function os(e,t){return!e||!lr(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,Kt(t))||ie(e,t))}function bs(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:a,emit:l,render:f,renderCache:c,props:u,data:h,setupState:d,ctx:m,inheritAttrs:y}=e,C=Or(e);let E,v;try{if(n.shapeFlag&4){const _=s||r,w=_;E=Fe(f.call(w,_,c,u,d,h,m)),v=a}else{const _=t;E=Fe(_.length>1?_(u,{attrs:a,slots:i,emit:l}):_(u,null)),v=t.props?a:kf(a)}}catch(_){Xn.length=0,Ln(_,e,1),E=ye(be)}let p=E;if(v&&y!==!1){const _=Object.keys(v),{shapeFlag:w}=p;_.length&&w&7&&(o&&_.some(Wr)&&(v=Of(v,o)),p=kt(p,v,!1,!0))}return n.dirs&&(p=kt(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&Rn(p,n.transition),E=p,Or(C),E}function xf(e,t=!0){let n;for(let r=0;r{let t;for(const n in e)(n==="class"||n==="style"||lr(n))&&((t||(t={}))[n]=e[n]);return t},Of=(e,t)=>{const n={};for(const r in e)(!Wr(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Mf(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:a,patchFlag:l}=t,f=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?ci(r,i,f):!!i;if(l&8){const c=t.dynamicProps;for(let u=0;uObject.create(Tl),Cl=e=>Object.getPrototypeOf(e)===Tl;function If(e,t,n,r=!1){const s={},o=Rl();e.propsDefaults=Object.create(null),Pl(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:Ze(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Lf(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,a=ne(s),[l]=e.propsOptions;let f=!1;if((r||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let u=0;u{l=!0;const[h,d]=Al(u,t,!0);Te(i,h),d&&a.push(...d)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!o&&!l)return se(e)&&r.set(e,_n),_n;if(G(o))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",Oo=e=>G(e)?e.map(Fe):[Fe(e)],$f=(e,t,n)=>{if(t._n)return t;const r=Co((...s)=>Oo(t(...s)),n);return r._c=!1,r},xl=(e,t,n)=>{const r=e._ctx;for(const s in e){if(ko(s))continue;const o=e[s];if(Y(o))t[s]=$f(s,o,r);else if(o!=null){const i=Oo(o);t[s]=()=>i}}},kl=(e,t)=>{const n=Oo(t);e.slots.default=()=>n},Ol=(e,t,n)=>{for(const r in t)(n||!ko(r))&&(e[r]=t[r])},Hf=(e,t,n)=>{const r=e.slots=Rl();if(e.vnode.shapeFlag&32){const s=t._;s?(Ol(r,t,n),n&&Pa(r,"_",s,!0)):xl(t,r)}else t&&kl(e,t)},Nf=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=fe;if(r.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:Ol(s,t,n):(o=!t.$stable,xl(t,s)),i=t}else t&&(kl(e,t),i={default:1});if(o)for(const a in s)!ko(a)&&i[a]==null&&delete s[a]},Se=Nl;function jf(e){return Ml(e)}function Ff(e){return Ml(e,af)}function Ml(e,t){const n=Xr();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:a,createComment:l,setText:f,setElementText:c,parentNode:u,nextSibling:h,setScopeId:d=pt,insertStaticContent:m}=e,y=(g,b,S,M=null,P=null,O=null,j=void 0,N=null,$=!!b.dynamicChildren)=>{if(g===b)return;g&&!et(g,b)&&(M=x(g),De(g,P,O,!0),g=null),b.patchFlag===-2&&($=!1,b.dynamicChildren=null);const{type:I,ref:X,shapeFlag:U}=b;switch(I){case rn:C(g,b,S,M);break;case be:E(g,b,S,M);break;case Jn:g==null&&v(b,S,M,j);break;case ke:L(g,b,S,M,P,O,j,N,$);break;default:U&1?w(g,b,S,M,P,O,j,N,$):U&6?W(g,b,S,M,P,O,j,N,$):(U&64||U&128)&&I.process(g,b,S,M,P,O,j,N,$,J)}X!=null&&P?En(X,g&&g.ref,O,b||g,!b):X==null&&g&&g.ref!=null&&En(g.ref,null,O,g,!0)},C=(g,b,S,M)=>{if(g==null)r(b.el=a(b.children),S,M);else{const P=b.el=g.el;b.children!==g.children&&f(P,b.children)}},E=(g,b,S,M)=>{g==null?r(b.el=l(b.children||""),S,M):b.el=g.el},v=(g,b,S,M)=>{[g.el,g.anchor]=m(g.children,b,S,M,g.el,g.anchor)},p=({el:g,anchor:b},S,M)=>{let P;for(;g&&g!==b;)P=h(g),r(g,S,M),g=P;r(b,S,M)},_=({el:g,anchor:b})=>{let S;for(;g&&g!==b;)S=h(g),s(g),g=S;s(b)},w=(g,b,S,M,P,O,j,N,$)=>{if(b.type==="svg"?j="svg":b.type==="math"&&(j="mathml"),g==null)k(b,S,M,P,O,j,N,$);else{const I=g.el&&g.el._isVueCE?g.el:null;try{I&&I._beginPatch(),R(g,b,P,O,j,N,$)}finally{I&&I._endPatch()}}},k=(g,b,S,M,P,O,j,N)=>{let $,I;const{props:X,shapeFlag:U,transition:z,dirs:Q}=g;if($=g.el=i(g.type,O,X&&X.is,X),U&8?c($,g.children):U&16&&D(g.children,$,null,M,P,vs(g,O),j,N),Q&&ct(g,null,M,"created"),A($,g,g.scopeId,j,M),X){for(const ue in X)ue!=="value"&&!en(ue)&&o($,ue,null,X[ue],O,M);"value"in X&&o($,"value",null,X.value,O),(I=X.onVnodeBeforeMount)&&$e(I,M,g)}Q&&ct(g,null,M,"beforeMount");const re=Il(P,z);re&&z.beforeEnter($),r($,b,S),((I=X&&X.onVnodeMounted)||re||Q)&&Se(()=>{I&&$e(I,M,g),re&&z.enter($),Q&&ct(g,null,M,"mounted")},P)},A=(g,b,S,M,P)=>{if(S&&d(g,S),M)for(let O=0;O{for(let I=$;I{const N=b.el=g.el;let{patchFlag:$,dynamicChildren:I,dirs:X}=b;$|=g.patchFlag&16;const U=g.props||fe,z=b.props||fe;let Q;if(S&&zt(S,!1),(Q=z.onVnodeBeforeUpdate)&&$e(Q,S,b,g),X&&ct(b,g,S,"beforeUpdate"),S&&zt(S,!0),(U.innerHTML&&z.innerHTML==null||U.textContent&&z.textContent==null)&&c(N,""),I?T(g.dynamicChildren,I,N,S,M,vs(b,P),O):j||V(g,b,N,null,S,M,vs(b,P),O,!1),$>0){if($&16)H(N,U,z,S,P);else if($&2&&U.class!==z.class&&o(N,"class",null,z.class,P),$&4&&o(N,"style",U.style,z.style,P),$&8){const re=b.dynamicProps;for(let ue=0;ue{Q&&$e(Q,S,b,g),X&&ct(b,g,S,"updated")},M)},T=(g,b,S,M,P,O,j)=>{for(let N=0;N{if(b!==S){if(b!==fe)for(const O in b)!en(O)&&!(O in S)&&o(g,O,b[O],null,P,M);for(const O in S){if(en(O))continue;const j=S[O],N=b[O];j!==N&&O!=="value"&&o(g,O,N,j,P,M)}"value"in S&&o(g,"value",b.value,S.value,P)}},L=(g,b,S,M,P,O,j,N,$)=>{const I=b.el=g?g.el:a(""),X=b.anchor=g?g.anchor:a("");let{patchFlag:U,dynamicChildren:z,slotScopeIds:Q}=b;Q&&(N=N?N.concat(Q):Q),g==null?(r(I,S,M),r(X,S,M),D(b.children||[],S,X,P,O,j,N,$)):U>0&&U&64&&z&&g.dynamicChildren&&g.dynamicChildren.length===z.length?(T(g.dynamicChildren,z,S,P,O,j,N),(b.key!=null||P&&b===P.subTree)&&Ll(g,b,!0)):V(g,b,S,X,P,O,j,N,$)},W=(g,b,S,M,P,O,j,N,$)=>{b.slotScopeIds=N,g==null?b.shapeFlag&512?P.ctx.activate(b,S,M,j,$):Z(b,S,M,P,O,j,$):te(g,b,$)},Z=(g,b,S,M,P,O,j)=>{const N=g.component=Zf(g,M,P);if(ur(g)&&(N.ctx.renderer=J),ed(N,!1,j),N.asyncDep){if(P&&P.registerDep(N,F,j),!g.el){const $=N.subTree=ye(be);E(null,$,b,S),g.placeholder=$.el}}else F(N,g,b,S,P,O,j)},te=(g,b,S)=>{const M=b.component=g.component;if(Mf(g,b,S))if(M.asyncDep&&!M.asyncResolved){q(M,b,S);return}else M.next=b,M.update();else b.el=g.el,M.vnode=b},F=(g,b,S,M,P,O,j)=>{const N=()=>{if(g.isMounted){let{next:U,bu:z,u:Q,parent:re,vnode:ue}=g;{const Ne=Dl(g);if(Ne){U&&(U.el=ue.el,q(g,U,j)),Ne.asyncDep.then(()=>{Se(()=>{g.isUnmounted||I()},P)});return}}let ce=U,_e;zt(g,!1),U?(U.el=ue.el,q(g,U,j)):U=ue,z&&vn(z),(_e=U.props&&U.props.onVnodeBeforeUpdate)&&$e(_e,re,U,ue),zt(g,!0);const we=bs(g),Qe=g.subTree;g.subTree=we,y(Qe,we,u(Qe.el),x(Qe),g,P,O),U.el=we.el,ce===null&&is(g,we.el),Q&&Se(Q,P),(_e=U.props&&U.props.onVnodeUpdated)&&Se(()=>$e(_e,re,U,ue),P)}else{let U;const{el:z,props:Q}=b,{bm:re,m:ue,parent:ce,root:_e,type:we}=g,Qe=Ct(b);if(zt(g,!1),re&&vn(re),!Qe&&(U=Q&&Q.onVnodeBeforeMount)&&$e(U,ce,b),zt(g,!0),z&&ge){const Ne=()=>{g.subTree=bs(g),ge(z,g.subTree,g,P,null)};Qe&&we.__asyncHydrate?we.__asyncHydrate(z,g,Ne):Ne()}else{_e.ce&&_e.ce._hasShadowRoot()&&_e.ce._injectChildStyle(we,g.parent?g.parent.type:void 0);const Ne=g.subTree=bs(g);y(null,Ne,S,M,g,P,O),b.el=Ne.el}if(ue&&Se(ue,P),!Qe&&(U=Q&&Q.onVnodeMounted)){const Ne=b;Se(()=>$e(U,ce,Ne),P)}(b.shapeFlag&256||ce&&Ct(ce.vnode)&&ce.vnode.shapeFlag&256)&&g.a&&Se(g.a,P),g.isMounted=!0,b=S=M=null}};g.scope.on();const $=g.effect=new La(N);g.scope.off();const I=g.update=$.run.bind($),X=g.job=$.runIfDirty.bind($);X.i=g,X.id=g.uid,$.scheduler=()=>Ro(X),zt(g,!0),I()},q=(g,b,S)=>{b.component=g;const M=g.vnode.props;g.vnode=b,g.next=null,Lf(g,b.props,M,S),Nf(g,b.children,S),Pt(),Qo(g),At()},V=(g,b,S,M,P,O,j,N,$=!1)=>{const I=g&&g.children,X=g?g.shapeFlag:0,U=b.children,{patchFlag:z,shapeFlag:Q}=b;if(z>0){if(z&128){Mt(I,U,S,M,P,O,j,N,$);return}else if(z&256){le(I,U,S,M,P,O,j,N,$);return}}Q&8?(X&16&&Ke(I,P,O),U!==I&&c(S,U)):X&16?Q&16?Mt(I,U,S,M,P,O,j,N,$):Ke(I,P,O,!0):(X&8&&c(S,""),Q&16&&D(U,S,M,P,O,j,N,$))},le=(g,b,S,M,P,O,j,N,$)=>{g=g||_n,b=b||_n;const I=g.length,X=b.length,U=Math.min(I,X);let z;for(z=0;zX?Ke(g,P,O,!0,!1,U):D(b,S,M,P,O,j,N,$,U)},Mt=(g,b,S,M,P,O,j,N,$)=>{let I=0;const X=b.length;let U=g.length-1,z=X-1;for(;I<=U&&I<=z;){const Q=g[I],re=b[I]=$?wt(b[I]):Fe(b[I]);if(et(Q,re))y(Q,re,S,null,P,O,j,N,$);else break;I++}for(;I<=U&&I<=z;){const Q=g[U],re=b[z]=$?wt(b[z]):Fe(b[z]);if(et(Q,re))y(Q,re,S,null,P,O,j,N,$);else break;U--,z--}if(I>U){if(I<=z){const Q=z+1,re=Qz)for(;I<=U;)De(g[I],P,O,!0),I++;else{const Q=I,re=I,ue=new Map;for(I=re;I<=z;I++){const je=b[I]=$?wt(b[I]):Fe(b[I]);je.key!=null&&ue.set(je.key,I)}let ce,_e=0;const we=z-re+1;let Qe=!1,Ne=0;const $n=new Array(we);for(I=0;I=we){De(je,P,O,!0);continue}let at;if(je.key!=null)at=ue.get(je.key);else for(ce=re;ce<=z;ce++)if($n[ce-re]===0&&et(je,b[ce])){at=ce;break}at===void 0?De(je,P,O,!0):($n[at-re]=I+1,at>=Ne?Ne=at:Qe=!0,y(je,b[at],S,null,P,O,j,N,$),_e++)}const Wo=Qe?Bf($n):_n;for(ce=Wo.length-1,I=we-1;I>=0;I--){const je=re+I,at=b[je],qo=b[je+1],zo=je+1{const{el:O,type:j,transition:N,children:$,shapeFlag:I}=g;if(I&6){it(g.component.subTree,b,S,M);return}if(I&128){g.suspense.move(b,S,M);return}if(I&64){j.move(g,b,S,J);return}if(j===ke){r(O,b,S);for(let U=0;U<$.length;U++)it($[U],b,S,M);r(g.anchor,b,S);return}if(j===Jn){p(g,b,S);return}if(M!==2&&I&1&&N)if(M===0)N.persisted&&!O[ze]?r(O,b,S):(N.beforeEnter(O),r(O,b,S),Se(()=>N.enter(O),P));else{const{leave:U,delayLeave:z,afterLeave:Q}=N,re=()=>{g.ctx.isUnmounted?s(O):r(O,b,S)},ue=()=>{const ce=O._isLeaving||!!O[ze];O._isLeaving&&O[ze](!0),N.persisted&&!ce?re():U(O,()=>{re(),Q&&Q()})};z?z(O,re,ue):ue()}else r(O,b,S)},De=(g,b,S,M=!1,P=!1)=>{const{type:O,props:j,ref:N,children:$,dynamicChildren:I,shapeFlag:X,patchFlag:U,dirs:z,cacheIndex:Q,memo:re}=g;if(U===-2&&(P=!1),N!=null&&(Pt(),En(N,null,S,g,!0),At()),Q!=null&&(b.renderCache[Q]=void 0),X&256){b.ctx.deactivate(g);return}const ue=X&1&&z,ce=!Ct(g);let _e;if(ce&&(_e=j&&j.onVnodeBeforeUnmount)&&$e(_e,b,g),X&6)qt(g.component,S,M);else{if(X&128){g.suspense.unmount(S,M);return}ue&&ct(g,null,b,"beforeUnmount"),X&64?g.type.remove(g,b,S,J,M):I&&!I.hasOnce&&(O!==ke||U>0&&U&64)?Ke(I,b,S,!1,!0):(O===ke&&U&384||!P&&X&16)&&Ke($,b,S),M&&ln(g)}const we=re!=null&&Q==null;(ce&&(_e=j&&j.onVnodeUnmounted)||ue||we)&&Se(()=>{_e&&$e(_e,b,g),ue&&ct(g,null,b,"unmounted"),we&&(g.el=null)},S)},ln=g=>{const{type:b,el:S,anchor:M,transition:P}=g;if(b===ke){cn(S,M);return}if(b===Jn){_(g);return}const O=()=>{s(S),P&&!P.persisted&&P.afterLeave&&P.afterLeave()};if(g.shapeFlag&1&&P&&!P.persisted){const{leave:j,delayLeave:N}=P,$=()=>j(S,O);N?N(g.el,O,$):$()}else O()},cn=(g,b)=>{let S;for(;g!==b;)S=h(g),s(g),g=S;s(b)},qt=(g,b,S)=>{const{bum:M,scope:P,job:O,subTree:j,um:N,m:$,a:I}=g;Dr($),Dr(I),M&&vn(M),P.stop(),O&&(O.flags|=8,De(j,g,b,S)),N&&Se(N,b),Se(()=>{g.isUnmounted=!0},b)},Ke=(g,b,S,M=!1,P=!1,O=0)=>{for(let j=O;j{if(g.shapeFlag&6)return x(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const b=h(g.anchor||g.el),S=b&&b[ef];return S?h(S):b};let K=!1;const B=(g,b,S)=>{let M;g==null?b._vnode&&(De(b._vnode,null,null,!0),M=b._vnode.component):y(b._vnode||null,g,b,null,null,null,S),b._vnode=g,K||(K=!0,Qo(M),kr(),K=!1)},J={p:y,um:De,m:it,r:ln,mt:Z,mc:D,pc:V,pbc:T,n:x,o:e};let ee,ge;return t&&([ee,ge]=t(J)),{render:B,hydrate:ee,createApp:Rf(B,ee)}}function vs({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function zt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Il(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ll(e,t,n=!1){const r=e.children,s=t.children;if(G(r)&&G(s))for(let o=0;o>1,e[n[a]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Dl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Dl(t)}function Dr(e){if(e)for(let t=0;te.__isSuspense;let Vs=0;const Uf={name:"Suspense",__isSuspense:!0,process(e,t,n,r,s,o,i,a,l,f){if(e==null)Vf(t,n,r,s,o,i,a,l,f);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}Kf(e,t,n,r,s,i,a,l,f)}},hydrate:Wf,normalize:qf},Mo=Uf;function or(e,t){const n=e.props&&e.props[t];Y(n)&&n()}function Vf(e,t,n,r,s,o,i,a,l){const{p:f,o:{createElement:c}}=l,u=c("div"),h=e.suspense=Hl(e,s,r,t,u,n,o,i,a,l);f(null,h.pendingBranch=e.ssContent,u,null,r,h,o,i),h.deps>0?(or(e,"onPending"),or(e,"onFallback"),f(null,e.ssFallback,t,n,r,null,o,i),Sn(h,e.ssFallback)):h.resolve(!1,!0)}function Kf(e,t,n,r,s,o,i,a,{p:l,um:f,o:{createElement:c}}){const u=t.suspense=e.suspense;u.vnode=t,t.el=e.el;const h=t.ssContent,d=t.ssFallback,{activeBranch:m,pendingBranch:y,isInFallback:C,isHydrating:E}=u;if(y)u.pendingBranch=h,et(y,h)?(l(y,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0?u.resolve():C&&(E||(l(m,d,n,r,s,null,o,i,a),Sn(u,d)))):(u.pendingId=Vs++,E?(u.isHydrating=!1,u.activeBranch=y):f(y,s,u),u.deps=0,u.effects.length=0,u.hiddenContainer=c("div"),C?(l(null,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0?u.resolve():(l(m,d,n,r,s,null,o,i,a),Sn(u,d))):m&&et(m,h)?(l(m,h,n,r,s,u,o,i,a),u.resolve(!0)):(l(null,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0&&u.resolve()));else if(m&&et(m,h))l(m,h,n,r,s,u,o,i,a),Sn(u,h);else if(or(t,"onPending"),u.pendingBranch=h,h.shapeFlag&512?u.pendingId=h.component.suspenseId:u.pendingId=Vs++,l(null,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0)u.resolve();else{const{timeout:v,pendingId:p}=u;v>0?setTimeout(()=>{u.pendingId===p&&u.fallback(d)},v):v===0&&u.fallback(d)}}function Hl(e,t,n,r,s,o,i,a,l,f,c=!1){const{p:u,m:h,um:d,n:m,o:{parentNode:y,remove:C}}=f;let E;const v=zf(e);v&&t&&t.pendingBranch&&(E=t.pendingId,t.deps++);const p=e.props?Aa(e.props.timeout):void 0,_=o,w={vnode:e,parent:t,parentComponent:n,namespace:i,container:r,hiddenContainer:s,deps:0,pendingId:Vs++,timeout:typeof p=="number"?p:-1,activeBranch:null,isFallbackMountPending:!1,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(k=!1,A=!1){const{vnode:D,activeBranch:R,pendingBranch:T,pendingId:H,effects:L,parentComponent:W,container:Z,isInFallback:te}=w;let F=!1;if(w.isHydrating)w.isHydrating=!1;else if(!k){F=R&&T.transition&&T.transition.mode==="out-in";let le=!1;F&&(R.transition.afterLeave=()=>{H===w.pendingId&&(h(T,Z,o===_&&!le?m(R):o,0),rr(L),te&&D.ssFallback&&(D.ssFallback.el=null))}),R&&!w.isFallbackMountPending&&(y(R.el)===Z&&(o=m(R),le=!0),d(R,W,w,!0),!F&&te&&D.ssFallback&&Se(()=>D.ssFallback.el=null,w)),F||h(T,Z,o,0)}w.isFallbackMountPending=!1,Sn(w,T),w.pendingBranch=null,w.isInFallback=!1;let q=w.parent,V=!1;for(;q;){if(q.pendingBranch){q.effects.push(...L),V=!0;break}q=q.parent}!V&&!F&&rr(L),w.effects=[],v&&t&&t.pendingBranch&&E===t.pendingId&&(t.deps--,t.deps===0&&!A&&t.resolve()),or(D,"onResolve")},fallback(k){if(!w.pendingBranch)return;const{vnode:A,activeBranch:D,parentComponent:R,container:T,namespace:H}=w;or(A,"onFallback");const L=m(D),W=()=>{w.isFallbackMountPending=!1,w.isInFallback&&(u(null,k,T,L,R,null,H,a,l),Sn(w,k))},Z=k.transition&&k.transition.mode==="out-in";Z&&(w.isFallbackMountPending=!0,D.transition.afterLeave=W),w.isInFallback=!0,d(D,R,null,!0),Z||W()},move(k,A,D){w.activeBranch&&h(w.activeBranch,k,A,D),w.container=k},next(){return w.activeBranch&&m(w.activeBranch)},registerDep(k,A,D){const R=!!w.pendingBranch;R&&w.deps++;const T=k.vnode.el;k.asyncDep.catch(H=>{Ln(H,k,0)}).then(H=>{if(k.isUnmounted||w.isUnmounted||w.pendingId!==k.suspenseId)return;Ws(),k.asyncResolved=!0;const{vnode:L}=k;qs(k,H),T&&(L.el=T);const W=!T&&k.subTree.el;A(k,L,y(T||k.subTree.el),T?null:m(k.subTree),w,i,D),W&&(L.placeholder=null,C(W)),is(k,L.el),R&&--w.deps===0&&w.resolve()})},unmount(k,A){w.isUnmounted=!0,w.activeBranch&&d(w.activeBranch,n,k,A),w.pendingBranch&&d(w.pendingBranch,n,k,A)}};return w}function Wf(e,t,n,r,s,o,i,a,l){const f=t.suspense=Hl(t,r,n,e.parentNode,document.createElement("div"),null,s,o,i,a,!0),c=l(e,f.pendingBranch=t.ssContent,n,f,o,i);return f.deps===0&&f.resolve(!1,!0),c}function qf(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=fi(r?n.default:n),e.ssFallback=r?fi(n.fallback):ye(be)}function fi(e){let t;if(Y(e)){const n=Cn&&e._c;n&&(e._d=!1,Ge()),e=e(),n&&(e._d=!0,t=He,jl())}return G(e)&&(e=xf(e)),e=Fe(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Nl(e,t){t&&t.pendingBranch?G(e)?t.effects.push(...e):t.effects.push(e):rr(e)}function Sn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,r&&r.subTree===n&&(r.vnode.el=s,is(r,s))}function zf(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const ke=Symbol.for("v-fgt"),rn=Symbol.for("v-txt"),be=Symbol.for("v-cmt"),Jn=Symbol.for("v-stc"),Xn=[];let He=null;function Ge(e=!1){Xn.push(He=e?null:[])}function jl(){Xn.pop(),He=Xn[Xn.length-1]||null}let Cn=1;function Hr(e,t=!1){Cn+=e,e<0&&He&&t&&(He.hasOnce=!0)}function Fl(e){return e.dynamicChildren=Cn>0?He||_n:null,jl(),Cn>0&&He&&He.push(e),e}function Gf(e,t,n,r,s,o){return Fl(Ul(e,t,n,r,s,o,!0))}function ht(e,t,n,r,s){return Fl(ye(e,t,n,r,s,!0))}function sn(e){return e?e.__v_isVNode===!0:!1}function et(e,t){return e.type===t.type&&e.key===t.key}const Bl=({key:e})=>e??null,Rr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?he(e)||pe(e)||Y(e)?{i:Ae,r:e,k:t,f:!!n}:e:null);function Ul(e,t=null,n=null,r=0,s=null,o=e===ke?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Bl(t),ref:t&&Rr(t),scopeId:tl,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Ae};return a?(Io(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=he(n)?8:16),Cn>0&&!i&&He&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&He.push(l),l}const ye=Jf;function Jf(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===ml)&&(e=be),sn(e)){const a=kt(e,t,!0);return n&&Io(a,n),Cn>0&&!o&&He&&(a.shapeFlag&6?He[He.indexOf(e)]=a:He.push(a)),a.patchFlag=-2,a}if(sd(e)&&(e=e.__vccOpts),t){t=Vl(t);let{class:a,style:l}=t;a&&!he(a)&&(t.class=Qr(a)),se(l)&&(ts(l)&&!G(l)&&(l=Te({},l)),t.style=Yr(l))}const i=he(e)?1:$r(e)?128:rl(e)?64:se(e)?4:Y(e)?2:0;return Ul(e,t,n,r,s,i,o,!0)}function Vl(e){return e?ts(e)||Cl(e)?Te({},e):e:null}function kt(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:a,transition:l}=e,f=t?Wl(s||{},t):s,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&Bl(f),ref:t&&t.ref?n&&o?G(o)?o.concat(Rr(t)):[o,Rr(t)]:Rr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ke?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&kt(e.ssContent),ssFallback:e.ssFallback&&kt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&Rn(c,l.clone(c)),c}function Kl(e=" ",t=0){return ye(rn,null,e,t)}function Qy(e,t){const n=ye(Jn,null,e);return n.staticCount=t,n}function Xf(e="",t=!1){return t?(Ge(),ht(be,null,e)):ye(be,null,e)}function Fe(e){return e==null||typeof e=="boolean"?ye(be):G(e)?ye(ke,null,e.slice()):sn(e)?wt(e):ye(rn,null,String(e))}function wt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:kt(e)}function Io(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(G(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Io(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Cl(t)?t._ctx=Ae:s===3&&Ae&&(Ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Y(t)?(t={default:t,_ctx:Ae},n=32):(t=String(t),r&64?(n=16,t=[Kl(t)]):n=8);e.children=t,e.shapeFlag|=n}function Wl(...e){const t={};for(let n=0;nPe||Ae;let Nr,Ks;{const e=Xr(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Nr=t("__VUE_INSTANCE_SETTERS__",n=>Pe=n),Ks=t("__VUE_SSR_SETTERS__",n=>Pn=n)}const dr=e=>{const t=Pe;return Nr(e),e.scope.on(),()=>{e.scope.off(),Nr(t)}},Ws=()=>{Pe&&Pe.scope.off(),Nr(null)};function ql(e){return e.vnode.shapeFlag&4}let Pn=!1;function ed(e,t=!1,n=!1){t&&Ks(t);const{props:r,children:s}=e.vnode,o=ql(e);If(e,r,o,t),Hf(e,s,n||t);const i=o?td(e,t):void 0;return t&&Ks(!1),i}function td(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_f);const{setup:r}=n;if(r){Pt();const s=e.setupContext=r.length>1?rd(e):null,o=dr(e),i=cr(r,e,0,[e.props,s]),a=Ra(i);if(At(),o(),(a||e.sp)&&!Ct(e)&&Ao(e),a){if(i.then(Ws,Ws),t)return i.then(l=>{qs(e,l)}).catch(l=>{Ln(l,e,0)});e.asyncDep=i}else qs(e,i)}else zl(e)}function qs(e,t,n){Y(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:se(t)&&(e.setupState=Ja(t)),zl(e)}function zl(e,t,n){const r=e.type;e.render||(e.render=r.render||pt);{const s=dr(e);Pt();try{bf(e)}finally{At(),s()}}}const nd={get(e,t){return xe(e,"get",""),e[t]}};function rd(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,nd),slots:e.slots,emit:e.emit,expose:t}}function as(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ja(To(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}})):e.proxy}function zs(e,t=!0){return Y(e)?e.displayName||e.name:e.name||t&&e.__name}function sd(e){return Y(e)&&"__vccOpts"in e}const Re=(e,t)=>Wu(e,t,Pn);function Oe(e,t,n){try{Hr(-1);const r=arguments.length;return r===2?se(t)&&!G(t)?sn(t)?ye(e,null,[t]):ye(e,t):ye(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&sn(n)&&(n=[n]),ye(e,t,n))}finally{Hr(1)}}const od="3.5.38";let Gs;const di=typeof window<"u"&&window.trustedTypes;if(di)try{Gs=di.createPolicy("vue",{createHTML:e=>e})}catch{}const Gl=Gs?e=>Gs.createHTML(e):e=>e,id="http://www.w3.org/2000/svg",ad="http://www.w3.org/1998/Math/MathML",vt=typeof document<"u"?document:null,hi=vt&&vt.createElement("template"),ld={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?vt.createElementNS(id,e):t==="mathml"?vt.createElementNS(ad,e):n?vt.createElement(e,{is:n}):vt.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>vt.createTextNode(e),createComment:e=>vt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>vt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{hi.innerHTML=Gl(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=hi.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},It="transition",jn="animation",ir=Symbol("_vtc"),Jl={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},cd=Te({},sl,Jl),ud=e=>(e.displayName="Transition",e.props=cd,e),fd=ud((e,{slots:t})=>Oe(rf,dd(e),t)),Gt=(e,t=[])=>{G(e)?e.forEach(n=>n(...t)):e&&e(...t)},pi=e=>e?G(e)?e.some(t=>t.length>1):e.length>1:!1;function dd(e){const t={};for(const L in e)L in Jl||(t[L]=e[L]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:f=i,appearToClass:c=a,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:d=`${n}-leave-to`}=e,m=hd(s),y=m&&m[0],C=m&&m[1],{onBeforeEnter:E,onEnter:v,onEnterCancelled:p,onLeave:_,onLeaveCancelled:w,onBeforeAppear:k=E,onAppear:A=v,onAppearCancelled:D=p}=t,R=(L,W,Z,te)=>{L._enterCancelled=te,Jt(L,W?c:a),Jt(L,W?f:i),Z&&Z()},T=(L,W)=>{L._isLeaving=!1,Jt(L,u),Jt(L,d),Jt(L,h),W&&W()},H=L=>(W,Z)=>{const te=L?A:v,F=()=>R(W,L,Z);Gt(te,[W,F]),gi(()=>{Jt(W,L?l:o),_t(W,L?c:a),pi(te)||mi(W,r,y,F)})};return Te(t,{onBeforeEnter(L){Gt(E,[L]),_t(L,o),_t(L,i)},onBeforeAppear(L){Gt(k,[L]),_t(L,l),_t(L,f)},onEnter:H(!1),onAppear:H(!0),onLeave(L,W){L._isLeaving=!0;const Z=()=>T(L,W);_t(L,u),L._enterCancelled?(_t(L,h),bi(L)):(bi(L),_t(L,h)),gi(()=>{L._isLeaving&&(Jt(L,u),_t(L,d),pi(_)||mi(L,r,C,Z))}),Gt(_,[L,Z])},onEnterCancelled(L){R(L,!1,void 0,!0),Gt(p,[L])},onAppearCancelled(L){R(L,!0,void 0,!0),Gt(D,[L])},onLeaveCancelled(L){T(L),Gt(w,[L])}})}function hd(e){if(e==null)return null;if(se(e))return[ws(e.enter),ws(e.leave)];{const t=ws(e);return[t,t]}}function ws(e){return Aa(e)}function _t(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[ir]||(e[ir]=new Set)).add(t)}function Jt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[ir];n&&(n.delete(t),n.size||(e[ir]=void 0))}function gi(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let pd=0;function mi(e,t,n,r){const s=e._endId=++pd,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:i,timeout:a,propCount:l}=gd(e,t);if(!i)return r();const f=i+"end";let c=0;const u=()=>{e.removeEventListener(f,h),o()},h=d=>{d.target===e&&++c>=l&&u()};setTimeout(()=>{c(n[m]||"").split(", "),s=r(`${It}Delay`),o=r(`${It}Duration`),i=yi(s,o),a=r(`${jn}Delay`),l=r(`${jn}Duration`),f=yi(a,l);let c=null,u=0,h=0;t===It?i>0&&(c=It,u=i,h=o.length):t===jn?f>0&&(c=jn,u=f,h=l.length):(u=Math.max(i,f),c=u>0?i>f?It:jn:null,h=c?c===It?o.length:l.length:0);const d=c===It&&/\b(?:transform|all)(?:,|$)/.test(r(`${It}Property`).toString());return{type:c,timeout:u,propCount:h,hasTransform:d}}function yi(e,t){for(;e.length_i(n)+_i(e[r])))}function _i(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function bi(e){return(e?e.ownerDocument:document).body.offsetHeight}function md(e,t,n){const r=e[ir];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const jr=Symbol("_vod"),Xl=Symbol("_vsh"),Zy={name:"show",beforeMount(e,{value:t},{transition:n}){e[jr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Fn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Fn(e,!0),r.enter(e)):r.leave(e,()=>{Fn(e,!1)}):Fn(e,t))},beforeUnmount(e,{value:t}){Fn(e,t)}};function Fn(e,t){e.style.display=t?e[jr]:"none",e[Xl]=!t}const yd=Symbol(""),_d=/(?:^|;)\s*display\s*:/;function bd(e,t,n){const r=e.style,s=he(n);let o=!1;if(n&&!s){if(t)if(he(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&Wn(r,a,"")}else for(const i in t)n[i]==null&&Wn(r,i,"");for(const i in n){i==="display"&&(o=!0);const a=n[i];a!=null?wd(e,i,!he(t)&&t?t[i]:void 0,a)||Wn(r,i,a):Wn(r,i,"")}}else if(s){if(t!==n){const i=r[yd];i&&(n+=";"+i),r.cssText=n,o=_d.test(n)}}else t&&e.removeAttribute("style");jr in e&&(e[jr]=o?r.display:"",e[Xl]&&(r.display="none"))}const vi=/\s*!important$/;function Wn(e,t,n){if(G(n))n.forEach(r=>Wn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=vd(e,t);vi.test(n)?e.setProperty(Kt(r),n.replace(vi,""),"important"):e[r]=n}}const wi=["Webkit","Moz","ms"],Es={};function vd(e,t){const n=Es[t];if(n)return n;let r=Le(t);if(r!=="filter"&&r in e)return Es[t]=r;r=Gr(r);for(let s=0;sSs||(Rd.then(()=>Ss=0),Ss=Date.now());function Pd(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;const s=n.value;if(G(s)){const o=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{o.call(r),r._stopped=!0};const i=s.slice(),a=[r];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ad=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?md(e,r,i):t==="style"?bd(e,n,r):lr(t)?Wr(t)||Sd(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):xd(e,t,r,i))?(Ti(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Si(e,t,r,i,o,t!=="value")):e._isVueCE&&(kd(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!he(r)))?Ti(e,Le(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Si(e,t,r,i))};function xd(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Pi(t)&&Y(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Pi(t)&&he(n)?!1:t in e}function kd(e,t){const n=e._def.props;if(!n)return!1;const r=Le(t);return Array.isArray(n)?n.some(s=>Le(s)===r):Object.keys(n).some(s=>Le(s)===r)}const Vt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return G(t)?n=>vn(t,n):t};function Od(e){e.target.composing=!0}function Ai(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Je=Symbol("_assign");function xi(e,t,n){return t&&(e=e.trim()),n&&(e=Jr(e)),e}const ki={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Je]=Vt(s);const o=r||s.props&&s.props.type==="number";Tt(e,t?"change":"input",i=>{i.target.composing||e[Je](xi(e.value,n,o))}),(n||o)&&Tt(e,"change",()=>{e.value=xi(e.value,n,o)}),t||(Tt(e,"compositionstart",Od),Tt(e,"compositionend",Ai),Tt(e,"change",Ai))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[Je]=Vt(i),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?Jr(e.value):e.value,l=t??"";if(a===l)return;const f=e.getRootNode();(f instanceof Document||f instanceof ShadowRoot)&&f.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===l)||(e.value=l)}},Md={deep:!0,created(e,t,n){e[Je]=Vt(n),Tt(e,"change",()=>{const r=e._modelValue,s=An(e),o=e.checked,i=e[Je];if(G(r)){const a=mo(r,s),l=a!==-1;if(o&&!l)i(r.concat(s));else if(!o&&l){const f=[...r];f.splice(a,1),i(f)}}else if(Mn(r)){const a=new Set(r);o?a.add(s):a.delete(s),i(a)}else i(Yl(e,o))})},mounted:Oi,beforeUpdate(e,t,n){e[Je]=Vt(n),Oi(e,t,n)}};function Oi(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(G(t))s=mo(t,r.props.value)>-1;else if(Mn(t))s=t.has(r.props.value);else{if(t===n)return;s=Bt(t,Yl(e,!0))}e.checked!==s&&(e.checked=s)}const Id={created(e,{value:t},n){e.checked=Bt(t,n.props.value),e[Je]=Vt(n),Tt(e,"change",()=>{e[Je](An(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Je]=Vt(r),t!==n&&(e.checked=Bt(t,r.props.value))}},Ld={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=Mn(t);Tt(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Jr(An(i)):An(i));e[Je](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,xt(()=>{e._assigning=!1})}),e[Je]=Vt(r)},mounted(e,{value:t}){Mi(e,t)},beforeUpdate(e,t,n){e[Je]=Vt(n)},updated(e,{value:t}){e._assigning||Mi(e,t)}};function Mi(e,t){const n=e.multiple,r=G(t);if(!(n&&!r&&!Mn(t))){for(let s=0,o=e.options.length;sString(f)===String(a)):i.selected=mo(t,a)>-1}else i.selected=t.has(a);else if(Bt(An(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function An(e){return"_value"in e?e._value:e.value}function Yl(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const e_={created(e,t,n){vr(e,t,n,null,"created")},mounted(e,t,n){vr(e,t,n,null,"mounted")},beforeUpdate(e,t,n,r){vr(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){vr(e,t,n,r,"updated")}};function Dd(e,t){switch(e){case"SELECT":return Ld;case"TEXTAREA":return ki;default:switch(t){case"checkbox":return Md;case"radio":return Id;default:return ki}}}function vr(e,t,n,r,s){const i=Dd(e.tagName,n.props&&n.props.type)[s];i&&i(e,t,n,r)}const $d=["ctrl","shift","alt","meta"],Hd={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>$d.some(n=>e[`${n}Key`]&&!t.includes(n))},t_=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(s=>{if(!("key"in s))return;const o=Kt(s.key);if(t.some(i=>i===o||Nd[i]===o))return e(s)}))},Ql=Te({patchProp:Ad},ld);let Yn,Ii=!1;function jd(){return Yn||(Yn=jf(Ql))}function Fd(){return Yn=Ii?Yn:Ff(Ql),Ii=!0,Yn}const Bd=((...e)=>{const t=jd().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ec(r);if(!s)return;const o=t._component;!Y(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,Zl(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t}),Ud=((...e)=>{const t=Fd().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ec(r);if(s)return n(s,!0,Zl(s))},t});function Zl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ec(e){return he(e)?document.querySelector(e):e}const Vd=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,Kd=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Wd=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function qd(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){zd(e);return}return t}function zd(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Gd(e,t={}){if(typeof e!="string")return e;if(e[0]==='"'&&e[e.length-1]==='"'&&e.indexOf("\\")===-1)return e.slice(1,-1);const n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!Wd.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(Vd.test(e)||Kd.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,qd)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const tc=/#/g,nc=/&/g,Jd=/\//g,Xd=/=/g,Yd=/\?/g,ls=/\+/g,Qd=/%5e/gi,Zd=/%60/gi,eh=/%7c/gi,th=/%20/gi,nh=/%2f/gi,rh=/%252f/gi;function rc(e){return encodeURI(""+e).replace(eh,"|")}function Js(e){return rc(typeof e=="string"?e:JSON.stringify(e)).replace(ls,"%2B").replace(th,"+").replace(tc,"%23").replace(nc,"%26").replace(Zd,"`").replace(Qd,"^").replace(Jd,"%2F")}function Ts(e){return Js(e).replace(Xd,"%3D")}function sh(e){return rc(e).replace(tc,"%23").replace(Yd,"%3F").replace(rh,"%2F").replace(nc,"%26").replace(ls,"%2B")}function ar(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function oh(e){return ar(e.replace(nh,"%252F"))}function ih(e){return ar(e.replace(ls," "))}function ah(e){return ar(e.replace(ls," "))}function sc(e=""){const t=Object.create(null);e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const s=ih(r[1]);if(s==="__proto__"||s==="constructor")continue;const o=ah(r[2]||"");t[s]===void 0?t[s]=o:Array.isArray(t[s])?t[s].push(o):t[s]=[t[s],o]}return t}function lh(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${Ts(e)}=${Js(n)}`).join("&"):`${Ts(e)}=${Js(t)}`:Ts(e)}function ch(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>lh(t,e[t])).filter(Boolean).join("&")}const uh=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,fh=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,dh=/^([/\\]\s*){2,}[^/\\]/,hh=/^[\s\0]*(blob|data|javascript|vbscript):$/i,ph=/\/$|\/\?|\/#/,gh=/^\.?\//;function Dn(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?uh.test(e):fh.test(e)||(t.acceptRelative?dh.test(e):!1)}function Xs(e){return!!e&&hh.test(e)}function Ys(e="",t){return t?ph.test(e):e.endsWith("/")}function Fr(e="",t){if(!t)return(Ys(e)?e.slice(0,-1):e)||"/";if(!Ys(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");s!==-1&&(n=e.slice(0,s),r=e.slice(s));const[o,...i]=n.split("?");return((o.endsWith("/")?o.slice(0,-1):o)||"/")+(i.length>0?`?${i.join("?")}`:"")+r}function mh(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(Ys(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");if(s!==-1&&(n=e.slice(0,s),r=e.slice(s),!n))return r;const[o,...i]=n.split("?");return o+"/"+(i.length>0?`?${i.join("?")}`:"")+r}function yh(e,t){if(ic(t)||Dn(e))return e;const n=Fr(t);if(e.startsWith(n)){const r=e[n.length];if(!r||r==="/"||r==="?")return e}return ac(n,e)}function Li(e,t){if(ic(t))return e;const n=Fr(t);if(!e.startsWith(n))return e;const r=e[n.length];return r&&r!=="/"&&r!=="?"?e:"/"+e.slice(n.length).replace(/^\/+/,"")}function oc(e,t){const n=Lo(e),r={...sc(n.search),...t};return n.search=ch(r),bh(n)}function ic(e){return!e||e==="/"}function _h(e){return e&&e!=="/"}function ac(e,...t){let n=e||"";for(const r of t.filter(s=>_h(s)))if(n){const s=r.replace(gh,"");n=mh(n)+s}else n=r;return n}function lc(...e){const t=/\/(?!\/)/,n=e.filter(Boolean),r=[];let s=0;for(const i of n)if(!(!i||i==="/")){for(const[a,l]of i.split(t).entries())if(!(!l||l===".")){if(l===".."){if(r.length===1&&Dn(r[0]))continue;r.pop(),s--;continue}if(a===1&&r[r.length-1]?.endsWith(":/")){r[r.length-1]+="/"+l;continue}r.push(l),s++}}let o=r.join("/");return s>=0?n[0]?.startsWith("/")&&!o.startsWith("/")?o="/"+o:n[0]?.startsWith("./")&&!o.startsWith("./")&&(o="./"+o):o="../".repeat(-1*s)+o,n[n.length-1]?.endsWith("/")&&!o.endsWith("/")&&(o+="/"),o}function cc(e,t){return ar(Fr(e))===ar(Fr(t))}const uc=Symbol.for("ufo:protocolRelative");function Lo(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,u,h=""]=n;return{protocol:u.toLowerCase(),pathname:h,href:u+h,auth:"",host:"",search:"",hash:""}}if(!Dn(e,{acceptRelative:!0}))return Di(e);const[,r="",s,o=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,i="",a=""]=o.match(/([^#/?]*)(.*)?/)||[];r==="file:"&&(a=a.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:l,search:f,hash:c}=Di(a);return{protocol:r.toLowerCase(),auth:s?s.slice(0,Math.max(0,s.length-1)):"",host:i,pathname:l,search:f,hash:c,[uc]:!r}}function Di(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function bh(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",s=e.auth?e.auth+"@":"",o=e.host||"";return(e.protocol||e[uc]?(e.protocol||"")+"//":"")+s+o+t+n+r}class vh extends Error{constructor(t,n){super(t,n),this.name="FetchError",n?.cause&&!this.cause&&(this.cause=n.cause)}}function wh(e){const t=e.error?.message||e.error?.toString()||"",n=e.request?.method||e.options?.method||"GET",r=e.request?.url||String(e.request)||"/",s=`[${n}] ${JSON.stringify(r)}`,o=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${s}: ${o}${t?` ${t}`:""}`,a=new vh(i,e.error?{cause:e.error}:void 0);for(const l of["request","options","response"])Object.defineProperty(a,l,{get(){return e[l]}});for(const[l,f]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(a,l,{get(){return e.response&&e.response[f]}});return a}const Eh=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function $i(e="GET"){return Eh.has(e.toUpperCase())}function Sh(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const Th=new Set(["image/svg","application/xml","application/xhtml","application/html"]),Rh=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Ch(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return Rh.test(t)?"json":t==="text/event-stream"?"stream":Th.has(t)||t.startsWith("text/")?"text":"blob"}function Ph(e,t,n,r){const s=Ah(t?.headers??e?.headers,n?.headers,r);let o;return(n?.query||n?.params||t?.params||t?.query)&&(o={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:o,params:o,headers:s}}function Ah(e,t,n){if(!t)return new n(e);const r=new n(t);if(e)for(const[s,o]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(s,o);return r}async function wr(e,t){if(t)if(Array.isArray(t))for(const n of t)await n(e);else await t(e)}const xh=new Set([408,409,425,429,500,502,503,504]),kh=new Set([101,204,205,304]);function fc(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function s(a){const l=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!l){let c;typeof a.options.retry=="number"?c=a.options.retry:c=$i(a.options.method)?0:1;const u=a.response&&a.response.status||500;if(c>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(u):xh.has(u))){const h=typeof a.options.retryDelay=="function"?a.options.retryDelay(a):a.options.retryDelay||0;return h>0&&await new Promise(d=>setTimeout(d,h)),o(a.request,{...a.options,retry:c-1})}}const f=wh(a);throw Error.captureStackTrace&&Error.captureStackTrace(f,o),f}const o=async function(l,f={}){const c={request:l,options:Ph(l,f,e.defaults,n),response:void 0,error:void 0};if(c.options.method&&(c.options.method=c.options.method.toUpperCase()),c.options.onRequest&&(await wr(c,c.options.onRequest),c.options.headers instanceof n||(c.options.headers=new n(c.options.headers||{}))),typeof c.request=="string"&&(c.options.baseURL&&(c.request=yh(c.request,c.options.baseURL)),c.options.query&&(c.request=oc(c.request,c.options.query),delete c.options.query),"query"in c.options&&delete c.options.query,"params"in c.options&&delete c.options.params),c.options.body&&$i(c.options.method))if(Sh(c.options.body)){const d=c.options.headers.get("content-type");typeof c.options.body!="string"&&(c.options.body=d==="application/x-www-form-urlencoded"?new URLSearchParams(c.options.body).toString():JSON.stringify(c.options.body)),d||c.options.headers.set("content-type","application/json"),c.options.headers.has("accept")||c.options.headers.set("accept","application/json")}else("pipeTo"in c.options.body&&typeof c.options.body.pipeTo=="function"||typeof c.options.body.pipe=="function")&&("duplex"in c.options||(c.options.duplex="half"));let u;if(!c.options.signal&&c.options.timeout){const d=new r;u=setTimeout(()=>{const m=new Error("[TimeoutError]: The operation was aborted due to timeout");m.name="TimeoutError",m.code=23,d.abort(m)},c.options.timeout),c.options.signal=d.signal}try{c.response=await t(c.request,c.options)}catch(d){return c.error=d,c.options.onRequestError&&await wr(c,c.options.onRequestError),await s(c)}finally{u&&clearTimeout(u)}if((c.response.body||c.response._bodyInit)&&!kh.has(c.response.status)&&c.options.method!=="HEAD"){const d=(c.options.parseResponse?"json":c.options.responseType)||Ch(c.response.headers.get("content-type")||"");switch(d){case"json":{const m=await c.response.text(),y=c.options.parseResponse||Gd;c.response._data=y(m);break}case"stream":{c.response._data=c.response.body||c.response._bodyInit;break}default:c.response._data=await c.response[d]()}}return c.options.onResponse&&await wr(c,c.options.onResponse),!c.options.ignoreResponseError&&c.response.status>=400&&c.response.status<600?(c.options.onResponseError&&await wr(c,c.options.onResponseError),await s(c)):c.response},i=async function(l,f){return(await o(l,f))._data};return i.raw=o,i.native=(...a)=>t(...a),i.create=(a={},l={})=>fc({...e,...l,defaults:{...e.defaults,...l.defaults,...a}}),i}const Br=(function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")})(),Oh=Br.fetch?(...e)=>Br.fetch(...e):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),Mh=Br.Headers,Ih=Br.AbortController,Lh=fc({fetch:Oh,Headers:Mh,AbortController:Ih}),Dh=Lh,$h=()=>window?.__NUXT__?.config||window?.useNuxtApp?.().payload?.config,Do=()=>$h().app,Hh=()=>Do().baseURL,Nh=()=>Do().buildAssetsDir,$o=(...e)=>lc(dc(),Nh(),...e),dc=(...e)=>{const t=Do(),n=t.cdnURL||t.baseURL;return e.length?lc(n,...e):n};globalThis.__buildAssetsURL=$o,globalThis.__publicAssetsURL=dc;globalThis.$fetch||(globalThis.$fetch=Dh.create({baseURL:Hh()}));"global"in globalThis||(globalThis.global=globalThis);function Qs(e,t={},n){for(const r in e){const s=e[r],o=n?`${n}:${r}`:r;typeof s=="object"&&s!==null?Qs(s,t,o):typeof s=="function"&&(t[o]=s)}return t}const hc=(()=>{if(console.createTask)return console.createTask;const e={run:t=>t()};return()=>e})();function pc(e,t,n,r){for(let s=n;se[s](...t)):e[s](...t);if(o&&typeof o.then=="function")return Promise.resolve(o).then(()=>pc(e,t,s+1,r))}catch(o){return Promise.reject(o)}}function jh(e,t,n){if(e.length>0)return pc(e,t,0,hc(n))}function Fh(e,t,n){if(e.length>0){const r=hc(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}}function Rs(e,t){for(const n of[...e])n(t)}var Bh=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!="function")return()=>{};const r=e;let s;for(;this._deprecatedHooks[e];)s=this._deprecatedHooks[e],e=s.to;if(s&&!n.allowDeprecated){let o=s.message;o||(o=`${r} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(o)||(console.warn(o),this._deprecatedMessages.add(o))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&(this.removeHook(e,t),t=void 0)}}hookOnce(e,t){let n,r=(...s)=>(typeof n=="function"&&n(),n=void 0,r=void 0,t(...s));return n=this.hook(e,r),n}removeHook(e,t){const n=this._hooks[e];if(n){const r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t=="string"?{to:t}:t;const n=this._hooks[e]||[];this._hooks[e]=void 0;for(const r of n)this.hook(e,r)}deprecateHooks(e){for(const t in e)this.deprecateHook(t,e[t])}addHooks(e){const t=Qs(e),n=Object.keys(t).map(r=>this.hook(r,t[r]));return()=>{for(const r of n)r();n.length=0}}removeHooks(e){const t=Qs(e);for(const n in t)this.removeHook(n,t[n])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(jh,e,t)}callHookParallel(e,...t){return this.callHookWith(Fh,e,t)}callHookWith(e,t,n){const r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&Rs(this._before,r);const s=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return s instanceof Promise?s.finally(()=>{this._after&&r&&Rs(this._after,r)}):(this._after&&r&&Rs(this._after,r),s)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){const t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){const t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function gc(){return new Bh}function Uh(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let s;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?s=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const o=()=>{if(s){const i=s.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=o();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>o(),set:(i,a)=>{a||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,a)=>{r(i),t=i;try{return s?s.run(i,a):a()}finally{n||(t=void 0)}},async callAsync(i,a){t=i;const l=()=>{t=i},f=()=>t===i?l:void 0;Zs.add(f);try{const c=s?s.run(i,a):a();return n||(t=void 0),await c}finally{Zs.delete(f)}}}}function Vh(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=Uh({...e,...r})),t[n]}}}const Ur=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},Hi="__unctx__",Kh=Ur[Hi]||(Ur[Hi]=Vh()),Wh=(e,t={})=>Kh.get(e,t),Ni="__unctx_async_handlers__",Zs=Ur[Ni]||(Ur[Ni]=new Set);function Qn(e){const t=[];for(const s of Zs){const o=s();o&&t.push(o)}const n=()=>{for(const s of t)s()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(s=>{throw n(),s})),[r,n]}const ji=!1,Fi=!1,qh=!1,Bi={id:"__nuxt-loader"},r_={componentName:"NuxtLink",prefetch:!0,prefetchOn:{visibility:!0}},zh={deep:!1},Gh={},Jh="#__nuxt",mc="nuxt-app",Ui=36e5,Xh="vite:preloadError";function yc(e=mc){return Wh(e,{asyncContext:!1})}const Yh="__nuxt_plugin";function Qh(e){let t=0;const n={_id:e.id||mc||"nuxt-app",_scope:yo(),provide:void 0,versions:{get nuxt(){return"4.4.8"},get vue(){return n.vueApp.version}},payload:Ze({...e.ssrContext?.payload||{},data:Ze({}),state:ot({}),once:new Set,_errors:Ze({})}),static:{data:{}},runWithContext(s){return n._scope.active&&!Zr()?n._scope.run(()=>Vi(n,s)):Vi(n,s)},isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let s=!1;return()=>{if(!s&&(s=!0,t--,t===0))return n.isHydrating=!1,n.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:Ze({}),_state:Ze({}),_payloadRevivers:{},...e};{const s=window.__NUXT__;if(s)for(const o in s)switch(o){case"data":case"state":case"_errors":Object.assign(n.payload[o],s[o]);break;default:n.payload[o]=s[o]}}n.hooks=gc(),n.hook=n.hooks.hook;{const s=n.hooks.callHook;n.hooks.callHook=(o,...i)=>Promise.resolve().then(()=>s(o,...i))}n.callHook=n.hooks.callHook,n.provide=(s,o)=>{const i="$"+s;Er(n,i,o),Er(n.vueApp.config.globalProperties,i,o)},Er(n.vueApp,"$nuxt",n),Er(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener(Xh,o=>{n.callHook("app:chunkError",{error:o.payload}),o.payload?.message?.includes("Unable to preload CSS")&&o.preventDefault()}),window.useNuxtApp||=ve;const s=n.hook("app:error",(...o)=>{console.error("[nuxt] error caught during app initialization",...o)});n.hook("app:mounted",s)}const r=n.payload.config;return n.provide("config",r),n}function Zh(e,t){t.hooks&&e.hooks.addHooks(t.hooks)}async function ep(e,t){if(typeof t=="function"){const{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n=="object")for(const r in n)e.provide(r,n[r])}}async function tp(e,t){const n=new Set,r=[],s=[];let o,i=0;async function a(l){const f=l.dependsOn?.filter(c=>t.some(u=>u._name===c)&&!n.has(c))??[];if(f.length>0)r.push([new Set(f),l]);else{const c=ep(e,l).then(async()=>{l._name&&(n.add(l._name),await Promise.all(r.map(async([u,h])=>{u.has(l._name)&&(u.delete(l._name),u.size===0&&(i++,await a(h)))})))}).catch(u=>{if(!l.parallel&&!e.payload.error)throw u;o||=u});l.parallel?s.push(c):await c}}for(const l of t)Zh(e,l);for(const l of t)await a(l);if(await Promise.all(s),i)for(let l=0;l{}),e,{[Yh]:!0,_name:t})}const np=Ye;function Vi(e,t,n){const r=()=>t();return yc(e._id).set(e),e.vueApp.runWithContext(r)}function rp(e){let t;return ns()&&(t=an()?.appContext.app.$nuxt),t||=yc(e).tryUse(),t||null}function ve(e){const t=rp(e);if(!t)throw new Error("[nuxt] instance unavailable");return t}function Ho(e){return ve().$config}function Er(e,t,n){Object.defineProperty(e,t,{get:()=>n})}function Cs(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function eo(e,t,n=".",r){if(!Cs(t))return eo(e,{},n,r);const s={...t};for(const o of Object.keys(e)){if(o==="__proto__"||o==="constructor")continue;const i=e[o];i!=null&&(r&&r(s,o,i,n)||(Array.isArray(i)&&Array.isArray(s[o])?s[o]=[...i,...s[o]]:Cs(i)&&Cs(s[o])?s[o]=eo(i,s[o],(n?`${n}.`:"")+o.toString(),r):s[o]=i))}return s}function sp(e){return(...t)=>t.reduce((n,r)=>eo(n,r,"",e),{})}const _c=sp();function op(e,t){try{return t in e}catch{return!1}}class Ki extends Error{static __h3_error__=!0;statusCode=500;fatal=!1;unhandled=!1;statusMessage;data;cause;constructor(t,n={}){super(t,n),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:to(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=bc(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}function ip(e){if(typeof e=="string")return new Ki(e);if(ap(e))return e;const t=new Ki(e.message??e.statusMessage??"",{cause:e.cause||e});if(op(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=to(e.statusCode,t.statusCode):e.status&&(t.statusCode=to(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;bc(t.statusMessage)!==n&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function ap(e){return e?.constructor?.__h3_error__===!0}const lp=/[^\u0009\u0020-\u007E]/g;function bc(e=""){return e.replace(lp,"")}function to(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const vc=Symbol("layout-meta"),on=Symbol("route");import.meta.url.replace(/\/app\/.*$/,"/");const Ve=()=>ve()?.$router,No=()=>ns()?Ce(on,ve()._route):ve()._route;const cp=()=>{try{if(ve()._processingMiddleware)return!0}catch{return!1}return!1},s_=(e,t)=>{e||="/";const n=typeof e=="string"?e:"path"in e?up(e):Ve().resolve(e).href;if(t?.open){const{protocol:f}=new URL(n,window.location.href);if(f&&Xs(f))throw new Error(`Cannot navigate to a URL with '${f}' protocol.`);const{target:c="_blank",windowFeatures:u={}}=t.open,h=[];for(const[d,m]of Object.entries(u))m!==void 0&&h.push(`${d.toLowerCase()}=${m}`);return open(n,c,h.join(", ")),Promise.resolve()}const r=Dn(n,{acceptRelative:!0}),s=t?.external||r;if(s){if(!t?.external)throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const{protocol:f}=new URL(n,window.location.href);if(f&&Xs(f))throw new Error(`Cannot navigate to a URL with '${f}' protocol.`)}const o=cp();if(!s&&o){if(t?.replace){if(typeof e=="string"){const{pathname:f,search:c,hash:u}=Lo(e);return{path:f,...c&&{query:sc(c)},...u&&{hash:u},replace:!0}}return{...e,replace:!0}}return e}const i=Ve(),a=ve();if(s)return a._scope.stop(),t?.replace?location.replace(n):location.href=n,o?a.isHydrating?new Promise(()=>{}):!1:Promise.resolve();const l=typeof e=="string"?fp(e):e;return t?.replace?i.replace(l):i.push(l)};function up(e){return oc(e.path||"",e.query||{})+(e.hash||"")}function fp(e){const t=Lo(e);return sh(oh(t.pathname))+t.search+t.hash}const wc="__nuxt_error",cs=()=>Xa(ve().payload,"error"),Zt=e=>{const t=Ft(e);try{const n=cs();ve().hooks.callHook("app:error",t),n.value||=t}catch{throw t}return t},dp=async(e={})=>{const t=ve(),n=cs();t.callHook("app:error:cleared",e),e.redirect&&await Ve().replace(e.redirect),n.value=void 0},Ec=e=>!!e&&typeof e=="object"&&wc in e,Ft=e=>{typeof e!="string"&&e.statusText&&(e.message??=e.statusText);const t=ip(e);return Object.defineProperty(t,wc,{value:!0,configurable:!1,writable:!1}),Object.defineProperty(t,"status",{get:()=>t.statusCode,configurable:!0}),Object.defineProperty(t,"statusText",{get:()=>t.statusMessage,configurable:!0}),t};let Sc;const xn=e=>Sc=e,Tc=Symbol();function no(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Zn||(Zn={}));function hp(){const e=yo(!0),t=e.run(()=>nt({}));let n=[],r=[];const s=To({install(o){xn(s),s._a=o,o.provide(Tc,s),o.config.globalProperties.$pinia=s,r.forEach(i=>n.push(i)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const Rc=()=>{};function Wi(e,t,n,r=Rc){e.add(t);const s=()=>{e.delete(t)&&r()};return!n&&Zr()&&Ia(s),s}function dn(e,...t){e.forEach(n=>{n(...t)})}const pp=e=>e(),qi=Symbol(),Ps=Symbol();function ro(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];no(s)&&no(r)&&e.hasOwnProperty(n)&&!pe(r)&&!gt(r)?e[n]=ro(s,r):e[n]=r}return e}const gp=Symbol();function mp(e){return!no(e)||!Object.prototype.hasOwnProperty.call(e,gp)}const{assign:Dt}=Object;function yp(e){return!!(pe(e)&&e.effect)}function _p(e,t,n,r){const{state:s,actions:o,getters:i}=t,a=n.state.value[e];let l;function f(){a||(n.state.value[e]=s?s():{});const c=Bu(n.state.value[e]);return Dt(c,o,Object.keys(i||{}).reduce((u,h)=>(u[h]=To(Re(()=>{xn(n);const d=n._s.get(e);return i[h].call(d,d)})),u),{}))}return l=Cc(e,f,t,n,r,!0),l}function Cc(e,t,n={},r,s,o){let i;const a=Dt({actions:{}},n),l={deep:!0};let f,c,u=new Set,h=new Set,d;const m=r.state.value[e];!o&&!m&&(r.state.value[e]={});let y;function C(D){let R;f=c=!1,typeof D=="function"?(D(r.state.value[e]),R={type:Zn.patchFunction,storeId:e,events:d}):(ro(r.state.value[e],D),R={type:Zn.patchObject,payload:D,storeId:e,events:d});const T=y=Symbol();xt().then(()=>{y===T&&(f=!0)}),c=!0,dn(u,R,r.state.value[e])}const E=o?function(){const{state:R}=n,T=R?R():{};this.$patch(H=>{Dt(H,T)})}:Rc;function v(){i.stop(),u.clear(),h.clear(),r._s.delete(e)}const p=(D,R="")=>{if(qi in D)return D[Ps]=R,D;const T=function(){xn(r);const H=Array.from(arguments),L=new Set,W=new Set;function Z(q){L.add(q)}function te(q){W.add(q)}dn(h,{args:H,name:T[Ps],store:w,after:Z,onError:te});let F;try{F=D.apply(this&&this.$id===e?this:w,H)}catch(q){throw dn(W,q),q}return F instanceof Promise?F.then(q=>(dn(L,q),q)).catch(q=>(dn(W,q),Promise.reject(q))):(dn(L,F),F)};return T[qi]=!0,T[Ps]=R,T},_={_p:r,$id:e,$onAction:Wi.bind(null,h),$patch:C,$reset:E,$subscribe(D,R={}){const T=Wi(u,D,R.detached,()=>H()),H=i.run(()=>Rt(()=>r.state.value[e],L=>{(R.flush==="sync"?c:f)&&D({storeId:e,type:Zn.direct,events:d},L)},Dt({},l,R)));return T},$dispose:v},w=ot(_);r._s.set(e,w);const A=(r._a&&r._a.runWithContext||pp)(()=>r._e.run(()=>(i=yo()).run(()=>t({action:p}))));for(const D in A){const R=A[D];if(pe(R)&&!yp(R)||gt(R))o||(m&&mp(R)&&(pe(R)?R.value=m[D]:ro(R,m[D])),r.state.value[e][D]=R);else if(typeof R=="function"){const T=p(R,D);A[D]=T,a.actions[D]=R}}return Dt(w,A),Dt(ne(w),A),Object.defineProperty(w,"$state",{get:()=>r.state.value[e],set:D=>{C(R=>{Dt(R,D)})}}),r._p.forEach(D=>{Dt(w,i.run(()=>D({store:w,app:r._a,pinia:r,options:a})))}),m&&o&&n.hydrate&&n.hydrate(w.$state,m),f=!0,c=!0,w}function bp(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function o(i,a){const l=ns();return i=i||(l?Ce(Tc,null):null),i&&xn(i),i=Sc,i._s.has(e)||(s?Cc(e,t,r,i):_p(e,r,i)),i._s.get(e)}return o.$id=e,o}const vp=-1,wp=-2,Ep=-3,Sp=-4,Tp=-5,Rp=-6,Cp=-7,Pc=2**32-1,so=Pc-1;function Pp(e){return!(!Number.isInteger(e)||e<0||e>so)}function Ap(e){return!(!Number.isInteger(e)||e<0||e>Pc)}function xp(e){return Uint8Array.fromBase64(e).buffer}function kp(e){return Uint8Array.from(Buffer.from(e,"base64")).buffer}function Op(e){const t=atob(e),n=t.length,r=new Uint8Array(n);for(let s=0;s=f)throw new Error("Invalid input");c[h]=o(l[u+1])}c.length=f}else{const f=new Array(l.length);r[i]=f;for(let c=0;c`${r}:${String(s)}`).join(",")}`}function Vr(e,t,n){typeof e==="function"&&(!n||n!=="titleTemplate"&&!(n[0]==="o"&&n[1]==="n"))&&(e=e());const s=t?t(n,e):e;if(Array.isArray(s))return s.map(o=>Vr(o,t));if(s?.constructor===Object){const o={};for(const i of Object.keys(s))o[i]=Vr(s[i],t,i);return o}return s}function qp(e,t){const n=e==="style"?new Map:new Set;function r(s){if(s==null||s===void 0)return;const o=String(s).trim();if(o)if(e==="style"){const[i,...a]=o.split(":").map(l=>l?l.trim():"");i&&a.length&&n.set(i,a.join(":"))}else o.split(" ").filter(Boolean).forEach(i=>n.add(i))}return typeof t=="string"?e==="style"?t.split(";").forEach(r):r(t):Array.isArray(t)?t.forEach(s=>r(s)):t&&typeof t=="object"&&Object.entries(t).forEach(([s,o])=>{o&&o!=="false"&&(e==="style"?n.set(String(s).trim(),String(o)):r(s))}),n}function kc(e,t){if(e.props=e.props||{},!t)return e;if(e.tag==="templateParams")return e.props=t,e;const n=oo.has(e.tag)||e.tag==="htmlAttrs"||e.tag==="bodyAttrs";return Object.entries(t).forEach(([r,s])=>{if(r==="__proto__"||r==="constructor"||r==="prototype")return;if(s===null){e.props[r]=null;return}if(r==="class"||r==="style"){e.props[r]=qp(r,s);return}if(Bp.has(r)){if((r==="textContent"||r==="innerHTML")&&typeof s=="object"){let f=t.type;if(t.type||(f="application/json"),!f?.endsWith("json")&&f!=="speculationrules")return;t.type=f,e.props.type=f,e[r]=JSON.stringify(s)}else e[r]=s;return}const o=r.startsWith("data-"),i=n&&!o?r.toLowerCase():r,a=String(s),l=e.tag==="meta"&&i==="content";a==="true"||a===""?e.props[i]=o||l?a:!0:!s&&o&&a==="false"?e.props[i]="false":s!==void 0&&(e.props[i]=s)}),e}function zp(e,t){const n=typeof t=="object"&&typeof t!="function"?t:{[e==="script"||e==="noscript"||e==="style"?"innerHTML":"textContent"]:t},r=kc({tag:e,props:{}},n);return r.key&&Hp.has(r.tag)&&(r.props["data-hid"]=r._h=r.key),r.tag==="script"&&typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),Array.isArray(r.props.content)?r.props.content.map(s=>({...r,props:{...r.props,content:s}})):r}function Gp(e,t){if(!e)return[];typeof e=="function"&&(e=e());const n=(s,o)=>{for(let i=0;i{if(o!==void 0)for(const i of Array.isArray(o)?o:[o])r.push(zp(s,i))}),r.flat()}const zi=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,Gi={base:-10,title:10},Jp={critical:-8,high:-1,low:2},Ji={meta:{"content-security-policy":-30,charset:-20,viewport:-15},link:{preconnect:20,stylesheet:60,preload:70,modulepreload:70,prefetch:90,"dns-prefetch":90,prerender:90},script:{async:30,defer:80,sync:50},style:{imported:40,sync:60}},Xp=/@import/,Bn=e=>e===""||e===!0;function Yp(e,t){if(typeof t.tagPriority=="number")return t.tagPriority;let n=100;const r=Jp[t.tagPriority]||0,s=e.resolvedOptions.disableCapoSorting?{link:{},script:{},style:{}}:Ji;if(t.tag in Gi)n=Gi[t.tag];else if(t.tag==="meta"){const o=t.props["http-equiv"]==="content-security-policy"?"content-security-policy":t.props.charset?"charset":t.props.name==="viewport"?"viewport":null;o&&(n=Ji.meta[o])}else if(t.tag==="link"&&t.props.rel)n=s.link[t.props.rel];else if(t.tag==="script"){const o=String(t.props.type);Bn(t.props.async)?n=s.script.async:t.props.src&&!Bn(t.props.defer)&&!Bn(t.props.async)&&o!=="module"&&!o.endsWith("json")||t.innerHTML&&!o.endsWith("json")?n=s.script.sync:(Bn(t.props.defer)&&t.props.src&&!Bn(t.props.async)||o==="module")&&(n=s.script.defer)}else t.tag==="style"&&(n=t.innerHTML&&Xp.test(t.innerHTML)?s.style.imported:s.style.sync);return(n||100)+r}function Xi(e,t){const n=typeof t=="function"?t(e):t,r=n.key||String(e.plugins.size+1);e.plugins.get(r)||(e.plugins.set(r,n),e.hooks.addHooks(n.hooks||{}))}function Qp(e={}){const t=gc();t.addHooks(e.hooks||{});const n=!e.document,r=new Map,s=new Map,o=new Set,i={_entryCount:1,plugins:s,dirty:!1,resolvedOptions:e,hooks:t,ssr:n,entries:r,headEntries(){return[...r.values()]},use:a=>Xi(i,a),push(a,l){const f={...l||{}};delete f.head;const c=f._index??i._entryCount++,u={_i:c,input:a,options:f},h={_poll(d=!1){i.dirty=!0,!d&&o.add(c),t.callHook("entries:updated",i)},dispose(){r.delete(c)&&i.invalidate()},patch(d){(!f.mode||f.mode==="server"&&n||f.mode==="client"&&!n)&&(u.input=d,r.set(c,u),h._poll())}};return h.patch(a),h},async resolveTags(){const a={tagMap:new Map,tags:[],entries:[...i.entries.values()]};for(await t.callHook("entries:resolve",a);o.size;){const h=o.values().next().value;o.delete(h);const d=r.get(h);if(d){const m={tags:Gp(d.input,e.propResolvers||[]).map(y=>Object.assign(y,d.options)),entry:d};await t.callHook("entries:normalize",m),d._tags=m.tags.map((y,C)=>(y._w=Yp(i,y),y._p=(d._i<<10)+C,y._d=io(y),y._d||(y._h=xc(y)),y))}}let l=!1;a.entries.flatMap(h=>(h._tags||[]).map(d=>({...d,props:{...d.props}}))).sort(zi).reduce((h,d)=>{const m=d._d||d._h;if(!h.has(m))return h.set(m,d);const y=h.get(m);if((d?.tagDuplicateStrategy||(Up.has(d.tag)?"merge":null)||(d.key&&d.key===y.key?"merge":null))==="merge"){const E={...y.props};Object.entries(d.props).forEach(([v,p])=>E[v]=v==="style"?new Map([...y.props.style||new Map,...p]):v==="class"?new Set([...y.props.class||new Set,...p]):p),h.set(m,{...d,props:E})}else d._p>>10===y._p>>10&&d.tag==="meta"&&Ac(m)?(h.set(m,Object.assign([...Array.isArray(y)?y:[y],d],d)),l=!0):(d._w===y._w?d._p>y._p:d?._wXi(i,a)),i.hooks.callHook("init",i),e.init?.forEach(a=>a&&i.push(a)),i}const Zp=(e,t)=>pe(t)?ft(t):t,Oc="usehead";function eg(e){return{install(n){n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(Oc,e)}}.install}function tg(){if(ns()){const e=Ce(Oc);if(e)return e}throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.")}function o_(e,t={}){const n=t.head||tg();return n.ssr?n.push(e||{},t):ng(n,e,t)}function ng(e,t,n={}){const r=nt(!1);let s;return Qu(()=>{const i=r.value?{}:Vr(t,Zp);s?s.patch(i):s=e.push(i,n)}),an()&&(fr(()=>{s.dispose()}),ul(()=>{r.value=!0}),cl(()=>{r.value=!1})),s}const rg=(e,t)=>[],Mc=e=>_c({},...rg("",typeof e=="string"?e.toLowerCase():e).map(t=>t.data).reverse()),sg=Mc;let Cr;function og(){let e;return e=$fetch($o(`builds/meta/${Ho().app.buildId}.json`),{responseType:"json"}).then(t=>{if(!t||typeof t!="object"||!Array.isArray(t.prerendered))throw new Error("[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.");return t}),Cr=e,e.catch(t=>{Cr===e&&(Cr=void 0),console.error("[nuxt] Error fetching app manifest.",t)}),e}function Ic(){return Cr||og()}function Lc(e){const t=typeof e=="string"?e:e.path;try{return sg(t.toLowerCase())}catch(n){return console.error("[nuxt] Error matching route rules.",n),{}}}async function Yi(e,t={}){return null}async function ig(e){return null}let Xt=null;async function ag(){if(Xt)return Xt;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await lg(e.textContent||""),n=e.dataset.src?await ig(e.dataset.src):void 0;return Xt={...t,...n,...window.__NUXT__},Xt.config?.public&&(Xt.config.public=ot(Xt.config.public)),Xt}async function lg(e){return await Dp(e,ve()._payloadRevivers)}function Dc(e,t){ve()._payloadRevivers[e]=t}const cg=np(()=>{Dc("skipHydrate",e=>{})});function Qi(e){try{return JSON.parse(e)}catch{return e}}const ug=[["NuxtError",e=>Ft(e)],["EmptyShallowRef",e=>Ut(e==="_"?void 0:e==="0n"?BigInt(0):Qi(e))],["EmptyRef",e=>nt(e==="_"?void 0:e==="0n"?BigInt(0):Qi(e))],["ShallowRef",e=>Ut(e)],["ShallowReactive",e=>Ze(e)],["Ref",e=>nt(e)],["Reactive",e=>ot(e)]],fg=Ye({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const[r,s]of ug)Dc(r,s);Object.assign(e.payload,([t,n]=Qn(()=>e.runWithContext(ag)),t=await t,n(),t)),delete window.__NUXT__}});async function jo(e,t={}){const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!!r.shouldRender)return e._domUpdatePromise||(e._domUpdatePromise=new Promise(async s=>{const o=new Map,i=new Promise(d=>{e.resolveTags().then(m=>{d(m.map(y=>{const C=o.get(y._d)||0,E={tag:y,id:(C?`${y._d}:${C}`:y._d)||y._h,shouldRender:!0};return y._d&&Ac(y._d)&&o.set(y._d,C+1),E}))})});let a=e._dom;if(!a){a={title:n.title,elMap:new Map().set("htmlAttrs",n.documentElement).set("bodyAttrs",n.body)};for(const d of["body","head"]){const m=n[d]?.children;for(const y of m){const C=y.tagName.toLowerCase();if(!oo.has(C))continue;const E=kc({tag:C,props:{}},{innerHTML:y.innerHTML,...y.getAttributeNames().reduce((v,p)=>(v[p]=y.getAttribute(p),v),{})||{}});if(E.key=y.getAttribute("data-hid")||void 0,E._d=io(E)||xc(E),a.elMap.has(E._d)){let v=1,p=E._d;for(;a.elMap.has(p);)p=`${E._d}:${v++}`;a.elMap.set(p,y)}else a.elMap.set(E._d,y)}}}a.pendingSideEffects={...a.sideEffects},a.sideEffects={};function l(d,m,y){const C=`${d}:${m}`;a.sideEffects[C]=y,delete a.pendingSideEffects[C]}function f({id:d,$el:m,tag:y}){const C=y.tag.endsWith("Attrs");a.elMap.set(d,m),C||(y.textContent&&y.textContent!==m.textContent&&(m.textContent=y.textContent),y.innerHTML&&y.innerHTML!==m.innerHTML&&(m.innerHTML=y.innerHTML),l(d,"el",()=>{m?.remove(),a.elMap.delete(d)}));for(const E in y.props){if(!Object.prototype.hasOwnProperty.call(y.props,E))continue;const v=y.props[E];if(E.startsWith("on")&&typeof v=="function"){const _=m?.dataset;if(_&&_[`${E}fired`]){const w=E.slice(0,-5);v.call(m,new Event(w.substring(2)))}m.getAttribute(`data-${E}`)!==""&&((y.tag==="bodyAttrs"?n.defaultView:m).addEventListener(E.substring(2),v.bind(m)),m.setAttribute(`data-${E}`,""));continue}const p=`attr:${E}`;if(E==="class"){if(!v)continue;for(const _ of v)C&&l(d,`${p}:${_}`,()=>m.classList.remove(_)),!m.classList.contains(_)&&m.classList.add(_)}else if(E==="style"){if(!v)continue;for(const[_,w]of v)l(d,`${p}:${_}`,()=>{m.style.removeProperty(_)}),m.style.setProperty(_,w)}else v!==!1&&v!==null&&(m.getAttribute(E)!==v&&m.setAttribute(E,v===!0?"":String(v)),C&&l(d,p,()=>m.removeAttribute(E)))}}const c=[],u={bodyClose:void 0,bodyOpen:void 0,head:void 0},h=await i;for(const d of h){const{tag:m,shouldRender:y,id:C}=d;if(y){if(m.tag==="title"){n.title=m.textContent,l("title","",()=>n.title=a.title);continue}d.$el=d.$el||a.elMap.get(C),d.$el?f(d):oo.has(m.tag)&&c.push(d)}}for(const d of c){const m=d.tag.tagPosition||"head";d.$el=n.createElement(d.tag.tag),f(d),u[m]=u[m]||n.createDocumentFragment(),u[m].appendChild(d.$el)}for(const d of h)await e.hooks.callHook("dom:renderTag",d,n,l);u.head&&n.head.appendChild(u.head),u.bodyOpen&&n.body.insertBefore(u.bodyOpen,n.body.firstChild),u.bodyClose&&n.body.appendChild(u.bodyClose);for(const d in a.pendingSideEffects)a.pendingSideEffects[d]();e._dom=a,await e.hooks.callHook("dom:rendered",{renders:h}),s()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1})),e._domUpdatePromise}function dg(e={}){const t=e.domOptions?.render||jo;e.document=e.document||(typeof window<"u"?document:void 0);const n=e.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML||!1;return Qp({...e,plugins:[...e.plugins||[],{key:"client",hooks:{"entries:updated":t}}],init:[n?JSON.parse(n):!1,...e.init||[]]})}function hg(e,t){let n=0;return()=>{const r=++n;t(()=>{n===r&&e()})}}function pg(e={}){const t=dg({domOptions:{render:hg(()=>jo(t),n=>setTimeout(n,0))},...e});return t.install=eg(t),t}const gg={disableDefaults:!0},mg=Ye({name:"nuxt:head",enforce:"pre",setup(e){const t=pg(gg);e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await jo(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r);const s=t.push.bind(t);t.push=((o,i)=>{const a=s(o,i),l=a.dispose.bind(a);return a.dispose=()=>{const f=e["~transitionPromise"];f?f.then(l):l()},a})}}});const pn=typeof document<"u";function $c(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function yg(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&$c(e.default)}const oe=Object.assign;function As(e,t){const n={};for(const r in t){const s=t[r];n[r]=st(s)?s.map(e):e(s)}return n}const er=()=>{},st=Array.isArray;function Zi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Hc=Symbol("");function kn(e,t){return oe(new Error,{type:e,[Hc]:!0},t)}function bt(e,t){return e instanceof Error&&Hc in e&&(t==null||!!(e.type&t))}const _g=Symbol(""),ea=Symbol(""),Fo=Symbol(""),Bo=Symbol(""),ao=Symbol("");function Nc(e){return Ce(Bo)}const bg={trailing:!0};function vg(e,t=25,n={}){if(n={...bg,...n},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let r,s,o=[],i,a;const l=(u,h)=>(i=wg(e,u,h),i.finally(()=>{if(i=null,n.trailing&&a&&!s){const d=l(u,a);return a=null,d}}),i),f=function(...u){return n.trailing&&(a=u),i||new Promise(h=>{const d=!s&&n.leading;clearTimeout(s),s=setTimeout(()=>{s=null;const m=n.leading?r:l(this,u);a=null;for(const y of o)y(m);o=[]},t),d?(r=l(this,u),h(r)):o.push(h)})},c=u=>{u&&(clearTimeout(u),s=null)};return f.isPending=()=>!!s,f.cancel=()=>{c(s),o=[],a=null},f.flush=()=>{if(c(s),!a||i)return;const u=a;return a=null,l(this,u)},f}async function wg(e,t,n){return await e.apply(t,n)}const jc=/#/g,Eg=/&/g,Sg=/\//g,Tg=/=/g,Rg=/\?/g,Fc=/\+/g,Cg=/%5B/g,Pg=/%5D/g,Bc=/%5E/g,Ag=/%60/g,Uc=/%7B/g,xg=/%7C/g,Vc=/%7D/g,kg=/%20/g;function Uo(e){return e==null?"":encodeURI(""+e).replace(xg,"|").replace(Cg,"[").replace(Pg,"]")}function Og(e){return Uo(e).replace(Uc,"{").replace(Vc,"}").replace(Bc,"^")}function lo(e){return Uo(e).replace(Fc,"%2B").replace(kg,"+").replace(jc,"%23").replace(Eg,"%26").replace(Ag,"`").replace(Uc,"{").replace(Vc,"}").replace(Bc,"^")}function Mg(e){return lo(e).replace(Tg,"%3D")}function Ig(e){return Uo(e).replace(jc,"%23").replace(Rg,"%3F")}function Lg(e){return Ig(e).replace(Sg,"%2F")}function Kr(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Dg=/\/$/,$g=e=>e.replace(Dg,"");function xs(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return l=a>=0&&l>a?-1:l,l>=0&&(r=t.slice(0,l),o=t.slice(l,a>0?a:t.length),s=e(o.slice(1))),a>=0&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=Fg(r??t,n),{fullPath:r+o+i,path:r,query:s,hash:Kr(i)}}function Hg(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ta(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ng(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&On(t.matched[r],n.matched[s])&&Kc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function On(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Kc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!jg(e[n],t[n]))return!1;return!0}function jg(e,t){return st(e)?na(e,t):st(t)?na(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function na(e,t){return st(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Fg(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const qe={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};function Bg(e){if(!e)if(pn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),$g(e)}const Ug=/^[^#]+#/;function Vg(e,t){return e.replace(Ug,"#")+t}function Kg(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const us=()=>({left:window.scrollX,top:window.scrollY});function Wg(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=Kg(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function ra(e,t){return(history.state?history.state.position-t:-1)+e}const co=new Map;function qg(e,t){co.set(e,t)}function zg(e){const t=co.get(e);return co.delete(e),t}function Gg(e){return typeof e=="string"||e&&typeof e=="object"}function Wc(e){return typeof e=="string"||typeof e=="symbol"}function Jg(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&lo(s)):[r&&lo(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Xg(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=st(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}function Un(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ht(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const f=h=>{h===!1?l(kn(4,{from:n,to:t})):h instanceof Error?l(h):Gg(h)?l(kn(2,{from:t,to:h})):(i&&r.enterCallbacks[s]===i&&typeof h=="function"&&i.push(h),a())},c=o(()=>e.call(r&&r.instances[s],t,n,f));let u=Promise.resolve(c);e.length<3&&(u=u.then(f)),u.catch(h=>l(h))})}function ks(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if($c(l)){const f=(l.__vccOpts||l)[t];f&&o.push(Ht(f,n,r,i,a,s))}else{let f=l();o.push(()=>f.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${a}" at "${i.path}"`);const u=yg(c)?c.default:c;i.mods[a]=c,i.components[a]=u;const h=(u.__vccOpts||u)[t];return h&&Ht(h,n,r,i,a,s)()}))}}return o}function Yg(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iOn(f,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(f=>On(f,l))||s.push(l))}return[n,r,s]}let Qg=()=>location.protocol+"//"+location.host;function qc(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,a=s.slice(i);return a[0]!=="/"&&(a="/"+a),ta(a,"")}return ta(n,e)+r+s}function Zg(e,t,n,r){let s=[],o=[],i=null;const a=({state:h})=>{const d=qc(e,location),m=n.value,y=t.value;let C=0;if(h){if(n.value=d,t.value=h,i&&i===m){i=null;return}C=y?h.position-y.position:0}else r(d);s.forEach(E=>{E(n.value,m,{delta:C,type:"pop",direction:C?C>0?"forward":"back":""})})};function l(){i=n.value}function f(h){s.push(h);const d=()=>{const m=s.indexOf(h);m>-1&&s.splice(m,1)};return o.push(d),d}function c(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(oe({},h.state,{scroll:us()}),"")}}function u(){for(const h of o)h();o=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:l,listen:f,destroy:u}}function oa(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?us():null}}function em(e){const{history:t,location:n}=window,r={value:qc(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,f,c){const u=e.indexOf("#"),h=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+l:Qg()+e+l;try{t[c?"replaceState":"pushState"](f,"",h),s.value=f}catch(d){console.error(d),n[c?"replace":"assign"](h)}}function i(l,f){o(l,oe({},t.state,oa(s.value.back,l,s.value.forward,!0),f,{position:s.value.position}),!0),r.value=l}function a(l,f){const c=oe({},s.value,t.state,{forward:l,scroll:us()});o(c.current,c,!0),o(l,oe({},oa(r.value,l,null),{position:c.position+1},f),!1),r.value=l}return{location:r,state:s,push:a,replace:i}}function tm(e){e=Bg(e);const t=em(e),n=Zg(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=oe({location:"",base:e,go:r,createHref:Vg.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}const nm={type:0,value:""},rm=/[a-zA-Z0-9_]/;function sm(e){if(!e)return[[]];if(e==="/")return[[nm]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(d){throw new Error(`ERR (${n})/"${f}": ${d}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let a=0,l,f="",c="";function u(){f&&(n===0?o.push({type:0,value:f}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:f,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),f="")}function h(){f+=l}for(;at.length?t.length===1&&t[0]===80?1:-1:0}function zc(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const cm={strict:!1,end:!0,sensitive:!1};function um(e,t,n){const r=am(sm(e.path),n),s=oe(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function fm(e,t){const n=[],r=new Map;t=Zi(cm,t);function s(u){return r.get(u)}function o(u,h,d){const m=!d,y=ca(u);y.aliasOf=d&&d.record;const C=Zi(t,u),E=[y];if("alias"in u){const _=typeof u.alias=="string"?[u.alias]:u.alias;for(const w of _)E.push(ca(oe({},y,{components:d?d.record.components:y.components,path:w,aliasOf:d?d.record:y})))}let v,p;for(const _ of E){const{path:w}=_;if(h&&w[0]!=="/"){const k=h.record.path,A=k[k.length-1]==="/"?"":"/";_.path=h.record.path+(w&&A+w)}if(v=um(_,h,C),d?d.alias.push(v):(p=p||v,p!==v&&p.alias.push(v),m&&u.name&&!ua(v)&&i(u.name)),Gc(v)&&l(v),y.children){const k=y.children;for(let A=0;A{i(p)}:er}function i(u){if(Wc(u)){const h=r.get(u);h&&(r.delete(u),n.splice(n.indexOf(h),1),h.children.forEach(i),h.alias.forEach(i))}else{const h=n.indexOf(u);h>-1&&(n.splice(h,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function a(){return n}function l(u){const h=pm(u,n);n.splice(h,0,u),u.record.name&&!ua(u)&&r.set(u.record.name,u)}function f(u,h){let d,m={},y,C;if("name"in u&&u.name){if(d=r.get(u.name),!d)throw kn(1,{location:u});C=d.record.name,m=oe(la(h.params,d.keys.filter(p=>!p.optional).concat(d.parent?d.parent.keys.filter(p=>p.optional):[]).map(p=>p.name)),u.params&&la(u.params,d.keys.map(p=>p.name))),y=d.stringify(m)}else if(u.path!=null)y=u.path,d=n.find(p=>p.re.test(y)),d&&(m=d.parse(y),C=d.record.name,d.keys.forEach(p=>{p.optional&&!m[p.name]&&delete m[p.name]}));else{if(d=h.name?r.get(h.name):n.find(p=>p.re.test(h.path)),!d)throw kn(1,{location:u,currentLocation:h});C=d.record.name,m=oe({},h.params,u.params),y=d.stringify(m)}const E=[];let v=d;for(;v;)E.unshift(v.record),v=v.parent;return{name:C,path:y,params:m,matched:E,meta:hm(E)}}e.forEach(u=>o(u));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:f,removeRoute:i,clearRoutes:c,getRoutes:a,getRecordMatcher:s}}function la(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function ca(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:dm(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function dm(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function ua(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function hm(e){return e.reduce((t,n)=>oe(t,n.meta),{})}function pm(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;zc(e,t[o])<0?r=o:n=o+1}const s=gm(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function gm(e){let t=e;for(;t=t.parent;)if(Gc(t)&&zc(e,t)===0)return t}function Gc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function fa(e){const t=Ce(Fo),n=Ce(Bo),r=Re(()=>{const l=ae(e.to);return t.resolve(l)}),s=Re(()=>{const{matched:l}=r.value,{length:f}=l,c=l[f-1],u=n.matched;if(!c||!u.length)return-1;const h=u.findIndex(On.bind(null,c));if(h>-1)return h;const d=da(l[f-2]);return f>1&&da(c)===d&&u[u.length-1].path!==d?u.findIndex(On.bind(null,l[f-2])):h}),o=Re(()=>s.value>-1&&bm(n.params,r.value.params)),i=Re(()=>s.value>-1&&s.value===n.matched.length-1&&Kc(n.params,r.value.params));function a(l={}){if(_m(l)){const f=t[ae(e.replace)?"replace":"push"](ae(e.to)).catch(er);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:r,href:Re(()=>r.value.href),isActive:o,isExactActive:i,navigate:a}}function mm(e){return e.length===1?e[0]:e}const ym=Wt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:fa,setup(e,{slots:t}){const n=ot(fa(e)),{options:r}=Ce(Fo),s=Re(()=>({[ha(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[ha(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&mm(t.default(n));return e.custom?o:Oe("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}});function _m(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function bm(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!st(s)||s.length!==r.length||r.some((o,i)=>o.valueOf()!==s[i].valueOf()))return!1}return!0}function da(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ha=(e,t,n)=>e??t??n,vm=Wt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ce(ao),s=Re(()=>e.route||r.value),o=Ce(ea,0),i=Re(()=>{let f=ae(o);const{matched:c}=s.value;let u;for(;(u=c[f])&&!u.components;)f++;return f}),a=Re(()=>s.value.matched[i.value]);jt(ea,Re(()=>i.value+1)),jt(_g,a),jt(ao,s);const l=nt();return Rt(()=>[l.value,a.value,e.name],([f,c,u],[h,d,m])=>{c&&(c.instances[u]=f,d&&d!==c&&f&&f===h&&(c.leaveGuards.size||(c.leaveGuards=d.leaveGuards),c.updateGuards.size||(c.updateGuards=d.updateGuards))),f&&c&&(!d||!On(c,d)||!h)&&(c.enterCallbacks[u]||[]).forEach(y=>y(f))},{flush:"post"}),()=>{const f=s.value,c=e.name,u=a.value,h=u&&u.components[c];if(!h)return pa(n.default,{Component:h,route:f});const d=u.props[c],m=d?d===!0?f.params:typeof d=="function"?d(f):d:null,C=Oe(h,oe({},m,t,{onVnodeUnmounted:E=>{E.component.isUnmounted&&(u.instances[c]=null)},ref:l}));return pa(n.default,{Component:C,route:f})||C}}});function pa(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Jc=vm;function wm(e){const t=fm(e.routes,e),n=e.parseQuery||Jg,r=e.stringifyQuery||sa,s=e.history,o=Un(),i=Un(),a=Un(),l=Ut(qe);let f=qe;pn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=As.bind(null,x=>""+x),u=As.bind(null,Lg),h=As.bind(null,Kr);function d(x,K){let B,J;return Wc(x)?(B=t.getRecordMatcher(x),J=K):J=x,t.addRoute(J,B)}function m(x){const K=t.getRecordMatcher(x);K&&t.removeRoute(K)}function y(){return t.getRoutes().map(x=>x.record)}function C(x){return!!t.getRecordMatcher(x)}function E(x,K){if(K=oe({},K||l.value),typeof x=="string"){const b=xs(n,x,K.path),S=t.resolve({path:b.path},K),M=s.createHref(b.fullPath);return oe(b,S,{params:h(S.params),redirectedFrom:void 0,href:M})}let B;if(x.path!=null)B=oe({},x,{path:xs(n,x.path,K.path).path});else{const b=oe({},x.params);for(const S in b)b[S]==null&&delete b[S];B=oe({},x,{params:u(b)}),K.params=u(K.params)}const J=t.resolve(B,K),ee=x.hash||"";J.params=c(h(J.params));const ge=Hg(r,oe({},x,{hash:Og(ee),path:J.path})),g=s.createHref(ge);return oe({fullPath:ge,hash:ee,query:r===sa?Xg(x.query):x.query||{}},J,{redirectedFrom:void 0,href:g})}function v(x){return typeof x=="string"?xs(n,x,l.value.path):oe({},x)}function p(x,K){if(f!==x)return kn(8,{from:K,to:x})}function _(x){return A(x)}function w(x){return _(oe(v(x),{replace:!0}))}function k(x,K){const B=x.matched[x.matched.length-1];if(B&&B.redirect){const{redirect:J}=B;let ee=typeof J=="function"?J(x,K):J;return typeof ee=="string"&&(ee=ee.includes("?")||ee.includes("#")?ee=v(ee):{path:ee},ee.params={}),oe({query:x.query,hash:x.hash,params:ee.path!=null?{}:x.params},ee)}}function A(x,K){const B=f=E(x),J=l.value,ee=x.state,ge=x.force,g=x.replace===!0,b=k(B,J);if(b)return A(oe(v(b),{state:typeof b=="object"?oe({},ee,b.state):ee,force:ge,replace:g}),K||B);const S=B;S.redirectedFrom=K;let M;return!ge&&Ng(r,J,B)&&(M=kn(16,{to:S,from:J}),it(J,J,!0,!1)),(M?Promise.resolve(M):T(S,J)).catch(P=>bt(P)?bt(P,2)?P:Mt(P):V(P,S,J)).then(P=>{if(P){if(bt(P,2))return A(oe({replace:g},v(P.to),{state:typeof P.to=="object"?oe({},ee,P.to.state):ee,force:ge}),K||S)}else P=L(S,J,!0,g,ee);return H(S,J,P),P})}function D(x,K){const B=p(x,K);return B?Promise.reject(B):Promise.resolve()}function R(x){const K=cn.values().next().value;return K&&typeof K.runWithContext=="function"?K.runWithContext(x):x()}function T(x,K){let B;const[J,ee,ge]=Yg(x,K);B=ks(J.reverse(),"beforeRouteLeave",x,K);for(const b of J)b.leaveGuards.forEach(S=>{B.push(Ht(S,x,K))});const g=D.bind(null,x,K);return B.push(g),Ke(B).then(()=>{B=[];for(const b of o.list())B.push(Ht(b,x,K));return B.push(g),Ke(B)}).then(()=>{B=ks(ee,"beforeRouteUpdate",x,K);for(const b of ee)b.updateGuards.forEach(S=>{B.push(Ht(S,x,K))});return B.push(g),Ke(B)}).then(()=>{B=[];for(const b of ge)if(b.beforeEnter)if(st(b.beforeEnter))for(const S of b.beforeEnter)B.push(Ht(S,x,K));else B.push(Ht(b.beforeEnter,x,K));return B.push(g),Ke(B)}).then(()=>(x.matched.forEach(b=>b.enterCallbacks={}),B=ks(ge,"beforeRouteEnter",x,K,R),B.push(g),Ke(B))).then(()=>{B=[];for(const b of i.list())B.push(Ht(b,x,K));return B.push(g),Ke(B)}).catch(b=>bt(b,8)?b:Promise.reject(b))}function H(x,K,B){a.list().forEach(J=>R(()=>J(x,K,B)))}function L(x,K,B,J,ee){const ge=p(x,K);if(ge)return ge;const g=K===qe,b=pn?history.state:{};B&&(J||g?s.replace(x.fullPath,oe({scroll:g&&b&&b.scroll},ee)):s.push(x.fullPath,ee)),l.value=x,it(x,K,B,g),Mt()}let W;function Z(){W||(W=s.listen((x,K,B)=>{if(!qt.listening)return;const J=E(x),ee=k(J,qt.currentRoute.value);if(ee){A(oe(ee,{replace:!0,force:!0}),J).catch(er);return}f=J;const ge=l.value;pn&&qg(ra(ge.fullPath,B.delta),us()),T(J,ge).catch(g=>bt(g,12)?g:bt(g,2)?(A(oe(v(g.to),{force:!0}),J).then(b=>{bt(b,20)&&!B.delta&&B.type==="pop"&&s.go(-1,!1)}).catch(er),Promise.reject()):(B.delta&&s.go(-B.delta,!1),V(g,J,ge))).then(g=>{g=g||L(J,ge,!1),g&&(B.delta&&!bt(g,8)?s.go(-B.delta,!1):B.type==="pop"&&bt(g,20)&&s.go(-1,!1)),H(J,ge,g)}).catch(er)}))}let te=Un(),F=Un(),q;function V(x,K,B){Mt(x);const J=F.list();return J.length?J.forEach(ee=>ee(x,K,B)):console.error(x),Promise.reject(x)}function le(){return q&&l.value!==qe?Promise.resolve():new Promise((x,K)=>{te.add([x,K])})}function Mt(x){return q||(q=!x,Z(),te.list().forEach(([K,B])=>x?B(x):K()),te.reset()),x}function it(x,K,B,J){const{scrollBehavior:ee}=e;if(!pn||!ee)return Promise.resolve();const ge=!B&&zg(ra(x.fullPath,0))||(J||!B)&&history.state&&history.state.scroll||null;return xt().then(()=>ee(x,K,ge)).then(g=>g&&Wg(g)).catch(g=>V(g,x,K))}const De=x=>s.go(x);let ln;const cn=new Set,qt={currentRoute:l,listening:!0,addRoute:d,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:C,getRoutes:y,resolve:E,options:e,push:_,replace:w,go:De,back:()=>De(-1),forward:()=>De(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:F.add,isReady:le,install(x){x.component("RouterLink",ym),x.component("RouterView",Jc),x.config.globalProperties.$router=qt,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>ae(l)}),pn&&!ln&&l.value===qe&&(ln=!0,_(s.location).catch(J=>{}));const K={};for(const J in qe)Object.defineProperty(K,J,{get:()=>l.value[J],enumerable:!0});x.provide(Fo,qt),x.provide(Bo,Ze(K)),x.provide(ao,l);const B=x.unmount;cn.add(x),x.unmount=function(){cn.delete(x),cn.size<1&&(f=qe,W&&W(),W=null,l.value=qe,ln=!1,q=!1),B()}}};function Ke(x){return x.reduce((K,B)=>K.then(()=>R(B)),Promise.resolve())}return qt}const Em=/(:\w+)\([^)]+\)/g,Sm=/(:\w+)[?+*]/g,Tm=/:\w+/g,Rm=(e,t)=>t.path.replace(Em,"$1").replace(Sm,"$1").replace(Tm,n=>e.params[n.slice(1)]?.toString()||""),uo=(e,t)=>{const n=e.route.matched.find(s=>s.components?.default===e.Component.type),r=t??n?.meta.key??(n&&Rm(e.route,n));return typeof r=="function"?r(e.route):r},Cm=(e,t)=>({default:()=>e?Oe(ff,e===!0?{}:e,t):t});function Xc(e){return Array.isArray(e)?e:[e]}const Pm="modulepreload",Am=function(e,t){return new URL(e,t).href},ga={},me=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let f=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};const i=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");s=f(n.map(c=>{if(c=Am(c,r),c in ga)return;ga[c]=!0;const u=c.endsWith(".css"),h=u?'[rel="stylesheet"]':"";if(r)for(let m=i.length-1;m>=0;m--){const y=i[m];if(y.href===c&&(!u||y.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${h}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":Pm,u||(d.as="script"),d.crossOrigin="",d.href=c,l&&d.setAttribute("nonce",l),document.head.appendChild(d),u)return new Promise((m,y)=>{d.addEventListener("load",m),d.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&o(a.reason);return t().catch(o)})},xm={title:"后台账号"},km={title:"应用服务配置"},Om={title:"应用管理"},Mm={title:"通话翻译配置"},Im={title:"公码管理"},Lm={title:"数据概览"},Dm={title:"生产管理"},$m={title:"环境节点"},Hm={title:"厂家管理"},Nm={title:"全局环境配置"},jm={title:"MCP配置"},Fm={title:"会议模板"},Bm={title:"产品管理"},Um={title:"第三方服务配置"},Vm={title:"统计日志"},Km={title:"系统配置"},Wm={title:"用户查询"},qm={layout:"auth"},Os=[{name:"accounts",path:"/accounts",meta:xm||{},component:()=>me(()=>import("./Dm32cczg.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)},{name:"appconfig",path:"/appconfig",meta:km||{},component:()=>me(()=>import("./6VNdSi_V.js"),__vite__mapDeps([5,1,2,3,6]),import.meta.url)},{name:"apps",path:"/apps",meta:Om||{},component:()=>me(()=>import("./BYskkv1s.js"),__vite__mapDeps([7,1,2,3,8]),import.meta.url)},{name:"calltranslate",path:"/calltranslate",meta:Mm||{},component:()=>me(()=>import("./B_WQdNTA.js"),__vite__mapDeps([9,1,2,3,10]),import.meta.url)},{name:"code",path:"/code",meta:Im||{},component:()=>me(()=>import("./y51pRzN1.js"),__vite__mapDeps([11,1,2,3]),import.meta.url)},{name:"dashboard",path:"/dashboard",meta:Lm||{},component:()=>me(()=>import("./DQJ7bpDC.js"),__vite__mapDeps([12,1,2,13]),import.meta.url)},{name:"device",path:"/device",meta:Dm||{},component:()=>me(()=>import("./C_DpaApf.js"),__vite__mapDeps([14,1,2,3]),import.meta.url)},{name:"environments",path:"/environments",meta:$m||{},component:()=>me(()=>import("./CEy0BeiT.js"),__vite__mapDeps([15,1,2,3]),import.meta.url)},{name:"factory",path:"/factory",meta:Hm||{},component:()=>me(()=>import("./C1a5GrA3.js"),__vite__mapDeps([16,1,2,3]),import.meta.url)},{name:"globalconfig",path:"/globalconfig",meta:Nm||{},component:()=>me(()=>import("./C4pFFOT7.js"),__vite__mapDeps([17,1,2,3]),import.meta.url)},{name:"mcpconfig",path:"/mcpconfig",meta:jm||{},component:()=>me(()=>import("./C1U0GWax.js"),__vite__mapDeps([18,1,2,3]),import.meta.url)},{name:"meettemplates",path:"/meettemplates",meta:Fm||{},component:()=>me(()=>import("./CtB1c492.js"),__vite__mapDeps([19,1,2,3]),import.meta.url)},{name:"product",path:"/product",meta:Bm||{},component:()=>me(()=>import("./-beHFMDW.js"),__vite__mapDeps([20,1,2,3]),import.meta.url)},{name:"serviceconfig",path:"/serviceconfig",meta:Um||{},component:()=>me(()=>import("./B2Vd1HRg.js"),__vite__mapDeps([21,1,2,3,22]),import.meta.url)},{name:"statlog",path:"/statlog",meta:Vm||{},component:()=>me(()=>import("./CHwWlLZM.js"),__vite__mapDeps([23,1,2,3,24]),import.meta.url)},{name:"systemconfig",path:"/systemconfig",meta:Km||{},component:()=>me(()=>import("./CgB4v6_d.js"),__vite__mapDeps([25,3,2,1,26]),import.meta.url)},{name:"users",path:"/users",meta:Wm||{},component:()=>me(()=>import("./BjeKh_cp.js"),__vite__mapDeps([27,1,2,3]),import.meta.url)},{name:"index",path:"/",meta:qm||{},component:()=>me(()=>import("./DA87FDpn.js"),__vite__mapDeps([28,29]),import.meta.url)}],Yc=(e,t)=>({default:()=>e?Oe(fd,e===!0?{}:e,t):t.default?.()}),zm=/(:\w+)\([^)]+\)/g,Gm=/(:\w+)[?+*]/g,Jm=/:\w+/g;function ma(e){const t=e?.meta.key??e.path.replace(zm,"$1").replace(Gm,"$1").replace(Jm,n=>e.params[n.slice(1)]?.toString()||"");return typeof t=="function"?t(e):t}function Xm(e,t){return e===t||t===qe?!1:ma(e)!==ma(t)?!0:!e.matched.every((r,s)=>r.components&&r.components.default===t.matched[s]?.components?.default)}function ya(e){return Array.isArray(e)?e:[e]}function Qc(e){const t=[];for(const n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?ya(n.onAfterLeave):void 0,onBeforeLeave:n.onBeforeLeave?ya(n.onBeforeLeave):void 0});return _c(...t)}const Ym={scrollBehavior(e,t,n){const r=ve(),s=Ve().options?.scrollBehaviorType??"auto";return e.path.replace(/\/$/,"")===t.path.replace(/\/$/,"")?t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:Zc(e.hash),behavior:s}:!1:(typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1?!1:t===qe?_a(e,t,n,s):new Promise(i=>{const a=()=>{requestAnimationFrame(()=>i(_a(e,t,n,s)))};r.hooks.hookOnce("page:loading:end",()=>{const l=r["~transitionPromise"];l?l.then(a):a()})})}};function Zc(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function _a(e,t,n,r){return n||(e.hash?{el:e.hash,top:Zc(e.hash),behavior:Xm(e,t)?r:"instant"}:{left:0,top:0})}const Qm={hashMode:!1,scrollBehaviorType:"auto"},Lt={...Qm,...Ym},Zm=async(e,t)=>{let n,r;if(!e.meta?.validate)return;const s=([n,r]=Qn(()=>Promise.resolve(e.meta.validate(e))),n=await n,r(),n);if(s===!0)return;const o=Ft({fatal:!0,status:s&&(s.status||s.statusCode)||404,statusText:s&&(s.statusText||s.statusMessage)||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}});return typeof window<"u"&&window.history.pushState({},"",t.fullPath),o},ey=e=>{const t=Lc({path:e.path});if(t.redirect){const n=t.redirect.includes("#")?t.redirect:t.redirect+e.hash;return Dn(n,{acceptRelative:!0})?(window.location.href=n,!1):n}},ty=[Zm,ey],fo={};function ny(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const f=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(f);return c[0]!=="/"&&(c="/"+c),Li(c,"")}const a=Li(r,e),l=!n||cc(a,n)?a:n;return l+(l.includes("?")?"":s)+o}const ry=Ye({name:"nuxt:router",enforce:"pre",async setup(e){let t,n,r=Ho().app.baseURL;const s=Lt.history?.(r)??tm(r),o=Lt.routes?([t,n]=Qn(()=>Lt.routes(Os)),t=await t,n(),t??Os):Os;let i;const a=wm({...Lt,scrollBehavior:(E,v,p)=>{if(v===qe){i=p;return}if(Lt.scrollBehavior){if(a.options.scrollBehavior=Lt.scrollBehavior,"scrollRestoration"in window.history){const _=a.beforeEach(()=>{_(),window.history.scrollRestoration="manual"})}return Lt.scrollBehavior(E,qe,i||p)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(a);const l=Ut(a.currentRoute.value);a.afterEach((E,v)=>{l.value=v}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const f=ny(r,window.location,e.payload.path),c=Ut(a.currentRoute.value),u=()=>{c.value=a.currentRoute.value};a.afterEach((E,v)=>{const p=E.matched.at(-1)?.components?.default,_=v.matched.at(-1)?.components?.default;if(p===_){u();return}E.matched.lengthw.components?.default===v.matched[k]?.components?.default)&&u()});const h={sync:u};for(const E in c.value)Object.defineProperty(h,E,{get:()=>c.value[E],enumerable:!0});e._route=Ze(h),e._middleware||={global:[],named:{}};const d=cs();a.afterEach(async(E,v,p)=>{delete e._processingMiddleware,!e.isHydrating&&d.value&&await e.runWithContext(dp),p&&await e.callHook("page:loading:end")});try{[t,n]=Qn(()=>a.isReady()),await t,n()}catch(E){[t,n]=Qn(()=>e.runWithContext(()=>Zt(E))),await t,n()}const m=f!==a.currentRoute.value.fullPath?a.resolve(f):a.currentRoute.value,y=e.isHydrating&&e.payload.prerenderedAt&&e.payload.path&&f!==e.payload.path&&cc(a.currentRoute.value.path,e.payload.path);u();const C=e.payload.state._layout;return a.beforeEach(async(E,v)=>{await e.callHook("page:loading:start"),E.meta=ot(E.meta),e.isHydrating&&C&&!mt(E.meta.layout)&&(E.meta.layout=C),e._processingMiddleware=!0;{const p=new Set([...ty,...e._middleware.global]);for(const w of E.matched){const k=w.meta.middleware;if(k)for(const A of Xc(k))p.add(A)}const _=Lc({path:E.path});if(_.appMiddleware)for(const w in _.appMiddleware)_.appMiddleware[w]?p.add(w):p.delete(w);for(const w of p){const k=typeof w=="string"?e._middleware.named[w]||await fo[w]?.().then(A=>A.default||A):w;if(!k)throw new Error(`Unknown route middleware: '${w}'.`);try{const A=await e.runWithContext(()=>k(E,v));if(!e.payload.serverRendered&&e.isHydrating&&(A===!1||A instanceof Error)){const D=A||Ft({status:404,statusText:`Page Not Found: ${f}`});return await e.runWithContext(()=>Zt(D)),!1}if(A===!0)continue;if(A===!1)return A;if(A)return Ec(A)&&A.fatal&&await e.runWithContext(()=>Zt(A)),A}catch(A){const D=Ft(A);return D.fatal&&await e.runWithContext(()=>Zt(D)),D}}}}),a.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),a.afterEach(E=>{if(E.matched.length===0&&!d.value)return e.runWithContext(()=>Zt(Ft({status:404,fatal:!1,statusText:`Page not found: ${E.fullPath}`,data:{path:E.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{if("name"in m&&(m.name=void 0),y){const E=a.resolve(e.payload.path);"name"in E&&(E.name=void 0),await a.replace({...E,force:!0}),e.hooks.hookOnce("app:suspense:resolve",async()=>{await a.replace({...m,force:!0})})}else await a.replace({...m,force:!0});a.options.scrollBehavior=Lt.scrollBehavior}catch(E){await e.runWithContext(()=>Zt(E))}}),{provide:{router:a}}}}),ba=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),i_=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),Vo=e=>{const t=ve();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{ba(()=>e())}):ba(()=>e())},sy=Ye({name:"nuxt:payload",setup(e){const t=new Set;Ve().beforeResolve(async(n,r)=>{if(n.path===r.path)return;const s=await Yi(n.path);if(s){for(const o of t)delete e.static.data[o];for(const o in s.data)o in e.static.data||t.add(o),e.static.data[o]=s.data[o]}}),Vo(()=>{e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await Yi().catch(()=>{console.warn("[nuxt] Error preloading payload for",n)})}),navigator.connection?.effectiveType!=="slow-2g"&&setTimeout(Ic,1e3)})}}),oy=Ye(()=>{const e=Ve();Vo(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),iy=Ye(e=>{let t;async function n(){let r;try{r=await Ic()}catch(s){const o=s;if(!("status"in o&&(o.status===404||o.status===403)))throw o}t&&clearTimeout(t),t=setTimeout(n,Ui);try{const s=await $fetch($o("builds/latest.json")+`?${Date.now()}`);s.id!==r?.id&&(e.hooks.callHook("app:manifest:update",s),t&&clearTimeout(t))}catch{}}Vo(()=>{t=setTimeout(n,Ui)})});function ay(e={}){const t=e.path||window.location.pathname,n=new URL(t,window.location.href);if(n.host!==window.location.host)throw new Error(`Cannot navigate to a URL with a different host: '${t}'.`);if(n.protocol&&Xs(n.protocol))throw new Error(`Cannot navigate to a URL with '${n.protocol}' protocol.`);let r={};try{r=JSON.parse(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||r?.path!==t||r?.expires{r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const i=ac(n.app.baseURL,o.fullPath);ay({path:i,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}});function cy(e){return typeof e=="string"?`'${e}'`:new uy().serialize(e)}const uy=(function(){class e{#e=new Map;compare(n,r){const s=typeof n,o=typeof r;return s==="string"&&o==="string"?n.localeCompare(r):s==="number"&&o==="number"?n-r:String.prototype.localeCompare.call(this.serialize(n,!0),this.serialize(r,!0))}serialize(n,r){if(n===null)return"null";switch(typeof n){case"string":return r?n:`'${n}'`;case"bigint":return`${n}n`;case"object":return this.$object(n);case"function":return this.$function(n)}return String(n)}serializeObject(n){const r=Object.prototype.toString.call(n);if(r!=="[object Object]")return this.serializeBuiltInType(r.length<10?`unknown:${r}`:r.slice(8,-1),n);const s=n.constructor,o=s===Object||s===void 0?"":s.name;if(o!==""&&globalThis[o]===s)return this.serializeBuiltInType(o,n);if(typeof n.toJSON=="function"){const i=n.toJSON();return o+(i!==null&&typeof i=="object"?this.$object(i):`(${this.serialize(i)})`)}return this.serializeObjectEntries(o,Object.entries(n))}serializeBuiltInType(n,r){const s=this["$"+n];if(s)return s.call(this,r);if(typeof r?.entries=="function")return this.serializeObjectEntries(n,r.entries());throw new Error(`Cannot serialize ${n}`)}serializeObjectEntries(n,r){const s=Array.from(r).sort((i,a)=>this.compare(i[0],a[0]));let o=`${n}{`;for(let i=0;ithis.compare(r,s)))}`}$Map(n){return this.serializeObjectEntries("Map",n.entries())}}for(const t of["Error","RegExp","URL"])e.prototype["$"+t]=function(n){return`${t}(${n})`};for(const t of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join(",")}]`};for(const t of["BigInt64Array","BigUint64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join("n,")}${n.length>0?"n":""}]`};return e})(),fy=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],dy=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],hy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",Yt=[];class py{_data=new yn;_hash=new yn([...fy]);_nDataBytes=0;_minBufferSize=0;finalize(t){t&&this._append(t);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(t,n){const r=this._hash.words;let s=r[0],o=r[1],i=r[2],a=r[3],l=r[4],f=r[5],c=r[6],u=r[7];for(let h=0;h<64;h++){if(h<16)Yt[h]=t[n+h]|0;else{const p=Yt[h-15],_=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,w=Yt[h-2],k=(w<<15|w>>>17)^(w<<13|w>>>19)^w>>>10;Yt[h]=_+Yt[h-7]+k+Yt[h-16]}const d=l&f^~l&c,m=s&o^s&i^o&i,y=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),C=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),E=u+C+d+dy[h]+Yt[h],v=y+m;u=c,c=f,f=l,l=a+E|0,a=i,i=o,o=s,s=E+v|0}r[0]=r[0]+s|0,r[1]=r[1]+o|0,r[2]=r[2]+i|0,r[3]=r[3]+a|0,r[4]=r[4]+l|0,r[5]=r[5]+f|0,r[6]=r[6]+c|0,r[7]=r[7]+u|0}_append(t){typeof t=="string"&&(t=yn.fromUtf8(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_process(t){let n,r=this._data.sigBytes/64;t?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const s=r*16,o=Math.min(s*4,this._data.sigBytes);if(s){for(let i=0;i>>2]|=(n.charCodeAt(o)&255)<<24-o%4*8;return new yn(s,r)}toBase64(){const t=[];for(let n=0;n>>2]>>>24-n%4*8&255,s=this.words[n+1>>>2]>>>24-(n+1)%4*8&255,o=this.words[n+2>>>2]>>>24-(n+2)%4*8&255,i=r<<16|s<<8|o;for(let a=0;a<4&&n*8+a*6>>6*(3-a)&63))}return t.join("")}concat(t){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let n=0;n>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=t.words[n>>>2];this.sigBytes+=t.sigBytes}}function gy(e){return new py().finalize(e).toBase64()}function gn(e){return gy(cy(e))}const my=Symbol.for("nuxt:client-only");function eu(e){return Object.defineProperty(function(){throw new Error(`[nuxt] \`${e.name}\` is a compiler macro and cannot be called at runtime.`)},"__nuxt_factory",{enumerable:!1,get:()=>e.factory})}const tu=eu({name:"createUseAsyncData",factory(e={}){function t(...n){const r=typeof n[n.length-1]=="string"?n.pop():void 0;_y(n[0],n[1])&&n.unshift(r);let[s,o,i={}]=n,a=!1;const l=pe(s)||typeof s=="function",f=l?Re(()=>ft(s)):{value:s};if(!f.value||typeof f.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a non-empty string.");if(typeof o!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const c=typeof e=="function",u=ve(),h=c?e(i):e;if(!c)for(const p in h)h[p]!==void 0&&i[p]===void 0&&(i[p]=h[p]);if(i.server??=!0,i.default??=vy,i.getCachedData??=ru,i.lazy??=!1,i.immediate??=!0,i.deep??=zh.deep,i.dedupe??="cancel",c)for(const p in h)h[p]!==void 0&&(i[p]=h[p]);u._asyncData[f.value];function d(){const p={cause:"initial",dedupe:i.dedupe},_=u._asyncData[f.value];return _?._init?u._asyncDataPromises[f.value]&&(p.cachedData=_._initialCachedData):(p.cachedData=i.getCachedData(f.value,u,{cause:"initial"}),u._asyncData[f.value]=va(u,f.value,o,i,p.cachedData),u._asyncData[f.value]._initialCachedData=p.cachedData),()=>u._asyncData[f.value].execute(p)}const m=d(),y=u._asyncData[f.value];y._deps++;const C=i.server!==!1&&u.payload.serverRendered;{let p=function(T){const H=u._asyncData[T];H?._deps&&(H._deps--,H._deps===0&&H?._off())};const _=an();if(_&&C&&i.immediate&&!_.sp&&(_.sp=[]),_&&!_._nuxtOnBeforeMountCbs){_._nuxtOnBeforeMountCbs=[];const T=_._nuxtOnBeforeMountCbs;dl(()=>{T.forEach(H=>{H()}),T.splice(0,T.length)}),ss(()=>T.splice(0,T.length))}const w=_&&(_._nuxtClientOnly||Ce(my,!1));C&&u.isHydrating&&(y.error.value||y.data.value!==void 0)?y.status.value=y.error.value?"error":"success":_&&(!w&&u.payload.serverRendered&&u.isHydrating||i.lazy)&&i.immediate?_._nuxtOnBeforeMountCbs.push(m):i.immediate&&y.status.value!=="success"&&m();const k=Zr(),A=()=>{},D=l?Rt(f,(T,H)=>{if((T||H)&&T!==H){a=!0;const L=u._asyncData[H]?.data.value!==void 0,W=u._asyncDataPromises[H]!==void 0,Z={cause:"initial",dedupe:i.dedupe};if(!u._asyncData[T]?._init){let F;H&&L?F=u._asyncData[H].data.value:(F=i.getCachedData(T,u,{cause:"initial"}),Z.cachedData=F),u._asyncData[T]=va(u,T,o,i,F)}u._asyncData[T]._deps++,H&&p(H),i._keyTriggersExecute!==!1&&(i.immediate||L||W)&&u._asyncData[T].execute(Z),rr(()=>{a=!1})}},{flush:"sync"}):A,R=i.watch?Rt(i.watch,()=>{a||(u._asyncData[f.value]?._execute.isPending()&&rr(()=>{u._asyncData[f.value]?._execute.flush()}),u._asyncData[f.value]?._execute({cause:"watch",dedupe:i.dedupe}))}):A;k&&Ia(()=>{D(),R(),p(f.value)})}const E={data:Sr(()=>u._asyncData[f.value]?.data),pending:Sr(()=>u._asyncData[f.value]?.pending),status:Sr(()=>u._asyncData[f.value]?.status),error:Sr(()=>u._asyncData[f.value]?.error),refresh:(...p)=>u._asyncData[f.value]?._init?u._asyncData[f.value].execute(...p):d()(),execute:(...p)=>E.refresh(...p),clear:()=>{const p=u._asyncData[f.value];if(p?._abortController)try{p._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{p._abortController=void 0}nu(u,f.value)}},v=Promise.resolve(u._asyncDataPromises[f.value]).then(()=>E);return Object.assign(v,E),Object.defineProperties(v,{then:{enumerable:!0,value:v.then.bind(v)},catch:{enumerable:!0,value:v.catch.bind(v)},finally:{enumerable:!0,value:v.finally.bind(v)}}),v}return t}}),yy=tu.__nuxt_factory();tu.__nuxt_factory({lazy:!0,_functionName:"useLazyAsyncData"});function Sr(e){return Re({get(){return e()?.value},set(t){const n=e();n&&(n.value=t)}})}function _y(e,t){return!(typeof e=="string"||typeof e=="object"&&e!==null||typeof e=="function"&&typeof t=="function")}function nu(e,t){t in e.payload.data&&(e.payload.data[t]=void 0),t in e.payload._errors&&(e.payload._errors[t]=void 0),e._asyncData[t]&&(e._asyncData[t].data.value=ae(e._asyncData[t]._default()),e._asyncData[t].error.value=void 0,e._asyncData[t].status.value="idle",e._asyncData[t]._initialCachedData=void 0),t in e._asyncDataPromises&&(e._asyncDataPromises[t]=void 0)}function by(e,t){const n={};for(const r of t)n[r]=e[r];return n}function va(e,t,n,r,s){e.payload._errors[t]??=void 0;const o=r.getCachedData!==ru,i=n,a=r.deep?nt:Ut,l=s!==void 0,f=e.hook("app:data:refresh",async u=>{(!u||u.includes(t))&&await c.execute({cause:"refresh:hook"})}),c={data:a(l?s:r.default()),pending:Re(()=>c.status.value==="pending"),error:Xa(e.payload._errors,t),status:Ut("idle"),execute:(...u)=>{const[h,d=void 0]=u,m=h&&d===void 0&&typeof h=="object"?h:{};if(e._asyncDataPromises[t]&&(m.dedupe??r.dedupe)==="defer")return e._asyncDataPromises[t];{const E="cachedData"in m?m.cachedData:r.getCachedData(t,e,{cause:m.cause??"refresh:manual"});if(E!==void 0)return e.payload.data[t]=c.data.value=E,c.error.value=void 0,c.status.value="success",Promise.resolve(E)}c._abortController&&c._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),c._abortController=new AbortController,c.status.value="pending";const y=new AbortController,C=new Promise((E,v)=>{try{const p=m.timeout??r.timeout,_=wy([c._abortController?.signal,m?.signal],y.signal,p);if(_.aborted){const w=_.reason;v(w instanceof Error?w:new DOMException(String(w??"Aborted"),"AbortError"));return}return _.addEventListener("abort",()=>{const w=_.reason;v(w instanceof Error?w:new DOMException(String(w??"Aborted"),"AbortError"))},{once:!0,signal:y.signal}),Promise.resolve(i(e,{signal:_})).then(E,v)}catch(p){v(p)}}).then(async E=>{if(e._asyncDataPromises[t]!==C)return;let v=E;r.transform&&(v=await r.transform(E)),r.pick&&(v=by(v,r.pick)),e.payload.data[t]=v,c.data.value=v,c.error.value=void 0,c.status.value="success"}).catch(E=>{if(e._asyncDataPromises[t]!==C||c._abortController?.signal.aborted)return e._asyncDataPromises[t];if(typeof DOMException<"u"&&E instanceof DOMException&&E.name==="AbortError")return c.status.value="idle",e._asyncDataPromises[t];c.error.value=Ft(E),c.data.value=ae(r.default()),c.status.value="error"}).finally(()=>{y.abort(),e._asyncDataPromises[t]===C&&delete e._asyncDataPromises[t]});return e._asyncDataPromises[t]=C,e._asyncDataPromises[t]},_execute:vg((...u)=>c.execute(...u),0,{leading:!0}),_default:r.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{f(),e._asyncData[t]?._init&&(e._asyncData[t]._init=!1),o||xt(()=>{e._asyncData[t]?._init||(nu(e,t),c.execute=()=>Promise.resolve())})}};return c}const vy=()=>{},ru=(e,t,n)=>{if(t.isHydrating)return t.payload.data[e];if(n.cause!=="refresh:manual"&&n.cause!=="refresh:hook")return t.static.data[e]};function wy(e,t,n){const r=e.filter(i=>!!i);if(typeof n=="number"&&n>=0){const i=AbortSignal.timeout?.(n);i&&r.push(i)}if(AbortSignal.any)return AbortSignal.any(r);const s=new AbortController;for(const i of r)if(i.aborted){const a=i.reason??new DOMException("Aborted","AbortError");try{s.abort(a)}catch{s.abort()}return s.signal}const o=()=>{const a=r.find(l=>l.aborted)?.reason??new DOMException("Aborted","AbortError");try{s.abort(a)}catch{s.abort()}};for(const i of r)i.addEventListener?.("abort",o,{once:!0,signal:t});return s.signal}function Ey(e){const t=[ft(e.method)?.toUpperCase()||"GET",ft(e.baseURL)];for(const n of[e.query||e.params]){const r=ft(n);if(!r)continue;const s={};for(const[o,i]of Object.entries(r))s[ft(o)]=ft(i);t.push(s)}if(e.body){const n=ft(e.body);if(!n)t.push(gn(n));else if(n instanceof ArrayBuffer)t.push(gn(Object.fromEntries([...new Uint8Array(n).entries()].map(([r,s])=>[r,s.toString()]))));else if(n instanceof FormData){const r=[];for(const s of n.entries()){const[o,i]=s;r.push([o,i instanceof File?`${i.name}:${i.size}:${i.lastModified}`:i])}t.push(gn(r))}else if(go(n))t.push(gn(ot(n)));else try{t.push(gn(n))}catch{console.warn("[useFetch] Failed to hash body",n)}}return t}const su=eu({name:"createUseFetch",factory(e={}){function t(n,r,s){const[o={},i]=typeof r=="string"?[{},r]:[r,s],a=typeof e=="function"?e(o):e,{server:l,lazy:f,default:c,transform:u,pick:h,watch:d,immediate:m,getCachedData:y,deep:C,dedupe:E,timeout:v,...p}={...typeof e=="function"?{}:a,...o,...typeof e=="function"?a:{}},_=Re(()=>ft(n)),w=Re(()=>ft(p.key)||"$f"+gn([i,typeof _.value=="string"?_.value:"",...Ey(p)]));if(!p.baseURL&&typeof _.value=="string"&&_.value[0]==="/"&&_.value[1]==="/")throw new Error('[nuxt] [useFetch] the request URL must not start with "//".');const k=ot({...Gh,...p,cache:typeof p.cache=="boolean"?void 0:p.cache}),A={server:l,lazy:f,default:c,transform:u,pick:h,immediate:m,getCachedData:y,deep:C,dedupe:E,timeout:v,watch:d===!1?[]:[...d||[],k]};return d===!1&&(A._keyTriggersExecute=!1),yy(w,(R,{signal:T})=>(p.$fetch||globalThis.$fetch)(_.value,{signal:T,...k}),A)}return t}});su.__nuxt_factory();su.__nuxt_factory({lazy:!0,_functionName:"useLazyFetch"});function Sy(e){if(e?.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Ty(e,t=Ve()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||=new Set,t._routePreloaded.has(n)))return;const s=t._preloadPromises||=[];if(s.length>4)return Promise.all(s).then(()=>Ty(e,t));t._routePreloaded.add(n);for(const o of r){const i=o.components?.default;if(typeof i!="function")continue;const a=Promise.resolve(i()).catch(()=>{}).finally(()=>s.splice(s.indexOf(a),1));s.push(a)}await Promise.all(s)}const Ry=Ye({name:"pinia",setup(e){const t=hp();return e.vueApp.use(t),xn(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}},hooks:{"app:rendered"(){const e=ve();e.payload.pinia=ne(e.$pinia).state.value,xn(void 0)}}}),Cy=Ye({name:"nuxt:global-components"}),Nt={auth:Ir(()=>me(()=>import("./B_rTis4D.js"),[],import.meta.url).then(e=>e.default||e)),default:Ir(()=>me(()=>import("./B3ocY-Ie.js"),__vite__mapDeps([30,31,3,2,32]),import.meta.url).then(e=>e.default||e))},Py=Ye({name:"nuxt:prefetch",setup(e){const t=Ve();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{const r=n?.meta?.layout;r&&typeof Nt[r]=="function"&&await Nt[r]()})}),e.hooks.hook("link:prefetch",n=>{if(Dn(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=Xc(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof fo[i]=="function"&&fo[i]();typeof s=="string"&&s in Nt&&Sy(Nt[s])})}}),Ay={1:"超管",2:"管理员",3:"代理",4:"运营"},Ko="auth_state";function Tr(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}function Ms(e){localStorage.setItem(Ko,JSON.stringify(e))}function xy(){try{const e=localStorage.getItem(Ko);return e?JSON.parse(e):null}catch{return null}}const ky=bp("auth",{state:()=>({token:"",account:"",identity:0,access:[],apps:[],regions:[],products:[],appbinds:[],currentAppId:0,siteTitle:""}),getters:{isSuperAdmin(){return this.identity===1},isAdmin(){return this.identity===1||this.identity===2},identityLabel(){return Ay[this.identity]??""},isLoggedIn(){return!!this.token}},actions:{setLoginData(e){this.token=e.token,this.account=e.account,this.identity=e.identity,this.access=Tr(e.access),this.apps=Tr(e.apps),this.regions=Tr(e.regions),this.products=Tr(e.products),this.appbinds=e.appbinds??[],this.appbinds.length>0&&!this.currentAppId&&(this.currentAppId=this.appbinds[0].id),Ms({token:this.token,account:this.account,identity:this.identity,access:this.access,apps:this.apps,regions:this.regions,products:this.products,appbinds:this.appbinds,currentAppId:this.currentAppId,siteTitle:this.siteTitle})},setCurrentApp(e){this.currentAppId=e,Ms({token:this.token,account:this.account,identity:this.identity,access:this.access,apps:this.apps,regions:this.regions,products:this.products,appbinds:this.appbinds,currentAppId:this.currentAppId,siteTitle:this.siteTitle})},setSiteTitle(e){this.siteTitle=e,Ms({token:this.token,account:this.account,identity:this.identity,access:this.access,apps:this.apps,regions:this.regions,products:this.products,appbinds:this.appbinds,currentAppId:this.currentAppId,siteTitle:this.siteTitle})},logout(){this.token="",this.account="",this.identity=0,this.access=[],this.apps=[],this.regions=[],this.products=[],this.appbinds=[],this.currentAppId=0,this.siteTitle="",localStorage.removeItem(Ko)},restore(){const e=xy();e&&(this.token=e.token??"",this.account=e.account??"",this.identity=e.identity??0,this.access=e.access??[],this.apps=e.apps??[],this.regions=e.regions??[],this.products=e.products??[],this.appbinds=e.appbinds??[],this.currentAppId=e.currentAppId??0,this.siteTitle=e.siteTitle??"")},hasAccess(e){return this.identity===1?!0:this.access.includes(e)}}}),Oy=Ye(()=>{ky().restore()}),My=[cg,fg,mg,ry,sy,oy,iy,ly,Ry,Cy,Py,Oy],ou=(e="RouteProvider")=>Wt({name:e,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){const n=t.renderKey,r=t.route,s={};for(const o in t.route)Object.defineProperty(s,o,{get:()=>n===t.renderKey?t.route[o]:r[o],enumerable:!0});return jt(on,Ze(s)),()=>t.vnode?Oe(t.vnode,{ref:t.vnodeRef}):t.vnode}}),Iy=ou(),wa=new WeakMap,Ly=Wt({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=ve(),o=nt(),i=Ce(on,null);let a;r({pageRef:o});const l=Ce(vc,null);let f;const c=s.deferHydration();let u=!1,h=!1,d=0;if(s.isHydrating){const y=s.hooks.hookOnce("app:error",c),C=Ve().beforeEach(()=>{y(),C()})}e.pageKey&&Rt(()=>e.pageKey,(y,C)=>{y!==C&&s.callHook("page:loading:start")});let m=!1;{const y=Ve().beforeResolve(()=>{m=!1});fr(()=>{y(),c()})}return()=>Oe(Jc,{name:e.name,route:e.route,...t},{default:y=>{const C=Dy(i,y.route,y.Component),E=i&&i.matched.length===y.route.matched.length;if(!y.Component){if(f&&!E&&!Is(f))return f;c();return}if(f&&l&&!Is(f)&&!l.isCurrent(y.route))return f;if(C&&i&&(!l||l?.isCurrent(i)))return(E||f)&&!Is(f)?f:null;const v=uo(y,e.pageKey),p=$y(i,y.route,y.Component);!s.isHydrating&&a===v&&!p&&xt(()=>{m||(m=!0,s.callHook("page:loading:end"))}),u&&a!==v&&h&&d++,a=v;const _=!!(e.transition??y.route.meta.pageTransition??Fi),w=_&&Qc([e.transition,y.route.meta.pageTransition,Fi,{onAfterLeave(){s["~transitionFinish"]?.(),delete s["~transitionFinish"],delete s["~transitionPromise"],s.callHook("page:transition:finish",y.Component)}}]),k=e.keepalive??y.route.meta.keepalive??qh;return f=Yc(_&&w,Cm(k,Oe(Mo,{key:d,suspensible:!0,onPending:()=>{u=!0,_&&!s["~transitionPromise"]&&(s["~transitionPromise"]=new Promise(A=>{s["~transitionFinish"]=A})),s.callHook("page:start",y.Component)},onResolve:async()=>{u=!1,h=!0;try{await xt(),s._route.sync?.(),await s.callHook("page:finish",y.Component),!m&&!p&&(m=!0,await s.callHook("page:loading:end"))}finally{c()}}},{default:()=>{const A={key:v||void 0,vnode:n.default?Hy(n.default,y):y.Component,route:y.route,renderKey:v||void 0,trackRootNodes:_,vnodeRef:o};if(!k)return Oe(Iy,A);const D=y.Component.type,R=D;let T=wa.get(R);return T||(T=ou(D.name||D.__name),wa.set(R,T)),Oe(T,A)}}))).default(),f}})}});function Dy(e,t,n){if(!e)return!1;const r=t.matched.findIndex(i=>i.components?.default===n?.type);if(r===-1)return!1;const s=t.matched.slice(0,r).filter(i=>i.components?.default);if(!s.length)return!1;const o=e.matched.filter(i=>i.components?.default);return s.some((i,a)=>i.components?.default!==o[a]?.components?.default)||n&&uo({route:t,Component:n})!==uo({route:e,Component:n})}function $y(e,t,n){return e?t.matched.findIndex(s=>s.components?.default===n?.type)Oe(Nt[e.name],e.layoutProps,t.slots)}}),jy={name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},Fy=Wt({name:"NuxtLayout",inheritAttrs:!1,props:jy,setup(e,t){const n=ve(),r=Ce(on),o=!r||r===No()?Nc():r,i=Re(()=>{let c=ae(e.name)??o?.meta.layout??iu(o?.path).appLayout??"default";return c&&!(c in Nt)&&e.fallback&&(c=ae(e.fallback)),c}),a=Ut();t.expose({layoutRef:a});const l=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",l),u=Ve().beforeEach(()=>{c(),u()})}let f;return()=>{const u=!!i.value&&i.value in Nt&&!!(o?.meta.layoutTransition??ji),h=u&&Qc([o?.meta.layoutTransition,ji,{onBeforeLeave(){n["~transitionPromise"]=new Promise(m=>{n["~transitionFinish"]=m})},onAfterLeave(){n["~transitionFinish"]?.(),delete n["~transitionFinish"],delete n["~transitionPromise"]}}]),d=f;return f=i.value,Yc(h,{default:()=>Oe(Mo,{suspensible:!0,onResolve:async()=>{await xt(l)}},{default:()=>Oe(By,{layoutProps:Wl(t.attrs,o.meta.layoutProps??{},{ref:a}),key:i.value||void 0,name:i.value,shouldProvide:!e.name,isRenderingNewLayout:m=>m!==d&&m===i.value,hasTransition:u},t.slots)})}).default()}}}),By=Wt({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean},isRenderingNewLayout:{type:Function,required:!0}},setup(e,t){const n=e.name;e.shouldProvide&&jt(vc,{isCurrent:o=>n===!1||n===(o.meta.layout??iu(o.path).appLayout??"default")});const r=Ce(on);if(r&&r===No()){const o=Nc(),i={};for(const a in o){const l=a;Object.defineProperty(i,l,{enumerable:!0,get:()=>e.isRenderingNewLayout(e.name)?o[l]:r[l]})}jt(on,Ze(i))}return()=>!n||typeof n=="string"&&!(n in Nt)?t.slots.default?.():Oe(Ny,{key:n,layoutProps:e.layoutProps,name:n},t.slots)}}),Uy=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Vy={};function Ky(e,t){const n=Ly,r=Fy;return Ge(),ht(r,null,{default:Co(()=>[ye(n)]),_:1})}const Wy=Uy(Vy,[["render",Ky]]),qy={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error,r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),a=void 0,c=s?Ir(()=>me(()=>import("./uI9fc-sC.js"),__vite__mapDeps([33,31,34,35]),import.meta.url)):Ir(()=>me(()=>import("./C_4yneL9.js"),__vite__mapDeps([36,34,37]),import.meta.url));return(u,h)=>(Ge(),ht(ae(c),mu(Vl({status:ae(r),statusText:ae(o),statusCode:ae(r),statusMessage:ae(o),description:ae(i),stack:ae(a)})),null,16))}},zy={key:0},Ea={__name:"nuxt-root",setup(e){const t=()=>null,n=ve(),r=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",r),u=Ve().beforeEach(()=>{c(),u()})}const s=!1;jt(on,No()),n.hooks.callHookWith(c=>c.map(u=>u()),"vue:setup",[]);const o=cs(),i=!1,a=/bot\b|chrome-lighthouse|facebookexternalhit|google\b/i;function l(c,u,h){const d=n.vueApp.config.errorHandler;if(d&&!d.__nuxt_default)try{d(c,u,h)}catch(m){console.error("[nuxt] Error in `app.config.errorHandler`",m)}}pl((c,u,h)=>{if(n.hooks.callHook("vue:error",c,u,h)?.catch(d=>console.error("[nuxt] Error in `vue:error` hook",d)),a.test(navigator.userAgent))return n.hooks.callHook("app:error",c),console.error(`[nuxt] Not rendering error page for bot with user agent \`${navigator.userAgent}\`:`,c),!1;if(Ec(c)&&(c.fatal||c.unhandled))return n.runWithContext(()=>Zt(c)),l(c,u,h),!1});const f=!1;return(c,u)=>(Ge(),ht(Mo,{onResolve:ae(r)},{default:Co(()=>[ae(i)?(Ge(),Gf("div",zy)):ae(o)?(Ge(),ht(ae(qy),{key:1,error:ae(o)},null,8,["error"])):ae(f)?(Ge(),ht(ae(t),{key:2,context:ae(f)},null,8,["context"])):ae(s)?(Ge(),ht(yf(ae(s)),{key:3})):(Ge(),ht(ae(Wy),{key:4}))]),_:1},8,["onResolve"]))}};let Sa;{let e;Sa=async function(){if(e)return e;const n=!!(window.__NUXT__?.serverRendered??document.getElementById("__NUXT_DATA__")?.dataset.ssr==="true"),r=n?Ud(Ea):Bd(Ea),s=Qh({vueApp:r});async function o(i){await s.callHook("app:error",i),s.payload.error||=Ft(i)}o.__nuxt_default=!0,r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)}),!n&&Bi.id&&s.hook("app:suspense:resolve",()=>{document.getElementById(Bi.id)?.remove()});try{await tp(s,My)}catch(i){o(i)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(Jh),await s.hooks.callHook("app:mounted",r),await xt()}catch(i){o(i)}return r},e=Sa().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{Dn as $,Re as A,e_ as B,ky as C,t_ as D,xt as E,ke as F,Yr as G,Qy as H,n_ as I,ht as J,fr as K,Yy as L,ae as M,Vo as N,ba as O,i_ as P,Oe as Q,Jy as R,sc as S,fd as T,fp as U,Ut as V,up as W,Ty as X,s_ as Y,ac as Z,Uy as _,Ul as a,Xs as a0,Ho as a1,mh as a2,Fr as a3,r_ as a4,Xa as a5,pe as a6,ye as b,Gf as c,Kl as d,ve as e,Oc as f,Wt as g,ns as h,Ce as i,xo as j,Gy as k,Xf as l,ki as m,Qr as n,Ge as o,Ld as p,Md as q,Xy as r,nt as s,vu as t,o_ as u,Zy as v,Co as w,ot as x,No as y,Ve as z}; diff --git a/apps/admin/.output/public/_nuxt/CgB4v6_d.js b/apps/admin/.output/public/_nuxt/CgB4v6_d.js new file mode 100644 index 00000000..cb00343f --- /dev/null +++ b/apps/admin/.output/public/_nuxt/CgB4v6_d.js @@ -0,0 +1 @@ +import{g as de,j as re,c as o,H as Z,a as e,F as k,r as w,t as i,d as y,G as K,k as r,q as O,l as c,m as C,p as ce,B as z,s as S,x as N,A as j,o as a,n as x,D as P,_ as ue}from"./CfpW9SkI.js";import{u as pe}from"./CMwGY1Mu.js";import{u as ve}from"./DSu8q42f.js";import"./DL330dAC.js";const me={class:"flex gap-4",style:{"align-items":"flex-start"}},xe={style:{width:"208px","flex-shrink":"0"}},be={class:"flex flex-col gap-1.5"},ye=["onClick"],fe={width:"17",height:"17",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},he=["d"],ge={class:"flex-1 min-w-0"},_e={class:"text-sm font-medium text-slate-700"},ke={class:"text-[11px] text-slate-400 truncate"},we={key:0,class:"dot-on",title:"已启用"},Ce={class:"flex-1 min-w-0"},Se={key:0},qe={class:"rounded-xl px-4 py-3 mb-4 flex items-center gap-3",style:{background:"linear-gradient(135deg,#ecfdf5,#f0fdfa)",border:"1px solid #a7f3d0"}},Me={style:{width:"36px",height:"36px","border-radius":"10px",background:"#10b981",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},Te={style:{width:"19px",height:"19px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Ae={class:"flex-1"},Ke={class:"text-sm font-semibold text-emerald-800"},Ie={class:"grid grid-cols-4 gap-3 mb-4"},Ve=["onClick"],je={class:"flex items-center justify-between"},Pe={key:0,class:"text-[10px] text-emerald-500 font-semibold"},$e={key:1,class:"text-[10px] text-slate-300 font-semibold"},De={class:"text-sm font-semibold text-slate-700 mt-2"},Ue={class:"text-[11px] text-slate-400 mb-2.5"},Le=["onClick"],Be=["checked","onClick"],Oe={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},ze={class:"flex items-center justify-between mb-5"},Ne={class:"flex items-center gap-3"},Re={class:"text-base font-semibold text-slate-800"},Ee={class:"text-xs text-slate-400 mt-0.5"},Ge={class:"flex items-center gap-2"},He={class:"flex items-center gap-2 mr-1"},Fe={class:"grid grid-cols-2 gap-x-5 gap-y-4"},Je={class:"label py-1"},Qe={class:"label-text text-sm"},Ze={key:0,class:"text-rose-500 ml-0.5"},We={key:1,class:"lock-tag ml-1.5"},Xe={class:"relative"},Ye=["onUpdate:modelValue","type","placeholder"],et=["onClick"],tt={key:0,class:"text-[11px] text-slate-400 mt-1"},st={key:1},lt={class:"rounded-xl px-4 py-3 mb-4 flex items-center gap-3",style:{background:"#fffbeb",border:"1px solid #fde68a"}},ot={style:{width:"36px",height:"36px","border-radius":"10px",background:"#f59e0b",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},at={style:{width:"19px",height:"19px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},nt={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},it={class:"flex items-center justify-between mb-5"},dt={class:"flex items-center gap-2"},rt={class:"flex items-center gap-2 mr-1"},ct={class:"grid grid-cols-2 gap-x-5 gap-y-4"},ut={class:"form-control"},pt={class:"form-control"},vt={class:"form-control"},mt=["value"],xt={class:"form-control"},bt={class:"form-control"},yt={class:"form-control"},ft={class:"relative"},ht=["type"],gt={class:"form-control col-span-2"},_t={class:"flex items-end gap-3"},kt={class:"form-control flex-1"},wt={key:2},Ct={class:"rounded-xl px-4 py-3 mb-4 flex items-center gap-3",style:{background:"#f0fdfa",border:"1px solid #99f6e4"}},St={style:{width:"36px",height:"36px","border-radius":"10px",background:"#14b8a6",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},qt={style:{width:"19px",height:"19px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Mt={class:"badge badge-sm text-white",style:{background:"#14b8a6",border:"none"}},Tt={class:"grid grid-cols-4 gap-3 mb-4"},At=["onClick"],Kt={class:"flex items-center justify-between"},It={key:0,class:"text-[10px] text-emerald-500 font-semibold"},Vt={key:1,class:"text-[10px] text-slate-300 font-semibold"},jt={class:"text-sm font-semibold text-slate-700 mt-2"},Pt={class:"text-[11px] text-slate-400 mb-2.5"},$t=["onClick"],Dt=["checked","onClick"],Ut={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},Lt={class:"flex items-center justify-between mb-5"},Bt={class:"flex items-center gap-3"},Ot={class:"text-base font-semibold text-slate-800"},zt={class:"text-xs text-slate-400 mt-0.5"},Nt={class:"flex items-center gap-2"},Rt={class:"flex items-center gap-2 mr-1"},Et={class:"grid grid-cols-2 gap-x-5 gap-y-4"},Gt={class:"label py-1"},Ht={class:"label-text text-sm"},Ft={key:0,class:"text-rose-500 ml-0.5"},Jt={key:1,class:"lock-tag ml-1.5"},Qt={class:"relative"},Zt=["onUpdate:modelValue","type","placeholder"],Wt=["onClick"],Xt={key:0,class:"text-[11px] text-slate-400 mt-1"},W="6",Yt=de({__name:"systemconfig",setup(es){const{success:q,info:M,error:R}=pe(),{webApi:E}=ve(),X=[{id:"storage",label:"对象存储",desc:"固件 / 头像 / 文件",color:"#6366f1",icon:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8"},{id:"mail",label:"邮件服务",desc:"生产通知 / 厂家发信",color:"#f59e0b",icon:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},{id:"translate",label:"翻译服务",desc:"后台文案多语言同步",color:"#14b8a6",icon:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"}],T=S("storage"),n=N({enable:!0,host:"smtp.exmail.qq.com",port:"465",secure:"SSL",user:"noreply@yunyan.com",pass:"",_showPass:!1,fromName:"云岩科技",cc:"ops@yunyan.com",testTo:""}),Y=["SSL","STARTTLS","不加密"];function ee(){if(!n.testTo){M("请先填测试收件邮箱");return}M(`正在向 ${n.testTo} 发送测试邮件…(演示)`),setTimeout(()=>q(`测试邮件已发送至 ${n.testTo}`),600)}function te(l){return l==="storage"?!0:l==="mail"?n.enable:l==="translate"?G.value?.enable??!1:!1}const I=N([{id:"volc",name:"火山引擎翻译",short:"火山",tag:"Volcengine MT",color:"#1664ff",enable:!0,fields:[{key:"region",label:"Region",value:"cn-beijing",mono:!0,required:!0},{key:"accessKey",label:"AccessKey",value:"AKLTZjJmODdk****",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"}]},{id:"aliyun",name:"阿里云翻译",short:"阿里",tag:"Aliyun MT",color:"#ff6a00",enable:!0,fields:[{key:"region",label:"Region",value:"cn-hangzhou",mono:!0,required:!0},{key:"accessKeyId",label:"AccessKey ID",value:"LTAI5txxxxxxxx",mono:!0,encrypted:!0,required:!0},{key:"accessKeySecret",label:"AccessKey Secret",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"},{key:"scene",label:"翻译场景",value:"general",mono:!0,hint:"general / social / ecommerce / tech"}]},{id:"google",name:"Google 翻译",short:"G",tag:"Cloud Translation",color:"#ea4335",enable:!1,fields:[{key:"project",label:"Project ID",value:"",mono:!0,required:!0},{key:"apiKey",label:"API Key",value:"",mono:!0,encrypted:!0,required:!0}]},{id:"deepl",name:"DeepL",short:"DL",tag:"DeepL API",color:"#0f2b46",enable:!1,fields:[{key:"authKey",label:"Auth Key",value:"",mono:!0,encrypted:!0,required:!0},{key:"plan",label:"套餐",value:"free",mono:!0,hint:"free / pro"}]}]),f=S("volc"),h=S("volc"),p=j(()=>I.find(l=>l.id===h.value)),G=j(()=>I.find(l=>l.id===f.value));function $(l){const s=I.find(t=>t.id===l);s&&(f.value=l,h.value=l,s.enable=!0,q(`已将「${s.name}」设为默认翻译服务,后台多语言同步将走该服务`))}function se(){M(`正在测试 ${p.value.name} …(演示)`),setTimeout(()=>q(`${p.value.name} 连接正常,可调用翻译`),600)}const A=N([{id:"aliyun",name:"阿里云 OSS",short:"OSS",tag:"Aliyun",color:"#ff6a00",enable:!1,fields:[{key:"endpoint",label:"Endpoint",value:"",placeholder:"oss-cn-shanghai.aliyuncs.com",mono:!0,required:!0},{key:"bucket",label:"Bucket",value:"",placeholder:"yunyan-firmware",mono:!0,required:!0},{key:"access_key_id",label:"AccessKey ID",value:"",mono:!0,encrypted:!0,required:!0},{key:"access_key_secret",label:"AccessKey Secret",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"},{key:"domain",label:"自定义域名 (CDN)",value:"",placeholder:"cdn.yunyan.com",wide:!0,hint:"可选,配置后文件下载 URL 走该域名"}]},{id:"tencent",name:"腾讯云 COS",short:"COS",tag:"Tencent",color:"#00a4ff",enable:!0,fields:[{key:"region",label:"Region",value:"ap-guangzhou",mono:!0,required:!0},{key:"appid",label:"AppId",value:"1253517901",mono:!0,required:!0},{key:"bucket",label:"Bucket",value:"yunyan-1253517901",mono:!0,required:!0},{key:"secretId",label:"SecretId",value:"AKIDxxxxxxxx",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"},{key:"domain",label:"自定义域名 (CDN)",value:"",wide:!0,hint:"可选"}]},{id:"qiniu",name:"七牛云 Kodo",short:"KODO",tag:"Qiniu",color:"#00aaff",enable:!1,fields:[{key:"zone",label:"存储区域",value:"",mono:!0,required:!0},{key:"bucket",label:"Bucket",value:"",mono:!0,required:!0},{key:"accessKey",label:"AccessKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"domain",label:"加速域名",value:"",wide:!0}]},{id:"minio",name:"MinIO",short:"S3",tag:"S3 兼容",color:"#c72e49",enable:!1,fields:[{key:"endpoint",label:"Endpoint",value:"",mono:!0,required:!0,placeholder:"minio.内网:9000"},{key:"bucket",label:"Bucket",value:"",mono:!0,required:!0},{key:"accessKey",label:"AccessKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"useSSL",label:"使用 HTTPS",value:"false",mono:!0}]}]),b=S("aliyun"),g=S("aliyun"),v=j(()=>A.find(l=>l.id===g.value)),le=j(()=>A.find(l=>l.id===b.value)),H={aliyun:{svcId:"storage_aliyun_oss",provider:"aliyun_oss"},tencent:{svcId:"storage_tencent_cos",provider:"tencent_cos"},qiniu:{svcId:"storage_qiniu_kodo",provider:"qiniu_kodo"},minio:{svcId:"storage_minio",provider:"minio"}},F={},V={};for(const[l,s]of Object.entries(H))F[s.provider]=l,V[l]=s.svcId;const D=S(new Set);async function oe(){try{const s=(await E("getsvcconfigs",{app_name:""}))?.items||[];let t="";for(const d of s){if(!String(d.categories||"").split(",").map(m=>m.trim()).includes(W))continue;const u=F[d.provider],_=A.find(m=>m.id===u);if(_){D.value.add(d.id),V[u]=d.id,_.enable=!!d.enable,_.enable&&!t&&(t=u);for(const m of d.fields||[]){const B=_.fields.find(ie=>ie.key===m.key);B&&(B.value=m.encrypted?"":m.def_value||"",m.encrypted&&m.def_value==="[encrypted]"&&(B.hint="已配置(留空保留原密文)"))}}}t&&(b.value=t)}catch(l){M("对象存储配置读取失败(console 接口不可用?):"+(l?.message??l))}}re(oe);async function J(l){const s=H[l.id];if(!s)return R("未知的存储厂商: "+l.id),!1;const t=V[l.id]||s.svcId,d={id:t,name:l.name,provider:s.provider,categories:W,description:`${l.tag} · 对象存储`,enable:l.enable,app_name:"",fields:l.fields.map((u,_)=>({key:u.key,description:u.label,type:"",encrypted:!!u.encrypted,def_value:u.value||"",sort:_}))},Q=D.value.has(t)?"updatesvcconfig":"addsvcconfig";try{return await E(Q,d),D.value.add(t),V[l.id]=t,!0}catch(u){return R(u?.message??"保存失败"),!1}}function ae(){U(g.value)}async function U(l){const s=A.find(t=>t.id===l);s&&(b.value=l,g.value=l,s.enable=!0,await J(s)&&q(`已将「${s.name}」设为默认对象存储并保存,固件 / 头像上传将指向该存储桶`))}function ne(){M(`连接测试暂未接后端:保存后到「产品 → 版本管理」上传一个固件即可验证 ${v.value.name} 是否可写`)}async function L(){const l=v.value;await J(l)&&q(`「${l.name}」配置已保存${l.enable?"并启用":""}`)}return(l,s)=>(a(),o("div",null,[s[39]||(s[39]=Z('
对象存储已接后端·对象存储配置已落库(存 svc_config,与「第三方服务配置 → 存储」共用同一份),启用的「阿里云 OSS」即固件 / 头像上传所用存储。邮件 / 翻译两项仍为演示。

系统配置

平台级服务配置:① 对象存储(固件 / 头像等文件,默认阿里云 OSS);② 邮件服务(生产环节给厂家发通知邮件);③ 翻译服务(后台配置多语言同步)。

',2)),e("div",me,[e("div",xe,[e("div",be,[(a(),o(k,null,w(X,t=>e("div",{key:t.id,class:x(["cat-item",{active:T.value===t.id}]),onClick:d=>T.value=t.id},[e("div",{class:"cat-icon",style:K({background:t.color})},[(a(),o("svg",fe,[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:t.icon},null,8,he)]))],4),e("div",ge,[e("div",_e,i(t.label),1),e("div",ke,i(t.desc),1)]),te(t.id)?(a(),o("span",we)):c("",!0)],10,ye)),64))])]),e("div",Ce,[T.value==="storage"?(a(),o("div",Se,[e("div",qe,[e("div",Me,[(a(),o("svg",Te,[...s[13]||(s[13]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"},null,-1)])]))]),e("div",Ae,[e("div",Ke,"设备固件上传当前指向:"+i(le.value.name),1),s[14]||(s[14]=e("div",{class:"text-[11px] text-emerald-600 mt-0.5"},"固件包、用户头像等文件均上传至此存储桶。切换默认存储不影响历史文件 URL。",-1))]),s[15]||(s[15]=e("span",{class:"badge badge-success badge-sm text-white"},"运行中",-1))]),s[19]||(s[19]=e("div",{class:"flex items-center justify-between mb-2"},[e("span",{class:"text-xs font-semibold text-slate-500"},[y("选择默认对象存储 "),e("span",{class:"text-slate-400 font-normal"},"(固件 / 头像等文件上传指向此服务)")])],-1)),e("div",Ie,[(a(!0),o(k,null,w(A,t=>(a(),o("div",{key:t.id,class:x(["provider-card",{active:g.value===t.id,"is-default":t.id===b.value}]),onClick:d=>g.value=t.id},[e("div",je,[e("div",{class:"provider-logo",style:K({background:t.color})},i(t.short),5),t.enable?(a(),o("span",Pe,"已配置")):(a(),o("span",$e,"未配置"))]),e("div",De,i(t.name),1),e("div",Ue,i(t.tag),1),e("label",{class:x(["default-pick",{on:t.id===b.value}]),onClick:P(d=>U(t.id),["stop"])},[e("input",{type:"radio",class:"radio radio-xs radio-primary",checked:t.id===b.value,onClick:P(d=>U(t.id),["stop"])},null,8,Be),e("span",null,i(t.id===b.value?"默认使用":"设为默认"),1)],10,Le)],10,Ve))),128))]),e("div",Oe,[e("div",ze,[e("div",Ne,[e("div",{class:"provider-logo",style:K({background:v.value.color,width:"44px",height:"44px",fontSize:"15px"})},i(v.value.short),5),e("div",null,[e("h3",Re,i(v.value.name),1),e("p",Ee,i(v.value.tag)+" · 对象存储",1)])]),e("div",Ge,[e("label",He,[s[16]||(s[16]=e("span",{class:"text-xs text-slate-500"},"启用",-1)),r(e("input",{"onUpdate:modelValue":s[0]||(s[0]=t=>v.value.enable=t),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[O,v.value.enable]])]),e("button",{class:"btn btn-outline btn-sm",onClick:ne},"测试连接"),g.value!==b.value?(a(),o("button",{key:0,class:"btn btn-ghost btn-sm text-indigo-600",onClick:ae},"设为默认存储")):c("",!0),e("button",{class:"btn btn-primary btn-sm text-white",onClick:L},"保存")])]),s[17]||(s[17]=e("div",{class:"divider text-xs text-slate-400 my-3"},"连接配置",-1)),e("div",Fe,[(a(!0),o(k,null,w(v.value.fields,t=>(a(),o("div",{key:t.key,class:x(["form-control",{"col-span-2":t.wide}])},[e("label",Je,[e("span",Qe,[y(i(t.label),1),t.required?(a(),o("span",Ze,"*")):c("",!0),t.encrypted?(a(),o("span",We,"🔒 加密存储")):c("",!0)])]),e("div",Xe,[r(e("input",{"onUpdate:modelValue":d=>t.value=d,type:t.encrypted&&!t._show?"password":"text",class:x(["input input-bordered input-sm w-full",{"font-mono":t.mono,"pr-14":t.encrypted}]),placeholder:t.placeholder},null,10,Ye),[[z,t.value]]),t.encrypted?(a(),o("button",{key:0,type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:d=>t._show=!t._show},i(t._show?"隐藏":"显示"),9,et)):c("",!0)]),t.hint?(a(),o("span",tt,i(t.hint),1)):c("",!0)],2))),128))]),s[18]||(s[18]=Z('
上传规则
固件包路径前缀
/firmware/
头像路径前缀
/userAvatar/
签名 URL 有效期
3600 s
',2))])])):T.value==="mail"?(a(),o("div",st,[e("div",lt,[e("div",ot,[(a(),o("svg",at,[...s[20]||(s[20]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},null,-1)])]))]),s[21]||(s[21]=e("div",{class:"flex-1"},[e("div",{class:"text-sm font-semibold text-amber-800"},"生产环节邮件通知"),e("div",{class:"text-[11px] text-amber-600 mt-0.5"},"用于给目标厂家发送授权信息、公码批次、设备出货等通知邮件;账号告警也走此通道。")],-1))]),e("div",nt,[e("div",it,[s[23]||(s[23]=e("div",{class:"flex items-center gap-3"},[e("div",{class:"provider-logo",style:{background:"#f59e0b",width:"44px",height:"44px",fontSize:"13px"}},"SMTP"),e("div",null,[e("h3",{class:"text-base font-semibold text-slate-800"},"邮件服务"),e("p",{class:"text-xs text-slate-400 mt-0.5"},"SMTP 发信")])],-1)),e("div",dt,[e("label",rt,[s[22]||(s[22]=e("span",{class:"text-xs text-slate-500"},"启用",-1)),r(e("input",{"onUpdate:modelValue":s[1]||(s[1]=t=>n.enable=t),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[O,n.enable]])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:L},"保存")])]),s[32]||(s[32]=e("div",{class:"divider text-xs text-slate-400 my-3"},"发信配置",-1)),e("div",ct,[e("div",ut,[s[24]||(s[24]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[y("SMTP 主机 "),e("span",{class:"text-rose-500"},"*")])],-1)),r(e("input",{"onUpdate:modelValue":s[2]||(s[2]=t=>n.host=t),class:"input input-bordered input-sm font-mono",placeholder:"smtp.exmail.qq.com"},null,512),[[C,n.host]])]),e("div",pt,[s[25]||(s[25]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[y("端口 "),e("span",{class:"text-rose-500"},"*")])],-1)),r(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>n.port=t),class:"input input-bordered input-sm font-mono",placeholder:"465"},null,512),[[C,n.port]])]),e("div",vt,[s[26]||(s[26]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"加密方式")],-1)),r(e("select",{"onUpdate:modelValue":s[4]||(s[4]=t=>n.secure=t),class:"select select-bordered select-sm"},[(a(),o(k,null,w(Y,t=>e("option",{key:t,value:t},i(t),9,mt)),64))],512),[[ce,n.secure]])]),e("div",xt,[s[27]||(s[27]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"发件人显示名")],-1)),r(e("input",{"onUpdate:modelValue":s[5]||(s[5]=t=>n.fromName=t),class:"input input-bordered input-sm",placeholder:"云岩科技"},null,512),[[C,n.fromName]])]),e("div",bt,[s[28]||(s[28]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[y("发信账号 "),e("span",{class:"text-rose-500"},"*")])],-1)),r(e("input",{"onUpdate:modelValue":s[6]||(s[6]=t=>n.user=t),class:"input input-bordered input-sm font-mono",placeholder:"noreply@yunyan.com"},null,512),[[C,n.user]])]),e("div",yt,[s[29]||(s[29]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[y("授权码 / 密码 "),e("span",{class:"lock-tag ml-1.5"},"🔒 加密存储")])],-1)),e("div",ft,[r(e("input",{"onUpdate:modelValue":s[7]||(s[7]=t=>n.pass=t),type:n._showPass?"text":"password",class:"input input-bordered input-sm w-full font-mono pr-14",placeholder:"留空保留原密文"},null,8,ht),[[z,n.pass]]),e("button",{type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:s[8]||(s[8]=t=>n._showPass=!n._showPass)},i(n._showPass?"隐藏":"显示"),1)])]),e("div",gt,[s[30]||(s[30]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"默认抄送 (CC)")],-1)),r(e("input",{"onUpdate:modelValue":s[9]||(s[9]=t=>n.cc=t),class:"input input-bordered input-sm font-mono",placeholder:"多个邮箱用逗号分隔,可留空"},null,512),[[C,n.cc]])])]),s[33]||(s[33]=e("div",{class:"divider text-xs text-slate-400 my-4"},"测试发信",-1)),e("div",_t,[e("div",kt,[s[31]||(s[31]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"测试收件邮箱")],-1)),r(e("input",{"onUpdate:modelValue":s[10]||(s[10]=t=>n.testTo=t),class:"input input-bordered input-sm font-mono",placeholder:"填一个邮箱,发送一封测试邮件验证配置"},null,512),[[C,n.testTo]])]),e("button",{class:"btn btn-outline btn-sm",onClick:ee},"发送测试")])])])):T.value==="translate"?(a(),o("div",wt,[e("div",Ct,[e("div",St,[(a(),o("svg",qt,[...s[34]||(s[34]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"},null,-1)])]))]),s[35]||(s[35]=e("div",{class:"flex-1"},[e("div",{class:"text-sm font-semibold text-teal-800"},"后台配置多语言同步"),e("div",{class:"text-[11px] text-teal-600 mt-0.5"},"应用文案、通知 / 邮件模板、公告等后台配置内容,按目标语种自动翻译,保证多语言版本一致。")],-1)),e("span",Mt,"默认 "+i(G.value.name),1)]),s[38]||(s[38]=e("div",{class:"flex items-center justify-between mb-2"},[e("span",{class:"text-xs font-semibold text-slate-500"},[y("选择默认翻译服务 "),e("span",{class:"text-slate-400 font-normal"},"(后台多语言同步走此服务)")])],-1)),e("div",Tt,[(a(!0),o(k,null,w(I,t=>(a(),o("div",{key:t.id,class:x(["provider-card",{active:h.value===t.id,"is-default":t.id===f.value}]),onClick:d=>h.value=t.id},[e("div",Kt,[e("div",{class:"provider-logo",style:K({background:t.color})},i(t.short),5),t.enable?(a(),o("span",It,"已配置")):(a(),o("span",Vt,"未配置"))]),e("div",jt,i(t.name),1),e("div",Pt,i(t.tag),1),e("label",{class:x(["default-pick",{on:t.id===f.value}]),onClick:P(d=>$(t.id),["stop"])},[e("input",{type:"radio",class:"radio radio-xs radio-primary",checked:t.id===f.value,onClick:P(d=>$(t.id),["stop"])},null,8,Dt),e("span",null,i(t.id===f.value?"默认使用":"设为默认"),1)],10,$t)],10,At))),128))]),e("div",Ut,[e("div",Lt,[e("div",Bt,[e("div",{class:"provider-logo",style:K({background:p.value.color,width:"44px",height:"44px",fontSize:"13px"})},i(p.value.short),5),e("div",null,[e("h3",Ot,i(p.value.name),1),e("p",zt,i(p.value.tag)+" · 机器翻译",1)])]),e("div",Nt,[e("label",Rt,[s[36]||(s[36]=e("span",{class:"text-xs text-slate-500"},"启用",-1)),r(e("input",{"onUpdate:modelValue":s[11]||(s[11]=t=>p.value.enable=t),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[O,p.value.enable]])]),e("button",{class:"btn btn-outline btn-sm",onClick:se},"测试连接"),h.value!==f.value?(a(),o("button",{key:0,class:"btn btn-ghost btn-sm text-indigo-600",onClick:s[12]||(s[12]=t=>$(h.value))},"设为默认")):c("",!0),e("button",{class:"btn btn-primary btn-sm text-white",onClick:L},"保存")])]),s[37]||(s[37]=e("div",{class:"divider text-xs text-slate-400 my-3"},"连接配置",-1)),e("div",Et,[(a(!0),o(k,null,w(p.value.fields,t=>(a(),o("div",{key:t.key,class:x(["form-control",{"col-span-2":t.wide}])},[e("label",Gt,[e("span",Ht,[y(i(t.label),1),t.required?(a(),o("span",Ft,"*")):c("",!0),t.encrypted?(a(),o("span",Jt,"🔒 加密存储")):c("",!0)])]),e("div",Qt,[r(e("input",{"onUpdate:modelValue":d=>t.value=d,type:t.encrypted&&!t._show?"password":"text",class:x(["input input-bordered input-sm w-full",{"font-mono":t.mono,"pr-14":t.encrypted}]),placeholder:t.placeholder},null,10,Zt),[[z,t.value]]),t.encrypted?(a(),o("button",{key:0,type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:d=>t._show=!t._show},i(t._show?"隐藏":"显示"),9,Wt)):c("",!0)]),t.hint?(a(),o("span",Xt,i(t.hint),1)):c("",!0)],2))),128))])])])):c("",!0)])])]))}}),as=ue(Yt,[["__scopeId","data-v-af95cc3b"]]);export{as as default}; diff --git a/apps/admin/.output/public/_nuxt/CtB1c492.js b/apps/admin/.output/public/_nuxt/CtB1c492.js new file mode 100644 index 00000000..817ae9f8 --- /dev/null +++ b/apps/admin/.output/public/_nuxt/CtB1c492.js @@ -0,0 +1 @@ +import{g as q,j as H,c as a,k as i,v as j,a as t,F as p,r as f,p as z,m as u,t as r,D as I,H as G,s as m,x as J,A as k,o as d}from"./CfpW9SkI.js";import{u as K}from"./DSu8q42f.js";import{u as P}from"./CMwGY1Mu.js";import"./DL330dAC.js";const Q={class:"flex items-center justify-between mb-5"},W={class:"flex items-center gap-3 mb-4 flex-wrap"},X=["value"],Y=["value"],Z={class:"bg-white rounded-xl shadow-sm border border-slate-100"},tt={class:"overflow-x-auto"},et={class:"table table-zebra"},st={key:0},lt={key:1},ot={class:"bg-slate-100/80"},nt={colspan:"7",class:"py-2"},at={class:"font-semibold text-slate-600 text-sm"},it={class:"text-xs text-slate-400 ml-2"},dt={class:"font-mono text-sm text-slate-400"},rt={class:"font-medium"},ut={class:"font-mono text-sm"},mt={class:"badge badge-outline badge-sm"},pt={class:"text-sm"},bt={class:"text-sm"},ct={key:1,class:"text-slate-300"},ft={class:"text-right"},vt={class:"inline-flex gap-1"},gt=["onClick"],xt=["onClick"],yt={class:"flex items-center gap-3 mb-5"},wt={class:"text-lg font-semibold text-slate-800"},kt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},ht={class:"grid grid-cols-2 gap-4"},_t={class:"form-control mb-4"},Vt={class:"form-control mb-4"},Ut={class:"form-control mb-4"},Ct={class:"form-control mb-4"},Lt={class:"form-control mb-4"},Ft={class:"form-control mb-4"},St={class:"form-control mb-4"},$t={class:"form-control mb-4"},At={class:"form-control mb-6"},Dt={class:"flex gap-3"},Et=["disabled"],Tt=q({__name:"meettemplates",setup(jt){const{webApi:v}=K(),{success:S,error:g}=P(),x=m("list"),b=m([]),h=m(!1),_=m(!1),c=m(!1),y=m("zh"),w=m(""),V=m(""),o=J({id:0,title:"",tid:"",language:"",ttype:"",tags:"",icon:"",description:"",outline:"",template:""});function $(l){return(l||"").split(",").map(e=>e.trim()).filter(Boolean)}function A(l){return(l||"").split("-")[0].trim().toLowerCase()}const B=k(()=>{const l=new Set;return b.value.forEach(e=>{e.language&&l.add(e.language)}),Array.from(l).sort()}),M=k(()=>{const l=new Set;return b.value.forEach(e=>{e.tid&&l.add(e.tid)}),Array.from(l).sort()}),D=k(()=>{const l=V.value.trim().toLowerCase();return b.value.filter(e=>!(y.value&&A(e.language)!==A(y.value)||w.value&&(e.tid||"")!==w.value||l&&(e.title||"").toLowerCase().indexOf(l)<0))}),O=k(()=>{const l={};return D.value.forEach(s=>{const n=s.tid||"";(l[n]=l[n]||[]).push(s)}),Object.keys(l).sort((s,n)=>s===""?-1:n===""?1:s({key:s,label:s||"无 tid",items:l[s]}))});async function U(){h.value=!0;try{const l=await v("getmeettemplates",{});b.value=l?.templates??[]}catch(l){g(l?.message??"加载失败"),b.value=[]}finally{h.value=!1}}function C(){x.value="list",U()}function L(l){o.id=l.id||0,o.title=l.title||"",o.tid=l.tid||"",o.language=l.language||"",o.ttype=l.ttype||"",o.tags=l.tags||"",o.icon=l.icon||"",o.description=l.description||"",o.outline=l.outline||"",o.template=l.template||""}async function E(l){if(x.value="form",l&&l.id){c.value=!0,L(l);try{const e=await v("getmeettemplate",{id:l.id});e&&L(e)}catch(e){g(e?.message??"加载详情失败")}}else c.value=!1,L({})}async function T(){_.value=!0;try{const l={title:o.title.trim(),tid:o.tid.trim(),language:o.language.trim(),ttype:o.ttype.trim(),tags:o.tags.trim(),icon:o.icon.trim(),description:o.description.trim(),outline:o.outline,template:o.template};c.value&&(l.id=Number(o.id)),await v(c.value?"updatemeettemplate":"addmeettemplate",l),S("保存成功"),C()}catch(l){g(l?.message??"保存失败")}finally{_.value=!1}}function N(l){window.confirm(`确定删除模板 "${l.title||""}" 吗?`)&&v("delmeettemplate",{ids:[l.id]}).then(()=>{S("删除成功"),U()}).catch(e=>g(e?.message??"删除失败"))}return H(U),(l,e)=>(d(),a("div",null,[i(t("div",null,[t("div",Q,[e[15]||(e[15]=t("div",null,[t("h2",{class:"text-lg font-semibold text-slate-800"},"会议模板"),t("p",{class:"text-xs text-slate-400 mt-1"},"会议纪要公共模板(source=public),所有应用共享。修改后各服务约 10 分钟内自动同步。")],-1)),t("button",{class:"btn btn-primary btn-sm text-white",onClick:e[0]||(e[0]=s=>E())},"+ 新增模板")]),t("div",W,[e[18]||(e[18]=t("span",{class:"text-sm text-slate-500"},"语言",-1)),i(t("select",{"onUpdate:modelValue":e[1]||(e[1]=s=>y.value=s),class:"select select-bordered select-sm"},[e[16]||(e[16]=t("option",{value:""},"全部语言",-1)),(d(!0),a(p,null,f(B.value,s=>(d(),a("option",{key:s,value:s},r(s),9,X))),128))],512),[[z,y.value]]),e[19]||(e[19]=t("span",{class:"text-sm text-slate-500"},"分组(tid)",-1)),i(t("select",{"onUpdate:modelValue":e[2]||(e[2]=s=>w.value=s),class:"select select-bordered select-sm"},[e[17]||(e[17]=t("option",{value:""},"全部分组",-1)),(d(!0),a(p,null,f(M.value,s=>(d(),a("option",{key:s,value:s},r(s),9,Y))),128))],512),[[z,w.value]]),i(t("input",{"onUpdate:modelValue":e[3]||(e[3]=s=>V.value=s),class:"input input-bordered input-sm w-48",placeholder:"按标题搜索"},null,512),[[u,V.value]])]),t("div",Z,[t("div",tt,[t("table",et,[e[22]||(e[22]=t("thead",null,[t("tr",null,[t("th",null,"ID"),t("th",null,"标题"),t("th",null,"模板标识(tid)"),t("th",null,"语言"),t("th",null,"类型"),t("th",null,"标签"),t("th",{class:"text-right"},"操作")])],-1)),t("tbody",null,[h.value?(d(),a("tr",st,[...e[20]||(e[20]=[t("td",{colspan:"7",class:"text-center py-8"},[t("span",{class:"loading loading-spinner loading-sm"})],-1)])])):D.value.length?(d(!0),a(p,{key:2},f(O.value,s=>(d(),a(p,{key:s.key},[t("tr",ot,[t("td",nt,[t("span",at,"▸ "+r(s.label),1),t("span",it,r(s.items.length)+" 个版本",1)])]),(d(!0),a(p,null,f(s.items,n=>(d(),a("tr",{key:n.id,class:"hover"},[t("td",dt,r(n.id||""),1),t("td",rt,r(n.title||""),1),t("td",ut,r(n.tid||""),1),t("td",null,[t("span",mt,r(n.language||"-"),1)]),t("td",pt,r(n.ttype||""),1),t("td",bt,[$(n.tags).length?(d(!0),a(p,{key:0},f($(n.tags),(F,R)=>(d(),a("span",{key:R,class:"badge badge-ghost badge-sm mr-1"},r(F),1))),128)):(d(),a("span",ct,"-"))]),t("td",ft,[t("div",vt,[t("button",{class:"btn btn-ghost btn-xs",onClick:F=>E(n)},"编辑",8,gt),t("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:F=>N(n)},"删除",8,xt)])])]))),128))],64))),128)):(d(),a("tr",lt,[...e[21]||(e[21]=[t("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无模板",-1)])]))])])])])],512),[[j,x.value==="list"]]),i(t("div",null,[t("div",yt,[t("button",{class:"btn btn-ghost btn-sm",onClick:e[4]||(e[4]=s=>C())},"← 返回列表"),t("h2",wt,r(c.value?"编辑模板":"新增模板"),1)]),t("div",kt,[t("form",{onSubmit:I(T,["prevent"])},[t("div",ht,[t("div",_t,[e[23]||(e[23]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"标题 *")],-1)),i(t("input",{"onUpdate:modelValue":e[5]||(e[5]=s=>o.title=s),type:"text",class:"input input-bordered w-full",required:""},null,512),[[u,o.title]])]),t("div",Vt,[e[24]||(e[24]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"模板标识 (tid)")],-1)),i(t("input",{"onUpdate:modelValue":e[6]||(e[6]=s=>o.tid=s),type:"text",class:"input input-bordered w-full",placeholder:"同一 tid 可有多语言版本"},null,512),[[u,o.tid]])]),t("div",Ut,[e[25]||(e[25]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"语言")],-1)),i(t("input",{"onUpdate:modelValue":e[7]||(e[7]=s=>o.language=s),type:"text",class:"input input-bordered w-full",placeholder:"如 zh / en",list:"langlist"},null,512),[[u,o.language]]),e[26]||(e[26]=G('',1))]),t("div",Ct,[e[27]||(e[27]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"类型 (ttype)")],-1)),i(t("input",{"onUpdate:modelValue":e[8]||(e[8]=s=>o.ttype=s),type:"text",class:"input input-bordered w-full",placeholder:"如 meeting / interview"},null,512),[[u,o.ttype]])]),t("div",Lt,[e[28]||(e[28]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"标签 (tags)")],-1)),i(t("input",{"onUpdate:modelValue":e[9]||(e[9]=s=>o.tags=s),type:"text",class:"input input-bordered w-full",placeholder:"逗号分隔"},null,512),[[u,o.tags]])]),t("div",Ft,[e[29]||(e[29]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"图标 (icon)")],-1)),i(t("input",{"onUpdate:modelValue":e[10]||(e[10]=s=>o.icon=s),type:"text",class:"input input-bordered w-full",placeholder:"图标 URL 或名称"},null,512),[[u,o.icon]])])]),t("div",St,[e[30]||(e[30]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"描述")],-1)),i(t("input",{"onUpdate:modelValue":e[11]||(e[11]=s=>o.description=s),type:"text",class:"input input-bordered w-full"},null,512),[[u,o.description]])]),t("div",$t,[e[31]||(e[31]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"大纲 (outline)")],-1)),i(t("textarea",{"onUpdate:modelValue":e[12]||(e[12]=s=>o.outline=s),class:"textarea textarea-bordered w-full font-mono text-sm",rows:"4"},null,512),[[u,o.outline]])]),t("div",At,[e[32]||(e[32]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"模板内容 (template)")],-1)),i(t("textarea",{"onUpdate:modelValue":e[13]||(e[13]=s=>o.template=s),class:"textarea textarea-bordered w-full font-mono text-sm",rows:"10"},null,512),[[u,o.template]])]),t("div",Dt,[t("button",{type:"button",class:"btn btn-ghost",onClick:e[14]||(e[14]=s=>C())},"取消"),t("button",{type:"submit",class:"btn btn-primary text-white",disabled:_.value},"保存",8,Et)])],32)])],512),[[j,x.value==="form"]])]))}});export{Tt as default}; diff --git a/apps/admin/.output/public/_nuxt/Cx-e2Cok.js b/apps/admin/.output/public/_nuxt/Cx-e2Cok.js deleted file mode 100644 index 50c7eb9e..00000000 --- a/apps/admin/.output/public/_nuxt/Cx-e2Cok.js +++ /dev/null @@ -1 +0,0 @@ -import{g as wt,C as xt,j as Dt,c as o,a,k as L,p as R,F as _,r as v,t as r,A as m,x as K,s as p,o as l,G as A,n as Q,l as X,_ as Ct}from"./CTAruH_8.js";import{u as At}from"./9B2ftqmN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const Mt={class:"panel p-4 mb-5"},St={class:"flex flex-wrap items-end gap-3"},Nt={class:"form-control"},Bt=["value"],Lt={class:"form-control"},Rt=["value"],Vt={class:"form-control"},qt=["value"],zt={class:"grid grid-cols-2 md:grid-cols-4 gap-3 mb-8"},Ot={class:"body"},Ht={class:"lbl"},Tt={class:"val"},It={class:"today-wrap mb-8"},Gt={class:"sec-title hero",style:{"margin-bottom":"16px"}},Ut={class:"tag",style:{color:"#0369a1",background:"#dbeafe"}},Pt={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},jt={class:"today-card-top"},Yt={class:"lbl"},Wt={class:"val"},Jt={class:"foot"},Zt={key:0,class:"delta up"},$t={class:"grid grid-cols-1 xl:grid-cols-2 gap-6"},Kt={class:"panel-head"},Qt=["stroke"],Xt=["d"],te={class:"font-semibold text-slate-700 text-sm"},ee={key:0,class:"ml-auto text-xs text-slate-400"},se={key:1,class:"ml-auto flex items-center gap-1"},ae=["onClick"],ne={class:"px-5 py-4"},oe={class:"grid grid-cols-2 sm:grid-cols-3 gap-2.5"},le={class:"stat-label"},re={class:"stat-val"},ie={key:0,style:{height:"170px","margin-top":"1rem"}},ce=wt({__name:"dashboard",setup(de){const k=xt(),{webApi:V,consoleApi:tt}=At(),q=[["cn","中国"],["us","美国"],["ea","东亚"],["sea","东南亚"],["sa","南亚"],["me","中东"],["eu","欧洲"],["ru","俄罗斯"],["af","非洲"],["sam","南美"],["nam","北美"],["oc","大洋洲"],["br","巴西"],["in","印度"]],et={new_user_count:["👥","#EEF2FF","#6366F1"],active_user_count:["🟢","#ECFDF5","#10B981"],bind_device_count:["📱","#E0F2FE","#0EA5E9"],qr_active_count:["🔳","#FCE7F3","#EC4899"],order_paid_count:["🧾","#FEF3C7","#F59E0B"],order_paid_amount:["💰","#FEE2E2","#EF4444"],pay_user_count:["⭐","#FFF7ED","#F97316"],meet_second:["🎙️","#CFFAFE","#22D3EE"],trade_second:["🌐","#F3E8FF","#8B5CF6"]},z=[["new_user_count","累计用户",!1],["bind_device_count","累计绑定设备",!1],["qr_active_count","累计二维码激活",!1],["order_paid_count","累计支付订单",!1],["order_paid_amount","累计支付金额",!0],["meet_second","累计会议时长",!1],["trade_second","累计翻译时长",!1]],O=[["new_user_count","新增用户",!1],["active_user_count","活跃用户",!1],["qr_active_count","二维码激活",!1],["order_paid_count","支付订单",!1],["order_paid_amount","支付金额",!0],["pay_user_count","付费用户",!1],["meet_second","会议时长",!1,!0],["trade_second","翻译时长",!1,!0]],E=[{key:"user",title:"用户增长",color:"#6366F1",tint:"#EEF2FF",icon:"M17 20h5v-2a4 4 0 00-3-3.87M9 20H4v-2a4 4 0 013-3.87m6-1.13a4 4 0 10-4-4 4 4 0 004 4z",stats:[["new_user_count","新增用户"],["active_user_count","活跃用户"],["login_user_count","登录用户"],["login_count","登录次数"]],lines:[["new_user_count","新增用户","#6366F1"],["active_user_count","活跃用户","#34D399"]]},{key:"device",title:"设备激活绑定",color:"#0EA5E9",tint:"#E0F2FE",icon:"M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z",stats:[["active_device_count","已激活"],["bind_device_count","已绑定"]],lines:[["active_device_count","已激活","#0EA5E9"],["bind_device_count","已绑定","#818CF8"]]},{key:"qrcode",title:"二维码激活",color:"#EC4899",tint:"#FCE7F3",icon:"M12 4v1m6 11h2m-6 0h-1v4m-6-4H5m14 0h-2m-6-7H5m0 0V5m0 4v6m14-6V5h-4M5 5h4M5 19h4m6 0h4v-4M4 4h6v6H4V4zm10 0h6v6h-6V4zM4 14h6v6H4v-6z",stats:[["qr_active_count","二维码激活次数"]],lines:[["qr_active_count","二维码激活","#EC4899"]]},{key:"order",title:"订单支付",color:"#F59E0B",tint:"#FEF3C7",icon:"M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z",stats:[["order_create_count","创建订单"],["order_paid_count","支付订单"],["order_failed_count","失败订单"],["pay_user_count","付费用户"],["order_paid_amount","支付金额",!0],["order_create_amount","创建金额",!0]],lines:[["order_paid_count","支付订单","#F59E0B"],["order_create_count","创建订单","#FCD34D"]]},{key:"meeting",title:"会议",color:"#22D3EE",tint:"#CFFAFE",icon:"M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z",stats:[["meet_count","会议次数"],["meet_second","会议时长",!1,!0],["grant_meet_second","发放会议时长",!1,!0]],lines:[["meet_count","会议次数","#22D3EE"],["meet_second","会议时长(秒)","#0EA5E9"]]},{key:"translate",title:"翻译",color:"#8B5CF6",tint:"#F3E8FF",icon:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129",stats:[["trade_count","翻译次数"],["trade_second","翻译时长",!1,!0],["trade_words","翻译字数"],["grant_trade_second","发放翻译时长",!1,!0]],lines:[["trade_count","翻译次数","#8B5CF6"],["trade_second","翻译时长(秒)","#A78BFA"]]}],f=m(()=>k.identity===3),st=m(()=>k.apps),H=m(()=>k.regions),T=m(()=>k.products.map(t=>parseInt(t)).filter(t=>!isNaN(t))),I=["new_user_count","active_user_count","qr_active_count"],at=m(()=>f.value?z.filter(t=>!I.includes(t[0])):z),nt=m(()=>f.value?O.filter(t=>!I.includes(t[0])):O),G=m(()=>f.value?E.filter(t=>t.key!=="user"&&t.key!=="qrcode"):E),ot=[[7,"7天"],[30,"30天"],[90,"90天"],[0,"全部"]],i=K({app:"",region:"",product:""}),F=p([]),M=p([]),lt=m(()=>f.value&&H.value.length?q.filter(t=>H.value.includes(t[0])).map(t=>({value:t[0],label:t[1]})):q.map(t=>({value:t[0],label:t[1]}))),U=p({}),P=p({}),S=p({}),j=p({}),Y=p("实时"),N=p({}),w=K({});E.forEach(t=>{w[t.key]=30});function x(t){const e=t.getFullYear(),s=("0"+(t.getMonth()+1)).slice(-2),n=("0"+t.getDate()).slice(-2);return parseInt(e+s+n)}function rt(t){if(!t)return{start:0,end:0};const e=new Date,s=new Date;return s.setDate(s.getDate()-(t-1)),{start:x(s),end:x(e)}}function it(t,e){return t=Number(t)||0,e?"¥"+(t/100).toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2}):t.toLocaleString()}function ct(t){t=Math.max(0,Math.floor(Number(t)||0));const e=Math.floor(t/3600),s=Math.floor(t%3600/60),n=t%60;return e>0?e+"时"+s+"分":s>0?s+"分"+n+"秒":n+"秒"}function B(t,e,s){return s?ct(t):it(t,e)}function dt(t){const e=String(t);return e.length===8?e.slice(4,6)+"-"+e.slice(6,8):e}function ut(t,e){return t=Number(t)||0,e=Number(e)||0,e===0?t>0?null:0:(t-e)/e*100}function g(t){return et[t]||["📊","#f1f5f9","#94a3b8"]}function _t(t){const e=t[0]==="bind_device_count"||t[0]==="active_device_count"?P.value:U.value,s=t[0]==="meet_second"||t[0]==="trade_second";return B(e[t[0]],t[2],s)}function vt(t){return B(S.value[t[0]],t[2],!!t[3])}function b(t){const e=ut(S.value[t[0]],j.value[t[0]]);if(e===null)return{type:"new",arrow:"",abs:""};const s=e>0?"up":e<0?"down":"flat",n=e>0?"▲":e<0?"▼":"—";return{type:s,arrow:n,abs:Math.abs(e).toFixed(1)}}function mt(t,e){return B((N.value[t.key]||{})[e[0]],e[2],e[3])}function D(){const t={};return i.app!==""&&(t.app_id=i.app),i.region!==""&&(t.region=i.region),i.product!==""&&(t.product_id=parseInt(String(i.product))),t}function W(){const t={};return i.product!==""&&(t.product_id=parseInt(String(i.product))),t}async function y(t,e){try{return{code:0,data:await V(t,e)??{}}}catch{return null}}async function pt(){const t=await y("getstatssummary",D());U.value=t&&t.code===0&&t.data?t.data:{};const e=await y("getstatssummary",W());P.value=e&&e.code===0&&e.data?e.data:{}}async function ft(){const t=x(new Date),e=new Date;e.setDate(e.getDate()-1);const s=x(e),n=D();n.start_day=t,n.end_day=t;const d=D();d.start_day=s,d.end_day=s;const u=await y("getstatssummary",n);S.value=u&&u.code===0&&u.data?u.data:{};const c=await y("getstatssummary",d);j.value=c&&c.code===0&&c.data?c.data:{};const C=new Date,Et=("0"+(C.getMonth()+1)).slice(-2),Ft=("0"+C.getDate()).slice(-2);Y.value=Et+"-"+Ft+" 实时"}async function J(t){let e;if(t.key==="device")e=W();else{const c=rt(w[t.key]);e=D(),e.start_day=c.start,e.end_day=c.end}const s=await y("getstatssummary",e),n=s&&s.code===0&&s.data?s.data:{};if(N.value={...N.value,[t.key]:n},t.key==="device")return;const d=await y("getstatstrend",e),u=d&&d.code===0?d.data||[]:[];bt(t,u)}function yt(t,e){w[t]=e;const s=E.find(n=>n.key===t);s&&J(s)}function Z(){pt(),ft(),G.value.forEach(t=>J(t))}const $={},h={};function gt(t,e){e&&($[t]=e)}function bt(t,e){const s=window.Chart,n=$[t.key];if(!s||!n)return;const d=e.map(c=>dt(c.stat_day)),u=t.lines.map(c=>({label:c[1],data:e.map(C=>Number(C[c[0]])||0),borderColor:c[2],backgroundColor:c[2]+"22",tension:.35,fill:!0,pointRadius:0,borderWidth:2}));if(h[t.key]){h[t.key].data.labels=d,h[t.key].data.datasets=u,h[t.key].update();return}h[t.key]=new s(n,{type:"line",data:{labels:d,datasets:u},options:{responsive:!0,maintainAspectRatio:!1,plugins:{legend:{position:"bottom",labels:{boxWidth:10,padding:12,font:{size:11}}}},scales:{x:{ticks:{maxTicksLimit:8,font:{size:10},color:"#94a3b8"},grid:{display:!1}},y:{beginAtZero:!0,ticks:{precision:0,maxTicksLimit:5,font:{size:10},color:"#94a3b8"},grid:{color:"#f1f5f9"}}},interaction:{mode:"index",intersect:!1}}})}async function ht(){if(f.value)F.value=st.value.map(t=>({value:t,label:t}));else try{const t=await tt("apps/list",{}),e=Array.isArray(t)?t:[];F.value=e.map(s=>({value:s.name||"",label:s.name||"应用#"+s.id}))}catch{F.value=[]}try{const t=await V("getproducts",{});let e=t&&t.products?t.products:[];f.value&&T.value.length&&(e=e.filter(s=>T.value.includes(s.id))),M.value=e.map(s=>({value:s.id,label:(s.devicename||"产品#"+s.id)+" (#"+s.id+")"}))}catch{M.value=[]}}function kt(){return new Promise(t=>{if(window.Chart)return t();const e=document.createElement("script");e.src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js",e.onload=()=>t(),e.onerror=()=>t(),document.head.appendChild(e)})}return Dt(async()=>{await kt(),await ht(),Z()}),(t,e)=>(l(),o("div",null,[a("div",Mt,[a("div",St,[a("div",Nt,[e[4]||(e[4]=a("label",{class:"label py-1"},[a("span",{class:"label-text text-xs text-slate-500"},"应用")],-1)),L(a("select",{"onUpdate:modelValue":e[0]||(e[0]=s=>i.app=s),class:"select select-bordered select-sm w-40"},[e[3]||(e[3]=a("option",{value:""},"全部应用",-1)),(l(!0),o(_,null,v(F.value,s=>(l(),o("option",{key:s.value,value:s.value},r(s.label),9,Bt))),128))],512),[[R,i.app]])]),a("div",Lt,[e[6]||(e[6]=a("label",{class:"label py-1"},[a("span",{class:"label-text text-xs text-slate-500"},"区域")],-1)),L(a("select",{"onUpdate:modelValue":e[1]||(e[1]=s=>i.region=s),class:"select select-bordered select-sm w-32"},[e[5]||(e[5]=a("option",{value:""},"全部区域",-1)),(l(!0),o(_,null,v(lt.value,s=>(l(),o("option",{key:s.value,value:s.value},r(s.label),9,Rt))),128))],512),[[R,i.region]])]),a("div",Vt,[e[8]||(e[8]=a("label",{class:"label py-1"},[a("span",{class:"label-text text-xs text-slate-500"},"产品")],-1)),L(a("select",{"onUpdate:modelValue":e[2]||(e[2]=s=>i.product=s),class:"select select-bordered select-sm w-48"},[e[7]||(e[7]=a("option",{value:""},"全部产品",-1)),(l(!0),o(_,null,v(M.value,s=>(l(),o("option",{key:s.value,value:s.value},r(s.label),9,qt))),128))],512),[[R,i.product]])]),a("button",{class:"btn btn-primary btn-sm text-white",onClick:Z},"查询"),e[9]||(e[9]=a("span",{class:"text-xs text-slate-400 ml-auto self-center"},"顶部为全量总览;各版面右上角可单独选时间周期",-1))])]),e[14]||(e[14]=a("div",{class:"sec-title muted"},[a("span",{class:"bar",style:{background:"#cbd5e1"}}),a("h2",null,"累计数据"),a("span",{class:"sub"},"全量累计 · 随筛选条件变化")],-1)),a("div",zt,[(l(!0),o(_,null,v(at.value,s=>(l(),o("div",{key:s[0],class:"cum-card"},[a("span",{class:"ico",style:A({background:g(s[0])[1]})},r(g(s[0])[0]),5),a("div",Ot,[a("div",Ht,r(s[1]),1),a("div",Tt,r(_t(s)),1)])]))),128))]),a("div",It,[a("div",Gt,[e[10]||(e[10]=a("span",{class:"bar",style:{background:"linear-gradient(180deg,#0EA5E9,#22D3EE)"}},null,-1)),e[11]||(e[11]=a("h2",null,"今日数据",-1)),a("span",Ut,r(Y.value),1),e[12]||(e[12]=a("span",{class:"sub"},"今日 0 点至现在 · 含较昨日同比(设备类无日期维度,仅见累计)",-1))]),a("div",Pt,[(l(!0),o(_,null,v(nt.value,s=>(l(),o("div",{key:s[0],class:"today-card"},[a("span",{class:"accent",style:A({background:g(s[0])[2]})},null,4),a("div",jt,[a("span",Yt,r(s[1]),1),a("span",{class:"ico",style:A({background:g(s[0])[1]})},r(g(s[0])[0]),5)]),a("div",Wt,r(vt(s)),1),a("div",Jt,[b(s).type==="new"?(l(),o("span",Zt,"新")):b(s).type!=="none"?(l(),o("span",{key:1,class:Q(["delta",b(s).type])},r(b(s).arrow)+" "+r(b(s).abs)+"%",3)):X("",!0),e[13]||(e[13]=a("span",null,"较昨日",-1))])]))),128))])]),e[15]||(e[15]=a("div",{class:"sec-title"},[a("span",{class:"bar",style:{background:"linear-gradient(180deg,#10B981,#22D3EE)"}}),a("h2",null,"趋势分析"),a("span",{class:"sub"},"各版面右上角可独立选择时间周期")],-1)),a("div",$t,[(l(!0),o(_,null,v(G.value,s=>(l(),o("div",{key:s.key,class:"panel"},[a("div",Kt,[a("span",{class:"panel-dot",style:A({background:s.tint})},[(l(),o("svg",{width:"17",height:"17",fill:"none",viewBox:"0 0 24 24",stroke:s.color},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:s.icon},null,8,Xt)],8,Qt))],4),a("span",te,r(s.title),1),s.key==="device"?(l(),o("span",ee,"当前累计 · 无日期维度")):(l(),o("div",se,[(l(),o(_,null,v(ot,n=>a("button",{key:n[0],class:Q(["tbtn",{"tbtn-on":n[0]===w[s.key]}]),onClick:d=>yt(s.key,Number(n[0]))},r(n[1]),11,ae)),64))]))]),a("div",ne,[a("div",oe,[(l(!0),o(_,null,v(s.stats,n=>(l(),o("div",{key:n[0],class:"stat-box"},[a("div",le,r(n[1]),1),a("div",re,r(mt(s,n)),1)]))),128))]),s.key!=="device"?(l(),o("div",ie,[a("canvas",{ref_for:!0,ref:n=>gt(s.key,n)},null,512)])):X("",!0)])]))),128))])]))}}),pe=Ct(ce,[["__scopeId","data-v-7dbe8712"]]);export{pe as default}; diff --git a/apps/admin/.output/public/_nuxt/D9HxoMhB.js b/apps/admin/.output/public/_nuxt/D9HxoMhB.js deleted file mode 100644 index 3a8be188..00000000 --- a/apps/admin/.output/public/_nuxt/D9HxoMhB.js +++ /dev/null @@ -1 +0,0 @@ -import{u}from"./yUUyh6cG.js";import{A as e}from"./CTAruH_8.js";function r(){const n=u("app:loading",()=>0),o=e(()=>n.value>0);function a(){n.value++}function t(){n.value=Math.max(0,n.value-1)}return{count:n,loading:o,begin:a,end:t}}export{r as u}; diff --git a/apps/admin/.output/public/_nuxt/CnuHOwQV.js b/apps/admin/.output/public/_nuxt/DA87FDpn.js similarity index 95% rename from apps/admin/.output/public/_nuxt/CnuHOwQV.js rename to apps/admin/.output/public/_nuxt/DA87FDpn.js index 346f6347..473023ca 100644 --- a/apps/admin/.output/public/_nuxt/CnuHOwQV.js +++ b/apps/admin/.output/public/_nuxt/DA87FDpn.js @@ -1 +1 @@ -import{g as h,C as x,z as w,j as y,c as r,a as e,t as d,l as b,D as _,k as v,m as g,n as k,x as M,s as u,o as p,_ as z}from"./CTAruH_8.js";const A={class:"login-bg flex items-center justify-center px-4"},B={class:"login-card"},C={class:"text-center"},S={style:{"font-size":"22px","font-weight":"700",color:"#0F172A",margin:"0 0 4px"}},T={key:0,class:"login-error show"},V={style:{width:"16px",height:"16px","flex-shrink":"0"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},j={style:{"margin-bottom":"16px"}},D={style:{"margin-bottom":"24px"}},q=h({__name:"index",setup(L){const a=x(),c=w(),o=M({account:"",password:""}),l=u(!1),n=u(""),m=u("Admin");y(async()=>{if(a.restore(),a.token){c.push("/dashboard");return}try{const t=(await $fetch("/web/api/api_getsiteinfo",{method:"POST",body:{}}))?.data?.sitename;t&&(m.value=t+" Admin",a.setSiteTitle(t))}catch{}});async function f(){l.value=!0,n.value="";try{const s=await $fetch("/web/api/api_login",{method:"POST",body:{account:o.account,password:o.password}});s.code===0&&s.data?(a.setLoginData(s.data),c.push("/dashboard")):n.value=s.msg||"登录失败"}catch{n.value="网络错误,请检查连接"}finally{l.value=!1}}return(s,t)=>(p(),r("div",A,[e("div",B,[e("div",C,[t[2]||(t[2]=e("div",{class:"logo-icon"},[e("svg",{class:"h-7 w-7 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})])],-1)),e("h1",S,d(m.value),1),t[3]||(t[3]=e("p",{style:{"font-size":"13px",color:"#94A3B8",margin:"0 0 32px"}},"管理控制台",-1))]),n.value?(p(),r("div",T,[(p(),r("svg",V,[...t[4]||(t[4]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)])])),e("span",null,d(n.value),1)])):b("",!0),e("form",{onSubmit:_(f,["prevent"])},[e("div",j,[t[5]||(t[5]=e("label",{class:"login-label"},"账号",-1)),v(e("input",{"onUpdate:modelValue":t[0]||(t[0]=i=>o.account=i),type:"text",class:"login-input",placeholder:"请输入管理员账号",autocomplete:"username",required:""},null,512),[[g,o.account]])]),e("div",D,[t[6]||(t[6]=e("label",{class:"login-label"},"密码",-1)),v(e("input",{"onUpdate:modelValue":t[1]||(t[1]=i=>o.password=i),type:"password",class:"login-input",placeholder:"请输入密码",autocomplete:"current-password",required:""},null,512),[[g,o.password]])]),e("button",{type:"submit",class:k(["login-btn",{loading:l.value}])},d(l.value?"登录中...":"登 录"),3)],32),t[7]||(t[7]=e("p",{style:{"text-align":"center","font-size":"11px",color:"#94A3B8","margin-top":"24px"}}," © 2025 Admin Console · v1.0.1 ",-1))])]))}}),O=z(q,[["__scopeId","data-v-3a3bca03"]]);export{O as default}; +import{g as h,C as x,z as w,j as y,c as r,a as e,t as d,l as b,D as _,k as v,m as g,n as k,x as M,s as u,o as p,_ as z}from"./CfpW9SkI.js";const A={class:"login-bg flex items-center justify-center px-4"},B={class:"login-card"},C={class:"text-center"},S={style:{"font-size":"22px","font-weight":"700",color:"#0F172A",margin:"0 0 4px"}},T={key:0,class:"login-error show"},V={style:{width:"16px",height:"16px","flex-shrink":"0"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},j={style:{"margin-bottom":"16px"}},D={style:{"margin-bottom":"24px"}},q=h({__name:"index",setup(L){const a=x(),c=w(),o=M({account:"",password:""}),l=u(!1),n=u(""),m=u("Admin");y(async()=>{if(a.restore(),a.token){c.push("/dashboard");return}try{const t=(await $fetch("/web/api/api_getsiteinfo",{method:"POST",body:{}}))?.data?.sitename;t&&(m.value=t+" Admin",a.setSiteTitle(t))}catch{}});async function f(){l.value=!0,n.value="";try{const s=await $fetch("/web/api/api_login",{method:"POST",body:{account:o.account,password:o.password}});s.code===0&&s.data?(a.setLoginData(s.data),c.push("/dashboard")):n.value=s.msg||"登录失败"}catch{n.value="网络错误,请检查连接"}finally{l.value=!1}}return(s,t)=>(p(),r("div",A,[e("div",B,[e("div",C,[t[2]||(t[2]=e("div",{class:"logo-icon"},[e("svg",{class:"h-7 w-7 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})])],-1)),e("h1",S,d(m.value),1),t[3]||(t[3]=e("p",{style:{"font-size":"13px",color:"#94A3B8",margin:"0 0 32px"}},"管理控制台",-1))]),n.value?(p(),r("div",T,[(p(),r("svg",V,[...t[4]||(t[4]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)])])),e("span",null,d(n.value),1)])):b("",!0),e("form",{onSubmit:_(f,["prevent"])},[e("div",j,[t[5]||(t[5]=e("label",{class:"login-label"},"账号",-1)),v(e("input",{"onUpdate:modelValue":t[0]||(t[0]=i=>o.account=i),type:"text",class:"login-input",placeholder:"请输入管理员账号",autocomplete:"username",required:""},null,512),[[g,o.account]])]),e("div",D,[t[6]||(t[6]=e("label",{class:"login-label"},"密码",-1)),v(e("input",{"onUpdate:modelValue":t[1]||(t[1]=i=>o.password=i),type:"password",class:"login-input",placeholder:"请输入密码",autocomplete:"current-password",required:""},null,512),[[g,o.password]])]),e("button",{type:"submit",class:k(["login-btn",{loading:l.value}])},d(l.value?"登录中...":"登 录"),3)],32),t[7]||(t[7]=e("p",{style:{"text-align":"center","font-size":"11px",color:"#94A3B8","margin-top":"24px"}}," © 2025 Admin Console · v1.0.1 ",-1))])]))}}),O=z(q,[["__scopeId","data-v-3a3bca03"]]);export{O as default}; diff --git a/apps/admin/.output/public/_nuxt/DL330dAC.js b/apps/admin/.output/public/_nuxt/DL330dAC.js new file mode 100644 index 00000000..747371d6 --- /dev/null +++ b/apps/admin/.output/public/_nuxt/DL330dAC.js @@ -0,0 +1 @@ +import{e as f,a5 as p,a6 as c,A as r}from"./CfpW9SkI.js";const l="$s";function y(...t){const a=typeof t[t.length-1]=="string"?t.pop():void 0;typeof t[0]!="string"&&t.unshift(a);const[n,e]=t;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(e!==void 0&&typeof e!="function")throw new Error("[nuxt] [useState] init must be a function: "+e);const i=l+n,u=f(),s=p(u.payload.state,i);if(e&&(u._state[i]??={_default:e}),s.value===void 0&&e){const o=e();if(c(o))return u.payload.state[i]=o,o;s.value=o}return s}function v(){const t=y("app:loading",()=>0),a=r(()=>t.value>0);function n(){t.value++}function e(){t.value=Math.max(0,t.value-1)}return{count:t,loading:a,begin:n,end:e}}export{y as a,v as u}; diff --git a/apps/admin/.output/public/_nuxt/DNKl-FHZ.js b/apps/admin/.output/public/_nuxt/DNKl-FHZ.js deleted file mode 100644 index 8622f04f..00000000 --- a/apps/admin/.output/public/_nuxt/DNKl-FHZ.js +++ /dev/null @@ -1 +0,0 @@ -import{g as oe,j as ie,c as a,l as x,a as e,k as d,p as m,F as r,r as u,v as F,t as i,q as G,n as N,d as de,s as c,x as ce,A as re,o,D as $,_ as ue}from"./CTAruH_8.js";import{u as ve}from"./9B2ftqmN.js";import{u as be}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const me={key:0,class:"mb-4 rounded-lg px-4 py-3 text-sm",style:{background:"#fffbeb",border:"1px solid #fde68a",color:"#92400e"}},pe={class:"flex items-center justify-between mb-5"},xe={class:"flex items-center gap-3"},fe=["value"],_e={class:"editor-panel"},ge={class:"flex items-center justify-between mb-4"},ye={class:"font-semibold text-slate-800 text-sm"},ke={class:"grid grid-cols-3 gap-4 mb-4"},he={class:"form-control"},Se=["value"],Te={class:"form-control"},Ce=["value"],we={class:"form-control"},Ae={class:"flex gap-3 mb-4"},Ve={key:0,class:"grid grid-cols-3 gap-4"},Me={class:"form-control"},je={key:0,value:""},Re=["value"],Ue={class:"form-control"},Ne={key:0,value:""},$e=["value"],Oe={class:"form-control"},Pe={key:0,value:""},ze=["value"],Be={key:1,class:"form-control max-w-xs"},De={key:0,value:""},Ee=["value"],Le={class:"flex items-center justify-between pt-4 border-t border-slate-100 mt-4"},Ie={class:"flex items-center gap-2 text-sm"},Fe={class:"grid grid-cols-1 gap-4",style:{"grid-template-columns":"repeat(auto-fill,minmax(360px,1fr))"}},Ge={key:0,class:"col-span-full text-center py-20 text-slate-300"},qe=["onClick"],He={class:"flex items-center justify-between"},Je={class:"flex items-center gap-2"},Ke={class:"lang-badge"},Qe={class:"text-slate-400 font-bold text-lg"},We={class:"lang-badge"},Xe={class:"flex items-center gap-2"},Ye={key:0,class:"mode-badge mode-pipeline"},Ze={key:1,class:"mode-badge mode-e2e"},et={key:2,class:"badge badge-success badge-xs"},tt={key:3,class:"badge badge-ghost badge-xs"},st=["onClick"],lt={key:0,class:"flex flex-wrap items-center gap-2 mt-3"},nt={class:"svc-pill",style:{background:"#1664ff"}},at={class:"svc-pill",style:{background:"#059669"}},ot={class:"svc-pill",style:{background:"#7c3aed"}},it={key:1,class:"flex items-center gap-2 mt-3"},dt={class:"svc-pill",style:{background:"#f97316"}},ct={class:"sync-overlay"},rt={class:"sync-box"},ut={class:"flex items-start gap-3 mb-4"},vt={style:{width:"42px",height:"42px",background:"linear-gradient(135deg,#4f46e5,#7c3aed)","border-radius":"13px",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},bt={style:{width:"20px",height:"20px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},mt={class:"text-xs text-slate-400 mt-1"},pt={class:"flex items-center justify-between mb-1"},xt={class:"flex gap-2"},ft={class:"sync-region-grid"},_t=["onClick"],gt=["checked","onClick"],q=1,H=2,J=3,K=4,yt=oe({__name:"calltranslate",setup(kt){const j=[{c:"zh",n:"中文"},{c:"en",n:"英文"},{c:"ja",n:"日语"},{c:"ko",n:"韩语"},{c:"fr",n:"法语"},{c:"de",n:"德语"},{c:"es",n:"西班牙语"},{c:"pt",n:"葡萄牙语"},{c:"ru",n:"俄语"},{c:"ar",n:"阿拉伯语"},{c:"th",n:"泰语"},{c:"vi",n:"越南语"},{c:"id",n:"印尼语"},{c:"ms",n:"马来语"},{c:"hi",n:"印地语"}];function h(l){const t=j.find(s=>s.c===l);return t?t.n:l||""}const f=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}];function Q(l){const t=f.find(s=>s.value===l);return t?t.label:"区域"+l}const{webApi:_}=ve(),{success:S,error:T}=be(),R=c(!0),C=c([]),g=c([]),y=c(f.length?f[0].value:1),w=c(!1),p=c(null),O=c(0),n=ce({src:"zh",dst:"en",bidir:!1,mode:0,asr:"",mt:"",tts:"",ast:"",enable:!0});async function W(){try{const l=await _("getsvcconfigs",{});C.value=l?.items??[]}catch{R.value=!1,C.value=[]}}async function A(){try{const l=await _("getcalltranslatepairs",{region:y.value});g.value=l?.items??[]}catch{R.value=!1,g.value=[]}}function v(l){return C.value.filter(t=>t.enable&&(t.categories||"").split(",").map(Number).indexOf(l)>=0)}function V(l){const t=C.value.find(s=>s.id===l);return t?t.name:l||"未配置"}function P(l){n.src=l?.src_lang||"zh",n.dst=l?.dst_lang||"en",n.bidir=!!l?.bidir,n.mode=l?.mode!=null?l.mode:0,n.asr=l?.asr_svc_id||"",n.mt=l?.mt_svc_id||"",n.tts=l?.tts_svc_id||"",n.ast=l?.ast_svc_id||"",n.enable=l?l.enable!==!1:!0}function X(){p.value=null,P(null),w.value=!0}function Y(l){const t=g.value.find(s=>s.id===l)||null;p.value=t,P(t),w.value=!0}function M(){w.value=!1,p.value=null}function Z(){const l=n.mode;return{id:p.value?p.value.id:0,region:y.value,src_lang:n.src,dst_lang:n.dst,bidir:n.bidir,mode:l,asr_svc_id:l===0&&n.asr||"",mt_svc_id:l===0&&n.mt||"",tts_svc_id:l===0&&n.tts||"",ast_svc_id:l===1&&n.ast||"",enable:n.enable}}async function z(){const l=Z();if(!l.src_lang||!l.dst_lang)return T("源语言和目标语言必填"),!1;try{const t=await _("savecalltranslatepair",l);return O.value=t?.id??0,await A(),!0}catch(t){return T(t?.message??"保存失败"),!1}}function ee(l){window.confirm("确定删除这条语言对配置?")&&_("delcalltranslatepair",{ids:[l]}).then(()=>{S("已删除"),A()}).catch(t=>T(t?.message??"删除失败"))}const U=c(!1),B=c(""),b=c([]),D=re(()=>f.filter(l=>l.value!==y.value));function te(){const l=n.mode===0?"三段式拼接":"端到端 AST";B.value="将「"+h(n.src)+" → "+h(n.dst)+"」("+l+(n.bidir?",双向":"")+" )的服务编排同步到其他区域。",b.value=[],U.value=!0}function E(l){const t=b.value.indexOf(l);t>=0?b.value.splice(t,1):b.value.push(l)}function L(l){b.value=l?D.value.map(t=>t.value):[]}function I(){U.value=!1}async function se(){I(),await z()&&(M(),S("保存成功"))}async function le(){const l=[...b.value];if(I(),!!await z()){if(M(),!l.length){S("保存成功");return}try{const k=(await _("synccalltranslatepairs",{pair_ids:[O.value],target_regions:l}))?.synced??0,ne=l.map(ae=>Q(ae));S("已保存并同步到:"+ne.join("、")+"("+k+" 个)")}catch(s){T(s?.message??"同步失败")}}}return ie(async()=>{await Promise.all([W(),A()])}),(l,t)=>(o(),a("div",null,[R.value?x("",!0):(o(),a("div",me," ⚠ 「通话翻译配置」的后端接口尚未迁移到当前 console 服务,功能暂不可用。 ")),e("div",pe,[t[14]||(t[14]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"通话翻译配置"),e("p",{class:"text-xs text-slate-400 mt-1"},"按区域和语言对配置翻译服务。支持三段式(ASR→MT→TTS)和端到端 AST 两种模式。")],-1)),e("div",xe,[t[13]||(t[13]=e("span",{class:"text-sm text-slate-500"},"区域",-1)),d(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>y.value=s),class:"select select-bordered select-sm",onChange:A},[(o(),a(r,null,u(f,s=>e("option",{key:s.value,value:s.value},i(s.label),9,fe)),64))],544),[[m,y.value,void 0,{number:!0}]]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:X},"+ 新增语言对")])]),d(e("div",_e,[e("div",ge,[e("h3",ye,i(p.value?"编辑语言对":"新增语言对"),1),e("button",{class:"btn btn-ghost btn-xs",onClick:M},"✕ 关闭")]),e("div",ke,[e("div",he,[t[15]||(t[15]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"源语言 *")],-1)),d(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>n.src=s),class:"select select-bordered select-sm"},[(o(),a(r,null,u(j,s=>e("option",{key:s.c,value:s.c},i(s.n),9,Se)),64))],512),[[m,n.src]])]),e("div",Te,[t[16]||(t[16]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"目标语言 *")],-1)),d(e("select",{"onUpdate:modelValue":t[2]||(t[2]=s=>n.dst=s),class:"select select-bordered select-sm"},[(o(),a(r,null,u(j,s=>e("option",{key:s.c,value:s.c},i(s.n),9,Ce)),64))],512),[[m,n.dst]])]),e("div",we,[t[17]||(t[17]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"双向")],-1)),d(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>n.bidir=s),type:"checkbox",class:"toggle toggle-primary mt-1"},null,512),[[G,n.bidir]])])]),e("div",Ae,[e("div",{class:N(["mtab",{on:n.mode===0}]),onClick:t[4]||(t[4]=s=>n.mode=0)},[...t[18]||(t[18]=[e("div",null,[e("div",{class:"font-bold text-sm"},"🧩 三段式拼接"),e("div",{class:"text-xs text-slate-400 mt-0.5"},"ASR → MT → TTS")],-1)])],2),e("div",{class:N(["mtab",{on:n.mode===1}]),onClick:t[5]||(t[5]=s=>n.mode=1)},[...t[19]||(t[19]=[e("div",null,[e("div",{class:"font-bold text-sm"},"⚡ 端到端 AST"),e("div",{class:"text-xs text-slate-400 mt-0.5"},"单服务直接完成语音翻译")],-1)])],2)]),e("div",null,[n.mode===0?(o(),a("div",Ve,[e("div",Me,[t[20]||(t[20]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"语音识别(ASR)")],-1)),d(e("select",{"onUpdate:modelValue":t[6]||(t[6]=s=>n.asr=s),class:"select select-bordered select-sm"},[v(q).length?x("",!0):(o(),a("option",je,"(无可用服务)")),(o(!0),a(r,null,u(v(q),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,Re))),128))],512),[[m,n.asr]])]),e("div",Ue,[t[21]||(t[21]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"机器翻译(MT)")],-1)),d(e("select",{"onUpdate:modelValue":t[7]||(t[7]=s=>n.mt=s),class:"select select-bordered select-sm"},[v(J).length?x("",!0):(o(),a("option",Ne,"(无可用服务)")),(o(!0),a(r,null,u(v(J),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,$e))),128))],512),[[m,n.mt]])]),e("div",Oe,[t[22]||(t[22]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"语音合成(TTS)")],-1)),d(e("select",{"onUpdate:modelValue":t[8]||(t[8]=s=>n.tts=s),class:"select select-bordered select-sm"},[v(H).length?x("",!0):(o(),a("option",Pe,"(无可用服务)")),(o(!0),a(r,null,u(v(H),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,ze))),128))],512),[[m,n.tts]])])])):(o(),a("div",Be,[t[23]||(t[23]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"端到端语音翻译服务(AST)")],-1)),d(e("select",{"onUpdate:modelValue":t[9]||(t[9]=s=>n.ast=s),class:"select select-bordered select-sm"},[v(K).length?x("",!0):(o(),a("option",De,"(无可用服务)")),(o(!0),a(r,null,u(v(K),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,Ee))),128))],512),[[m,n.ast]])]))]),e("div",Le,[e("label",Ie,[d(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>n.enable=s),type:"checkbox",class:"checkbox checkbox-sm checkbox-primary"},null,512),[[G,n.enable]]),t[24]||(t[24]=de(" 启用 ",-1))]),e("div",{class:"flex gap-2"},[e("button",{class:"btn btn-ghost btn-sm",onClick:M},"取消"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:te},"保存")])])],512),[[F,w.value]]),e("div",Fe,[g.value.length?x("",!0):(o(),a("div",Ge,[...t[25]||(t[25]=[e("div",{class:"text-5xl mb-3"},"🌐",-1),e("p",{class:"text-sm"},"当前区域暂无语言对配置",-1)])])),(o(!0),a(r,null,u(g.value,s=>(o(),a("div",{key:s.id,class:"pair-card",onClick:k=>Y(s.id)},[e("div",He,[e("div",Je,[e("span",Ke,i(h(s.src_lang)),1),e("span",Qe,i(s.bidir?"⇄":"→"),1),e("span",We,i(h(s.dst_lang)),1)]),e("div",Xe,[s.mode===0?(o(),a("span",Ye,"三段式拼接")):(o(),a("span",Ze,"端到端 AST")),s.enable?(o(),a("span",et,"启用")):(o(),a("span",tt,"停用")),e("button",{class:"btn btn-ghost btn-xs text-error",onClick:$(k=>ee(s.id),["stop"])},"删除",8,st)])]),s.mode===0?(o(),a("div",lt,[e("span",nt,"ASR: "+i(V(s.asr_svc_id)),1),t[26]||(t[26]=e("span",{class:"text-slate-300 text-sm"},"→",-1)),e("span",at,"MT: "+i(V(s.mt_svc_id)),1),t[27]||(t[27]=e("span",{class:"text-slate-300 text-sm"},"→",-1)),e("span",ot,"TTS: "+i(V(s.tts_svc_id)),1)])):(o(),a("div",it,[e("span",dt,"AST: "+i(V(s.ast_svc_id)),1)]))],8,qe))),128))]),d(e("div",ct,[e("div",rt,[e("div",ut,[e("div",vt,[(o(),a("svg",bt,[...t[28]||(t[28]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"},null,-1)])]))]),e("div",null,[t[29]||(t[29]=e("h3",{class:"text-base font-semibold text-slate-800"},"同步到其他区域",-1)),e("p",mt,i(B.value),1)])]),t[31]||(t[31]=e("div",{class:"text-xs px-3 py-2 rounded-lg mb-3",style:{background:"#f0fdf4",border:"1px solid #bbf7d0",color:"#15803d"}}," ✦ 同步内容:服务组合(模式 + 各段服务)将被复制到目标区域。 ",-1)),e("div",pt,[t[30]||(t[30]=e("span",{class:"text-xs font-semibold text-slate-500"},"选择目标区域",-1)),e("div",xt,[e("button",{class:"btn btn-ghost btn-xs",onClick:t[11]||(t[11]=s=>L(!0))},"全选"),e("button",{class:"btn btn-ghost btn-xs",onClick:t[12]||(t[12]=s=>L(!1))},"清空")])]),e("div",ft,[(o(!0),a(r,null,u(D.value,s=>(o(),a("label",{key:s.value,class:N(["sync-region-item",{checked:b.value.includes(s.value)}]),onClick:$(k=>E(s.value),["prevent"])},[e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary",checked:b.value.includes(s.value),onClick:$(k=>E(s.value),["stop"])},null,8,gt),e("span",null,i(s.label),1)],10,_t))),128))]),t[32]||(t[32]=e("p",{class:"text-[11px] text-slate-400 mb-5"},"⚠ 目标区域相同语言对已存在则覆盖,否则新建。",-1)),e("div",{class:"flex gap-3 justify-end"},[e("button",{class:"btn btn-ghost",onClick:se},"仅保存当前区域"),e("button",{class:"btn btn-primary text-white",onClick:le},"保存并同步")])])],512),[[F,U.value]])]))}}),At=ue(yt,[["__scopeId","data-v-51f11136"]]);export{At as default}; diff --git a/apps/admin/.output/public/_nuxt/DQJ7bpDC.js b/apps/admin/.output/public/_nuxt/DQJ7bpDC.js new file mode 100644 index 00000000..73b8d427 --- /dev/null +++ b/apps/admin/.output/public/_nuxt/DQJ7bpDC.js @@ -0,0 +1 @@ +import{g as wt,C as xt,j as Dt,c as o,a,k as L,p as R,F as _,r as v,t as r,A as m,x as K,s as p,o as l,G as A,n as Q,l as X,_ as Ct}from"./CfpW9SkI.js";import{u as At}from"./DSu8q42f.js";import"./DL330dAC.js";const Mt={class:"panel p-4 mb-5"},St={class:"flex flex-wrap items-end gap-3"},Nt={class:"form-control"},Bt=["value"],Lt={class:"form-control"},Rt=["value"],Vt={class:"form-control"},qt=["value"],zt={class:"grid grid-cols-2 md:grid-cols-4 gap-3 mb-8"},Ot={class:"body"},Ht={class:"lbl"},Tt={class:"val"},It={class:"today-wrap mb-8"},Gt={class:"sec-title hero",style:{"margin-bottom":"16px"}},Ut={class:"tag",style:{color:"#0369a1",background:"#dbeafe"}},Pt={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},jt={class:"today-card-top"},Yt={class:"lbl"},Wt={class:"val"},Jt={class:"foot"},Zt={key:0,class:"delta up"},$t={class:"grid grid-cols-1 xl:grid-cols-2 gap-6"},Kt={class:"panel-head"},Qt=["stroke"],Xt=["d"],te={class:"font-semibold text-slate-700 text-sm"},ee={key:0,class:"ml-auto text-xs text-slate-400"},se={key:1,class:"ml-auto flex items-center gap-1"},ae=["onClick"],ne={class:"px-5 py-4"},oe={class:"grid grid-cols-2 sm:grid-cols-3 gap-2.5"},le={class:"stat-label"},re={class:"stat-val"},ie={key:0,style:{height:"170px","margin-top":"1rem"}},ce=wt({__name:"dashboard",setup(de){const k=xt(),{webApi:V,consoleApi:tt}=At(),q=[["cn","中国"],["us","美国"],["ea","东亚"],["sea","东南亚"],["sa","南亚"],["me","中东"],["eu","欧洲"],["ru","俄罗斯"],["af","非洲"],["sam","南美"],["nam","北美"],["oc","大洋洲"],["br","巴西"],["in","印度"]],et={new_user_count:["👥","#EEF2FF","#6366F1"],active_user_count:["🟢","#ECFDF5","#10B981"],bind_device_count:["📱","#E0F2FE","#0EA5E9"],qr_active_count:["🔳","#FCE7F3","#EC4899"],order_paid_count:["🧾","#FEF3C7","#F59E0B"],order_paid_amount:["💰","#FEE2E2","#EF4444"],pay_user_count:["⭐","#FFF7ED","#F97316"],meet_second:["🎙️","#CFFAFE","#22D3EE"],trade_second:["🌐","#F3E8FF","#8B5CF6"]},z=[["new_user_count","累计用户",!1],["bind_device_count","累计绑定设备",!1],["qr_active_count","累计二维码激活",!1],["order_paid_count","累计支付订单",!1],["order_paid_amount","累计支付金额",!0],["meet_second","累计会议时长",!1],["trade_second","累计翻译时长",!1]],O=[["new_user_count","新增用户",!1],["active_user_count","活跃用户",!1],["qr_active_count","二维码激活",!1],["order_paid_count","支付订单",!1],["order_paid_amount","支付金额",!0],["pay_user_count","付费用户",!1],["meet_second","会议时长",!1,!0],["trade_second","翻译时长",!1,!0]],E=[{key:"user",title:"用户增长",color:"#6366F1",tint:"#EEF2FF",icon:"M17 20h5v-2a4 4 0 00-3-3.87M9 20H4v-2a4 4 0 013-3.87m6-1.13a4 4 0 10-4-4 4 4 0 004 4z",stats:[["new_user_count","新增用户"],["active_user_count","活跃用户"],["login_user_count","登录用户"],["login_count","登录次数"]],lines:[["new_user_count","新增用户","#6366F1"],["active_user_count","活跃用户","#34D399"]]},{key:"device",title:"设备激活绑定",color:"#0EA5E9",tint:"#E0F2FE",icon:"M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z",stats:[["active_device_count","已激活"],["bind_device_count","已绑定"]],lines:[["active_device_count","已激活","#0EA5E9"],["bind_device_count","已绑定","#818CF8"]]},{key:"qrcode",title:"二维码激活",color:"#EC4899",tint:"#FCE7F3",icon:"M12 4v1m6 11h2m-6 0h-1v4m-6-4H5m14 0h-2m-6-7H5m0 0V5m0 4v6m14-6V5h-4M5 5h4M5 19h4m6 0h4v-4M4 4h6v6H4V4zm10 0h6v6h-6V4zM4 14h6v6H4v-6z",stats:[["qr_active_count","二维码激活次数"]],lines:[["qr_active_count","二维码激活","#EC4899"]]},{key:"order",title:"订单支付",color:"#F59E0B",tint:"#FEF3C7",icon:"M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z",stats:[["order_create_count","创建订单"],["order_paid_count","支付订单"],["order_failed_count","失败订单"],["pay_user_count","付费用户"],["order_paid_amount","支付金额",!0],["order_create_amount","创建金额",!0]],lines:[["order_paid_count","支付订单","#F59E0B"],["order_create_count","创建订单","#FCD34D"]]},{key:"meeting",title:"会议",color:"#22D3EE",tint:"#CFFAFE",icon:"M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z",stats:[["meet_count","会议次数"],["meet_second","会议时长",!1,!0],["grant_meet_second","发放会议时长",!1,!0]],lines:[["meet_count","会议次数","#22D3EE"],["meet_second","会议时长(秒)","#0EA5E9"]]},{key:"translate",title:"翻译",color:"#8B5CF6",tint:"#F3E8FF",icon:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129",stats:[["trade_count","翻译次数"],["trade_second","翻译时长",!1,!0],["trade_words","翻译字数"],["grant_trade_second","发放翻译时长",!1,!0]],lines:[["trade_count","翻译次数","#8B5CF6"],["trade_second","翻译时长(秒)","#A78BFA"]]}],f=m(()=>k.identity===3),st=m(()=>k.apps),H=m(()=>k.regions),T=m(()=>k.products.map(t=>parseInt(t)).filter(t=>!isNaN(t))),I=["new_user_count","active_user_count","qr_active_count"],at=m(()=>f.value?z.filter(t=>!I.includes(t[0])):z),nt=m(()=>f.value?O.filter(t=>!I.includes(t[0])):O),G=m(()=>f.value?E.filter(t=>t.key!=="user"&&t.key!=="qrcode"):E),ot=[[7,"7天"],[30,"30天"],[90,"90天"],[0,"全部"]],i=K({app:"",region:"",product:""}),F=p([]),M=p([]),lt=m(()=>f.value&&H.value.length?q.filter(t=>H.value.includes(t[0])).map(t=>({value:t[0],label:t[1]})):q.map(t=>({value:t[0],label:t[1]}))),U=p({}),P=p({}),S=p({}),j=p({}),Y=p("实时"),N=p({}),w=K({});E.forEach(t=>{w[t.key]=30});function x(t){const e=t.getFullYear(),s=("0"+(t.getMonth()+1)).slice(-2),n=("0"+t.getDate()).slice(-2);return parseInt(e+s+n)}function rt(t){if(!t)return{start:0,end:0};const e=new Date,s=new Date;return s.setDate(s.getDate()-(t-1)),{start:x(s),end:x(e)}}function it(t,e){return t=Number(t)||0,e?"¥"+(t/100).toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2}):t.toLocaleString()}function ct(t){t=Math.max(0,Math.floor(Number(t)||0));const e=Math.floor(t/3600),s=Math.floor(t%3600/60),n=t%60;return e>0?e+"时"+s+"分":s>0?s+"分"+n+"秒":n+"秒"}function B(t,e,s){return s?ct(t):it(t,e)}function dt(t){const e=String(t);return e.length===8?e.slice(4,6)+"-"+e.slice(6,8):e}function ut(t,e){return t=Number(t)||0,e=Number(e)||0,e===0?t>0?null:0:(t-e)/e*100}function g(t){return et[t]||["📊","#f1f5f9","#94a3b8"]}function _t(t){const e=t[0]==="bind_device_count"||t[0]==="active_device_count"?P.value:U.value,s=t[0]==="meet_second"||t[0]==="trade_second";return B(e[t[0]],t[2],s)}function vt(t){return B(S.value[t[0]],t[2],!!t[3])}function b(t){const e=ut(S.value[t[0]],j.value[t[0]]);if(e===null)return{type:"new",arrow:"",abs:""};const s=e>0?"up":e<0?"down":"flat",n=e>0?"▲":e<0?"▼":"—";return{type:s,arrow:n,abs:Math.abs(e).toFixed(1)}}function mt(t,e){return B((N.value[t.key]||{})[e[0]],e[2],e[3])}function D(){const t={};return i.app!==""&&(t.app_id=i.app),i.region!==""&&(t.region=i.region),i.product!==""&&(t.product_id=parseInt(String(i.product))),t}function W(){const t={};return i.product!==""&&(t.product_id=parseInt(String(i.product))),t}async function y(t,e){try{return{code:0,data:await V(t,e)??{}}}catch{return null}}async function pt(){const t=await y("getstatssummary",D());U.value=t&&t.code===0&&t.data?t.data:{};const e=await y("getstatssummary",W());P.value=e&&e.code===0&&e.data?e.data:{}}async function ft(){const t=x(new Date),e=new Date;e.setDate(e.getDate()-1);const s=x(e),n=D();n.start_day=t,n.end_day=t;const d=D();d.start_day=s,d.end_day=s;const u=await y("getstatssummary",n);S.value=u&&u.code===0&&u.data?u.data:{};const c=await y("getstatssummary",d);j.value=c&&c.code===0&&c.data?c.data:{};const C=new Date,Et=("0"+(C.getMonth()+1)).slice(-2),Ft=("0"+C.getDate()).slice(-2);Y.value=Et+"-"+Ft+" 实时"}async function J(t){let e;if(t.key==="device")e=W();else{const c=rt(w[t.key]);e=D(),e.start_day=c.start,e.end_day=c.end}const s=await y("getstatssummary",e),n=s&&s.code===0&&s.data?s.data:{};if(N.value={...N.value,[t.key]:n},t.key==="device")return;const d=await y("getstatstrend",e),u=d&&d.code===0?d.data||[]:[];bt(t,u)}function yt(t,e){w[t]=e;const s=E.find(n=>n.key===t);s&&J(s)}function Z(){pt(),ft(),G.value.forEach(t=>J(t))}const $={},h={};function gt(t,e){e&&($[t]=e)}function bt(t,e){const s=window.Chart,n=$[t.key];if(!s||!n)return;const d=e.map(c=>dt(c.stat_day)),u=t.lines.map(c=>({label:c[1],data:e.map(C=>Number(C[c[0]])||0),borderColor:c[2],backgroundColor:c[2]+"22",tension:.35,fill:!0,pointRadius:0,borderWidth:2}));if(h[t.key]){h[t.key].data.labels=d,h[t.key].data.datasets=u,h[t.key].update();return}h[t.key]=new s(n,{type:"line",data:{labels:d,datasets:u},options:{responsive:!0,maintainAspectRatio:!1,plugins:{legend:{position:"bottom",labels:{boxWidth:10,padding:12,font:{size:11}}}},scales:{x:{ticks:{maxTicksLimit:8,font:{size:10},color:"#94a3b8"},grid:{display:!1}},y:{beginAtZero:!0,ticks:{precision:0,maxTicksLimit:5,font:{size:10},color:"#94a3b8"},grid:{color:"#f1f5f9"}}},interaction:{mode:"index",intersect:!1}}})}async function ht(){if(f.value)F.value=st.value.map(t=>({value:t,label:t}));else try{const t=await tt("apps/list",{}),e=Array.isArray(t)?t:[];F.value=e.map(s=>({value:s.name||"",label:s.name||"应用#"+s.id}))}catch{F.value=[]}try{const t=await V("getproducts",{});let e=t&&t.products?t.products:[];f.value&&T.value.length&&(e=e.filter(s=>T.value.includes(s.id))),M.value=e.map(s=>({value:s.id,label:(s.devicename||"产品#"+s.id)+" (#"+s.id+")"}))}catch{M.value=[]}}function kt(){return new Promise(t=>{if(window.Chart)return t();const e=document.createElement("script");e.src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js",e.onload=()=>t(),e.onerror=()=>t(),document.head.appendChild(e)})}return Dt(async()=>{await kt(),await ht(),Z()}),(t,e)=>(l(),o("div",null,[a("div",Mt,[a("div",St,[a("div",Nt,[e[4]||(e[4]=a("label",{class:"label py-1"},[a("span",{class:"label-text text-xs text-slate-500"},"应用")],-1)),L(a("select",{"onUpdate:modelValue":e[0]||(e[0]=s=>i.app=s),class:"select select-bordered select-sm w-40"},[e[3]||(e[3]=a("option",{value:""},"全部应用",-1)),(l(!0),o(_,null,v(F.value,s=>(l(),o("option",{key:s.value,value:s.value},r(s.label),9,Bt))),128))],512),[[R,i.app]])]),a("div",Lt,[e[6]||(e[6]=a("label",{class:"label py-1"},[a("span",{class:"label-text text-xs text-slate-500"},"区域")],-1)),L(a("select",{"onUpdate:modelValue":e[1]||(e[1]=s=>i.region=s),class:"select select-bordered select-sm w-32"},[e[5]||(e[5]=a("option",{value:""},"全部区域",-1)),(l(!0),o(_,null,v(lt.value,s=>(l(),o("option",{key:s.value,value:s.value},r(s.label),9,Rt))),128))],512),[[R,i.region]])]),a("div",Vt,[e[8]||(e[8]=a("label",{class:"label py-1"},[a("span",{class:"label-text text-xs text-slate-500"},"产品")],-1)),L(a("select",{"onUpdate:modelValue":e[2]||(e[2]=s=>i.product=s),class:"select select-bordered select-sm w-48"},[e[7]||(e[7]=a("option",{value:""},"全部产品",-1)),(l(!0),o(_,null,v(M.value,s=>(l(),o("option",{key:s.value,value:s.value},r(s.label),9,qt))),128))],512),[[R,i.product]])]),a("button",{class:"btn btn-primary btn-sm text-white",onClick:Z},"查询"),e[9]||(e[9]=a("span",{class:"text-xs text-slate-400 ml-auto self-center"},"顶部为全量总览;各版面右上角可单独选时间周期",-1))])]),e[14]||(e[14]=a("div",{class:"sec-title muted"},[a("span",{class:"bar",style:{background:"#cbd5e1"}}),a("h2",null,"累计数据"),a("span",{class:"sub"},"全量累计 · 随筛选条件变化")],-1)),a("div",zt,[(l(!0),o(_,null,v(at.value,s=>(l(),o("div",{key:s[0],class:"cum-card"},[a("span",{class:"ico",style:A({background:g(s[0])[1]})},r(g(s[0])[0]),5),a("div",Ot,[a("div",Ht,r(s[1]),1),a("div",Tt,r(_t(s)),1)])]))),128))]),a("div",It,[a("div",Gt,[e[10]||(e[10]=a("span",{class:"bar",style:{background:"linear-gradient(180deg,#0EA5E9,#22D3EE)"}},null,-1)),e[11]||(e[11]=a("h2",null,"今日数据",-1)),a("span",Ut,r(Y.value),1),e[12]||(e[12]=a("span",{class:"sub"},"今日 0 点至现在 · 含较昨日同比(设备类无日期维度,仅见累计)",-1))]),a("div",Pt,[(l(!0),o(_,null,v(nt.value,s=>(l(),o("div",{key:s[0],class:"today-card"},[a("span",{class:"accent",style:A({background:g(s[0])[2]})},null,4),a("div",jt,[a("span",Yt,r(s[1]),1),a("span",{class:"ico",style:A({background:g(s[0])[1]})},r(g(s[0])[0]),5)]),a("div",Wt,r(vt(s)),1),a("div",Jt,[b(s).type==="new"?(l(),o("span",Zt,"新")):b(s).type!=="none"?(l(),o("span",{key:1,class:Q(["delta",b(s).type])},r(b(s).arrow)+" "+r(b(s).abs)+"%",3)):X("",!0),e[13]||(e[13]=a("span",null,"较昨日",-1))])]))),128))])]),e[15]||(e[15]=a("div",{class:"sec-title"},[a("span",{class:"bar",style:{background:"linear-gradient(180deg,#10B981,#22D3EE)"}}),a("h2",null,"趋势分析"),a("span",{class:"sub"},"各版面右上角可独立选择时间周期")],-1)),a("div",$t,[(l(!0),o(_,null,v(G.value,s=>(l(),o("div",{key:s.key,class:"panel"},[a("div",Kt,[a("span",{class:"panel-dot",style:A({background:s.tint})},[(l(),o("svg",{width:"17",height:"17",fill:"none",viewBox:"0 0 24 24",stroke:s.color},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:s.icon},null,8,Xt)],8,Qt))],4),a("span",te,r(s.title),1),s.key==="device"?(l(),o("span",ee,"当前累计 · 无日期维度")):(l(),o("div",se,[(l(),o(_,null,v(ot,n=>a("button",{key:n[0],class:Q(["tbtn",{"tbtn-on":n[0]===w[s.key]}]),onClick:d=>yt(s.key,Number(n[0]))},r(n[1]),11,ae)),64))]))]),a("div",ne,[a("div",oe,[(l(!0),o(_,null,v(s.stats,n=>(l(),o("div",{key:n[0],class:"stat-box"},[a("div",le,r(n[1]),1),a("div",re,r(mt(s,n)),1)]))),128))]),s.key!=="device"?(l(),o("div",ie,[a("canvas",{ref_for:!0,ref:n=>gt(s.key,n)},null,512)])):X("",!0)])]))),128))])]))}}),me=Ct(ce,[["__scopeId","data-v-7dbe8712"]]);export{me as default}; diff --git a/apps/admin/.output/public/_nuxt/DSu8q42f.js b/apps/admin/.output/public/_nuxt/DSu8q42f.js new file mode 100644 index 00000000..5ca6fd87 --- /dev/null +++ b/apps/admin/.output/public/_nuxt/DSu8q42f.js @@ -0,0 +1 @@ +import{C as w,z as d}from"./CfpW9SkI.js";import{u as h}from"./DL330dAC.js";async function f(o,i,a){const e=w(),u=d(),s={"Content-Type":"application/json"};e.token&&(s.Authorization=e.token),a&&Object.assign(s,a);const t=await fetch(o,{method:"POST",headers:s,body:JSON.stringify(i)});if(!t.ok)throw new Error(`HTTP error: ${t.status}`);const n=await t.json();if(n.code===18)throw e.logout(),u.push("/"),new Error(n.msg||"Unauthorized");if(n.code!==0)throw new Error(n.msg||"Unknown error");return n.data}const y=/^(get|list|load|query|fetch|search|count|stat|export|check)/i;function g(o){return!y.test(o)}function k(){const o=w(),{begin:i,end:a}=h();async function e(t,n){const r={};if(o.currentAppId&&(r["X-App-Id"]=String(o.currentAppId)),!g(t))return f(`/web/api/api_${t}`,n??{},r);i();try{return await f(`/web/api/api_${t}`,n??{},r)}finally{a()}}async function u(t,n){return f(`/console/api/${t}`,n??{})}async function s(t,n){const r=t.type||"application/octet-stream",c=await e("getcostoken",{path:n,filename:t.name,content_type:r}),p=c.upload_url||c.url||"";if(!p)throw new Error("未获取到上传地址:请确认已在【第三方服务配置→存储】配置并启用「阿里云 OSS」");const l=await fetch(p,{method:"PUT",headers:{"Content-Type":r},body:t});if(!l.ok)throw new Error(`Upload failed: ${l.status}`);return c.url||p.split("?")[0]}return{webApi:e,consoleApi:u,uploadFile:s}}export{k as u}; diff --git a/apps/admin/.output/public/_nuxt/Dm32cczg.js b/apps/admin/.output/public/_nuxt/Dm32cczg.js new file mode 100644 index 00000000..3c0bbe94 --- /dev/null +++ b/apps/admin/.output/public/_nuxt/Dm32cczg.js @@ -0,0 +1 @@ +import{g as ot,j as at,o as n,c as o,k as r,v as A,a as s,l as D,F as y,r as k,t as p,n as it,m as w,p as H,d as m,q as M,s as b,x as B,_ as dt}from"./CfpW9SkI.js";import{u as ut}from"./DSu8q42f.js";import{u as rt}from"./CMwGY1Mu.js";import"./DL330dAC.js";const pt={class:"flex items-center justify-between mb-4"},ct={class:"bg-white rounded-xl shadow-sm border border-slate-100 overflow-hidden"},mt={class:"table table-sm"},bt={key:0},xt={key:1},vt={class:"font-mono"},ft={class:"font-medium"},yt={key:0,class:"text-green-600 text-xs"},gt={key:1,class:"text-slate-400 text-xs"},kt={key:0,class:"text-xs text-slate-500"},wt={key:1,class:"text-xs text-slate-300"},_t={key:1,class:"text-xs text-slate-300"},ht={key:2,class:"text-[11px] text-emerald-600 mt-0.5"},Ct={class:"text-xs text-slate-500"},Vt={class:"flex gap-1 justify-end"},Ut=["onClick"],It=["onClick"],St=["onClick"],Et=["onClick"],$t={class:"flex items-center gap-3 mb-5"},Nt={class:"text-lg font-semibold text-slate-800"},jt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},At={class:"grid grid-cols-2 gap-3"},Mt=["disabled"],Pt={class:"col-span-2"},Tt={class:"mt-4 border-t border-slate-100 pt-4"},Lt={class:"mb-3"},Ot={class:"flex flex-wrap gap-2"},Dt=["value"],Bt={class:"mb-3"},Gt={class:"flex flex-wrap gap-2"},Rt=["value"],Ft={key:1,class:"text-xs text-slate-300"},qt={class:"mb-3"},zt={class:"flex flex-wrap gap-2"},Ht=["value"],Jt={class:"max-h-56 overflow-y-auto pr-1 border border-slate-100 rounded-lg p-2"},Kt={key:0,class:"text-xs text-slate-300"},Qt={key:1,class:"text-xs text-slate-300"},Wt={class:"text-[11px] font-semibold text-slate-500 mb-1 sticky top-0 bg-white py-0.5"},Xt={class:"flex flex-wrap gap-2"},Yt=["value"],Zt={class:"flex gap-3 justify-end mt-6"},ts=["disabled"],ss={class:"modal-box max-w-md"},es={class:"text-xs text-slate-400 mb-3"},ls={class:"font-medium text-slate-600"},ns={class:"text-emerald-600"},os={class:"grid grid-cols-3 gap-3"},as={class:"modal-action"},is=ot({__name:"accounts",setup(ds){const{webApi:G,consoleApi:v}=ut(),{success:h,error:g,warn:J}=rt(),K={1:"超管",2:"管理员",3:"代理",4:"运营"},Q={1:"badge-error",2:"badge-primary",3:"badge-warning",4:"badge-info"},W=[["dashboard","仪表盘"],["factory","厂家管理"],["product","产品管理"],["device","生产管理"],["code","公码管理"],["user","用户查询"],["apps","应用注册"]],X=[["cn","中国"],["us","美国"],["ea","东亚"],["sea","东南亚"],["sa","南亚"],["me","中东"],["eu","欧洲"],["ru","俄罗斯"],["af","非洲"],["sam","南美"],["nam","北美"],["oc","大洋洲"],["br","巴西"],["in","印度"]],C=b("list"),V=b([]),U=b([]),P=b(!1),I=b(!1),f=b(0),a=B({username:"",password:"",identity:2,enabled:"1",remark:""}),d=B({access:[],apps:[],regions:[],products:[]}),_=b([]),T=b(!1);function x(l){return(l||"").split(",").map(t=>t.trim()).filter(t=>t)}function S(l){return l.join(",")}function R(l){const t=[];return l.apps&&t.push("应用:"+x(l.apps).length),l.regions&&t.push("区域:"+x(l.regions).length),l.products&&t.push("产品:"+x(l.products).length),l.access&&t.push("页面:"+x(l.access).length),t}async function E(){P.value=!0;try{try{U.value=await v("apps/list",{})??[]}catch{U.value=[]}const l=await v("accounts/list",{});V.value=l??[]}catch(l){g(l?.message??"获取账号列表失败"),V.value=[]}finally{P.value=!1}}async function Y(){T.value=!0,_.value=[];try{const[l,t]=await Promise.all([G("getfactorys",{}),G("getproducts",{})]),e=l?.factorys??[],i=t?.products??[],$={};e.forEach(c=>{$[c.id]=c.factory||"厂家#"+c.id});const N={};i.forEach(c=>{const j=String(c.factoryid||0);(N[j]=N[j]||[]).push(c)});const nt=Object.keys(N).sort((c,j)=>(parseInt(c)||0)-(parseInt(j)||0));_.value=nt.map(c=>({fid:c,label:$[c]||(parseInt(c)?"厂家#"+c:"未分组"),products:N[c]??[]}))}catch{_.value=[]}finally{T.value=!1}}function F(l){f.value=l?l.id:0,a.username=l&&l.username||"",a.password="",a.identity=l?l.identity:2,a.enabled=l&&!l.enabled?"0":"1",a.remark=l&&l.remark||"",d.access=x(l?.access),d.apps=x(l?.apps),d.regions=x(l?.regions),d.products=x(l?.products),Y(),C.value="form"}function L(){C.value="list",E()}async function Z(){const l=a.identity,t={identity:l,enabled:a.enabled==="1",remark:a.remark.trim(),access:"",apps:"",regions:"",products:""};(l===3||l===4)&&(t.access=S(d.access),t.apps=S(d.apps),t.regions=S(d.regions),t.products=S(d.products)),I.value=!0;try{if(f.value)t.id=f.value,await v("accounts/update",t);else{if(t.username=a.username.trim(),t.password=a.password,!t.username||!t.password){g("用户名和密码必填"),I.value=!1;return}await v("accounts/add",t)}h("已保存"),L()}catch(e){g(e?.message??"保存失败")}finally{I.value=!1}}async function tt(l,t){const e=window.prompt("为账号【"+t+"】设置新密码:");if(e)try{await v("accounts/resetpwd",{id:l,password:e}),h("密码已重置")}catch(i){g(i?.message??"失败")}}function st(l,t){window.confirm("确认删除账号【"+t+"】?该操作不可恢复。")&&v("accounts/del",{id:l}).then(()=>{h("已删除"),E()}).catch(e=>g(e?.message??"失败"))}const O=b(null),q=b(0),u=B({name:"",cur:"",vipday:0,trademin:0,meetmin:0});function et(l){q.value=l.id,u.name=l.username||"#"+l.id,u.cur="VIP"+(l.balance_vipday||0)+"天 · 翻译"+(l.balance_trademin||0)+"分 · 会议"+(l.balance_meetmin||0)+"分",u.vipday=0,u.trademin=0,u.meetmin=0,O.value?.showModal()}function z(){O.value?.close()}async function lt(){const l=Number(u.vipday)||0,t=Number(u.trademin)||0,e=Number(u.meetmin)||0;if(!l&&!t&&!e){J("请至少填写一项");return}try{await v("accounts/topup",{account_id:q.value,vipday:l,trademin:t,meetmin:e}),h("余额已更新"),z(),E()}catch(i){g(i?.message??"操作失败")}}return at(E),(l,t)=>(n(),o("div",null,[r(s("div",null,[s("div",pt,[t[18]||(t[18]=s("div",null,[s("h2",{class:"text-lg font-bold text-slate-700"},"后台账号"),s("p",{class:"text-xs text-slate-400 mt-0.5"},"超管 / 管理员 / 代理 / 运营。代理·运营可绑定应用·区域·产品,登录后仪表盘按绑定限制。")],-1)),s("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=e=>F())},"+ 新建账号")]),s("div",ct,[s("table",mt,[t[21]||(t[21]=s("thead",null,[s("tr",{class:"text-slate-500"},[s("th",null,"ID"),s("th",null,"用户名"),s("th",null,"角色"),s("th",null,"状态"),s("th",null,"绑定作用域"),s("th",null,"备注"),s("th",{class:"text-right"},"操作")])],-1)),s("tbody",null,[P.value?(n(),o("tr",bt,[...t[19]||(t[19]=[s("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"加载中...",-1)])])):V.value.length?D("",!0):(n(),o("tr",xt,[...t[20]||(t[20]=[s("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无账号(引导超管不在此列)",-1)])])),(n(!0),o(y,null,k(V.value,e=>(n(),o("tr",{key:e.id},[s("td",vt,p(e.id),1),s("td",ft,p(e.username||""),1),s("td",null,[s("span",{class:it(["badge badge-sm",Q[e.identity]||""])},p(K[e.identity]||e.identity),3)]),s("td",null,[e.enabled?(n(),o("span",yt,"启用")):(n(),o("span",gt,"停用"))]),s("td",null,[e.identity===3||e.identity===4?(n(),o(y,{key:0},[R(e).length?(n(),o("span",kt,p(R(e).join(" · ")),1)):(n(),o("span",wt,"未绑定(不限)"))],64)):(n(),o("span",_t,"全部权限")),e.identity===3?(n(),o("div",ht," 余额 VIP"+p(e.balance_vipday||0)+"天 · 翻译"+p(e.balance_trademin||0)+"分 · 会议"+p(e.balance_meetmin||0)+"分 ",1)):D("",!0)]),s("td",Ct,p(e.remark||""),1),s("td",null,[s("div",Vt,[e.identity===3?(n(),o("button",{key:0,class:"btn btn-ghost btn-xs text-emerald-600",onClick:i=>et(e)},"充值",8,Ut)):D("",!0),s("button",{class:"btn btn-ghost btn-xs",onClick:i=>F(e)},"编辑",8,It),s("button",{class:"btn btn-ghost btn-xs text-amber-600",onClick:i=>tt(e.id,e.username)},"改密",8,St),s("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:i=>st(e.id,e.username)},"删除",8,Et)])])]))),128))])])])],512),[[A,C.value==="list"]]),r(s("div",null,[s("div",$t,[s("button",{class:"btn btn-ghost btn-sm",onClick:t[1]||(t[1]=e=>L())},"← 返回列表"),s("h2",Nt,p(f.value?"编辑账号 #"+f.value:"新建账号"),1)]),s("div",jt,[s("div",At,[s("div",null,[t[22]||(t[22]=s("label",{class:"text-xs text-slate-500"},"用户名",-1)),r(s("input",{"onUpdate:modelValue":t[2]||(t[2]=e=>a.username=e),disabled:!!f.value,class:"input input-bordered input-sm w-full",placeholder:"登录用户名"},null,8,Mt),[[w,a.username]])]),r(s("div",null,[t[23]||(t[23]=s("label",{class:"text-xs text-slate-500"},"密码",-1)),r(s("input",{"onUpdate:modelValue":t[3]||(t[3]=e=>a.password=e),type:"password",class:"input input-bordered input-sm w-full",placeholder:"登录密码"},null,512),[[w,a.password]])],512),[[A,!f.value]]),s("div",null,[t[25]||(t[25]=s("label",{class:"text-xs text-slate-500"},"角色",-1)),r(s("select",{"onUpdate:modelValue":t[4]||(t[4]=e=>a.identity=e),class:"select select-bordered select-sm w-full"},[...t[24]||(t[24]=[s("option",{value:2},"管理员(除账号管理外全部)",-1),s("option",{value:3},"代理(外部,按绑定限制)",-1),s("option",{value:4},"运营(内部,按绑定限制)",-1),s("option",{value:1},"超管(全部权限)",-1)])],512),[[H,a.identity,void 0,{number:!0}]])]),s("div",null,[t[27]||(t[27]=s("label",{class:"text-xs text-slate-500"},"状态",-1)),r(s("select",{"onUpdate:modelValue":t[5]||(t[5]=e=>a.enabled=e),class:"select select-bordered select-sm w-full"},[...t[26]||(t[26]=[s("option",{value:"1"},"启用",-1),s("option",{value:"0"},"停用",-1)])],512),[[H,a.enabled]])]),s("div",Pt,[t[28]||(t[28]=s("label",{class:"text-xs text-slate-500"},"备注",-1)),r(s("input",{"onUpdate:modelValue":t[6]||(t[6]=e=>a.remark=e),class:"input input-bordered input-sm w-full",placeholder:"可选"},null,512),[[w,a.remark]])])]),r(s("div",Tt,[t[33]||(t[33]=s("div",{class:"text-sm font-semibold text-slate-600 mb-2"},[m("作用域绑定 "),s("span",{class:"text-xs text-slate-400 font-normal"},"(代理/运营生效;勾选可访问页面,并限制仪表盘数据范围)")],-1)),s("div",Lt,[t[29]||(t[29]=s("div",{class:"text-xs text-slate-500 mb-1.5"},"可访问页面",-1)),s("div",Ot,[(n(),o(y,null,k(W,e=>s("label",{key:e[0],class:"chk"},[r(s("input",{"onUpdate:modelValue":t[7]||(t[7]=i=>d.access=i),type:"checkbox",value:e[0]},null,8,Dt),[[M,d.access]]),m(p(e[1]),1)])),64))])]),s("div",Bt,[t[30]||(t[30]=s("div",{class:"text-xs text-slate-500 mb-1.5"},[m("绑定应用 "),s("span",{class:"text-slate-300"},"(仪表盘只显示这些应用数据;不勾=不限)")],-1)),s("div",Gt,[U.value.length?(n(!0),o(y,{key:0},k(U.value,e=>(n(),o("label",{key:e.id,class:"chk"},[r(s("input",{"onUpdate:modelValue":t[8]||(t[8]=i=>d.apps=i),type:"checkbox",value:e.name},null,8,Rt),[[M,d.apps]]),m(p(e.name||"应用#"+e.id),1)]))),128)):(n(),o("span",Ft,"无注册应用"))])]),s("div",qt,[t[31]||(t[31]=s("div",{class:"text-xs text-slate-500 mb-1.5"},[m("绑定区域 "),s("span",{class:"text-slate-300"},"(不勾=不限)")],-1)),s("div",zt,[(n(),o(y,null,k(X,e=>s("label",{key:e[0],class:"chk"},[r(s("input",{"onUpdate:modelValue":t[9]||(t[9]=i=>d.regions=i),type:"checkbox",value:e[0]},null,8,Ht),[[M,d.regions]]),m(p(e[1]),1)])),64))])]),s("div",null,[t[32]||(t[32]=s("div",{class:"text-xs text-slate-500 mb-1.5"},[m("绑定产品 "),s("span",{class:"text-slate-300"},"(按厂家分组;仪表盘只显示这些产品数据;不勾=不限)")],-1)),s("div",Jt,[T.value?(n(),o("span",Kt,"加载产品中...")):_.value.length?(n(!0),o(y,{key:2},k(_.value,e=>(n(),o("div",{key:e.fid,class:"mb-2 last:mb-0"},[s("div",Wt,"🏭 "+p(e.label),1),s("div",Xt,[(n(!0),o(y,null,k(e.products,i=>(n(),o("label",{key:i.id,class:"chk"},[r(s("input",{"onUpdate:modelValue":t[10]||(t[10]=$=>d.products=$),type:"checkbox",value:String(i.id)},null,8,Yt),[[M,d.products]]),m(p((i.devicename||"产品")+" #"+i.id),1)]))),128))])]))),128)):(n(),o("span",Qt,"无产品"))])])],512),[[A,a.identity===3||a.identity===4]]),s("div",Zt,[s("button",{class:"btn btn-ghost btn-sm",onClick:t[11]||(t[11]=e=>L())},"取消"),s("button",{class:"btn btn-primary btn-sm text-white",disabled:I.value,onClick:t[12]||(t[12]=e=>Z())},"保存",8,ts)])])],512),[[A,C.value==="form"]]),s("dialog",{ref_key:"topupModal",ref:O,class:"modal"},[s("div",ss,[t[39]||(t[39]=s("h3",{class:"font-bold text-lg mb-1"},"充值 / 调整资源点",-1)),s("p",es,[t[34]||(t[34]=m("代理:",-1)),s("span",ls,p(u.name),1),t[35]||(t[35]=m("。填增量(可填负数下调),当前余额:",-1)),s("span",ns,p(u.cur),1)]),s("div",os,[s("div",null,[t[36]||(t[36]=s("label",{class:"text-xs text-slate-500"},"VIP天数",-1)),r(s("input",{"onUpdate:modelValue":t[13]||(t[13]=e=>u.vipday=e),type:"number",class:"input input-bordered input-sm w-full"},null,512),[[w,u.vipday,void 0,{number:!0}]])]),s("div",null,[t[37]||(t[37]=s("label",{class:"text-xs text-slate-500"},"翻译分钟",-1)),r(s("input",{"onUpdate:modelValue":t[14]||(t[14]=e=>u.trademin=e),type:"number",class:"input input-bordered input-sm w-full"},null,512),[[w,u.trademin,void 0,{number:!0}]])]),s("div",null,[t[38]||(t[38]=s("label",{class:"text-xs text-slate-500"},"会议分钟",-1)),r(s("input",{"onUpdate:modelValue":t[15]||(t[15]=e=>u.meetmin=e),type:"number",class:"input input-bordered input-sm w-full"},null,512),[[w,u.meetmin,void 0,{number:!0}]])])]),s("div",as,[s("button",{class:"btn btn-ghost btn-sm",onClick:t[16]||(t[16]=e=>z())},"取消"),s("button",{class:"btn btn-primary btn-sm text-white",onClick:t[17]||(t[17]=e=>lt())},"确认")])]),t[40]||(t[40]=s("form",{method:"dialog",class:"modal-backdrop"},[s("button",null,"close")],-1))],512)]))}}),ms=dt(is,[["__scopeId","data-v-eb25cf37"]]);export{ms as default}; diff --git a/apps/admin/.output/public/_nuxt/EIJPD_ga.js b/apps/admin/.output/public/_nuxt/EIJPD_ga.js deleted file mode 100644 index 51ae5439..00000000 --- a/apps/admin/.output/public/_nuxt/EIJPD_ga.js +++ /dev/null @@ -1 +0,0 @@ -import{g as F,c as l,H as L,a as e,F as g,r as k,t as n,d as x,G as S,k as d,q as P,l as u,m as _,p as J,B as U,s as q,x as $,A as T,o,n as m,D as A,_ as Q}from"./CTAruH_8.js";import{u as Z}from"./lLLegusN.js";import"./yUUyh6cG.js";const W={class:"flex gap-4",style:{"align-items":"flex-start"}},X={style:{width:"208px","flex-shrink":"0"}},Y={class:"flex flex-col gap-1.5"},ee=["onClick"],te={width:"17",height:"17",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},se=["d"],le={class:"flex-1 min-w-0"},oe={class:"text-sm font-medium text-slate-700"},ae={class:"text-[11px] text-slate-400 truncate"},ne={key:0,class:"dot-on",title:"已启用"},ie={class:"flex-1 min-w-0"},de={key:0},re={class:"rounded-xl px-4 py-3 mb-4 flex items-center gap-3",style:{background:"linear-gradient(135deg,#ecfdf5,#f0fdfa)",border:"1px solid #a7f3d0"}},ue={style:{width:"36px",height:"36px","border-radius":"10px",background:"#10b981",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},ce={style:{width:"19px",height:"19px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},pe={class:"flex-1"},me={class:"text-sm font-semibold text-emerald-800"},xe={class:"grid grid-cols-4 gap-3 mb-4"},ve=["onClick"],be={class:"flex items-center justify-between"},ye={key:0,class:"text-[10px] text-emerald-500 font-semibold"},he={key:1,class:"text-[10px] text-slate-300 font-semibold"},fe={class:"text-sm font-semibold text-slate-700 mt-2"},ge={class:"text-[11px] text-slate-400 mb-2.5"},ke=["onClick"],_e=["checked","onClick"],we={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},Ce={class:"flex items-center justify-between mb-5"},Se={class:"flex items-center gap-3"},qe={class:"text-base font-semibold text-slate-800"},Ke={class:"text-xs text-slate-400 mt-0.5"},Me={class:"flex items-center gap-2"},Te={class:"flex items-center gap-2 mr-1"},Ae={class:"grid grid-cols-2 gap-x-5 gap-y-4"},Ve={class:"label py-1"},Ie={class:"label-text text-sm"},je={key:0,class:"text-rose-500 ml-0.5"},Pe={key:1,class:"lock-tag ml-1.5"},Ue={class:"relative"},$e=["onUpdate:modelValue","type","placeholder"],De=["onClick"],Le={key:0,class:"text-[11px] text-slate-400 mt-1"},Be={key:1},ze={class:"rounded-xl px-4 py-3 mb-4 flex items-center gap-3",style:{background:"#fffbeb",border:"1px solid #fde68a"}},Oe={style:{width:"36px",height:"36px","border-radius":"10px",background:"#f59e0b",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},Ne={style:{width:"19px",height:"19px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Re={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},Ee={class:"flex items-center justify-between mb-5"},He={class:"flex items-center gap-2"},Ge={class:"flex items-center gap-2 mr-1"},Fe={class:"grid grid-cols-2 gap-x-5 gap-y-4"},Je={class:"form-control"},Qe={class:"form-control"},Ze={class:"form-control"},We=["value"],Xe={class:"form-control"},Ye={class:"form-control"},et={class:"form-control"},tt={class:"relative"},st=["type"],lt={class:"form-control col-span-2"},ot={class:"flex items-end gap-3"},at={class:"form-control flex-1"},nt={key:2},it={class:"rounded-xl px-4 py-3 mb-4 flex items-center gap-3",style:{background:"#f0fdfa",border:"1px solid #99f6e4"}},dt={style:{width:"36px",height:"36px","border-radius":"10px",background:"#14b8a6",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},rt={style:{width:"19px",height:"19px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},ut={class:"badge badge-sm text-white",style:{background:"#14b8a6",border:"none"}},ct={class:"grid grid-cols-4 gap-3 mb-4"},pt=["onClick"],mt={class:"flex items-center justify-between"},xt={key:0,class:"text-[10px] text-emerald-500 font-semibold"},vt={key:1,class:"text-[10px] text-slate-300 font-semibold"},bt={class:"text-sm font-semibold text-slate-700 mt-2"},yt={class:"text-[11px] text-slate-400 mb-2.5"},ht=["onClick"],ft=["checked","onClick"],gt={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},kt={class:"flex items-center justify-between mb-5"},_t={class:"flex items-center gap-3"},wt={class:"text-base font-semibold text-slate-800"},Ct={class:"text-xs text-slate-400 mt-0.5"},St={class:"flex items-center gap-2"},qt={class:"flex items-center gap-2 mr-1"},Kt={class:"grid grid-cols-2 gap-x-5 gap-y-4"},Mt={class:"label py-1"},Tt={class:"label-text text-sm"},At={key:0,class:"text-rose-500 ml-0.5"},Vt={key:1,class:"lock-tag ml-1.5"},It={class:"relative"},jt=["onUpdate:modelValue","type","placeholder"],Pt=["onClick"],Ut={key:0,class:"text-[11px] text-slate-400 mt-1"},$t=F({__name:"systemconfig",setup(Dt){const{success:v,info:w}=Z(),B=[{id:"storage",label:"对象存储",desc:"固件 / 头像 / 文件",color:"#6366f1",icon:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8"},{id:"mail",label:"邮件服务",desc:"生产通知 / 厂家发信",color:"#f59e0b",icon:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},{id:"translate",label:"翻译服务",desc:"后台文案多语言同步",color:"#14b8a6",icon:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"}],C=q("storage"),a=$({enable:!0,host:"smtp.exmail.qq.com",port:"465",secure:"SSL",user:"noreply@yunyan.com",pass:"",_showPass:!1,fromName:"云岩科技",cc:"ops@yunyan.com",testTo:""}),z=["SSL","STARTTLS","不加密"];function O(){if(!a.testTo){w("请先填测试收件邮箱");return}w(`正在向 ${a.testTo} 发送测试邮件…(演示)`),setTimeout(()=>v(`测试邮件已发送至 ${a.testTo}`),600)}function N(i){return i==="storage"?!0:i==="mail"?a.enable:i==="translate"?D.value?.enable??!1:!1}const K=$([{id:"volc",name:"火山引擎翻译",short:"火山",tag:"Volcengine MT",color:"#1664ff",enable:!0,fields:[{key:"region",label:"Region",value:"cn-beijing",mono:!0,required:!0},{key:"accessKey",label:"AccessKey",value:"AKLTZjJmODdk****",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"}]},{id:"aliyun",name:"阿里云翻译",short:"阿里",tag:"Aliyun MT",color:"#ff6a00",enable:!0,fields:[{key:"region",label:"Region",value:"cn-hangzhou",mono:!0,required:!0},{key:"accessKeyId",label:"AccessKey ID",value:"LTAI5txxxxxxxx",mono:!0,encrypted:!0,required:!0},{key:"accessKeySecret",label:"AccessKey Secret",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"},{key:"scene",label:"翻译场景",value:"general",mono:!0,hint:"general / social / ecommerce / tech"}]},{id:"google",name:"Google 翻译",short:"G",tag:"Cloud Translation",color:"#ea4335",enable:!1,fields:[{key:"project",label:"Project ID",value:"",mono:!0,required:!0},{key:"apiKey",label:"API Key",value:"",mono:!0,encrypted:!0,required:!0}]},{id:"deepl",name:"DeepL",short:"DL",tag:"DeepL API",color:"#0f2b46",enable:!1,fields:[{key:"authKey",label:"Auth Key",value:"",mono:!0,encrypted:!0,required:!0},{key:"plan",label:"套餐",value:"free",mono:!0,hint:"free / pro"}]}]),b=q("volc"),h=q("volc"),c=T(()=>K.find(i=>i.id===h.value)),D=T(()=>K.find(i=>i.id===b.value));function V(i){const s=K.find(t=>t.id===i);s&&(b.value=i,h.value=i,s.enable=!0,v(`已将「${s.name}」设为默认翻译服务,后台多语言同步将走该服务`))}function R(){w(`正在测试 ${c.value.name} …(演示)`),setTimeout(()=>v(`${c.value.name} 连接正常,可调用翻译`),600)}const M=$([{id:"aliyun",name:"阿里云 OSS",short:"OSS",tag:"Aliyun",color:"#ff6a00",enable:!0,fields:[{key:"region",label:"Region",value:"oss-cn-shanghai",placeholder:"oss-cn-shanghai",mono:!0,required:!0},{key:"endpoint",label:"Endpoint",value:"oss-cn-shanghai.aliyuncs.com",mono:!0,required:!0},{key:"bucket",label:"Bucket",value:"yunyan-firmware",mono:!0,required:!0},{key:"accessKeyId",label:"AccessKey ID",value:"LTAI5txxxxxxxx",mono:!0,encrypted:!0,required:!0},{key:"accessKeySecret",label:"AccessKey Secret",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"},{key:"domain",label:"自定义域名 (CDN)",value:"https://cdn.yunyan.com",wide:!0,hint:"可选,配置后文件 URL 走该域名"}]},{id:"tencent",name:"腾讯云 COS",short:"COS",tag:"Tencent",color:"#00a4ff",enable:!0,fields:[{key:"region",label:"Region",value:"ap-guangzhou",mono:!0,required:!0},{key:"appid",label:"AppId",value:"1253517901",mono:!0,required:!0},{key:"bucket",label:"Bucket",value:"yunyan-1253517901",mono:!0,required:!0},{key:"secretId",label:"SecretId",value:"AKIDxxxxxxxx",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"},{key:"domain",label:"自定义域名 (CDN)",value:"",wide:!0,hint:"可选"}]},{id:"qiniu",name:"七牛云 Kodo",short:"KODO",tag:"Qiniu",color:"#00aaff",enable:!1,fields:[{key:"zone",label:"存储区域",value:"",mono:!0,required:!0},{key:"bucket",label:"Bucket",value:"",mono:!0,required:!0},{key:"accessKey",label:"AccessKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"domain",label:"加速域名",value:"",wide:!0}]},{id:"minio",name:"MinIO",short:"S3",tag:"S3 兼容",color:"#c72e49",enable:!1,fields:[{key:"endpoint",label:"Endpoint",value:"",mono:!0,required:!0,placeholder:"minio.内网:9000"},{key:"bucket",label:"Bucket",value:"",mono:!0,required:!0},{key:"accessKey",label:"AccessKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"useSSL",label:"使用 HTTPS",value:"false",mono:!0}]}]),y=q("aliyun"),f=q("aliyun"),p=T(()=>M.find(i=>i.id===f.value)),E=T(()=>M.find(i=>i.id===y.value));function H(){I(f.value)}function I(i){const s=M.find(t=>t.id===i);s&&(y.value=i,f.value=i,s.enable=!0,v(`已将「${s.name}」设为默认对象存储,固件 / 头像等文件上传将指向该存储桶`))}function G(){w?w(`正在测试 ${p.value.name} 连接…(演示)`):v("连接测试通过(演示)"),setTimeout(()=>v(`${p.value.name} 连接正常,Bucket 可写`),600)}function j(){v("配置已保存(演示,未落库)")}return(i,s)=>(o(),l("div",null,[s[39]||(s[39]=L('
演示效果·本页为 UI 演示,数据为本地 mock,未连接后端。确认方向后再接 console 接口。

系统配置

平台级服务配置:① 对象存储(固件 / 头像等文件,默认阿里云 OSS);② 邮件服务(生产环节给厂家发通知邮件);③ 翻译服务(后台配置多语言同步)。

',2)),e("div",W,[e("div",X,[e("div",Y,[(o(),l(g,null,k(B,t=>e("div",{key:t.id,class:m(["cat-item",{active:C.value===t.id}]),onClick:r=>C.value=t.id},[e("div",{class:"cat-icon",style:S({background:t.color})},[(o(),l("svg",te,[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:t.icon},null,8,se)]))],4),e("div",le,[e("div",oe,n(t.label),1),e("div",ae,n(t.desc),1)]),N(t.id)?(o(),l("span",ne)):u("",!0)],10,ee)),64))])]),e("div",ie,[C.value==="storage"?(o(),l("div",de,[e("div",re,[e("div",ue,[(o(),l("svg",ce,[...s[13]||(s[13]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"},null,-1)])]))]),e("div",pe,[e("div",me,"设备固件上传当前指向:"+n(E.value.name),1),s[14]||(s[14]=e("div",{class:"text-[11px] text-emerald-600 mt-0.5"},"固件包、用户头像等文件均上传至此存储桶。切换默认存储不影响历史文件 URL。",-1))]),s[15]||(s[15]=e("span",{class:"badge badge-success badge-sm text-white"},"运行中",-1))]),s[19]||(s[19]=e("div",{class:"flex items-center justify-between mb-2"},[e("span",{class:"text-xs font-semibold text-slate-500"},[x("选择默认对象存储 "),e("span",{class:"text-slate-400 font-normal"},"(固件 / 头像等文件上传指向此服务)")])],-1)),e("div",xe,[(o(!0),l(g,null,k(M,t=>(o(),l("div",{key:t.id,class:m(["provider-card",{active:f.value===t.id,"is-default":t.id===y.value}]),onClick:r=>f.value=t.id},[e("div",be,[e("div",{class:"provider-logo",style:S({background:t.color})},n(t.short),5),t.enable?(o(),l("span",ye,"已配置")):(o(),l("span",he,"未配置"))]),e("div",fe,n(t.name),1),e("div",ge,n(t.tag),1),e("label",{class:m(["default-pick",{on:t.id===y.value}]),onClick:A(r=>I(t.id),["stop"])},[e("input",{type:"radio",class:"radio radio-xs radio-primary",checked:t.id===y.value,onClick:A(r=>I(t.id),["stop"])},null,8,_e),e("span",null,n(t.id===y.value?"默认使用":"设为默认"),1)],10,ke)],10,ve))),128))]),e("div",we,[e("div",Ce,[e("div",Se,[e("div",{class:"provider-logo",style:S({background:p.value.color,width:"44px",height:"44px",fontSize:"15px"})},n(p.value.short),5),e("div",null,[e("h3",qe,n(p.value.name),1),e("p",Ke,n(p.value.tag)+" · 对象存储",1)])]),e("div",Me,[e("label",Te,[s[16]||(s[16]=e("span",{class:"text-xs text-slate-500"},"启用",-1)),d(e("input",{"onUpdate:modelValue":s[0]||(s[0]=t=>p.value.enable=t),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[P,p.value.enable]])]),e("button",{class:"btn btn-outline btn-sm",onClick:G},"测试连接"),f.value!==y.value?(o(),l("button",{key:0,class:"btn btn-ghost btn-sm text-indigo-600",onClick:H},"设为默认存储")):u("",!0),e("button",{class:"btn btn-primary btn-sm text-white",onClick:j},"保存")])]),s[17]||(s[17]=e("div",{class:"divider text-xs text-slate-400 my-3"},"连接配置",-1)),e("div",Ae,[(o(!0),l(g,null,k(p.value.fields,t=>(o(),l("div",{key:t.key,class:m(["form-control",{"col-span-2":t.wide}])},[e("label",Ve,[e("span",Ie,[x(n(t.label),1),t.required?(o(),l("span",je,"*")):u("",!0),t.encrypted?(o(),l("span",Pe,"🔒 加密存储")):u("",!0)])]),e("div",Ue,[d(e("input",{"onUpdate:modelValue":r=>t.value=r,type:t.encrypted&&!t._show?"password":"text",class:m(["input input-bordered input-sm w-full",{"font-mono":t.mono,"pr-14":t.encrypted}]),placeholder:t.placeholder},null,10,$e),[[U,t.value]]),t.encrypted?(o(),l("button",{key:0,type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:r=>t._show=!t._show},n(t._show?"隐藏":"显示"),9,De)):u("",!0)]),t.hint?(o(),l("span",Le,n(t.hint),1)):u("",!0)],2))),128))]),s[18]||(s[18]=L('
上传规则
固件包路径前缀
/firmware/
头像路径前缀
/userAvatar/
签名 URL 有效期
3600 s
',2))])])):C.value==="mail"?(o(),l("div",Be,[e("div",ze,[e("div",Oe,[(o(),l("svg",Ne,[...s[20]||(s[20]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},null,-1)])]))]),s[21]||(s[21]=e("div",{class:"flex-1"},[e("div",{class:"text-sm font-semibold text-amber-800"},"生产环节邮件通知"),e("div",{class:"text-[11px] text-amber-600 mt-0.5"},"用于给目标厂家发送授权信息、公码批次、设备出货等通知邮件;账号告警也走此通道。")],-1))]),e("div",Re,[e("div",Ee,[s[23]||(s[23]=e("div",{class:"flex items-center gap-3"},[e("div",{class:"provider-logo",style:{background:"#f59e0b",width:"44px",height:"44px",fontSize:"13px"}},"SMTP"),e("div",null,[e("h3",{class:"text-base font-semibold text-slate-800"},"邮件服务"),e("p",{class:"text-xs text-slate-400 mt-0.5"},"SMTP 发信")])],-1)),e("div",He,[e("label",Ge,[s[22]||(s[22]=e("span",{class:"text-xs text-slate-500"},"启用",-1)),d(e("input",{"onUpdate:modelValue":s[1]||(s[1]=t=>a.enable=t),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[P,a.enable]])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:j},"保存")])]),s[32]||(s[32]=e("div",{class:"divider text-xs text-slate-400 my-3"},"发信配置",-1)),e("div",Fe,[e("div",Je,[s[24]||(s[24]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[x("SMTP 主机 "),e("span",{class:"text-rose-500"},"*")])],-1)),d(e("input",{"onUpdate:modelValue":s[2]||(s[2]=t=>a.host=t),class:"input input-bordered input-sm font-mono",placeholder:"smtp.exmail.qq.com"},null,512),[[_,a.host]])]),e("div",Qe,[s[25]||(s[25]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[x("端口 "),e("span",{class:"text-rose-500"},"*")])],-1)),d(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>a.port=t),class:"input input-bordered input-sm font-mono",placeholder:"465"},null,512),[[_,a.port]])]),e("div",Ze,[s[26]||(s[26]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"加密方式")],-1)),d(e("select",{"onUpdate:modelValue":s[4]||(s[4]=t=>a.secure=t),class:"select select-bordered select-sm"},[(o(),l(g,null,k(z,t=>e("option",{key:t,value:t},n(t),9,We)),64))],512),[[J,a.secure]])]),e("div",Xe,[s[27]||(s[27]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"发件人显示名")],-1)),d(e("input",{"onUpdate:modelValue":s[5]||(s[5]=t=>a.fromName=t),class:"input input-bordered input-sm",placeholder:"云岩科技"},null,512),[[_,a.fromName]])]),e("div",Ye,[s[28]||(s[28]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[x("发信账号 "),e("span",{class:"text-rose-500"},"*")])],-1)),d(e("input",{"onUpdate:modelValue":s[6]||(s[6]=t=>a.user=t),class:"input input-bordered input-sm font-mono",placeholder:"noreply@yunyan.com"},null,512),[[_,a.user]])]),e("div",et,[s[29]||(s[29]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[x("授权码 / 密码 "),e("span",{class:"lock-tag ml-1.5"},"🔒 加密存储")])],-1)),e("div",tt,[d(e("input",{"onUpdate:modelValue":s[7]||(s[7]=t=>a.pass=t),type:a._showPass?"text":"password",class:"input input-bordered input-sm w-full font-mono pr-14",placeholder:"留空保留原密文"},null,8,st),[[U,a.pass]]),e("button",{type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:s[8]||(s[8]=t=>a._showPass=!a._showPass)},n(a._showPass?"隐藏":"显示"),1)])]),e("div",lt,[s[30]||(s[30]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"默认抄送 (CC)")],-1)),d(e("input",{"onUpdate:modelValue":s[9]||(s[9]=t=>a.cc=t),class:"input input-bordered input-sm font-mono",placeholder:"多个邮箱用逗号分隔,可留空"},null,512),[[_,a.cc]])])]),s[33]||(s[33]=e("div",{class:"divider text-xs text-slate-400 my-4"},"测试发信",-1)),e("div",ot,[e("div",at,[s[31]||(s[31]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"测试收件邮箱")],-1)),d(e("input",{"onUpdate:modelValue":s[10]||(s[10]=t=>a.testTo=t),class:"input input-bordered input-sm font-mono",placeholder:"填一个邮箱,发送一封测试邮件验证配置"},null,512),[[_,a.testTo]])]),e("button",{class:"btn btn-outline btn-sm",onClick:O},"发送测试")])])])):C.value==="translate"?(o(),l("div",nt,[e("div",it,[e("div",dt,[(o(),l("svg",rt,[...s[34]||(s[34]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"},null,-1)])]))]),s[35]||(s[35]=e("div",{class:"flex-1"},[e("div",{class:"text-sm font-semibold text-teal-800"},"后台配置多语言同步"),e("div",{class:"text-[11px] text-teal-600 mt-0.5"},"应用文案、通知 / 邮件模板、公告等后台配置内容,按目标语种自动翻译,保证多语言版本一致。")],-1)),e("span",ut,"默认 "+n(D.value.name),1)]),s[38]||(s[38]=e("div",{class:"flex items-center justify-between mb-2"},[e("span",{class:"text-xs font-semibold text-slate-500"},[x("选择默认翻译服务 "),e("span",{class:"text-slate-400 font-normal"},"(后台多语言同步走此服务)")])],-1)),e("div",ct,[(o(!0),l(g,null,k(K,t=>(o(),l("div",{key:t.id,class:m(["provider-card",{active:h.value===t.id,"is-default":t.id===b.value}]),onClick:r=>h.value=t.id},[e("div",mt,[e("div",{class:"provider-logo",style:S({background:t.color})},n(t.short),5),t.enable?(o(),l("span",xt,"已配置")):(o(),l("span",vt,"未配置"))]),e("div",bt,n(t.name),1),e("div",yt,n(t.tag),1),e("label",{class:m(["default-pick",{on:t.id===b.value}]),onClick:A(r=>V(t.id),["stop"])},[e("input",{type:"radio",class:"radio radio-xs radio-primary",checked:t.id===b.value,onClick:A(r=>V(t.id),["stop"])},null,8,ft),e("span",null,n(t.id===b.value?"默认使用":"设为默认"),1)],10,ht)],10,pt))),128))]),e("div",gt,[e("div",kt,[e("div",_t,[e("div",{class:"provider-logo",style:S({background:c.value.color,width:"44px",height:"44px",fontSize:"13px"})},n(c.value.short),5),e("div",null,[e("h3",wt,n(c.value.name),1),e("p",Ct,n(c.value.tag)+" · 机器翻译",1)])]),e("div",St,[e("label",qt,[s[36]||(s[36]=e("span",{class:"text-xs text-slate-500"},"启用",-1)),d(e("input",{"onUpdate:modelValue":s[11]||(s[11]=t=>c.value.enable=t),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[P,c.value.enable]])]),e("button",{class:"btn btn-outline btn-sm",onClick:R},"测试连接"),h.value!==b.value?(o(),l("button",{key:0,class:"btn btn-ghost btn-sm text-indigo-600",onClick:s[12]||(s[12]=t=>V(h.value))},"设为默认")):u("",!0),e("button",{class:"btn btn-primary btn-sm text-white",onClick:j},"保存")])]),s[37]||(s[37]=e("div",{class:"divider text-xs text-slate-400 my-3"},"连接配置",-1)),e("div",Kt,[(o(!0),l(g,null,k(c.value.fields,t=>(o(),l("div",{key:t.key,class:m(["form-control",{"col-span-2":t.wide}])},[e("label",Mt,[e("span",Tt,[x(n(t.label),1),t.required?(o(),l("span",At,"*")):u("",!0),t.encrypted?(o(),l("span",Vt,"🔒 加密存储")):u("",!0)])]),e("div",It,[d(e("input",{"onUpdate:modelValue":r=>t.value=r,type:t.encrypted&&!t._show?"password":"text",class:m(["input input-bordered input-sm w-full",{"font-mono":t.mono,"pr-14":t.encrypted}]),placeholder:t.placeholder},null,10,jt),[[U,t.value]]),t.encrypted?(o(),l("button",{key:0,type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:r=>t._show=!t._show},n(t._show?"隐藏":"显示"),9,Pt)):u("",!0)]),t.hint?(o(),l("span",Ut,n(t.hint),1)):u("",!0)],2))),128))])])])):u("",!0)])])]))}}),Ot=Q($t,[["__scopeId","data-v-96602b99"]]);export{Ot as default}; diff --git a/apps/admin/.output/public/_nuxt/FZLr1rN5.js b/apps/admin/.output/public/_nuxt/FZLr1rN5.js deleted file mode 100644 index 036bfa24..00000000 --- a/apps/admin/.output/public/_nuxt/FZLr1rN5.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as j}from"./CnkSDgVO.js";import{u as B}from"./lLLegusN.js";import{g as f,o as a,c as o,F as h,r as _,n as T,a as t,t as n,M as r,J as k,w as z,l as x,T as E,_ as S,C as N,z as F,y as $,j as D,d as I,H as O,b as M,L as R,A as u}from"./CTAruH_8.js";import{u as G}from"./D9HxoMhB.js";import"./yUUyh6cG.js";const J={class:"toast toast-bottom toast-end z-50"},P=f({__name:"AppToast",setup(g){const{toasts:s}=B();function d(i){switch(i){case"success":return"alert-success";case"error":return"alert-error";case"warning":return"alert-warning";default:return"alert-info"}}return(i,b)=>(a(),o("div",J,[(a(!0),o(h,null,_(r(s),c=>(a(),o("div",{key:c.id,class:T(["alert",d(c.type)])},[t("span",null,n(c.msg),1)],2))),128))]))}}),U=Object.assign(P,{__name:"AppToast"}),W={key:0,class:"fixed inset-0 z-[100] flex items-center justify-center bg-black/30 backdrop-blur-[1px]","aria-busy":"true",role:"alert"},q=f({__name:"AppLoading",setup(g){const{loading:s}=G();return(d,i)=>(a(),k(E,{name:"fade"},{default:z(()=>[r(s)?(a(),o("div",W,[...i[0]||(i[0]=[t("div",{class:"flex flex-col items-center gap-3 rounded-2xl bg-white px-10 py-7 shadow-xl"},[t("span",{class:"loading loading-spinner loading-lg text-primary"}),t("span",{class:"text-sm text-slate-600"},"处理中,请稍候…")],-1)])])):x("",!0)]),_:1}))}}),K=Object.assign(S(q,[["__scopeId","data-v-c1ace0c2"]]),{__name:"AppLoading"}),Q={class:"flex min-h-screen"},X={class:"fixed top-0 left-0 bottom-0 z-30 overflow-y-auto flex flex-col",style:{width:"256px",background:"#1E293B"}},Y={style:{padding:"20px 20px 16px","border-bottom":"1px solid rgba(255,255,255,0.06)"}},Z={style:{display:"flex","align-items":"center",gap:"12px"}},tt={style:{width:"40px",height:"40px",background:"linear-gradient(135deg,#4F46E5,#7C3AED)","border-radius":"12px",display:"flex","align-items":"center","justify-content":"center","box-shadow":"0 6px 20px rgba(79,70,229,0.35)","flex-shrink":"0"}},et={style:{width:"22px",height:"22px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},st={style:{color:"#fff","font-weight":"700","font-size":"15px","letter-spacing":"-0.02em"}},at={style:{padding:"12px 0",flex:"1"}},ot={class:"icon",width:"18",height:"18",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},nt=["d"],it={style:{"margin-top":"auto",padding:"14px 18px","border-top":"1px solid rgba(255,255,255,0.06)"}},lt={style:{display:"flex","align-items":"center",gap:"10px"}},rt={style:{width:"32px",height:"32px","border-radius":"9px",background:"linear-gradient(135deg,#4F46E5,#7C3AED)",color:"#fff",display:"flex","align-items":"center","justify-content":"center","font-weight":"700","flex-shrink":"0"}},dt={style:{"min-width":"0"}},ct={style:{color:"#E2E8F0","font-size":"13px","font-weight":"600","line-height":"1.2",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},pt={style:{color:"#64748B","font-size":"11px","margin-top":"2px"}},ht={class:"flex-1",style:{"margin-left":"256px"}},mt={class:"bg-white shadow-sm sticky top-0 z-20 h-16 flex items-center justify-between px-6"},ut={class:"flex items-center gap-2 text-sm"},vt={class:"text-slate-700 font-medium"},_t={class:"flex items-center gap-2"},xt={class:"dropdown dropdown-end"},ft={tabindex:"0",class:"flex items-center gap-2 cursor-pointer hover:bg-slate-50 rounded-lg px-3 py-1.5"},gt={class:"avatar placeholder"},bt={class:"bg-indigo-600 text-white rounded-full w-8"},wt={class:"text-sm"},yt={class:"text-sm text-slate-700 leading-tight"},Mt={class:"text-[10px] text-slate-400"},kt={class:"p-6"},Lt=f({__name:"default",setup(g){const s=N(),d=F(),i=$();function b(){s.logout(),d.push("/")}const c=u(()=>({1:"超级管理员",2:"管理员",3:"代理",4:"运营"})[s.identity]??""),V=u(()=>({1:"超管",2:"管理员",3:"代理",4:"运营"})[s.identity]??""),w=u(()=>(s.account||"A").charAt(0).toUpperCase()),y=[{label:"数据概览",items:[{id:"dashboard",label:"仪表盘",to:"/dashboard",icon:"M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"}]},{label:"生产管理",items:[{id:"factory",label:"厂家管理",to:"/factory",icon:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"},{id:"product",label:"产品管理",to:"/product",icon:"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"},{id:"code",label:"公码管理",to:"/code",icon:"M4 4h6v6H4V4zm10 0h6v6h-6V4zM4 14h6v6H4v-6zm10 2h2m-2 4h6m-4-4v4m4-8h2m-2 0v4"},{id:"device",label:"生产管理",to:"/device",icon:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z"}]},{label:"用户管理",items:[{id:"user",label:"用户查询",to:"/users",icon:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"}]},{label:"服务配置",items:[{id:"globalconfig",label:"全局环境配置",to:"/globalconfig",icon:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"},{id:"mcpconfig",label:"MCP配置",to:"/mcpconfig",icon:"M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-3-4h.01M16 16h.01"},{id:"meettemplate",label:"会议模板",to:"/meettemplates",icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},{id:"svcconfig",label:"第三方服务配置",to:"/serviceconfig",icon:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z M15 12a3 3 0 11-6 0 3 3 0 016 0z"},{id:"calltranslate",label:"通话翻译配置",to:"/calltranslate",icon:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"}]},{label:"SaaS 管理",items:[{id:"apps",label:"应用管理",to:"/apps",icon:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"},{id:"environments",label:"环境节点",to:"/environments",icon:"M5 3h14a2 2 0 012 2v4a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2zM5 13h14a2 2 0 012 2v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4a2 2 0 012-2zM7 7h.01M7 17h.01"}]},{label:"系统管理",items:[{id:"systemconfig",label:"系统配置",to:"/systemconfig",icon:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"},{id:"statlog",label:"统计日志",to:"/statlog",icon:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"},{id:"admin",label:"后台账号",to:"/accounts",icon:"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"}]}];function A(l){return l.items.some(e=>s.hasAccess(e.id))}const C=u(()=>{if(i.meta?.title)return i.meta.title;for(const l of y){const e=l.items.find(v=>i.path.startsWith(v.to));if(e)return e.label}return"Console"});return D(()=>{s.token||d.push("/")}),(l,e)=>{const v=j,H=U,L=K;return a(),o("div",Q,[t("aside",X,[t("div",Y,[t("div",Z,[t("div",tt,[(a(),o("svg",et,[...e[0]||(e[0]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},null,-1)])]))]),t("div",null,[t("div",st,n(r(s).siteTitle||"Admin"),1),e[1]||(e[1]=t("div",{style:{color:"#64748B","font-size":"11px","font-weight":"500"}},"Admin Console · v1.0.1",-1))])])]),t("nav",at,[(a(),o(h,null,_(y,m=>(a(),o(h,null,[A(m)?(a(),o("div",{key:m.label,class:"group-title"},n(m.label),1)):x("",!0),(a(!0),o(h,null,_(m.items,p=>(a(),o(h,null,[r(s).hasAccess(p.id)?(a(),k(v,{key:p.id,to:p.to,class:"sidebar-link","active-class":"active"},{default:z(()=>[(a(),o("svg",ot,[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:p.icon},null,8,nt)])),I(" "+n(p.label),1)]),_:2},1032,["to"])):x("",!0)],64))),256))],64))),64))]),t("div",it,[t("div",lt,[t("div",rt,n(w.value),1),t("div",dt,[t("div",ct,n(r(s).account||"-"),1),t("div",pt,n(c.value),1)])])])]),t("main",ht,[t("header",mt,[t("div",ut,[e[2]||(e[2]=t("span",{class:"text-slate-400"},"首页",-1)),e[3]||(e[3]=t("span",{class:"text-slate-300"},"/",-1)),t("span",vt,n(C.value),1)]),t("div",_t,[e[4]||(e[4]=O('',1)),t("div",xt,[t("div",ft,[t("div",gt,[t("div",bt,[t("span",wt,n(w.value),1)])]),t("div",null,[t("div",yt,n(r(s).account),1),t("div",Mt,n(V.value),1)])]),t("ul",{tabindex:"0",class:"dropdown-content z-[1] menu p-2 shadow-lg bg-white rounded-lg w-44 border"},[t("li",null,[t("a",{class:"text-sm text-red-500 cursor-pointer",onClick:b},"退出登录")])])])])]),M(H),M(L),t("div",kt,[R(l.$slots,"default")])])])}}});export{Lt as default}; diff --git a/apps/admin/.output/public/_nuxt/GZxzc1Rc.js b/apps/admin/.output/public/_nuxt/GZxzc1Rc.js deleted file mode 100644 index f487e011..00000000 --- a/apps/admin/.output/public/_nuxt/GZxzc1Rc.js +++ /dev/null @@ -1 +0,0 @@ -import{g as ue,x as A,j as ce,c as o,k as i,v as L,a as e,l as g,F as h,r as C,t as r,D as H,m as v,p as S,d as O,q as Q,s as m,A as me,o as a,n as be}from"./CTAruH_8.js";import{u as pe}from"./9B2ftqmN.js";import{u as ve}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const fe={class:"flex items-center justify-between mb-5"},ge={class:"bg-white rounded-xl shadow-sm border border-slate-100"},xe={class:"overflow-x-auto"},ye={class:"table table-zebra text-sm"},we={key:0},ke={key:1},he={class:"font-mono text-sm"},_e=["src"],Ve={key:1,class:"w-10 h-10 rounded bg-slate-100 flex items-center justify-center text-slate-300"},Ce={class:"font-medium"},Ue={class:"badge badge-outline badge-sm"},Ee={class:"text-sm"},Ie={key:0},Ne={key:1,class:"text-slate-300"},De={class:"text-xs text-slate-500"},$e={class:"flex gap-1"},Le=["onClick"],Se=["onClick"],Be=["onClick"],Fe={class:"flex items-center gap-3 mb-5"},Me={class:"text-lg font-semibold text-slate-800"},Te={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},je={class:"form-control mb-4"},ze={class:"grid grid-cols-2 gap-4 mb-4"},Ae={class:"form-control"},Oe=["value"],Pe={class:"form-control"},qe=["value"],Je={class:"grid grid-cols-2 gap-4 mb-4"},Ke={class:"form-control"},Ye={class:"form-control"},He={class:"grid grid-cols-2 gap-4 mb-4"},Qe={class:"form-control"},Re={class:"mb-4"},Ge={class:"grid grid-cols-3 gap-4"},We={class:"form-control"},Xe={class:"form-control"},Ze={class:"form-control"},et={class:"form-control mb-4"},tt={class:"flex items-start gap-4"},st={class:"flex-1"},lt={class:"flex items-center gap-2"},nt=["disabled"],ot={key:0,class:"loading loading-spinner loading-xs"},at={key:0},it=["src"],dt={class:"grid grid-cols-3 gap-4 mb-4"},rt={class:"form-control"},ut={class:"form-control"},ct={class:"form-control"},mt={class:"grid grid-cols-3 gap-3 mb-6"},bt=["onUpdate:modelValue"],pt={class:"text-sm"},vt={class:"flex gap-3"},ft=["disabled"],gt={key:0,class:"loading loading-spinner loading-xs"},xt={class:"flex items-center gap-3 mb-5"},yt={class:"text-lg font-semibold text-slate-800"},wt={key:0,class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4 mb-5"},kt={class:"flex items-center gap-6 text-sm flex-wrap"},ht={class:"font-mono"},_t={class:"badge badge-primary badge-sm"},Vt={class:"text-xs"},Ct={class:"text-xs max-w-md truncate"},Ut={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5 mb-5"},Et={class:"grid grid-cols-2 gap-4 mb-3"},It={class:"form-control"},Nt={class:"form-control"},Dt={class:"form-control mb-3"},$t={class:"flex items-center gap-3"},Lt={class:"flex items-center gap-2 cursor-pointer"},St=["disabled"],Bt={key:0,class:"loading loading-spinner loading-xs"},Ft={class:"bg-white rounded-xl shadow-sm border border-slate-100"},Mt={class:"overflow-x-auto"},Tt={class:"table table-zebra text-sm"},jt={key:0},zt={key:0,class:"badge badge-success badge-xs ml-1"},At={class:"text-sm"},Ot={class:"text-xs text-slate-400 max-w-xs truncate"},Pt={class:"flex gap-1"},qt={key:0,class:"text-xs text-slate-400"},Jt=["onClick"],Kt=["onClick"],Xt=ue({__name:"product",setup(Yt){const{webApi:p,uploadFile:P}=pe(),{success:x,error:f,warn:B}=ve(),R={0:"未知",1:"经典蓝牙",2:"BLE双端",3:"BLE单端",4:"录音笔",5:"智能眼镜",6:"激活码卡片"},G={0:"未知",1:"经典蓝牙耳机",2:"BLE双端",3:"BLE单端",4:"智能录音笔",5:"智能眼镜",6:"激活码卡片"},y=[{key:"iscanbindagain",label:"可重复绑定奖励"},{key:"iscontinuouschat",label:"连续对话"},{key:"eqenable",label:"EQ 均衡器"},{key:"keyenable",label:"按键控制"},{key:"workmodeenable",label:"工作模式"},{key:"callmodeenable",label:"通话模式"},{key:"ledenable",label:"LED 灯"},{key:"finddeviceenable",label:"查找设备"},{key:"noisereductionenable",label:"降噪"},{key:"shutdownenable",label:"定时关机"},{key:"showcasebattery",label:"充电盒电量"},{key:"wakeupenable",label:"唤醒控制"},{key:"broadcastpeertranslate",label:"播报对方翻译"},{key:"hideaiassistant",label:"隐藏AI助手"}],w=m("list"),U=m([]),q=m({}),F=m([]),M=m(!1),E=m(!1),_=m(!1);function W(){const l={};return y.forEach(t=>{l[t.key]=!1}),l}const n=A({id:0,devicename:"",factoryid:0,devicetype:0,scanuuid:"",devicecodecount:1,productimage:"",channel:"official",bindrewardvpitime:0,bindrewardtranslate:0,bindrewardmeeting:0,toggles:W()}),c=A({platform_id:"",platform_key:"",tui:""});function J(l){return l?Number(l).toString(16).toUpperCase():""}function X(l){return y.filter(t=>!!l[t.key]).length}async function T(){M.value=!0;try{const l=await p("getfactorys",{}),t={};(l?.factorys??[]).forEach(b=>{t[b.id]=b.factory}),q.value=t;const s=await p("getproducts",{});U.value=s?.products??[]}catch(l){f(l?.message??"获取产品列表失败"),U.value=[]}finally{M.value=!1}}async function Z(){try{const l=await p("getfactorys",{});F.value=l?.factorys??[]}catch{F.value=[]}}function I(){w.value="list",T()}function K(l){if(Z(),l){_.value=!0,n.id=l.id,n.devicename=l.devicename||"",n.factoryid=l.factoryid||0,n.devicetype=l.devicetype||0,n.scanuuid=l.scanuuid||"",n.devicecodecount=l.devicecodecount===2?2:1,n.productimage=l.productimage||"",n.channel=l.channel||"official",n.bindrewardvpitime=l.bindrewardvpitime||0,n.bindrewardtranslate=l.bindrewardtranslate||0,n.bindrewardmeeting=l.bindrewardmeeting||0;let t={};try{t=l.channelextra?JSON.parse(l.channelextra):{}}catch{t={}}c.platform_id=t.platform_id||"",c.platform_key=t.platform_key||"",c.tui=t.tui||"",y.forEach(s=>{n.toggles[s.key]=!!l[s.key]})}else _.value=!1,n.id=0,n.devicename="",n.factoryid=0,n.devicetype=0,n.scanuuid="",n.devicecodecount=1,n.productimage="",n.channel="official",n.bindrewardvpitime=0,n.bindrewardtranslate=0,n.bindrewardmeeting=0,c.platform_id="",c.platform_key="",c.tui="",y.forEach(t=>{n.toggles[t.key]=!1});w.value="form"}async function ee(){E.value=!0;try{let l="";n.channel==="mobile"&&(l=JSON.stringify({platform_id:c.platform_id||"",platform_key:c.platform_key||"",tui:c.tui||""}));const t={devicename:n.devicename,factoryid:Number(n.factoryid)||0,devicetype:Number(n.devicetype)||0,scanuuid:n.scanuuid,devicecodecount:Number(n.devicecodecount)||1,productimage:n.productimage,channel:n.channel,channelextra:l,bindrewardvpitime:Number(n.bindrewardvpitime)||0,bindrewardtranslate:Number(n.bindrewardtranslate)||0,bindrewardmeeting:Number(n.bindrewardmeeting)||0};y.forEach(s=>{t[s.key]=n.toggles[s.key]}),_.value&&(t.id=Number(n.id)),await p(_.value?"updateproduct":"addproduct",{product:t}),x("保存成功"),I()}catch(l){f(l?.message??"保存失败")}finally{E.value=!1}}function te(l){window.confirm(`确定删除产品 "${l.devicename}" 吗?`)&&p("delproduct",{id:l.id}).then(()=>{x("已删除"),T()}).catch(t=>f(t?.message??"删除失败"))}const j=m(null),N=m(!1);function se(l){j.value=l.target.files?.[0]??null}async function le(){if(!j.value){B("请先选择图片");return}N.value=!0;try{const l=n.id?`products/${n.id}/images/`:"products/images/",t=await P(j.value,l);n.productimage=t,x("上传成功")}catch(l){f(l?.message??"上传失败")}finally{N.value=!1}}const d=m(null),V=m([]),D=m(!1),u=A({version:"",desc:"",isuse:!1}),k=m(null),ne=me(()=>!!u.version.trim()&&!!k.value);function z(l){return!!d.value?.versionid&&l.id===d.value.versionid}async function oe(l){w.value="version",d.value=null,V.value=[],u.version="",u.desc="",u.isuse=!1,k.value=null;try{const t=await p("getproduct",{id:l.id});d.value=t?.product??l}catch{d.value=l}await $(l.id)}async function $(l){try{const t=await p("getproductversions",{pid:l});V.value=t?.versions??[]}catch{V.value=[]}}function ae(l){k.value=l.target.files?.[0]??null}async function Y(l){if(!d.value)return f("产品信息未加载"),!1;const t={...d.value,versionid:l.id};try{await p("updateproduct",{product:t});const s=await p("getproduct",{id:t.id});return d.value=s?.product??t,!0}catch(s){return f(s?.message??"切换失败"),!1}}function ie(l){window.confirm(`确定将版本 "${l.version}" 设为当前使用版本?`)&&Y(l).then(t=>{t&&(x("切换成功"),d.value&&$(d.value.id))})}async function de(){const l=d.value?.id;if(!l){f("产品ID不存在");return}if(!u.version.trim()){B("请输入版本号");return}if(!k.value){B("请选择固件文件");return}D.value=!0;try{const t=await P(k.value,`products/${l}/`),s=await p("addproductversion",{version:{productid:l,version:u.version.trim(),description:u.desc,updatepackageaddress:t},isuse:!1});x("添加成功"),u.isuse&&s?.version&&await Y(s.version),u.version="",u.desc="",u.isuse=!1,k.value=null,await $(l)}catch(t){f(t?.message??"添加失败")}finally{D.value=!1}}function re(l){if(d.value?.versionid===l.id){f("不能删除当前使用中的版本");return}window.confirm("删除此版本?")&&p("delproductversion",{id:l.id}).then(()=>{x("已删除"),d.value&&$(d.value.id)}).catch(t=>f(t?.message??"删除失败"))}return ce(T),(l,t)=>(a(),o("div",null,[i(e("div",null,[e("div",fe,[t[20]||(t[20]=e("h2",{class:"text-lg font-semibold text-slate-800"},"产品列表",-1)),e("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=s=>K())},"+ 新增产品")]),e("div",ge,[e("div",xe,[e("table",ye,[t[24]||(t[24]=e("thead",null,[e("tr",null,[e("th",null,"ID"),e("th",null,"图片"),e("th",null,"名称"),e("th",null,"工厂"),e("th",null,"类型"),e("th",null,"版本"),e("th",null,"功能"),e("th",null,"操作")])],-1)),e("tbody",null,[M.value?(a(),o("tr",we,[...t[21]||(t[21]=[e("td",{colspan:"8",class:"text-center py-8"},[e("span",{class:"loading loading-spinner loading-sm"})],-1)])])):U.value.length?g("",!0):(a(),o("tr",ke,[...t[22]||(t[22]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])])),(a(!0),o(h,null,C(U.value,s=>(a(),o("tr",{key:s.id},[e("td",he,r(J(s.id)),1),e("td",null,[s.productimage?(a(),o("img",{key:0,src:s.productimage,class:"w-10 h-10 rounded object-cover"},null,8,_e)):(a(),o("div",Ve,[...t[23]||(t[23]=[e("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})],-1)])]))]),e("td",Ce,r(s.devicename),1),e("td",null,r(q.value[s.factoryid]||""),1),e("td",null,[e("span",Ue,r(R[s.devicetype]||s.devicetype),1)]),e("td",Ee,[s.version?(a(),o("span",Ie,r(s.version),1)):(a(),o("span",Ne,"-"))]),e("td",null,[e("span",De,r(X(s))+"/14",1)]),e("td",null,[e("div",$e,[e("button",{class:"btn btn-ghost btn-xs",onClick:b=>K(s)},"编辑",8,Le),e("button",{class:"btn btn-ghost btn-xs text-indigo-600",onClick:b=>oe(s)},"版本",8,Se),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:b=>te(s)},"删除",8,Be)])])]))),128))])])])])],512),[[L,w.value==="list"]]),i(e("div",null,[e("div",Fe,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[1]||(t[1]=s=>I())},"← 返回列表"),e("h2",Me,r(_.value?"编辑产品":"新增产品"),1)]),e("div",Te,[e("form",{onSubmit:H(ee,["prevent"])},[t[43]||(t[43]=e("h3",{class:"text-sm font-semibold text-slate-500 mb-3"},"基本信息",-1)),e("div",je,[t[25]||(t[25]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"产品名称 *")],-1)),i(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>n.devicename=s),type:"text",class:"input input-bordered w-full",required:""},null,512),[[v,n.devicename]])]),e("div",ze,[e("div",Ae,[t[27]||(t[27]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"所属工厂")],-1)),i(e("select",{"onUpdate:modelValue":t[3]||(t[3]=s=>n.factoryid=s),class:"select select-bordered w-full"},[t[26]||(t[26]=e("option",{value:0},"请选择",-1)),(a(!0),o(h,null,C(F.value,s=>(a(),o("option",{key:s.id,value:s.id},r(s.factory),9,Oe))),128))],512),[[S,n.factoryid,void 0,{number:!0}]])]),e("div",Pe,[t[28]||(t[28]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"设备类型")],-1)),i(e("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>n.devicetype=s),class:"select select-bordered w-full"},[(a(),o(h,null,C(G,(s,b)=>e("option",{key:b,value:Number(b)},r(s),9,qe)),64))],512),[[S,n.devicetype,void 0,{number:!0}]])])]),e("div",Je,[e("div",Ke,[t[29]||(t[29]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"扫描UUID")],-1)),i(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>n.scanuuid=s),type:"text",class:"input input-bordered w-full"},null,512),[[v,n.scanuuid]])]),e("div",Ye,[t[31]||(t[31]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"设备码数量(每副)")],-1)),i(e("select",{"onUpdate:modelValue":t[6]||(t[6]=s=>n.devicecodecount=s),class:"select select-bordered w-full"},[...t[30]||(t[30]=[e("option",{value:1},"单份 (1个/副)",-1),e("option",{value:2},"双份 (2个/副)",-1)])],512),[[S,n.devicecodecount,void 0,{number:!0}]])])]),e("div",He,[e("div",Qe,[t[33]||(t[33]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"渠道方")],-1)),i(e("select",{"onUpdate:modelValue":t[7]||(t[7]=s=>n.channel=s),class:"select select-bordered w-full"},[...t[32]||(t[32]=[e("option",{value:"official"},"官方",-1),e("option",{value:"mobile"},"移动",-1)])],512),[[S,n.channel]])])]),i(e("div",Re,[e("div",Ge,[e("div",We,[t[34]||(t[34]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"移动平台ID")],-1)),i(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>c.platform_id=s),type:"text",class:"input input-bordered w-full",placeholder:"移动平台分配的 ID"},null,512),[[v,c.platform_id]])]),e("div",Xe,[t[35]||(t[35]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"移动平台KEY")],-1)),i(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>c.platform_key=s),type:"text",class:"input input-bordered w-full",placeholder:"移动平台分配的 KEY"},null,512),[[v,c.platform_key]])]),e("div",Ze,[t[36]||(t[36]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"TUI(8位)")],-1)),i(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>c.tui=s),type:"text",maxlength:"8",class:"input input-bordered w-full",placeholder:"CMEI 前缀,如 11113396"},null,512),[[v,c.tui]])])])],512),[[L,n.channel==="mobile"]]),e("div",et,[t[38]||(t[38]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"产品图片")],-1)),e("div",tt,[e("div",st,[i(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>n.productimage=s),type:"text",class:"input input-bordered w-full input-sm mb-2",placeholder:"图片URL(可手动输入或上传)"},null,512),[[v,n.productimage]]),e("div",lt,[e("input",{type:"file",accept:"image/*",class:"file-input file-input-bordered file-input-sm flex-1",onChange:se},null,32),e("button",{type:"button",class:"btn btn-outline btn-sm btn-primary",disabled:N.value,onClick:le},[N.value?(a(),o("span",ot)):g("",!0),t[37]||(t[37]=O("上传 ",-1))],8,nt)])]),n.productimage?(a(),o("div",at,[e("img",{src:n.productimage,class:"w-20 h-20 object-cover rounded-lg border"},null,8,it)])):g("",!0)])]),t[44]||(t[44]=e("div",{class:"divider text-sm text-slate-400"},"绑定奖励设置",-1)),e("div",dt,[e("div",rt,[t[39]||(t[39]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"VIP时长(天)")],-1)),i(e("input",{"onUpdate:modelValue":t[12]||(t[12]=s=>n.bindrewardvpitime=s),type:"number",min:"0",class:"input input-bordered w-full"},null,512),[[v,n.bindrewardvpitime,void 0,{number:!0}]])]),e("div",ut,[t[40]||(t[40]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"翻译时长(分钟)")],-1)),i(e("input",{"onUpdate:modelValue":t[13]||(t[13]=s=>n.bindrewardtranslate=s),type:"number",min:"0",class:"input input-bordered w-full"},null,512),[[v,n.bindrewardtranslate,void 0,{number:!0}]])]),e("div",ct,[t[41]||(t[41]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"会议时长(分钟)")],-1)),i(e("input",{"onUpdate:modelValue":t[14]||(t[14]=s=>n.bindrewardmeeting=s),type:"number",min:"0",class:"input input-bordered w-full"},null,512),[[v,n.bindrewardmeeting,void 0,{number:!0}]])])]),t[45]||(t[45]=e("div",{class:"divider text-sm text-slate-400"},"功能开关",-1)),e("div",mt,[(a(),o(h,null,C(y,s=>e("label",{key:s.key,class:"flex items-center gap-2 cursor-pointer"},[i(e("input",{"onUpdate:modelValue":b=>n.toggles[s.key]=b,type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,8,bt),[[Q,n.toggles[s.key]]]),e("span",pt,r(s.label),1)])),64))]),e("div",vt,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[15]||(t[15]=s=>I())},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:E.value},[E.value?(a(),o("span",gt)):g("",!0),t[42]||(t[42]=O("保存 ",-1))],8,ft)])],32)])],512),[[L,w.value==="form"]]),i(e("div",null,[e("div",xt,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[16]||(t[16]=s=>I())},"← 返回产品列表"),e("h2",yt,"版本管理 - "+r(d.value?.devicename||""),1)]),d.value?(a(),o("div",wt,[e("div",kt,[t[46]||(t[46]=e("span",{class:"text-slate-400"},"产品ID:",-1)),e("span",ht,r(J(d.value.id)),1),t[47]||(t[47]=e("span",{class:"text-slate-400"},"当前版本:",-1)),e("span",_t,r(d.value.version||"无"),1),t[48]||(t[48]=e("span",{class:"text-slate-400"},"版本ID:",-1)),e("span",Vt,r(d.value.versionid||"无"),1),t[49]||(t[49]=e("span",{class:"text-slate-400"},"更新包:",-1)),e("span",Ct,r(d.value.updatepackageaddress||"无"),1)])])):g("",!0),e("div",Ut,[t[55]||(t[55]=e("h3",{class:"text-sm font-semibold text-slate-700 mb-3"},"添加新版本",-1)),e("form",{onSubmit:H(de,["prevent"])},[e("div",Et,[e("div",It,[t[50]||(t[50]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"版本号 *")],-1)),i(e("input",{"onUpdate:modelValue":t[17]||(t[17]=s=>u.version=s),type:"text",class:"input input-bordered input-sm w-full",placeholder:"如 1.2.0"},null,512),[[v,u.version]])]),e("div",Nt,[t[51]||(t[51]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"描述")],-1)),i(e("input",{"onUpdate:modelValue":t[18]||(t[18]=s=>u.desc=s),type:"text",class:"input input-bordered input-sm w-full",placeholder:"版本描述"},null,512),[[v,u.desc]])])]),e("div",Dt,[t[52]||(t[52]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"OTA 更新包 *")],-1)),e("input",{type:"file",class:"file-input file-input-bordered file-input-sm w-full",accept:".bin,.hex,.zip,.gz,.tar,.ota,.ufw,.fot",onChange:ae},null,32)]),e("div",$t,[e("label",Lt,[i(e("input",{"onUpdate:modelValue":t[19]||(t[19]=s=>u.isuse=s),type:"checkbox",class:"checkbox checkbox-primary checkbox-sm"},null,512),[[Q,u.isuse]]),t[53]||(t[53]=e("span",{class:"text-sm"},"设为当前使用版本",-1))]),e("button",{type:"submit",class:"btn btn-primary btn-sm text-white ml-auto",disabled:!ne.value||D.value},[D.value?(a(),o("span",Bt)):g("",!0),t[54]||(t[54]=O("添加版本 ",-1))],8,St)])],32)]),e("div",Ft,[e("div",Mt,[e("table",Tt,[t[57]||(t[57]=e("thead",null,[e("tr",null,[e("th",null,"ID"),e("th",null,"版本号"),e("th",null,"描述"),e("th",null,"更新包地址"),e("th",null,"操作")])],-1)),e("tbody",null,[V.value.length?g("",!0):(a(),o("tr",jt,[...t[56]||(t[56]=[e("td",{colspan:"5",class:"text-center text-slate-400 py-8"},"暂无版本",-1)])])),(a(!0),o(h,null,C(V.value,s=>(a(),o("tr",{key:s.id},[e("td",null,r(s.id),1),e("td",null,[e("span",{class:be(["badge badge-sm",z(s)?"badge-primary":"badge-outline"])},r(s.version),3),z(s)?(a(),o("span",zt,"当前")):g("",!0)]),e("td",At,r(s.description||""),1),e("td",Ot,r(s.updatepackageaddress||""),1),e("td",null,[e("div",Pt,[z(s)?(a(),o("span",qt,"使用中")):(a(),o(h,{key:1},[e("button",{class:"btn btn-ghost btn-xs text-indigo-600",onClick:b=>ie(s)},"设为当前",8,Jt),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:b=>re(s)},"删除",8,Kt)],64))])])]))),128))])])])])],512),[[L,w.value==="version"]])]))}});export{Xt as default}; diff --git a/apps/admin/.output/public/_nuxt/CnkSDgVO.js b/apps/admin/.output/public/_nuxt/R6fio73R.js similarity index 98% rename from apps/admin/.output/public/_nuxt/CnkSDgVO.js rename to apps/admin/.output/public/_nuxt/R6fio73R.js index 97e3c29f..640966cc 100644 --- a/apps/admin/.output/public/_nuxt/CnkSDgVO.js +++ b/apps/admin/.output/public/_nuxt/R6fio73R.js @@ -1 +1 @@ -import{g as j,z as L,e as q,j as E,N,O as U,K as H,P as I,Q as P,R as _,S as F,U as V,V as z,s as D,W as O,X as W,M as f,Y as M,A as x,Z as $,$ as B,a0 as Q,a1 as G,a2 as K,a3 as X,a4 as Y}from"./CTAruH_8.js";const Z=(...t)=>t.find(r=>r!==void 0);function T(t){let r=t.replace(/[\u0000-\u001F\s]+/g,"");for(;r.toLowerCase().startsWith("view-source:");)r=r.slice(12);const c=r.indexOf(":");return c>0&&Q(r.slice(0,c+1))?null:t}function J(t){const r=t.componentName||"NuxtLink";function c(e){return typeof e=="string"&&e.startsWith("#")}function w(e,s,d){const a=d??t.trailingSlash;if(!e||a!=="append"&&a!=="remove")return e;if(typeof e=="string")return C(e,a);const i="path"in e&&e.path!==void 0?e.path:s(e).path;return{...e,name:void 0,path:C(i,a)}}function k(e){const s=L(),d=G(),a=x(()=>!!f(e.target)&&f(e.target)!=="_self"),i=x(()=>{const o=f(e.to)||f(e.href)||"";return typeof o=="string"&&B(o,{acceptRelative:!0})}),R=_("RouterLink"),y=typeof R!="string"?R.useLink:void 0,v=x(()=>{if(f(e.external))return!0;const o=f(e.to)||f(e.href)||"";return typeof o=="object"?!1:o===""||i.value}),l=x(()=>{const o=f(e.to)||f(e.href)||"";return v.value?o:w(o,s.resolve,f(e.trailingSlash))}),b=v.value?void 0:y?.({...e,to:l,viewTransition:f(e.viewTransition)}),m=x(()=>{const o=f(e.trailingSlash)??t.trailingSlash;if(!l.value||i.value||c(l.value)){const h=l.value;return typeof h=="string"?T(h):h}if(v.value){const h=typeof l.value=="object"&&"path"in l.value?O(l.value):l.value,p=typeof h=="object"?s.resolve(h).href:h,u=typeof p=="string"?T(p):p;return u===null?null:C(u,o)}return typeof l.value=="object"?s.resolve(l.value)?.href??null:C($(d.app.baseURL,l.value),o)});return{to:l,hasTarget:a,isAbsoluteUrl:i,isExternal:v,href:m,isActive:b?.isActive??x(()=>l.value===s.currentRoute.value.path),isExactActive:b?.isExactActive??x(()=>l.value===s.currentRoute.value.path),route:b?.route??x(()=>s.resolve(l.value)),async navigate(o){m.value!==null&&await M(m.value,{replace:f(e.replace),external:v.value||a.value})}}}return j({name:r,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:k,setup(e,{slots:s}){const d=L(),{to:a,href:i,navigate:R,isExternal:y,hasTarget:v,isAbsoluteUrl:l}=k(e),b=z(!1),m=D(null),o=u=>{m.value=e.custom?u?.$el?.nextElementSibling:u?.$el};function h(u){return!b.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===u:e.prefetchOn?.[u]??t.prefetchOn?.[u])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!ae()}async function p(u=q()){if(b.value||i.value===null)return;b.value=!0;const g=typeof a.value=="string"?a.value:y.value?O(a.value):d.resolve(a.value).fullPath,n=y.value?new URL(g,window.location.href).href:g;await Promise.all([u.hooks.callHook("link:prefetch",n)?.catch(()=>{}),!y.value&&!v.value&&W(a.value,d).catch(()=>{})])}if(h("visibility")){const u=q();let g,n=null;E(()=>{const S=ee();N(()=>{g=U(()=>{m?.value?.tagName&&(n=S.observe(m.value,async()=>{n?.(),n=null,await p(u)}))})})}),H(()=>{g&&I(g),n?.(),n=null})}return()=>{if(!y.value&&!v.value&&!c(a.value)){const n={ref:o,to:a.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(h("interaction")&&(n.onPointerenter=p.bind(null,void 0),n.onFocus=p.bind(null,void 0)),b.value&&(n.class=e.prefetchedClass||t.prefetchedClass),n.rel=e.rel||void 0),P(_("RouterLink"),n,s.default)}const u=e.target||null,g=Z(e.noRel?"":e.rel,t.externalRelAttribute,l.value||v.value?"noopener noreferrer":"")||null;return e.custom?s.default?s.default({href:i.value,navigate:R,prefetch:p,get route(){if(!i.value)return;const n=new URL(i.value,window.location.href);return{path:n.pathname,fullPath:n.pathname,get query(){return F(n.search)},hash:n.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:i.value}},rel:g,target:u,isExternal:y.value||v.value,isActive:!1,isExactActive:!1}):null:P("a",{ref:m,href:i.value||null,rel:g,target:u,onClick:async n=>{if(!(y.value||v.value)){n.preventDefault();try{const S=V(i.value??"");return await(e.replace?d.replace(S):d.push(S))}finally{if(c(a.value)){const S=a.value.slice(1);let A=S;try{A=decodeURIComponent(S)}catch{}document.getElementById(A)?.focus()}}}}},s.default?.())}}})}const le=J(Y);function C(t,r){const c=r==="append"?K:X;return B(t)&&!t.startsWith("http")?t:c(t,!0)}function ee(){const t=q();if(t._observer)return t._observer;let r=null;const c=new Map,w=(e,s)=>(r||=new IntersectionObserver(d=>{for(const a of d){const i=c.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&i&&i()}}),c.set(e,s),r.observe(e),()=>{c.delete(e),r?.unobserve(e),c.size===0&&(r?.disconnect(),r=null)});return t._observer={observe:w}}const te=/2g/;function ae(){const t=navigator.connection;return!!(t&&(t.saveData||te.test(t.effectiveType)))}export{le as _}; +import{g as j,z as L,e as q,j as E,N,O as U,K as H,P as I,Q as P,R as _,S as F,U as V,V as z,s as D,W as O,X as W,M as f,Y as M,A as x,Z as $,$ as B,a0 as Q,a1 as G,a2 as K,a3 as X,a4 as Y}from"./CfpW9SkI.js";const Z=(...t)=>t.find(r=>r!==void 0);function T(t){let r=t.replace(/[\u0000-\u001F\s]+/g,"");for(;r.toLowerCase().startsWith("view-source:");)r=r.slice(12);const c=r.indexOf(":");return c>0&&Q(r.slice(0,c+1))?null:t}function J(t){const r=t.componentName||"NuxtLink";function c(e){return typeof e=="string"&&e.startsWith("#")}function w(e,s,d){const a=d??t.trailingSlash;if(!e||a!=="append"&&a!=="remove")return e;if(typeof e=="string")return C(e,a);const i="path"in e&&e.path!==void 0?e.path:s(e).path;return{...e,name:void 0,path:C(i,a)}}function k(e){const s=L(),d=G(),a=x(()=>!!f(e.target)&&f(e.target)!=="_self"),i=x(()=>{const o=f(e.to)||f(e.href)||"";return typeof o=="string"&&B(o,{acceptRelative:!0})}),R=_("RouterLink"),y=typeof R!="string"?R.useLink:void 0,v=x(()=>{if(f(e.external))return!0;const o=f(e.to)||f(e.href)||"";return typeof o=="object"?!1:o===""||i.value}),l=x(()=>{const o=f(e.to)||f(e.href)||"";return v.value?o:w(o,s.resolve,f(e.trailingSlash))}),b=v.value?void 0:y?.({...e,to:l,viewTransition:f(e.viewTransition)}),m=x(()=>{const o=f(e.trailingSlash)??t.trailingSlash;if(!l.value||i.value||c(l.value)){const h=l.value;return typeof h=="string"?T(h):h}if(v.value){const h=typeof l.value=="object"&&"path"in l.value?O(l.value):l.value,p=typeof h=="object"?s.resolve(h).href:h,u=typeof p=="string"?T(p):p;return u===null?null:C(u,o)}return typeof l.value=="object"?s.resolve(l.value)?.href??null:C($(d.app.baseURL,l.value),o)});return{to:l,hasTarget:a,isAbsoluteUrl:i,isExternal:v,href:m,isActive:b?.isActive??x(()=>l.value===s.currentRoute.value.path),isExactActive:b?.isExactActive??x(()=>l.value===s.currentRoute.value.path),route:b?.route??x(()=>s.resolve(l.value)),async navigate(o){m.value!==null&&await M(m.value,{replace:f(e.replace),external:v.value||a.value})}}}return j({name:r,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:k,setup(e,{slots:s}){const d=L(),{to:a,href:i,navigate:R,isExternal:y,hasTarget:v,isAbsoluteUrl:l}=k(e),b=z(!1),m=D(null),o=u=>{m.value=e.custom?u?.$el?.nextElementSibling:u?.$el};function h(u){return!b.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===u:e.prefetchOn?.[u]??t.prefetchOn?.[u])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!ae()}async function p(u=q()){if(b.value||i.value===null)return;b.value=!0;const g=typeof a.value=="string"?a.value:y.value?O(a.value):d.resolve(a.value).fullPath,n=y.value?new URL(g,window.location.href).href:g;await Promise.all([u.hooks.callHook("link:prefetch",n)?.catch(()=>{}),!y.value&&!v.value&&W(a.value,d).catch(()=>{})])}if(h("visibility")){const u=q();let g,n=null;E(()=>{const S=ee();N(()=>{g=U(()=>{m?.value?.tagName&&(n=S.observe(m.value,async()=>{n?.(),n=null,await p(u)}))})})}),H(()=>{g&&I(g),n?.(),n=null})}return()=>{if(!y.value&&!v.value&&!c(a.value)){const n={ref:o,to:a.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(h("interaction")&&(n.onPointerenter=p.bind(null,void 0),n.onFocus=p.bind(null,void 0)),b.value&&(n.class=e.prefetchedClass||t.prefetchedClass),n.rel=e.rel||void 0),P(_("RouterLink"),n,s.default)}const u=e.target||null,g=Z(e.noRel?"":e.rel,t.externalRelAttribute,l.value||v.value?"noopener noreferrer":"")||null;return e.custom?s.default?s.default({href:i.value,navigate:R,prefetch:p,get route(){if(!i.value)return;const n=new URL(i.value,window.location.href);return{path:n.pathname,fullPath:n.pathname,get query(){return F(n.search)},hash:n.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:i.value}},rel:g,target:u,isExternal:y.value||v.value,isActive:!1,isExactActive:!1}):null:P("a",{ref:m,href:i.value||null,rel:g,target:u,onClick:async n=>{if(!(y.value||v.value)){n.preventDefault();try{const S=V(i.value??"");return await(e.replace?d.replace(S):d.push(S))}finally{if(c(a.value)){const S=a.value.slice(1);let A=S;try{A=decodeURIComponent(S)}catch{}document.getElementById(A)?.focus()}}}}},s.default?.())}}})}const le=J(Y);function C(t,r){const c=r==="append"?K:X;return B(t)&&!t.startsWith("http")?t:c(t,!0)}function ee(){const t=q();if(t._observer)return t._observer;let r=null;const c=new Map,w=(e,s)=>(r||=new IntersectionObserver(d=>{for(const a of d){const i=c.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&i&&i()}}),c.set(e,s),r.observe(e),()=>{c.delete(e),r?.unobserve(e),c.size===0&&(r?.disconnect(),r=null)});return t._observer={observe:w}}const te=/2g/;function ae(){const t=navigator.connection;return!!(t&&(t.saveData||te.test(t.effectiveType)))}export{le as _}; diff --git a/apps/admin/.output/public/_nuxt/UoJ1COMF.js b/apps/admin/.output/public/_nuxt/UoJ1COMF.js deleted file mode 100644 index 97911f6e..00000000 --- a/apps/admin/.output/public/_nuxt/UoJ1COMF.js +++ /dev/null @@ -1 +0,0 @@ -import{g as W,j as X,c as i,a as t,k as a,p as U,F as Q,r as N,v as T,t as l,l as Z,D as tt,m as b,q as et,s as d,x as E,o as u}from"./CTAruH_8.js";import{u as st}from"./9B2ftqmN.js";import{u as ot}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const nt={class:"space-y-6"},lt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4"},at={class:"flex items-end gap-3 flex-wrap"},rt={class:"form-control"},it=["value"],dt={class:"form-control"},ut=["disabled"],ct={class:"bg-white rounded-xl shadow-sm border border-slate-100"},mt={class:"overflow-x-auto"},bt={class:"table table-zebra"},pt={key:0},vt={key:1},ft={colspan:"9",class:"text-center text-slate-400 py-8"},xt={class:"font-mono text-base font-bold text-indigo-700"},gt={class:"text-sm"},wt={class:"text-sm"},yt={class:"text-sm text-slate-500"},ht={class:"text-sm"},kt={class:"text-sm"},_t={class:"text-sm"},Ct={key:0,class:"badge badge-success badge-sm text-white"},Vt={key:1,class:"badge badge-ghost badge-sm"},Mt={class:"flex gap-1"},Dt=["onClick"],Ft=["onClick"],Ut=["onClick"],Qt=["onClick"],Nt={class:"flex items-center gap-3 mb-5"},Tt={class:"text-lg font-semibold text-slate-800"},qt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},Lt={class:"form-control mb-4"},St=["value"],Et={class:"form-control mb-4"},$t={class:"grid grid-cols-3 gap-3 mb-4"},jt={class:"form-control"},Rt={class:"form-control"},It={class:"form-control"},Bt={class:"grid grid-cols-2 gap-3 mb-4"},Pt={class:"form-control"},zt={class:"form-control"},At={class:"form-control mb-6"},Ht={class:"label cursor-pointer justify-start gap-3"},Yt={class:"modal-box max-w-md"},Gt={class:"flex flex-col items-center gap-4"},Jt={class:"text-center"},Kt={class:"font-mono text-2xl font-bold text-indigo-700 tracking-widest"},Ot="https://cdn.jsdelivr.net/gh/davidshimjs/qrcodejs/qrcode.min.js",oe=W({__name:"code",setup(Wt){const{webApi:c}=st(),{success:g,error:p,warn:w}=ot(),y=d("list"),C=d(!1),v=d(!1),m=d(0),V=d(-1),h=d([]),M=d([]),k=d([]),D=E({}),n=E({code:"",productid:0,remark:"",bindrewardvpitime:0,bindrewardtranslate:0,bindrewardmeeting:0,maxuses:0,expire:"",disabled:!1});function $(o){return o?new Date(o*1e3).toLocaleString():"永久"}function j(o){if(!o)return"";const e=new Date(o*1e3),s=r=>r<10?"0"+r:""+r;return e.getFullYear()+"-"+s(e.getMonth()+1)+"-"+s(e.getDate())+"T"+s(e.getHours())+":"+s(e.getMinutes())}function R(o){return o?Math.floor(new Date(o).getTime()/1e3):0}function I(o){return D[o.factoryid]||(o.factoryid?"厂家#"+o.factoryid:"-")}function B(o){const e=k.value.find(s=>s.id===o.productid);return e?e.devicename||"#"+o.productid:o.productid?"#"+o.productid:"-"}function _(){y.value="list",f()}function P(){_()}async function f(){C.value=!0;try{const o=await c("getfactorypubliccodes",{factoryid:m.value,status:V.value});h.value=o?.codes??[]}catch(o){p(o?.message??"获取公码列表失败"),h.value=[]}finally{C.value=!1}}function q(o){if(!m.value){w("请先选择厂家");return}o?(v.value=!0,n.code=o.code,n.productid=o.productid||0,n.remark=o.remark||"",n.bindrewardvpitime=o.bindrewardvpitime||0,n.bindrewardtranslate=o.bindrewardtranslate||0,n.bindrewardmeeting=o.bindrewardmeeting||0,n.maxuses=o.maxuses||0,n.expire=j(o.expiretime),n.disabled=o.status===1):(v.value=!1,n.code="",n.productid=0,n.remark="",n.bindrewardvpitime=0,n.bindrewardtranslate=0,n.bindrewardmeeting=0,n.maxuses=0,n.expire="",n.disabled=!1),y.value="form"}async function z(){const o={productid:Number(n.productid)||0,remark:n.remark,maxuses:Number(n.maxuses)||0,expiretime:R(n.expire),bindrewardvpitime:Number(n.bindrewardvpitime)||0,bindrewardtranslate:Number(n.bindrewardtranslate)||0,bindrewardmeeting:Number(n.bindrewardmeeting)||0};try{if(v.value)o.code=n.code,o.status=n.disabled?1:0,await c("updatefactorypubliccode",o),g("保存成功");else{o.factoryid=m.value;const e=await c("createfactorypubliccode",o);g("新公码已生成:"+(e?.code?.code||""))}_()}catch(e){p(e?.message??"保存失败")}}async function A(o){const e=o.status===0?1:0;try{await c("updatefactorypubliccode",{code:o.code,productid:o.productid||0,remark:o.remark||"",status:e,maxuses:o.maxuses||0,expiretime:o.expiretime||0,bindrewardvpitime:o.bindrewardvpitime||0,bindrewardtranslate:o.bindrewardtranslate||0,bindrewardmeeting:o.bindrewardmeeting||0}),g(e===1?"已停用":"已启用"),f()}catch(s){p(s?.message??"操作失败")}}function H(o){window.confirm(`确定删除公码 "${o}" 吗?删除后该码无法再被领取(已领取记录保留)`)&&c("delfactorypubliccode",{code:o}).then(()=>{g("删除成功"),f()}).catch(e=>p(e?.message??"删除失败"))}const L=d(null),F=d(null),x=d("");function Y(){return new Promise((o,e)=>{const s=window;if(s.QRCode){o(s.QRCode);return}const r=document.createElement("script");r.src=Ot,r.onload=()=>o(s.QRCode),r.onerror=()=>e(new Error("二维码库加载失败")),document.head.appendChild(r)})}async function G(o){x.value=o,L.value?.showModal();let e;try{e=await Y()}catch{p("二维码库加载失败");return}const s=F.value;!s||!e||(s.innerHTML="",new e(s,{text:o,width:240,height:240,colorDark:"#1E293B",colorLight:"#FFFFFF",correctLevel:e.CorrectLevel.H}))}function S(){const o=F.value;if(!o)return"";const e=o.querySelector("canvas");if(e)return e.toDataURL("image/png");const s=o.querySelector("img");return s?s.src:""}function J(){const o=S();if(!o){w("二维码尚未生成");return}const e=document.createElement("a");e.href=o,e.download="publiccode_"+x.value+".png",document.body.appendChild(e),e.click(),document.body.removeChild(e)}function K(){const o=S();if(!o){w("二维码尚未生成");return}const e=window.open("","_blank");if(!e){w("浏览器拦截了打印窗口");return}e.document.write(""+x.value+'

'+x.value+"

新用户扫码领取奖励

diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/-beHFMDW.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/-beHFMDW.js new file mode 100644 index 00000000..81279209 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/-beHFMDW.js @@ -0,0 +1 @@ +import{g as ue,x as A,j as ce,c as o,k as i,v as L,a as e,l as g,F as h,r as C,t as r,D as H,m as v,p as S,d as O,q as Q,s as m,A as me,o as a,n as be}from"./CfpW9SkI.js";import{u as pe}from"./DSu8q42f.js";import{u as ve}from"./CMwGY1Mu.js";import"./DL330dAC.js";const fe={class:"flex items-center justify-between mb-5"},ge={class:"bg-white rounded-xl shadow-sm border border-slate-100"},xe={class:"overflow-x-auto"},ye={class:"table table-zebra text-sm"},we={key:0},ke={key:1},he={class:"font-mono text-sm"},_e=["src"],Ve={key:1,class:"w-10 h-10 rounded bg-slate-100 flex items-center justify-center text-slate-300"},Ce={class:"font-medium"},Ue={class:"badge badge-outline badge-sm"},Ee={class:"text-sm"},Ie={key:0},Ne={key:1,class:"text-slate-300"},De={class:"text-xs text-slate-500"},$e={class:"flex gap-1"},Le=["onClick"],Se=["onClick"],Be=["onClick"],Fe={class:"flex items-center gap-3 mb-5"},Me={class:"text-lg font-semibold text-slate-800"},Te={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},je={class:"form-control mb-4"},ze={class:"grid grid-cols-2 gap-4 mb-4"},Ae={class:"form-control"},Oe=["value"],Pe={class:"form-control"},qe=["value"],Je={class:"grid grid-cols-2 gap-4 mb-4"},Ke={class:"form-control"},Ye={class:"form-control"},He={class:"grid grid-cols-2 gap-4 mb-4"},Qe={class:"form-control"},Re={class:"mb-4"},Ge={class:"grid grid-cols-3 gap-4"},We={class:"form-control"},Xe={class:"form-control"},Ze={class:"form-control"},et={class:"form-control mb-4"},tt={class:"flex items-start gap-4"},st={class:"flex-1"},lt={class:"flex items-center gap-2"},nt=["disabled"],ot={key:0,class:"loading loading-spinner loading-xs"},at={key:0},it=["src"],dt={class:"grid grid-cols-3 gap-4 mb-4"},rt={class:"form-control"},ut={class:"form-control"},ct={class:"form-control"},mt={class:"grid grid-cols-3 gap-3 mb-6"},bt=["onUpdate:modelValue"],pt={class:"text-sm"},vt={class:"flex gap-3"},ft=["disabled"],gt={key:0,class:"loading loading-spinner loading-xs"},xt={class:"flex items-center gap-3 mb-5"},yt={class:"text-lg font-semibold text-slate-800"},wt={key:0,class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4 mb-5"},kt={class:"flex items-center gap-6 text-sm flex-wrap"},ht={class:"font-mono"},_t={class:"badge badge-primary badge-sm"},Vt={class:"text-xs"},Ct={class:"text-xs max-w-md truncate"},Ut={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5 mb-5"},Et={class:"grid grid-cols-2 gap-4 mb-3"},It={class:"form-control"},Nt={class:"form-control"},Dt={class:"form-control mb-3"},$t={class:"flex items-center gap-3"},Lt={class:"flex items-center gap-2 cursor-pointer"},St=["disabled"],Bt={key:0,class:"loading loading-spinner loading-xs"},Ft={class:"bg-white rounded-xl shadow-sm border border-slate-100"},Mt={class:"overflow-x-auto"},Tt={class:"table table-zebra text-sm"},jt={key:0},zt={key:0,class:"badge badge-success badge-xs ml-1"},At={class:"text-sm"},Ot={class:"text-xs text-slate-400 max-w-xs truncate"},Pt={class:"flex gap-1"},qt={key:0,class:"text-xs text-slate-400"},Jt=["onClick"],Kt=["onClick"],Wt=ue({__name:"product",setup(Yt){const{webApi:p,uploadFile:P}=pe(),{success:x,error:f,warn:B}=ve(),R={0:"未知",1:"经典蓝牙",2:"BLE双端",3:"BLE单端",4:"录音笔",5:"智能眼镜",6:"激活码卡片"},G={0:"未知",1:"经典蓝牙耳机",2:"BLE双端",3:"BLE单端",4:"智能录音笔",5:"智能眼镜",6:"激活码卡片"},y=[{key:"iscanbindagain",label:"可重复绑定奖励"},{key:"iscontinuouschat",label:"连续对话"},{key:"eqenable",label:"EQ 均衡器"},{key:"keyenable",label:"按键控制"},{key:"workmodeenable",label:"工作模式"},{key:"callmodeenable",label:"通话模式"},{key:"ledenable",label:"LED 灯"},{key:"finddeviceenable",label:"查找设备"},{key:"noisereductionenable",label:"降噪"},{key:"shutdownenable",label:"定时关机"},{key:"showcasebattery",label:"充电盒电量"},{key:"wakeupenable",label:"唤醒控制"},{key:"broadcastpeertranslate",label:"播报对方翻译"},{key:"hideaiassistant",label:"隐藏AI助手"}],w=m("list"),U=m([]),q=m({}),F=m([]),M=m(!1),E=m(!1),_=m(!1);function W(){const l={};return y.forEach(t=>{l[t.key]=!1}),l}const n=A({id:0,devicename:"",factoryid:0,devicetype:0,scanuuid:"",devicecodecount:1,productimage:"",channel:"official",bindrewardvpitime:0,bindrewardtranslate:0,bindrewardmeeting:0,toggles:W()}),c=A({platform_id:"",platform_key:"",tui:""});function J(l){return l?Number(l).toString(16).toUpperCase():""}function X(l){return y.filter(t=>!!l[t.key]).length}async function T(){M.value=!0;try{const l=await p("getfactorys",{}),t={};(l?.factorys??[]).forEach(b=>{t[b.id]=b.factory}),q.value=t;const s=await p("getproducts",{});U.value=s?.products??[]}catch(l){f(l?.message??"获取产品列表失败"),U.value=[]}finally{M.value=!1}}async function Z(){try{const l=await p("getfactorys",{});F.value=l?.factorys??[]}catch{F.value=[]}}function I(){w.value="list",T()}function K(l){if(Z(),l){_.value=!0,n.id=l.id,n.devicename=l.devicename||"",n.factoryid=l.factoryid||0,n.devicetype=l.devicetype||0,n.scanuuid=l.scanuuid||"",n.devicecodecount=l.devicecodecount===2?2:1,n.productimage=l.productimage||"",n.channel=l.channel||"official",n.bindrewardvpitime=l.bindrewardvpitime||0,n.bindrewardtranslate=l.bindrewardtranslate||0,n.bindrewardmeeting=l.bindrewardmeeting||0;let t={};try{t=l.channelextra?JSON.parse(l.channelextra):{}}catch{t={}}c.platform_id=t.platform_id||"",c.platform_key=t.platform_key||"",c.tui=t.tui||"",y.forEach(s=>{n.toggles[s.key]=!!l[s.key]})}else _.value=!1,n.id=0,n.devicename="",n.factoryid=0,n.devicetype=0,n.scanuuid="",n.devicecodecount=1,n.productimage="",n.channel="official",n.bindrewardvpitime=0,n.bindrewardtranslate=0,n.bindrewardmeeting=0,c.platform_id="",c.platform_key="",c.tui="",y.forEach(t=>{n.toggles[t.key]=!1});w.value="form"}async function ee(){E.value=!0;try{let l="";n.channel==="mobile"&&(l=JSON.stringify({platform_id:c.platform_id||"",platform_key:c.platform_key||"",tui:c.tui||""}));const t={devicename:n.devicename,factoryid:Number(n.factoryid)||0,devicetype:Number(n.devicetype)||0,scanuuid:n.scanuuid,devicecodecount:Number(n.devicecodecount)||1,productimage:n.productimage,channel:n.channel,channelextra:l,bindrewardvpitime:Number(n.bindrewardvpitime)||0,bindrewardtranslate:Number(n.bindrewardtranslate)||0,bindrewardmeeting:Number(n.bindrewardmeeting)||0};y.forEach(s=>{t[s.key]=n.toggles[s.key]}),_.value&&(t.id=Number(n.id)),await p(_.value?"updateproduct":"addproduct",{product:t}),x("保存成功"),I()}catch(l){f(l?.message??"保存失败")}finally{E.value=!1}}function te(l){window.confirm(`确定删除产品 "${l.devicename}" 吗?`)&&p("delproduct",{id:l.id}).then(()=>{x("已删除"),T()}).catch(t=>f(t?.message??"删除失败"))}const j=m(null),N=m(!1);function se(l){j.value=l.target.files?.[0]??null}async function le(){if(!j.value){B("请先选择图片");return}N.value=!0;try{const l=n.id?`product/${n.id}/images/`:"product/images/",t=await P(j.value,l);n.productimage=t,x("上传成功")}catch(l){f(l?.message??"上传失败")}finally{N.value=!1}}const d=m(null),V=m([]),D=m(!1),u=A({version:"",desc:"",isuse:!1}),k=m(null),ne=me(()=>!!u.version.trim()&&!!k.value);function z(l){return!!d.value?.versionid&&l.id===d.value.versionid}async function oe(l){w.value="version",d.value=null,V.value=[],u.version="",u.desc="",u.isuse=!1,k.value=null;try{const t=await p("getproduct",{id:l.id});d.value=t?.product??l}catch{d.value=l}await $(l.id)}async function $(l){try{const t=await p("getproductversions",{pid:l});V.value=t?.versions??[]}catch{V.value=[]}}function ae(l){k.value=l.target.files?.[0]??null}async function Y(l){if(!d.value)return f("产品信息未加载"),!1;const t={...d.value,versionid:l.id};try{await p("updateproduct",{product:t});const s=await p("getproduct",{id:t.id});return d.value=s?.product??t,!0}catch(s){return f(s?.message??"切换失败"),!1}}function ie(l){window.confirm(`确定将版本 "${l.version}" 设为当前使用版本?`)&&Y(l).then(t=>{t&&(x("切换成功"),d.value&&$(d.value.id))})}async function de(){const l=d.value?.id;if(!l){f("产品ID不存在");return}if(!u.version.trim()){B("请输入版本号");return}if(!k.value){B("请选择固件文件");return}D.value=!0;try{const t=await P(k.value,`product/${l}/`),s=await p("addproductversion",{version:{productid:l,version:u.version.trim(),description:u.desc,updatepackageaddress:t},isuse:!1});x("添加成功"),u.isuse&&s?.version&&await Y(s.version),u.version="",u.desc="",u.isuse=!1,k.value=null,await $(l)}catch(t){f(t?.message??"添加失败")}finally{D.value=!1}}function re(l){if(d.value?.versionid===l.id){f("不能删除当前使用中的版本");return}window.confirm("删除此版本?")&&p("delproductversion",{id:l.id}).then(()=>{x("已删除"),d.value&&$(d.value.id)}).catch(t=>f(t?.message??"删除失败"))}return ce(T),(l,t)=>(a(),o("div",null,[i(e("div",null,[e("div",fe,[t[20]||(t[20]=e("h2",{class:"text-lg font-semibold text-slate-800"},"产品列表",-1)),e("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=s=>K())},"+ 新增产品")]),e("div",ge,[e("div",xe,[e("table",ye,[t[24]||(t[24]=e("thead",null,[e("tr",null,[e("th",null,"ID"),e("th",null,"图片"),e("th",null,"名称"),e("th",null,"工厂"),e("th",null,"类型"),e("th",null,"版本"),e("th",null,"功能"),e("th",null,"操作")])],-1)),e("tbody",null,[M.value?(a(),o("tr",we,[...t[21]||(t[21]=[e("td",{colspan:"8",class:"text-center py-8"},[e("span",{class:"loading loading-spinner loading-sm"})],-1)])])):U.value.length?g("",!0):(a(),o("tr",ke,[...t[22]||(t[22]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])])),(a(!0),o(h,null,C(U.value,s=>(a(),o("tr",{key:s.id},[e("td",he,r(J(s.id)),1),e("td",null,[s.productimage?(a(),o("img",{key:0,src:s.productimage,class:"w-10 h-10 rounded object-cover"},null,8,_e)):(a(),o("div",Ve,[...t[23]||(t[23]=[e("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})],-1)])]))]),e("td",Ce,r(s.devicename),1),e("td",null,r(q.value[s.factoryid]||""),1),e("td",null,[e("span",Ue,r(R[s.devicetype]||s.devicetype),1)]),e("td",Ee,[s.version?(a(),o("span",Ie,r(s.version),1)):(a(),o("span",Ne,"-"))]),e("td",null,[e("span",De,r(X(s))+"/14",1)]),e("td",null,[e("div",$e,[e("button",{class:"btn btn-ghost btn-xs",onClick:b=>K(s)},"编辑",8,Le),e("button",{class:"btn btn-ghost btn-xs text-indigo-600",onClick:b=>oe(s)},"版本",8,Se),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:b=>te(s)},"删除",8,Be)])])]))),128))])])])])],512),[[L,w.value==="list"]]),i(e("div",null,[e("div",Fe,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[1]||(t[1]=s=>I())},"← 返回列表"),e("h2",Me,r(_.value?"编辑产品":"新增产品"),1)]),e("div",Te,[e("form",{onSubmit:H(ee,["prevent"])},[t[43]||(t[43]=e("h3",{class:"text-sm font-semibold text-slate-500 mb-3"},"基本信息",-1)),e("div",je,[t[25]||(t[25]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"产品名称 *")],-1)),i(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>n.devicename=s),type:"text",class:"input input-bordered w-full",required:""},null,512),[[v,n.devicename]])]),e("div",ze,[e("div",Ae,[t[27]||(t[27]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"所属工厂")],-1)),i(e("select",{"onUpdate:modelValue":t[3]||(t[3]=s=>n.factoryid=s),class:"select select-bordered w-full"},[t[26]||(t[26]=e("option",{value:0},"请选择",-1)),(a(!0),o(h,null,C(F.value,s=>(a(),o("option",{key:s.id,value:s.id},r(s.factory),9,Oe))),128))],512),[[S,n.factoryid,void 0,{number:!0}]])]),e("div",Pe,[t[28]||(t[28]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"设备类型")],-1)),i(e("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>n.devicetype=s),class:"select select-bordered w-full"},[(a(),o(h,null,C(G,(s,b)=>e("option",{key:b,value:Number(b)},r(s),9,qe)),64))],512),[[S,n.devicetype,void 0,{number:!0}]])])]),e("div",Je,[e("div",Ke,[t[29]||(t[29]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"扫描UUID")],-1)),i(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>n.scanuuid=s),type:"text",class:"input input-bordered w-full"},null,512),[[v,n.scanuuid]])]),e("div",Ye,[t[31]||(t[31]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"设备码数量(每副)")],-1)),i(e("select",{"onUpdate:modelValue":t[6]||(t[6]=s=>n.devicecodecount=s),class:"select select-bordered w-full"},[...t[30]||(t[30]=[e("option",{value:1},"单份 (1个/副)",-1),e("option",{value:2},"双份 (2个/副)",-1)])],512),[[S,n.devicecodecount,void 0,{number:!0}]])])]),e("div",He,[e("div",Qe,[t[33]||(t[33]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"渠道方")],-1)),i(e("select",{"onUpdate:modelValue":t[7]||(t[7]=s=>n.channel=s),class:"select select-bordered w-full"},[...t[32]||(t[32]=[e("option",{value:"official"},"官方",-1),e("option",{value:"mobile"},"移动",-1)])],512),[[S,n.channel]])])]),i(e("div",Re,[e("div",Ge,[e("div",We,[t[34]||(t[34]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"移动平台ID")],-1)),i(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>c.platform_id=s),type:"text",class:"input input-bordered w-full",placeholder:"移动平台分配的 ID"},null,512),[[v,c.platform_id]])]),e("div",Xe,[t[35]||(t[35]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"移动平台KEY")],-1)),i(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>c.platform_key=s),type:"text",class:"input input-bordered w-full",placeholder:"移动平台分配的 KEY"},null,512),[[v,c.platform_key]])]),e("div",Ze,[t[36]||(t[36]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"TUI(8位)")],-1)),i(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>c.tui=s),type:"text",maxlength:"8",class:"input input-bordered w-full",placeholder:"CMEI 前缀,如 11113396"},null,512),[[v,c.tui]])])])],512),[[L,n.channel==="mobile"]]),e("div",et,[t[38]||(t[38]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"产品图片")],-1)),e("div",tt,[e("div",st,[i(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>n.productimage=s),type:"text",class:"input input-bordered w-full input-sm mb-2",placeholder:"图片URL(可手动输入或上传)"},null,512),[[v,n.productimage]]),e("div",lt,[e("input",{type:"file",accept:"image/*",class:"file-input file-input-bordered file-input-sm flex-1",onChange:se},null,32),e("button",{type:"button",class:"btn btn-outline btn-sm btn-primary",disabled:N.value,onClick:le},[N.value?(a(),o("span",ot)):g("",!0),t[37]||(t[37]=O("上传 ",-1))],8,nt)])]),n.productimage?(a(),o("div",at,[e("img",{src:n.productimage,class:"w-20 h-20 object-cover rounded-lg border"},null,8,it)])):g("",!0)])]),t[44]||(t[44]=e("div",{class:"divider text-sm text-slate-400"},"绑定奖励设置",-1)),e("div",dt,[e("div",rt,[t[39]||(t[39]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"VIP时长(天)")],-1)),i(e("input",{"onUpdate:modelValue":t[12]||(t[12]=s=>n.bindrewardvpitime=s),type:"number",min:"0",class:"input input-bordered w-full"},null,512),[[v,n.bindrewardvpitime,void 0,{number:!0}]])]),e("div",ut,[t[40]||(t[40]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"翻译时长(分钟)")],-1)),i(e("input",{"onUpdate:modelValue":t[13]||(t[13]=s=>n.bindrewardtranslate=s),type:"number",min:"0",class:"input input-bordered w-full"},null,512),[[v,n.bindrewardtranslate,void 0,{number:!0}]])]),e("div",ct,[t[41]||(t[41]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"会议时长(分钟)")],-1)),i(e("input",{"onUpdate:modelValue":t[14]||(t[14]=s=>n.bindrewardmeeting=s),type:"number",min:"0",class:"input input-bordered w-full"},null,512),[[v,n.bindrewardmeeting,void 0,{number:!0}]])])]),t[45]||(t[45]=e("div",{class:"divider text-sm text-slate-400"},"功能开关",-1)),e("div",mt,[(a(),o(h,null,C(y,s=>e("label",{key:s.key,class:"flex items-center gap-2 cursor-pointer"},[i(e("input",{"onUpdate:modelValue":b=>n.toggles[s.key]=b,type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,8,bt),[[Q,n.toggles[s.key]]]),e("span",pt,r(s.label),1)])),64))]),e("div",vt,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[15]||(t[15]=s=>I())},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:E.value},[E.value?(a(),o("span",gt)):g("",!0),t[42]||(t[42]=O("保存 ",-1))],8,ft)])],32)])],512),[[L,w.value==="form"]]),i(e("div",null,[e("div",xt,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[16]||(t[16]=s=>I())},"← 返回产品列表"),e("h2",yt,"版本管理 - "+r(d.value?.devicename||""),1)]),d.value?(a(),o("div",wt,[e("div",kt,[t[46]||(t[46]=e("span",{class:"text-slate-400"},"产品ID:",-1)),e("span",ht,r(J(d.value.id)),1),t[47]||(t[47]=e("span",{class:"text-slate-400"},"当前版本:",-1)),e("span",_t,r(d.value.version||"无"),1),t[48]||(t[48]=e("span",{class:"text-slate-400"},"版本ID:",-1)),e("span",Vt,r(d.value.versionid||"无"),1),t[49]||(t[49]=e("span",{class:"text-slate-400"},"更新包:",-1)),e("span",Ct,r(d.value.updatepackageaddress||"无"),1)])])):g("",!0),e("div",Ut,[t[55]||(t[55]=e("h3",{class:"text-sm font-semibold text-slate-700 mb-3"},"添加新版本",-1)),e("form",{onSubmit:H(de,["prevent"])},[e("div",Et,[e("div",It,[t[50]||(t[50]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"版本号 *")],-1)),i(e("input",{"onUpdate:modelValue":t[17]||(t[17]=s=>u.version=s),type:"text",class:"input input-bordered input-sm w-full",placeholder:"如 1.2.0"},null,512),[[v,u.version]])]),e("div",Nt,[t[51]||(t[51]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"描述")],-1)),i(e("input",{"onUpdate:modelValue":t[18]||(t[18]=s=>u.desc=s),type:"text",class:"input input-bordered input-sm w-full",placeholder:"版本描述"},null,512),[[v,u.desc]])])]),e("div",Dt,[t[52]||(t[52]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"OTA 更新包 *")],-1)),e("input",{type:"file",class:"file-input file-input-bordered file-input-sm w-full",accept:".bin,.hex,.zip,.gz,.tar,.ota,.ufw,.fot",onChange:ae},null,32)]),e("div",$t,[e("label",Lt,[i(e("input",{"onUpdate:modelValue":t[19]||(t[19]=s=>u.isuse=s),type:"checkbox",class:"checkbox checkbox-primary checkbox-sm"},null,512),[[Q,u.isuse]]),t[53]||(t[53]=e("span",{class:"text-sm"},"设为当前使用版本",-1))]),e("button",{type:"submit",class:"btn btn-primary btn-sm text-white ml-auto",disabled:!ne.value||D.value},[D.value?(a(),o("span",Bt)):g("",!0),t[54]||(t[54]=O("添加版本 ",-1))],8,St)])],32)]),e("div",Ft,[e("div",Mt,[e("table",Tt,[t[57]||(t[57]=e("thead",null,[e("tr",null,[e("th",null,"ID"),e("th",null,"版本号"),e("th",null,"描述"),e("th",null,"更新包地址"),e("th",null,"操作")])],-1)),e("tbody",null,[V.value.length?g("",!0):(a(),o("tr",jt,[...t[56]||(t[56]=[e("td",{colspan:"5",class:"text-center text-slate-400 py-8"},"暂无版本",-1)])])),(a(!0),o(h,null,C(V.value,s=>(a(),o("tr",{key:s.id},[e("td",null,r(s.id),1),e("td",null,[e("span",{class:be(["badge badge-sm",z(s)?"badge-primary":"badge-outline"])},r(s.version),3),z(s)?(a(),o("span",zt,"当前")):g("",!0)]),e("td",At,r(s.description||""),1),e("td",Ot,r(s.updatepackageaddress||""),1),e("td",null,[e("div",Pt,[z(s)?(a(),o("span",qt,"使用中")):(a(),o(h,{key:1},[e("button",{class:"btn btn-ghost btn-xs text-indigo-600",onClick:b=>ie(s)},"设为当前",8,Jt),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:b=>re(s)},"删除",8,Kt)],64))])])]))),128))])])])])],512),[[L,w.value==="version"]])]))}});export{Wt as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/6VNdSi_V.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/6VNdSi_V.js new file mode 100644 index 00000000..614a293a --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/6VNdSi_V.js @@ -0,0 +1 @@ +import{g as W,y as X,z as Y,j as Z,c as a,a as s,t as d,l as c,d as f,k as V,p as T,F as h,r as U,A as k,x as A,s as v,o as l,n as ee,m as $,B as te,_ as se}from"./CfpW9SkI.js";import{u as ae}from"./DSu8q42f.js";import{u as le}from"./CMwGY1Mu.js";import"./DL330dAC.js";const oe={class:"rounded-xl px-5 py-4 mb-5",style:{background:"linear-gradient(135deg,#eef2ff,#faf5ff)",border:"1px solid #e0e7ff"}},ne={class:"flex items-center gap-4"},de={class:"app-avatar"},ie={class:"flex-1 min-w-0"},ue={class:"flex items-center gap-2 flex-wrap"},ce={class:"text-base font-bold text-slate-800"},re={class:"badge badge-sm",style:{background:"#e0e7ff",color:"#4338ca",border:"none"}},pe={key:0,class:"badge badge-ghost badge-sm"},me={key:1,class:"badge badge-ghost badge-sm"},ve={key:2,class:"badge badge-warning badge-sm text-amber-900"},_e={key:3,class:"badge badge-success badge-sm text-white"},xe={class:"text-[11px] text-slate-500 mt-1 flex flex-wrap gap-x-4 gap-y-0.5"},ge={key:0},ye={class:"font-mono"},be={class:"font-mono"},fe={class:"flex items-center gap-2 mt-3 pt-3 border-t border-indigo-100"},he=["disabled"],ke=["value"],we={key:0,class:"loading loading-spinner loading-xs text-indigo-400"},Ce={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-5"},Ve={key:0,class:"alert alert-warning py-2 text-sm mb-3"},Ue={key:1,class:"py-12 text-center"},Me={key:2,class:"flex gap-5"},Be={class:"w-48 shrink-0"},Ne={class:"text-[11px] font-semibold text-slate-400 px-2 mb-1"},Ae=["onClick"],De={key:0,class:"w-1.5 h-1.5 rounded-full bg-emerald-400 inline-block"},Ie={class:"flex-1 min-w-0"},Se={class:"flex items-center justify-between mb-3"},je={class:"text-sm font-semibold text-slate-800"},qe={key:0,class:"text-[11px] text-slate-400 mt-0.5"},Ee={class:"flex items-center gap-2"},Te=["disabled"],$e=["disabled"],ze={class:"grid grid-cols-1 gap-3 max-w-2xl"},Fe={class:"label py-0.5"},Re={class:"label-text text-sm"},Le={key:0,class:"text-rose-400"},Oe={key:1,class:"lock-tag ml-1"},Pe={class:"text-[10px] font-normal text-slate-300 ml-1 font-mono"},Ge={key:0,class:"cursor-pointer flex items-center gap-2"},He=["checked","onChange"],Je={class:"text-xs text-slate-500"},Ke=["onUpdate:modelValue"],Qe=["value"],We=["onUpdate:modelValue","placeholder"],Xe={key:3,class:"relative"},Ye=["onUpdate:modelValue","type"],Ze=["onClick"],et=["onUpdate:modelValue","placeholder"],tt={key:5,class:"text-[11px] text-slate-400 mt-0.5"},st={key:1,class:"py-10 text-center text-slate-400 text-sm"},at=W({__name:"appconfig",setup(lt){const{consoleApi:_}=ae(),{success:D,error:w}=le(),j=X(),z=Y(),y=k(()=>Number(j.query.id)||0),q=k(()=>j.query.name||"未指定应用"),F=k(()=>(i.app_name||q.value||"A").charAt(0).toUpperCase()),i=A({id:0,app_name:"",status:"",name:"",region:"",env_id:0,base_url:"",service_dsn:""}),E=v([]),b=v(0),M=v(!1),x=v([]),u=v(""),r=A({}),B=A(new Set),N=A({}),I=v(!1),g=v(!1),C=v(""),m=k(()=>x.value.find(o=>o.module===u.value)||null),p=k(()=>r[u.value]||{}),R=k(()=>{const o=[],t=new Map;for(const e of x.value)t.has(e.group)||(t.set(e.group,[]),o.push(e.group)),t.get(e.group).push(e);return o.map(e=>({name:e,modules:t.get(e)}))});function L(o,t){const e=r[u.value]||(r[u.value]={});e[o]=t.target.checked?"true":"false"}function O(){z.push("/apps")}function P(o){const t=(o||"").match(/\/([^/?]+)\?/);return t?t[1]:o?"(自定义)":"—"}async function G(){try{const[o,t]=await Promise.all([_("apps/list",{}),_("envs/list",{})]),e=(o??[]).find(n=>n.id===y.value);e&&Object.assign(i,e),E.value=t??[],b.value=i.env_id||0}catch(o){w(o?.message??"获取应用信息失败")}}async function H(){try{const o=await _("modulecfg/catalog",{});x.value=o?.modules??[];for(const t of x.value)r[t.module]||(r[t.module]={});x.value.length&&!u.value&&(u.value=x.value[0].module)}catch(o){w(o?.message??"获取配置目录失败")}}async function S(){if(y.value){I.value=!0,C.value="";try{const o=await _("modulecfg/list",{app_id:y.value});for(const t of x.value)r[t.module]={};B.clear();for(const t of o?.items??[])r[t.module]||(r[t.module]={}),r[t.module][t.key]=t.value,B.add(t.module)}catch(o){C.value=o?.message??"连接失败"}finally{I.value=!1}}}async function J(){if(i.id){M.value=!0;try{await _("apps/bindenv",{id:i.id,env_id:b.value}),i.env_id=b.value,D("部署环境已更新")}catch(o){w(o?.message??"切换环境失败"),b.value=i.env_id||0}finally{M.value=!1}}}async function K(){if(m.value){g.value=!0;try{const o=m.value.fields.map(t=>({key:t.key,value:r[u.value]?.[t.key]??""}));await _("modulecfg/save",{app_id:y.value,module:u.value,items:o}),D("配置已保存"),await S()}catch(o){w(o?.message??"保存失败")}finally{g.value=!1}}}async function Q(){if(u.value&&confirm(`确认清空「${m.value?.name}」的全部配置?`)){g.value=!0;try{await _("modulecfg/del",{app_id:y.value,module:u.value}),D("已清空"),await S()}catch(o){w(o?.message??"清空失败")}finally{g.value=!1}}}return Z(async()=>{await G(),await H(),await S()}),(o,t)=>(l(),a("div",null,[s("div",{class:"flex items-center gap-2 mb-4"},[s("button",{class:"btn btn-ghost btn-sm",onClick:O},"← 返回应用列表"),t[1]||(t[1]=s("span",{class:"text-slate-300"},"/",-1)),t[2]||(t[2]=s("h2",{class:"text-lg font-semibold text-slate-800"},"应用服务配置",-1))]),s("div",oe,[s("div",ne,[s("div",de,d(F.value),1),s("div",ie,[s("div",ue,[s("span",ce,d(i.name||q.value),1),s("span",re,"#"+d(y.value),1),i.app_name?(l(),a("span",pe,"应用:"+d(i.app_name),1)):c("",!0),i.region?(l(),a("span",me,d(i.region),1)):c("",!0),i.status==="pending"?(l(),a("span",ve,"待部署")):(l(),a("span",_e,"已接入"))]),s("div",xe,[i.base_url?(l(),a("span",ge,[t[3]||(t[3]=f("地址:",-1)),s("span",ye,d(i.base_url),1)])):c("",!0),s("span",null,[t[4]||(t[4]=f("业务库:",-1)),s("span",be,d(P(i.service_dsn)),1)])])])]),s("div",fe,[t[6]||(t[6]=s("span",{class:"text-xs text-slate-500 shrink-0"},"部署环境",-1)),V(s("select",{"onUpdate:modelValue":t[0]||(t[0]=e=>b.value=e),class:"select select-bordered select-sm w-64",disabled:M.value,onChange:J},[t[5]||(t[5]=s("option",{value:0},"未绑定",-1)),(l(!0),a(h,null,U(E.value,e=>(l(),a("option",{key:e.id,value:e.id},d(e.name)+"("+d(e.code||"-")+")",9,ke))),128))],40,he),[[T,b.value,void 0,{number:!0}]]),M.value?(l(),a("span",we)):c("",!0),t[7]||(t[7]=s("span",{class:"text-[11px] text-slate-400"},"切换后即时保存。",-1))])]),s("div",Ce,[t[12]||(t[12]=s("div",{class:"mb-3"},[s("h3",{class:"text-base font-semibold text-slate-800"},"业务功能配置"),s("p",{class:"text-[11px] text-slate-400 mt-0.5"},[f(" 登录 / 短信 / 邮件 / 支付等应用独立配置,保存在"),s("b",null,"该部署的业务库"),f("(不进公共库)。密钥字段加密落库,显示时脱敏。 ")])],-1)),C.value?(l(),a("div",Ve,[s("span",null,[f("无法连接应用业务库:"+d(C.value),1),t[8]||(t[8]=s("br",null,null,-1)),t[9]||(t[9]=s("span",{class:"text-xs opacity-70"},"待部署的应用先完成部署、或检查业务库 DSN 连通后再配置。",-1))])])):c("",!0),I.value?(l(),a("div",Ue,[...t[10]||(t[10]=[s("span",{class:"loading loading-spinner loading-sm"},null,-1)])])):(l(),a("div",Me,[s("aside",Be,[(l(!0),a(h,null,U(R.value,e=>(l(),a("div",{key:e.name,class:"mb-3"},[s("div",Ne,d(e.name),1),(l(!0),a(h,null,U(e.modules,n=>(l(),a("button",{key:n.module,class:ee(["w-full flex items-center justify-between text-left px-3 py-2 rounded-lg text-sm mb-0.5 transition-colors",u.value===n.module?"bg-indigo-50 text-indigo-700 font-medium":"text-slate-600 hover:bg-slate-50"]),onClick:ot=>u.value=n.module},[s("span",null,d(n.name),1),B.has(n.module)?(l(),a("span",De)):c("",!0)],10,Ae))),128))]))),128))]),s("section",Ie,[m.value?(l(),a(h,{key:0},[s("div",Se,[s("div",null,[s("div",je,d(m.value.name),1),m.value.desc?(l(),a("div",qe,d(m.value.desc),1)):c("",!0)]),s("div",Ee,[B.has(u.value)?(l(),a("button",{key:0,class:"btn btn-ghost btn-xs text-rose-500",disabled:g.value,onClick:Q},"清空",8,Te)):c("",!0),s("button",{class:"btn btn-primary btn-sm text-white",disabled:g.value||C.value!=="",onClick:K},d(g.value?"保存中…":"保存"),9,$e)])]),s("div",ze,[(l(!0),a(h,null,U(m.value.fields,e=>(l(),a("div",{key:e.key,class:"form-control"},[s("label",Fe,[s("span",Re,[f(d(e.label)+" ",1),e.required?(l(),a("span",Le,"*")):c("",!0),e.secret?(l(),a("span",Oe,"🔒")):c("",!0),s("span",Pe,d(e.key),1)])]),e.type==="bool"?(l(),a("label",Ge,[s("input",{type:"checkbox",class:"toggle toggle-sm toggle-primary",checked:p.value[e.key]==="true",onChange:n=>L(e.key,n)},null,40,He),s("span",Je,d(p.value[e.key]==="true"?"开启":"关闭"),1)])):e.type==="select"?V((l(),a("select",{key:1,"onUpdate:modelValue":n=>p.value[e.key]=n,class:"select select-bordered select-sm w-full"},[t[11]||(t[11]=s("option",{value:""},"请选择",-1)),(l(!0),a(h,null,U(e.options,n=>(l(),a("option",{key:n.value,value:n.value},d(n.label),9,Qe))),128))],8,Ke)),[[T,p.value[e.key]]]):e.type==="textarea"?V((l(),a("textarea",{key:2,"onUpdate:modelValue":n=>p.value[e.key]=n,class:"textarea textarea-bordered w-full font-mono text-xs",rows:"3",placeholder:e.secret?"留空/保持 [encrypted] 则不变":e.placeholder||""},null,8,We)),[[$,p.value[e.key]]]):e.type==="password"?(l(),a("div",Xe,[V(s("input",{"onUpdate:modelValue":n=>p.value[e.key]=n,type:N[e.key]?"text":"password",class:"input input-bordered input-sm w-full font-mono text-xs pr-14",placeholder:"留空/保持 [encrypted] 则不变"},null,8,Ye),[[te,p.value[e.key]]]),s("button",{type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:n=>N[e.key]=!N[e.key]},d(N[e.key]?"隐藏":"显示"),9,Ze)])):V((l(),a("input",{key:4,"onUpdate:modelValue":n=>p.value[e.key]=n,type:"text",class:"input input-bordered input-sm w-full font-mono text-xs",placeholder:e.placeholder||""},null,8,et)),[[$,p.value[e.key]]]),e.desc?(l(),a("span",tt,d(e.desc),1)):c("",!0)]))),128))])],64)):(l(),a("div",st,"暂无可配置的业务模块。"))])]))])]))}}),ct=se(at,[["__scopeId","data-v-a2d8388e"]]);export{ct as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/9B2ftqmN.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/9B2ftqmN.js deleted file mode 100644 index 2fc001e9..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/9B2ftqmN.js +++ /dev/null @@ -1 +0,0 @@ -import{C as l,z as d}from"./CTAruH_8.js";import{u as h}from"./D9HxoMhB.js";async function c(n,a,i){const e=l(),u=d(),s={"Content-Type":"application/json"};e.token&&(s.Authorization=e.token),i&&Object.assign(s,i);const t=await fetch(n,{method:"POST",headers:s,body:JSON.stringify(a)});if(!t.ok)throw new Error(`HTTP error: ${t.status}`);const o=await t.json();if(o.code===18)throw e.logout(),u.push("/"),new Error(o.msg||"Unauthorized");if(o.code!==0)throw new Error(o.msg||"Unknown error");return o.data}const w=/^(get|list|load|query|fetch|search|count|stat|export|check)/i;function y(n){return!w.test(n)}function k(){const n=l(),{begin:a,end:i}=h();async function e(t,o){const r={};if(n.currentAppId&&(r["X-App-Id"]=String(n.currentAppId)),!y(t))return c(`/web/api/api_${t}`,o??{},r);a();try{return await c(`/web/api/api_${t}`,o??{},r)}finally{i()}}async function u(t,o){return c(`/console/api/${t}`,o??{})}async function s(t,o){const r=await e("getcostoken",{path:o}),p=r.upload_url||r.url||"",f=await fetch(p,{method:"PUT",headers:{"Content-Type":t.type||"application/octet-stream"},body:t});if(!f.ok)throw new Error(`Upload failed: ${f.status}`);return p.split("?")[0]}return{webApi:e,consoleApi:u,uploadFile:s}}export{k as u}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B2Vd1HRg.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B2Vd1HRg.js new file mode 100644 index 00000000..94562b5b --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B2Vd1HRg.js @@ -0,0 +1 @@ +import{g as Ce,o as n,c as o,F as v,a as e,r as h,d as N,t as d,l as g,n as z,A as E,_ as Se,j as We,k as c,p as ie,G as B,m as y,q as O,v as Ve,s as x,x as Ue,J as R,B as ee,D as Xe}from"./CfpW9SkI.js";import{u as Ye}from"./DSu8q42f.js";import{u as Qe}from"./CMwGY1Mu.js";import"./DL330dAC.js";const $e=[{code:"zh-CN",name:"中文(简体)"},{code:"zh-TW",name:"中文(繁体)"},{code:"zh-HK",name:"中文(香港)"},{code:"yue-HK",name:"粤语"},{code:"en-US",name:"英语(美国)"},{code:"en-GB",name:"英语(英国)"},{code:"ja-JP",name:"日语"},{code:"ko-KR",name:"韩语"},{code:"id-ID",name:"印尼语"},{code:"es-ES",name:"西班牙语(西)"},{code:"es-MX",name:"西班牙语(墨)"},{code:"pt-BR",name:"葡萄牙语(巴西)"},{code:"pt-PT",name:"葡萄牙语(葡)"},{code:"de-DE",name:"德语"},{code:"fr-FR",name:"法语"},{code:"it-IT",name:"意大利语"},{code:"nl-NL",name:"荷兰语"},{code:"pl-PL",name:"波兰语"},{code:"ru-RU",name:"俄语"},{code:"uk-UA",name:"乌克兰语"},{code:"tr-TR",name:"土耳其语"},{code:"vi-VN",name:"越南语"},{code:"th-TH",name:"泰语"},{code:"ms-MY",name:"马来语"},{code:"fil-PH",name:"菲律宾语"},{code:"ar-SA",name:"阿拉伯语"}];function Ze(M){const D=$e.find(w=>w.code===M);return D?D.name:M}const et={class:"lang-select"},tt={class:"lang-chip-name"},lt=["onClick"],st={key:0,class:"lang-empty"},nt={key:0,class:"lang-dd"},ot={class:"lang-dd-sum"},at={class:"lang-dd-panel"},dt=["checked","onChange"],it={class:"lang-opt-code"},ut={class:"lang-opt-name"},ct=["value","disabled"],rt=["value"],pt=Ce({__name:"LangSelect",props:{modelValue:{},multiple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},options:{default:void 0}},emits:["update:modelValue"],setup(M,{emit:D}){const w=M,V=D,W=E(()=>w.options&&w.options.length?w.options:$e),U=E(()=>(w.modelValue||"").split(",").map(T=>T.trim()).filter(Boolean));function S(T){return Ze(T)}function $(T){if(w.disabled)return;const j=U.value.slice(),m=j.indexOf(T);m>=0?j.splice(m,1):j.push(T),V("update:modelValue",j.join(","))}function H(T){V("update:modelValue",T.target.value)}return(T,j)=>(n(),o("div",et,[M.multiple?(n(),o(v,{key:0},[e("div",{class:z(["lang-chips",{"lang-disabled":M.disabled}])},[(n(!0),o(v,null,h(U.value,m=>(n(),o("span",{key:m,class:"lang-chip"},[N(d(m),1),e("span",tt,d(S(m)),1),e("button",{type:"button",class:"lang-x",onClick:X=>$(m)},"×",8,lt)]))),128)),U.value.length?g("",!0):(n(),o("span",st,"未选择语言"))],2),M.disabled?g("",!0):(n(),o("details",nt,[e("summary",ot,"+ 选择语言(已选 "+d(U.value.length)+")",1),e("div",at,[(n(!0),o(v,null,h(W.value,m=>(n(),o("label",{key:m.code,class:"lang-opt"},[e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary",checked:U.value.includes(m.code),onChange:X=>$(m.code)},null,40,dt),e("span",it,d(m.code),1),e("span",ut,d(m.name),1)]))),128))])]))],64)):(n(),o("select",{key:1,class:"select select-bordered select-sm w-full text-xs",value:M.modelValue,disabled:M.disabled,onChange:H},[j[0]||(j[0]=e("option",{value:""},"(未设置)",-1)),(n(!0),o(v,null,h(W.value,m=>(n(),o("option",{key:m.code,value:m.code},d(m.code)+" · "+d(m.name),9,rt))),128))],40,ct))]))}}),vt=Object.assign(Se(pt,[["__scopeId","data-v-4903af59"]]),{__name:"LangSelect"}),mt={key:0,class:"mb-4 rounded-lg px-4 py-3 text-sm",style:{background:"#fffbeb",border:"1px solid #fde68a",color:"#92400e"}},bt={class:"flex items-center justify-between mb-5"},xt={class:"flex items-center gap-3"},yt=["value"],_t=["value"],ht={class:"flex gap-4",style:{"align-items":"flex-start"}},gt={style:{width:"248px","flex-shrink":"0"}},kt={class:"flex flex-col gap-2"},ft=["onClick"],wt={style:{"min-width":"0",flex:"1"}},Vt={class:"flex items-center gap-2"},Ut={class:"font-semibold text-slate-800 text-sm truncate"},Ct={class:"flex flex-wrap gap-1 mt-1 items-center"},St={key:0,class:"provider-chip"},$t={key:1,class:"lock-badge"},Tt={key:0,class:"text-xs text-slate-400 text-center py-8"},At={class:"flex-1 min-w-0"},Mt={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},zt={key:0,class:"text-center text-slate-300 py-20"},Dt={class:"flex items-center justify-between mb-5"},jt={class:"flex items-center gap-3"},Ft={class:"text-base font-semibold text-slate-800"},Nt={class:"text-xs text-slate-400 mt-0.5"},Lt={key:0},Rt={class:"flex gap-2"},It={class:"grid grid-cols-2 gap-4 mb-4"},Bt={class:"form-control"},Ot={class:"form-control"},Et={class:"form-control mb-4"},Ht={class:"mb-4"},Pt={class:"text-xs text-slate-500 ml-2"},Gt={key:0,class:"text-xs text-slate-400 py-4 text-center"},Jt={key:1,class:"overflow-x-auto"},Kt={class:"table text-xs"},qt=["onUpdate:modelValue","title"],Wt=["onUpdate:modelValue"],Xt={class:"text-center"},Yt=["onUpdate:modelValue"],Qt={class:"relative"},Zt=["type","onUpdate:modelValue"],el=["onClick"],tl=["onUpdate:modelValue"],ll=["onClick"],sl={class:"wizard-steps mb-5"},nl={key:0},ol={key:0},al={class:"type-grid"},dl=["onClick"],il={class:"text-sm text-slate-700 mt-2"},ul={class:"flex items-center justify-between mb-3"},cl={class:"text-sm text-slate-500"},rl={class:"type-grid"},pl=["onClick"],vl={class:"provider-chip"},ml={class:"text-sm text-slate-700 mt-2"},bl={class:"text-[11px] text-slate-400 mt-0.5"},xl={key:0,class:"text-xs text-slate-400 mt-2"},yl={class:"flex items-center justify-between mb-3"},_l={class:"flex items-center gap-2"},hl={key:0,class:"provider-chip"},gl={class:"flex gap-2"},kl={class:"grid grid-cols-2 gap-4 mb-4"},fl={class:"form-control"},wl={class:"form-control"},Vl={class:"grid grid-cols-2 gap-4 mb-4"},Ul={class:"form-control"},Cl={class:"form-control"},Sl={class:"form-control mb-4"},$l={key:0,class:"text-xs text-slate-400 py-4 text-center"},Tl={key:1,class:"overflow-x-auto"},Al={class:"table text-xs"},Ml=["onUpdate:modelValue","title"],zl=["onUpdate:modelValue"],Dl={class:"text-center"},jl=["onUpdate:modelValue"],Fl={class:"relative"},Nl=["type","onUpdate:modelValue"],Ll=["onClick"],Rl=["onUpdate:modelValue"],Il=["onClick"],Bl={key:0,class:"text-center py-10 text-slate-400"},Ol={class:"flex items-center justify-between mb-5"},El={class:"flex items-center gap-3"},Hl={class:"text-base font-semibold text-slate-800"},Pl={class:"badge badge-warning badge-sm mt-0.5"},Gl={class:"rounded-lg px-3 py-2 mb-4 text-xs",style:{background:"#fefce8",border:"1px solid #fde047",color:"#854d0e"}},Jl={class:"overflow-x-auto"},Kl={class:"table text-xs"},ql=["title"],Wl={class:"text-slate-500"},Xl={class:"text-center"},Yl={key:0,class:"disabled-badge"},Ql={key:1,class:"override-badge"},Zl={key:2,class:"inherit-badge"},es={class:"text-center"},ts=["onUpdate:modelValue"],ls={class:"relative"},ss=["type","onUpdate:modelValue","disabled"],ns=["onClick"],os=["onUpdate:modelValue","disabled","placeholder"],as={key:0},ds={class:"divider text-xs text-slate-400 my-3"},is={key:0,class:"text-xs text-slate-400 py-2 text-center"},us={key:1,class:"overflow-x-auto"},cs={class:"table text-xs"},rs=["onUpdate:modelValue","title"],ps=["onUpdate:modelValue"],vs={class:"text-center"},ms=["onUpdate:modelValue"],bs={class:"relative"},xs=["type","onUpdate:modelValue"],ys=["onClick"],_s=["onUpdate:modelValue"],hs=["onClick"],gs={class:"sync-overlay"},ks={class:"sync-box"},fs={class:"flex items-start gap-3 mb-4"},ws={style:{width:"42px",height:"42px",background:"linear-gradient(135deg,#4f46e5,#7c3aed)","border-radius":"13px",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},Vs={style:{width:"20px",height:"20px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Us={class:"text-xs text-slate-400 mt-1"},Cs=["innerHTML"],Ss={class:"flex items-center justify-between mb-1"},$s={class:"flex gap-2"},Ts={class:"sync-region-grid"},As=["onClick"],Ms=["checked","onClick"],zs={class:"sync-overlay"},Ds={class:"tpl-box"},js={class:"flex items-center justify-between mb-4"},Fs={class:"flex gap-2"},Ns={class:"tpl-list"},Ls={class:"text-xs font-semibold text-slate-500 mb-1"},Rs={style:{"min-width":"0",flex:"1"}},Is={class:"flex items-center gap-2"},Bs={class:"font-semibold text-sm text-slate-800 truncate"},Os={class:"provider-chip"},Es={key:0,class:"badge badge-xs badge-ghost"},Hs={class:"text-xs text-slate-400 mt-0.5"},Ps={class:"flex gap-1"},Gs=["onClick"],Js=["onClick"],Ks={key:0,class:"text-xs text-slate-400 text-center py-6"},qs={class:"flex items-center justify-between mb-4"},Ws={class:"text-base font-semibold text-slate-800"},Xs={class:"flex gap-2"},Ys={class:"grid grid-cols-2 gap-3 mb-3"},Qs={class:"form-control"},Zs=["disabled"],en={class:"form-control"},tn=["value"],ln={class:"form-control"},sn={class:"form-control"},nn={class:"form-control mb-3"},on={class:"overflow-x-auto",style:{"max-height":"34vh"}},an={class:"table text-xs"},dn=["onUpdate:modelValue","title"],un=["onUpdate:modelValue"],cn={class:"text-center"},rn=["onUpdate:modelValue"],pn=["onUpdate:modelValue"],vn=["onClick"],mn={key:0},bn=Ce({__name:"serviceconfig",setup(M){const D=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}],w=[{v:1,label:"STT 语音识别",short:"STT",color:"#0369a1",bg:"#dbeafe"},{v:2,label:"TTS 语音合成",short:"TTS",color:"#7c3aed",bg:"#ede9fe"},{v:3,label:"MT 机器翻译",short:"MT",color:"#059669",bg:"#dcfce7"},{v:4,label:"AST 端到端翻译",short:"AST",color:"#c2410c",bg:"#fff7ed"},{v:5,label:"LLM 大语言",short:"LLM",color:"#b45309",bg:"#fef9c3"},{v:7,label:"STS 端到端对话",short:"STS",color:"#be185d",bg:"#fce7f3"},{v:6,label:"存储 OSS/COS",short:"存储",color:"#475569",bg:"#f1f5f9"}],{webApi:V,consoleApi:W}=Ye(),{success:U,error:S}=Qe(),$=x(""),H=x([]);async function T(){try{const s=await W("products/list",{});H.value=(s??[]).map(l=>l.name).filter(Boolean)}catch{H.value=[]}}function j(){p.value=null,C.value="empty",Y()}function m(s){return w.find(l=>l.v===s)||{short:"?",color:"#999",bg:"#eee",v:0,label:""}}function X(s){return(s||"").split(",").map(l=>parseInt(l)||0).filter(l=>l>0)}function ue(s){return(s.fields||[]).filter(l=>l.encrypted).length}const te=x(!0),P=x([]),p=x(null),A=x(0),C=x("empty"),i=Ue({id:"",name:"",provider:"",description:"",enable:!1}),_=x(0),f=x([]),G=x(""),k=x(1),J=x([]),I=x([]),le=x(!1),K=x([]),se=E(()=>{const s=D.find(l=>l.value===A.value);return s?s.label:"区域"+A.value}),Te=E(()=>w.map(s=>({cat:s.v,label:s.label,items:K.value.filter(l=>l.category===s.v)})).filter(s=>s.items.length));async function Y(){try{const s=await V("getsvcconfigs",{app_name:$.value});P.value=s?.items??[],te.value=!0}catch{te.value=!1,P.value=[];return}if(p.value){const s=P.value.find(l=>l.id===p.value.id);s&&Q(s)}}async function ne(){try{const s=await V("getsvctemplates",{});K.value=s?.items??[]}catch{K.value=[]}}function Ae(){p.value?Q(p.value):C.value!=="new"&&(C.value="empty")}function Q(s){s&&(p.value=s,A.value===0?Me():Fe())}function Me(){const s=p.value;i.id=s.id,i.name=s.name||"",i.provider=s.provider||"",i.description=s.description||"",i.enable=!!s.enable,_.value=X(s.categories)[0]||0,f.value=JSON.parse(JSON.stringify(s.fields||[])).map(l=>({...l,_show:!1})),C.value="default"}function ze(){p.value=null,i.id="",i.name="",i.provider="",i.description="",i.enable=!1,_.value=0,f.value=[],G.value="",k.value=1,C.value="new"}const ce=E(()=>K.value.filter(s=>s.category===_.value));function De(s){_.value!==s&&(_.value=s,G.value="",i.provider="",f.value=[]),k.value=2}function re(s){s?(G.value=s.id,i.provider=s.provider||"",i.name||(i.name=s.name||""),i.id||(i.id=s.id||""),i.description||(i.description=s.description||""),f.value=(s.fields||[]).map(l=>({key:l.key,description:l.description,type:l.type||"",encrypted:!!l.encrypted,def_value:l.def_value||"",sort:l.sort,_show:!1}))):(G.value="",i.provider="",f.value=[]),k.value=3}function je(){p.value?Q(p.value):C.value="empty"}function pe(){f.value.push({key:"",description:"",encrypted:!1,def_value:"",sort:f.value.length,_show:!1})}function ve(s){f.value.splice(s,1),f.value.forEach((l,r)=>{l.sort=r})}async function Fe(){const s=p.value;le.value=!0,C.value="region";try{const r=(await V("getsvcregionoverride",{app_name:$.value,svc_id:s.id,region:A.value}))?.fields??[];J.value=r.filter(t=>!t.region_only).map(t=>({key:t.key,description:t.description,type:t.type||"",encrypted:!!t.encrypted,is_overridden:!!t.is_overridden,disabled:!!t.disabled,value:t.value||"",_input:t.encrypted?"":t.is_overridden&&t.value||"",_show:!1})),I.value=r.filter(t=>t.region_only).map(t=>({key:t.key,description:t.description,encrypted:!!t.encrypted,_input:t.encrypted?"":t.value||"",_show:!1}))}catch(l){S(l?.message??"加载区域分叉失败"),J.value=[],I.value=[]}finally{le.value=!1}}function Ne(){I.value.push({key:"",description:"",encrypted:!1,_input:"",_show:!1})}function Le(s){I.value.splice(s,1)}function Re(s){const l={name:i.name||"",provider:i.provider||"",description:i.description||"",categories:_.value?String(_.value):"",enable:i.enable||!1,fields:f.value.map(r=>({key:r.key,description:r.description,type:r.type||"",encrypted:r.encrypted,def_value:r.def_value,sort:r.sort}))};return s?l.id=i.id||"":l.id=p.value.id,l.app_name=$.value,l}function Ie(){const s={},l=[];J.value.forEach(t=>{s[t.key]=t._input||"",t.disabled&&l.push(t.key)});const r=I.value.filter(t=>(t.key||"").trim()).map((t,u)=>({key:t.key.trim(),description:t.description,encrypted:t.encrypted,def_value:t._input||"",sort:u}));return{overrides:s,disabled_keys:l,extra_fields:r}}async function me(s){const l=s||!p.value;if(A.value===0){const r=Re(l);if(!r.id||!r.name)return S("服务ID 和名称 必填"),!1;const t=l?"addsvcconfig":"updatesvcconfig";try{const u=await V(t,r);return p.value=u,await Y(),U("保存成功"),!0}catch(u){return S(u?.message??"保存失败"),!1}}else{const{overrides:r,disabled_keys:t,extra_fields:u}=Ie();try{return await V("savesvcregionoverride",{app_name:$.value,svc_id:p.value.id,region:A.value,overrides:r,disabled_keys:t,extra_fields:u}),U("区域分叉已保存"),!0}catch(a){return S(a?.message??"保存失败"),!1}}}async function Be(){if(p.value&&window.confirm("确定删除服务「"+p.value.name+"」及其所有区域分叉?")){try{await V("delsvcconfig",{app_name:$.value,id:p.value.id})}catch(s){S(s?.message??"删除失败");return}p.value=null,U("已删除"),await Y(),C.value="empty"}}const oe=x(!1),ae=x(!1),be=x(""),xe=x(""),L=x([]),ye=E(()=>D.filter(s=>s.value!==A.value));function de(s){ae.value=s;const l=p.value?p.value.name:i.name||"新服务",r=A.value===0;be.value=r?"「"+l+"」默认配置将保存,可同步推送到其他区域。":"「"+l+"」在当前区域的字段分叉将保存,可同步到其他区域。",xe.value=r?"✦ 同步内容:各字段默认值推送为目标区域「覆盖值」,目标区域原有分叉将被替换。":"✦ 同步内容:当前区域的值覆盖 / 区域专属字段 / 停用字段整体复制到目标区域。",L.value=[],oe.value=!0}function _e(s){const l=L.value.indexOf(s);l>=0?L.value.splice(l,1):L.value.push(s)}function he(s){L.value=s?ye.value.map(l=>l.value):[]}function ge(){oe.value=!1}async function Oe(){ge(),await me(ae.value)}async function Ee(){const s=L.value.slice();if(ge(),!await me(ae.value)||!s.length)return;const r=p.value?p.value.id:null;if(!r)return;let t=0;try{t=(await V("syncsvctoregins",{app_name:$.value,svc_id:r,src_region:A.value,target_regions:s}))?.synced??0}catch(a){S(a?.message??"同步失败");return}const u=s.map(a=>{const we=D.find(qe=>qe.value===a);return we?we.label:"区域"+a});U("已保存并同步到:"+u.join("、")+"("+t+" 个)")}const ke=x(!1),Z=x("list"),q=x(!1),b=Ue({id:"",category:2,provider:"",name:"",description:""}),F=x([]);function He(){ke.value=!1}function fe(s){s?(q.value=!0,b.id=s.id,b.category=s.category||2,b.provider=s.provider||"",b.name=s.name||"",b.description=s.description||"",F.value=(s.fields||[]).map(l=>({key:l.key,description:l.description,type:l.type||"",encrypted:!!l.encrypted,def_value:l.def_value||"",sort:l.sort}))):(q.value=!1,b.id="",b.category=2,b.provider="",b.name="",b.description="",F.value=[]),Z.value="form"}function Pe(){F.value.push({key:"",description:"",encrypted:!1,def_value:"",sort:F.value.length})}function Ge(s){F.value.splice(s,1),F.value.forEach((l,r)=>{l.sort=r})}async function Je(){if(!b.id.trim()||!b.name.trim()||!b.provider.trim()){S("模板ID / 展示名 / 服务商标识 必填");return}const s={id:b.id.trim(),category:Number(b.category)||0,provider:b.provider.trim(),name:b.name.trim(),description:b.description.trim(),fields:F.value.map((l,r)=>({key:l.key,description:l.description,type:l.type||"",encrypted:l.encrypted,def_value:l.def_value,sort:r}))};try{await V(q.value?"updatesvctemplate":"addsvctemplate",s)}catch(l){S(l?.message??"保存失败");return}U("模板已保存"),await ne(),Z.value="list"}async function Ke(s){if(window.confirm("确定删除模板「"+s.name+"」?"+(s.builtin?"(内置模板下次启动会被重新补回)":""))){try{await V("delsvctemplate",{id:s.id})}catch(l){S(l?.message??"删除失败");return}U("已删除"),await ne()}}return We(()=>{T(),Y(),ne()}),(s,l)=>{const r=vt;return n(),o("div",null,[te.value?g("",!0):(n(),o("div",mt," ⚠ 「第三方服务配置」后端接口暂不可用(连接失败),请检查 console 服务是否运行。 ")),e("div",bt,[l[29]||(l[29]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"第三方服务配置"),e("p",{class:"text-xs text-slate-400 mt-1"},[N("按服务类型分组管理已接入的第三方服务(火山引擎、阿里云、Azure 等)。默认展示"),e("b",null,"全局默认"),N("配置,可切换到具体应用;区域默认"),e("b",null,"中国"),N(",切换区域可为该区域覆盖字段值。")])],-1)),e("div",xt,[c(e("select",{"onUpdate:modelValue":l[0]||(l[0]=t=>$.value=t),class:"select select-bordered select-sm",onChange:j},[l[27]||(l[27]=e("option",{value:""},"全局默认",-1)),(n(!0),o(v,null,h(H.value,t=>(n(),o("option",{key:t,value:t},"应用:"+d(t),9,yt))),128))],544),[[ie,$.value]]),c(e("select",{"onUpdate:modelValue":l[1]||(l[1]=t=>A.value=t),class:"select select-bordered select-sm",onChange:Ae},[(n(),o(v,null,h(D,t=>e("option",{key:t.value,value:t.value},d(t.label),9,_t)),64)),l[28]||(l[28]=e("option",{value:0},"默认(全区域)",-1))],544),[[ie,A.value,void 0,{number:!0}]]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:ze},"+ 添加服务")])]),e("div",ht,[e("div",gt,[e("div",kt,[(n(!0),o(v,null,h(P.value,t=>(n(),o("div",{key:t.id,class:z(["svc-item",{active:p.value&&p.value.id===t.id}]),onClick:u=>Q(t)},[e("div",{class:"svc-logo",style:B({background:t.color||"#6366f1"})},d(t.icon||(t.name||"").charAt(0)),5),e("div",wt,[e("div",Vt,[e("span",Ut,d(t.name),1),e("span",{class:z(["badge badge-xs",t.enable?"badge-success":"badge-ghost"])},d(t.enable?"启用":"停用"),3)]),e("div",Ct,[t.provider?(n(),o("span",St,d(t.provider),1)):g("",!0),(n(!0),o(v,null,h(X(t.categories),u=>(n(),o("span",{key:u,class:"cat-chip",style:B({color:m(u).color,background:m(u).bg})},d(m(u).short),5))),128)),ue(t)?(n(),o("span",$t,"🔒"+d(ue(t)),1)):g("",!0)])])],10,ft))),128)),P.value.length?g("",!0):(n(),o("p",Tt,"暂无服务"))])]),e("div",At,[e("div",Mt,[C.value==="empty"?(n(),o("div",zt,[...l[30]||(l[30]=[e("div",{class:"text-5xl mb-3"},"⚙️",-1),e("p",{class:"text-sm"},"从左侧选择一个服务开始配置",-1)])])):C.value==="default"&&p.value?(n(),o(v,{key:1},[e("div",Dt,[e("div",jt,[e("div",{class:"svc-logo",style:B({background:p.value.color||"#6366f1",width:"44px",height:"44px",fontSize:"20px"})},d(p.value.icon||(p.value.name||"").charAt(0)),5),e("div",null,[e("h3",Ft,d(p.value.name),1),e("p",Nt,[N(d(p.value.id),1),i.provider?(n(),o("span",Lt," · 服务商 "+d(i.provider),1)):g("",!0)])])]),e("div",Rt,[e("button",{class:"btn btn-error btn-sm btn-outline",onClick:Be},"删除服务"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[2]||(l[2]=t=>de(!1))},"保存")])]),l[38]||(l[38]=e("div",{class:"divider text-xs text-slate-400 my-3"},"基本信息",-1)),e("div",It,[e("div",Bt,[l[31]||(l[31]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务名称 *")],-1)),c(e("input",{"onUpdate:modelValue":l[3]||(l[3]=t=>i.name=t),class:"input input-bordered"},null,512),[[y,i.name]])]),e("div",Ot,[l[32]||(l[32]=e("label",{class:"label"},[e("span",{class:"label-text"},"启用")],-1)),c(e("input",{"onUpdate:modelValue":l[4]||(l[4]=t=>i.enable=t),type:"checkbox",class:"toggle toggle-primary mt-3"},null,512),[[O,i.enable]])])]),e("div",Et,[l[33]||(l[33]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务描述")],-1)),c(e("input",{"onUpdate:modelValue":l[5]||(l[5]=t=>i.description=t),class:"input input-bordered"},null,512),[[y,i.description]])]),e("div",Ht,[l[34]||(l[34]=e("p",{class:"text-sm font-medium text-slate-700 mb-2"},"服务类型",-1)),_.value?(n(),o("span",{key:0,class:"cat-chip",style:B({color:m(_.value).color,background:m(_.value).bg})},d(m(_.value).short),5)):g("",!0),e("span",Pt,d(_.value?m(_.value).label:"未设置"),1),l[35]||(l[35]=e("span",{class:"text-[11px] text-slate-400 ml-2"},"(类型在创建时确定,不可更改)",-1))]),l[39]||(l[39]=e("div",{class:"divider text-xs text-slate-400 my-3"},"配置字段(全区域共用)",-1)),e("div",null,[f.value.length?(n(),o("div",Jt,[e("table",Kt,[l[37]||(l[37]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(f.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,qt),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,Wt),[[y,t.description]])]),e("td",Xt,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,Yt),[[O,t.encrypted]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a,multiple:!0},null,8,["modelValue","onUpdate:modelValue"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a},null,8,["modelValue","onUpdate:modelValue"])):t.encrypted?(n(),o(v,{key:2},[e("div",Qt,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t.def_value=a,placeholder:"留空保留原值"},null,8,Zt),[[ee,t.def_value]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,el)]),l[36]||(l[36]=e("span",{class:"lock-badge ml-1"},"🔒 加密",-1))],64)):c((n(),o("input",{key:3,class:"field-input","onUpdate:modelValue":a=>t.def_value=a},null,8,tl)),[[y,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>ve(u)},"×",8,ll)])]))),128))])])])):(n(),o("p",Gt,"尚无字段,点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:pe},"+ 添加字段")])],64)):C.value==="new"?(n(),o(v,{key:2},[e("div",{class:"flex items-center justify-between mb-4"},[l[40]||(l[40]=e("h3",{class:"text-base font-semibold text-slate-800"},"新增第三方服务",-1)),e("button",{class:"btn btn-ghost btn-sm",onClick:je},"取消")]),e("div",sl,[e("div",{class:z(["wstep",{on:k.value>=1,cur:k.value===1}]),onClick:l[6]||(l[6]=t=>k.value=1)},[l[41]||(l[41]=N("① 服务类型",-1)),_.value?(n(),o("span",nl," · "+d(m(_.value).short),1)):g("",!0)],2),l[43]||(l[43]=e("div",{class:"wline"},null,-1)),e("div",{class:z(["wstep",{on:k.value>=2,cur:k.value===2,disabled:!_.value}]),onClick:l[7]||(l[7]=t=>_.value&&(k.value=2))},[l[42]||(l[42]=N("② 服务商",-1)),i.provider?(n(),o("span",ol," · "+d(i.provider),1)):g("",!0)],2),l[44]||(l[44]=e("div",{class:"wline"},null,-1)),e("div",{class:z(["wstep",{on:k.value>=3,cur:k.value===3,disabled:k.value<3}])},"③ 配置",2)]),k.value===1?(n(),o(v,{key:0},[l[45]||(l[45]=e("p",{class:"text-sm text-slate-500 mb-3"},"请选择要接入的服务类型(每个服务归属单一类型,独立配置):",-1)),e("div",al,[(n(),o(v,null,h(w,t=>e("div",{key:t.v,class:z(["type-card",{on:_.value===t.v}]),onClick:u=>De(t.v)},[e("span",{class:"cat-chip",style:B({color:t.color,background:t.bg})},d(t.short),5),e("span",il,d(t.label),1)],10,dl)),64))])],64)):k.value===2?(n(),o(v,{key:1},[e("div",ul,[e("p",cl,"为「"+d(m(_.value).label)+"」选择服务商:",1),e("button",{class:"btn btn-ghost btn-xs",onClick:l[8]||(l[8]=t=>k.value=1)},"← 上一步")]),e("div",rl,[(n(!0),o(v,null,h(ce.value,t=>(n(),o("div",{key:t.id,class:z(["type-card",{on:G.value===t.id}]),onClick:u=>re(t)},[e("span",vl,d(t.provider),1),e("span",ml,d(t.name),1),e("span",bl,d((t.fields||[]).length)+" 字段",1)],10,pl))),128)),e("div",{class:"type-card",onClick:l[9]||(l[9]=t=>re(null))},[...l[46]||(l[46]=[e("span",{class:"provider-chip",style:{background:"#f1f5f9",color:"#475569"}},"自定义",-1),e("span",{class:"text-sm text-slate-700 mt-2"},"空白自定义",-1),e("span",{class:"text-[11px] text-slate-400 mt-0.5"},"手动添加字段",-1)])])]),ce.value.length?g("",!0):(n(),o("p",xl,"该类型暂无内置模板,可选「空白自定义」,或到「服务商模板」新增。"))],64)):(n(),o(v,{key:2},[e("div",yl,[e("div",_l,[e("span",{class:"cat-chip",style:B({color:m(_.value).color,background:m(_.value).bg})},d(m(_.value).short),5),i.provider?(n(),o("span",hl,d(i.provider),1)):g("",!0)]),e("div",gl,[e("button",{class:"btn btn-ghost btn-xs",onClick:l[10]||(l[10]=t=>k.value=2)},"← 上一步"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[11]||(l[11]=t=>de(!0))},"创建")])]),e("div",kl,[e("div",fl,[l[47]||(l[47]=e("label",{class:"label"},[e("span",{class:"label-text"},[N("服务ID * "),e("span",{class:"text-slate-400 text-xs"},"(唯一,如 tts_azure)")])],-1)),c(e("input",{"onUpdate:modelValue":l[12]||(l[12]=t=>i.id=t),class:"input input-bordered font-mono",placeholder:"tts_azure"},null,512),[[y,i.id]])]),e("div",wl,[l[48]||(l[48]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务名称 *")],-1)),c(e("input",{"onUpdate:modelValue":l[13]||(l[13]=t=>i.name=t),class:"input input-bordered",placeholder:"微软 Azure TTS"},null,512),[[y,i.name]])])]),e("div",Vl,[e("div",Ul,[l[49]||(l[49]=e("label",{class:"label"},[e("span",{class:"label-text"},[N("服务商标识 "),e("span",{class:"text-slate-400 text-xs"},"(如 azure/alibaba)")])],-1)),c(e("input",{"onUpdate:modelValue":l[14]||(l[14]=t=>i.provider=t),class:"input input-bordered font-mono",placeholder:"azure"},null,512),[[y,i.provider]])]),e("div",Cl,[l[50]||(l[50]=e("label",{class:"label"},[e("span",{class:"label-text"},"启用")],-1)),c(e("input",{"onUpdate:modelValue":l[15]||(l[15]=t=>i.enable=t),type:"checkbox",class:"toggle toggle-primary mt-3"},null,512),[[O,i.enable]])])]),e("div",Sl,[l[51]||(l[51]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务描述")],-1)),c(e("input",{"onUpdate:modelValue":l[16]||(l[16]=t=>i.description=t),class:"input input-bordered",placeholder:"简述该服务的用途"},null,512),[[y,i.description]])]),l[54]||(l[54]=e("div",{class:"divider text-xs text-slate-400 my-3"},"配置字段",-1)),e("div",null,[f.value.length?(n(),o("div",Tl,[e("table",Al,[l[53]||(l[53]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(f.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,Ml),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,zl),[[y,t.description]])]),e("td",Dl,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,jl),[[O,t.encrypted]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a,multiple:!0},null,8,["modelValue","onUpdate:modelValue"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a},null,8,["modelValue","onUpdate:modelValue"])):t.encrypted?(n(),o(v,{key:2},[e("div",Fl,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t.def_value=a,placeholder:"留空保留原值"},null,8,Nl),[[ee,t.def_value]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,Ll)]),l[52]||(l[52]=e("span",{class:"lock-badge ml-1"},"🔒 加密",-1))],64)):c((n(),o("input",{key:3,class:"field-input","onUpdate:modelValue":a=>t.def_value=a},null,8,Rl)),[[y,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>ve(u)},"×",8,Il)])]))),128))])])])):(n(),o("p",$l,"尚无字段,选模板自动带出或点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:pe},"+ 添加字段")])],64))],64)):C.value==="region"&&p.value?(n(),o(v,{key:3},[le.value?(n(),o("div",Bl,"加载中...")):(n(),o(v,{key:1},[e("div",Ol,[e("div",El,[e("div",{class:"svc-logo",style:B({background:p.value.color||"#6366f1",width:"44px",height:"44px",fontSize:"20px"})},d(p.value.icon||(p.value.name||"").charAt(0)),5),e("div",null,[e("h3",Hl,d(p.value.name),1),e("span",Pl,d(se.value)+" 分叉模式",1)])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[17]||(l[17]=t=>de(!1))},"保存分叉")]),e("div",Gl," ✦ 当前编辑「"+d(se.value)+"」的字段分叉:默认字段可覆盖值或勾选「不适用」停用;也可新增本区域专属字段。留空的覆盖字段继承默认值,加密字段留空保留已存储密文。 ",1),l[60]||(l[60]=e("p",{class:"text-sm font-medium text-slate-700 mb-2"},"默认字段",-1)),e("div",Jl,[e("table",Kl,[l[57]||(l[57]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-24 text-center"},"状态"),e("th",{class:"w-20 text-center"},"本区域不适用"),e("th",null,"有效值")])],-1)),e("tbody",null,[(n(!0),o(v,null,h(J.value,(t,u)=>(n(),o("tr",{key:u,class:z({"opacity-50":t.disabled})},[e("td",{class:"font-mono text-slate-700 break-all",title:t.key},d(t.key),9,ql),e("td",Wl,d(t.description),1),e("td",Xl,[t.disabled?(n(),o("span",Yl,"停用")):t.is_overridden?(n(),o("span",Ql,"覆盖")):(n(),o("span",Zl,"继承"))]),e("td",es,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs","onUpdate:modelValue":a=>t.disabled=a},null,8,ts),[[O,t.disabled]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t._input,"onUpdate:modelValue":a=>t._input=a,multiple:!0,disabled:t.disabled},null,8,["modelValue","onUpdate:modelValue","disabled"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t._input,"onUpdate:modelValue":a=>t._input=a,disabled:t.disabled},null,8,["modelValue","onUpdate:modelValue","disabled"])):t.encrypted?(n(),o(v,{key:2},[e("div",ls,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t._input=a,disabled:t.disabled,placeholder:"留空继承默认"},null,8,ss),[[ee,t._input]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,ns)]),l[55]||(l[55]=e("span",{class:"lock-badge ml-1"},"🔒",-1))],64)):c((n(),o("input",{key:3,class:"field-input","onUpdate:modelValue":a=>t._input=a,disabled:t.disabled,placeholder:"留空继承:"+(t.value||"")},null,8,os)),[[y,t._input]])])],2))),128)),J.value.length?g("",!0):(n(),o("tr",as,[...l[56]||(l[56]=[e("td",{colspan:"5",class:"text-center text-slate-400 py-3"},"该服务尚无默认字段",-1)])]))])])]),e("div",ds,d(se.value)+" 专属字段",1),e("div",null,[I.value.length?(n(),o("div",us,[e("table",cs,[l[59]||(l[59]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(I.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,rs),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,ps),[[y,t.description]])]),e("td",vs,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,ms),[[O,t.encrypted]])]),e("td",null,[t.encrypted?(n(),o(v,{key:0},[e("div",bs,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t._input=a,placeholder:"留空保留原值"},null,8,xs),[[ee,t._input]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,ys)]),l[58]||(l[58]=e("span",{class:"lock-badge ml-1"},"🔒",-1))],64)):c((n(),o("input",{key:1,class:"field-input","onUpdate:modelValue":a=>t._input=a},null,8,_s)),[[y,t._input]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>Le(u)},"×",8,hs)])]))),128))])])])):(n(),o("p",is,"尚无区域专属字段,点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:Ne},"+ 添加区域专属字段")])],64))],64)):g("",!0)])])]),c(e("div",gs,[e("div",ks,[e("div",fs,[e("div",ws,[(n(),o("svg",Vs,[...l[61]||(l[61]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"},null,-1)])]))]),e("div",null,[l[62]||(l[62]=e("h3",{class:"text-base font-semibold text-slate-800"},"同步到其他区域",-1)),e("p",Us,d(be.value),1)])]),e("div",{class:"text-xs px-3 py-2 rounded-lg mb-3",style:{background:"#f0fdf4",border:"1px solid #bbf7d0",color:"#15803d"},innerHTML:xe.value},null,8,Cs),e("div",Ss,[l[63]||(l[63]=e("span",{class:"text-xs font-semibold text-slate-500"},"选择目标区域",-1)),e("div",$s,[e("button",{class:"btn btn-ghost btn-xs",onClick:l[18]||(l[18]=t=>he(!0))},"全选"),e("button",{class:"btn btn-ghost btn-xs",onClick:l[19]||(l[19]=t=>he(!1))},"清空")])]),e("div",Ts,[(n(!0),o(v,null,h(ye.value,t=>(n(),o("label",{key:t.value,class:z(["sync-region-item",{checked:L.value.includes(t.value)}]),onClick:u=>_e(t.value)},[e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary",checked:L.value.includes(t.value),onClick:Xe(u=>_e(t.value),["stop"])},null,8,Ms),e("span",null,d(t.label),1)],10,As))),128))]),l[64]||(l[64]=e("p",{class:"text-[11px] text-slate-400 mb-5"},"⚠ 已勾选区域将被当前配置(值覆盖 / 区域专属字段 / 停用字段)整体替换;加密字段密文一并同步。",-1)),e("div",{class:"flex gap-3 justify-end"},[e("button",{class:"btn btn-ghost",onClick:Oe},"仅保存当前区域"),e("button",{class:"btn btn-primary text-white",onClick:Ee},"保存并同步")])])],512),[[Ve,oe.value]]),c(e("div",zs,[e("div",Ds,[Z.value==="list"?(n(),o(v,{key:0},[e("div",js,[l[65]||(l[65]=e("div",null,[e("h3",{class:"text-base font-semibold text-slate-800"},"服务商模板"),e("p",{class:"text-xs text-slate-400 mt-1"},"模板是字段预设,新增服务时可一键带出。内置模板可编辑;删除后重启会被重新补回。")],-1)),e("div",Fs,[e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[20]||(l[20]=t=>fe())},"+ 新增模板"),e("button",{class:"btn btn-ghost btn-sm",onClick:He},"关闭")])]),e("div",Ns,[(n(!0),o(v,null,h(Te.value,t=>(n(),o("div",{key:t.cat,class:"mb-3"},[e("p",Ls,d(t.label),1),(n(!0),o(v,null,h(t.items,u=>(n(),o("div",{key:u.id,class:"tpl-row"},[e("div",Rs,[e("div",Is,[e("span",Bs,d(u.name),1),e("span",Os,d(u.provider),1),u.builtin?(n(),o("span",Es,"内置")):g("",!0)]),e("p",Hs,d(u.id)+" · "+d((u.fields||[]).length)+" 字段",1)]),e("div",Ps,[e("button",{class:"btn btn-ghost btn-xs",onClick:a=>fe(u)},"编辑",8,Gs),e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>Ke(u)},"删除",8,Js)])]))),128))]))),128)),K.value.length?g("",!0):(n(),o("p",Ks,"暂无模板"))])],64)):(n(),o(v,{key:1},[e("div",qs,[e("h3",Ws,d(q.value?"编辑模板":"新增模板"),1),e("div",Xs,[e("button",{class:"btn btn-ghost btn-sm",onClick:l[21]||(l[21]=t=>Z.value="list")},"返回"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:Je},"保存")])]),e("div",Ys,[e("div",Qs,[l[66]||(l[66]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"模板ID *")],-1)),c(e("input",{"onUpdate:modelValue":l[22]||(l[22]=t=>b.id=t),disabled:q.value,class:"input input-bordered input-sm font-mono",placeholder:"tts_azure"},null,8,Zs),[[y,b.id]])]),e("div",en,[l[67]||(l[67]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"类别 *")],-1)),c(e("select",{"onUpdate:modelValue":l[23]||(l[23]=t=>b.category=t),class:"select select-bordered select-sm"},[(n(),o(v,null,h(w,t=>e("option",{key:t.v,value:t.v},d(t.label),9,tn)),64))],512),[[ie,b.category,void 0,{number:!0}]])]),e("div",ln,[l[68]||(l[68]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"服务商标识 *")],-1)),c(e("input",{"onUpdate:modelValue":l[24]||(l[24]=t=>b.provider=t),class:"input input-bordered input-sm font-mono",placeholder:"azure"},null,512),[[y,b.provider]])]),e("div",sn,[l[69]||(l[69]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"展示名 *")],-1)),c(e("input",{"onUpdate:modelValue":l[25]||(l[25]=t=>b.name=t),class:"input input-bordered input-sm",placeholder:"微软 Azure TTS"},null,512),[[y,b.name]])])]),e("div",nn,[l[70]||(l[70]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"描述")],-1)),c(e("input",{"onUpdate:modelValue":l[26]||(l[26]=t=>b.description=t),class:"input input-bordered input-sm"},null,512),[[y,b.description]])]),l[73]||(l[73]=e("p",{class:"text-sm font-medium text-slate-700 mb-1"},"字段",-1)),e("div",on,[e("table",an,[l[72]||(l[72]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认/提示值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(F.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,dn),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,un),[[y,t.description]])]),e("td",cn,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,rn),[[O,t.encrypted]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a,multiple:!0},null,8,["modelValue","onUpdate:modelValue"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a},null,8,["modelValue","onUpdate:modelValue"])):c((n(),o("input",{key:2,class:"field-input","onUpdate:modelValue":a=>t.def_value=a,placeholder:"可留空"},null,8,pn)),[[y,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>Ge(u)},"×",8,vn)])]))),128)),F.value.length?g("",!0):(n(),o("tr",mn,[...l[71]||(l[71]=[e("td",{colspan:"5",class:"text-center text-slate-400 py-2"},"尚无字段",-1)])]))])])]),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:Pe},"+ 添加字段")],64))])],512),[[Ve,ke.value]])])}}}),gn=Se(bn,[["__scopeId","data-v-04ce4a7d"]]);export{gn as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B3ocY-Ie.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B3ocY-Ie.js new file mode 100644 index 00000000..4b4552ad --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B3ocY-Ie.js @@ -0,0 +1 @@ +import{_ as j}from"./R6fio73R.js";import{u as B}from"./CMwGY1Mu.js";import{g as f,o as a,c as o,F as h,r as _,n as T,a as t,t as n,M as d,J as k,w as z,l as x,T as E,_ as S,C as N,z as F,y as $,j as D,d as I,H as O,b as M,L as R,A as u}from"./CfpW9SkI.js";import{u as G}from"./DL330dAC.js";const J={class:"toast toast-bottom toast-end z-50"},P=f({__name:"AppToast",setup(g){const{toasts:s}=B();function r(i){switch(i){case"success":return"alert-success";case"error":return"alert-error";case"warning":return"alert-warning";default:return"alert-info"}}return(i,b)=>(a(),o("div",J,[(a(!0),o(h,null,_(d(s),c=>(a(),o("div",{key:c.id,class:T(["alert",r(c.type)])},[t("span",null,n(c.msg),1)],2))),128))]))}}),U=Object.assign(P,{__name:"AppToast"}),W={key:0,class:"fixed inset-0 z-[100] flex items-center justify-center bg-black/30 backdrop-blur-[1px]","aria-busy":"true",role:"alert"},q=f({__name:"AppLoading",setup(g){const{loading:s}=G();return(r,i)=>(a(),k(E,{name:"fade"},{default:z(()=>[d(s)?(a(),o("div",W,[...i[0]||(i[0]=[t("div",{class:"flex flex-col items-center gap-3 rounded-2xl bg-white px-10 py-7 shadow-xl"},[t("span",{class:"loading loading-spinner loading-lg text-primary"}),t("span",{class:"text-sm text-slate-600"},"处理中,请稍候…")],-1)])])):x("",!0)]),_:1}))}}),K=Object.assign(S(q,[["__scopeId","data-v-c1ace0c2"]]),{__name:"AppLoading"}),Q={class:"flex min-h-screen"},X={class:"fixed top-0 left-0 bottom-0 z-30 overflow-y-auto flex flex-col",style:{width:"256px",background:"#1E293B"}},Y={style:{padding:"20px 20px 16px","border-bottom":"1px solid rgba(255,255,255,0.06)"}},Z={style:{display:"flex","align-items":"center",gap:"12px"}},tt={style:{width:"40px",height:"40px",background:"linear-gradient(135deg,#4F46E5,#7C3AED)","border-radius":"12px",display:"flex","align-items":"center","justify-content":"center","box-shadow":"0 6px 20px rgba(79,70,229,0.35)","flex-shrink":"0"}},et={style:{width:"22px",height:"22px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},st={style:{color:"#fff","font-weight":"700","font-size":"15px","letter-spacing":"-0.02em"}},at={style:{padding:"12px 0",flex:"1"}},ot={class:"icon",width:"18",height:"18",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},nt=["d"],it={style:{"margin-top":"auto",padding:"14px 18px","border-top":"1px solid rgba(255,255,255,0.06)"}},lt={style:{display:"flex","align-items":"center",gap:"10px"}},dt={style:{width:"32px",height:"32px","border-radius":"9px",background:"linear-gradient(135deg,#4F46E5,#7C3AED)",color:"#fff",display:"flex","align-items":"center","justify-content":"center","font-weight":"700","flex-shrink":"0"}},rt={style:{"min-width":"0"}},ct={style:{color:"#E2E8F0","font-size":"13px","font-weight":"600","line-height":"1.2",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},pt={style:{color:"#64748B","font-size":"11px","margin-top":"2px"}},ht={class:"flex-1",style:{"margin-left":"256px"}},mt={class:"bg-white shadow-sm sticky top-0 z-20 h-16 flex items-center justify-between px-6"},ut={class:"flex items-center gap-2 text-sm"},vt={class:"text-slate-700 font-medium"},_t={class:"flex items-center gap-2"},xt={class:"dropdown dropdown-end"},ft={tabindex:"0",class:"flex items-center gap-2 cursor-pointer hover:bg-slate-50 rounded-lg px-3 py-1.5"},gt={class:"avatar placeholder"},bt={class:"bg-indigo-600 text-white rounded-full w-8"},wt={class:"text-sm"},yt={class:"text-sm text-slate-700 leading-tight"},Mt={class:"text-[10px] text-slate-400"},kt={class:"p-6"},Ht=f({__name:"default",setup(g){const s=N(),r=F(),i=$();function b(){s.logout(),r.push("/")}const c=u(()=>({1:"超级管理员",2:"管理员",3:"代理",4:"运营"})[s.identity]??""),V=u(()=>({1:"超管",2:"管理员",3:"代理",4:"运营"})[s.identity]??""),w=u(()=>(s.account||"A").charAt(0).toUpperCase()),y=[{label:"数据概览",items:[{id:"dashboard",label:"仪表盘",to:"/dashboard",icon:"M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"}]},{label:"生产管理",items:[{id:"factory",label:"厂家管理",to:"/factory",icon:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"},{id:"product",label:"产品管理",to:"/product",icon:"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"},{id:"code",label:"公码管理",to:"/code",icon:"M4 4h6v6H4V4zm10 0h6v6h-6V4zM4 14h6v6H4v-6zm10 2h2m-2 4h6m-4-4v4m4-8h2m-2 0v4"},{id:"device",label:"生产管理",to:"/device",icon:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z"}]},{label:"用户管理",items:[{id:"user",label:"用户查询",to:"/users",icon:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"}]},{label:"服务配置",items:[{id:"globalconfig",label:"全局环境配置",to:"/globalconfig",icon:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"},{id:"mcpconfig",label:"MCP配置",to:"/mcpconfig",icon:"M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-3-4h.01M16 16h.01"},{id:"meettemplate",label:"会议模板",to:"/meettemplates",icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},{id:"svcconfig",label:"第三方服务配置",to:"/serviceconfig",icon:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z M15 12a3 3 0 11-6 0 3 3 0 016 0z"},{id:"calltranslate",label:"通话翻译配置",to:"/calltranslate",icon:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"}]},{label:"SaaS 管理",items:[{id:"apps",label:"应用管理",to:"/apps",icon:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"},{id:"environments",label:"环境节点",to:"/environments",icon:"M5 3h14a2 2 0 012 2v4a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2zM5 13h14a2 2 0 012 2v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4a2 2 0 012-2zM7 7h.01M7 17h.01"}]},{label:"系统管理",items:[{id:"systemconfig",label:"系统配置",to:"/systemconfig",icon:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"},{id:"statlog",label:"统计日志",to:"/statlog",icon:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"},{id:"admin",label:"后台账号",to:"/accounts",icon:"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"}]}];function A(l){return l.items.some(e=>s.hasAccess(e.id))}const C=u(()=>{if(i.meta?.title)return i.meta.title;for(const l of y){const e=l.items.find(v=>i.path.startsWith(v.to));if(e)return e.label}return"Console"});return D(()=>{s.token||r.push("/")}),(l,e)=>{const v=j,H=U,L=K;return a(),o("div",Q,[t("aside",X,[t("div",Y,[t("div",Z,[t("div",tt,[(a(),o("svg",et,[...e[0]||(e[0]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},null,-1)])]))]),t("div",null,[t("div",st,n(d(s).siteTitle||"Admin"),1),e[1]||(e[1]=t("div",{style:{color:"#64748B","font-size":"11px","font-weight":"500"}},"Admin Console · v1.0.1",-1))])])]),t("nav",at,[(a(),o(h,null,_(y,m=>(a(),o(h,null,[A(m)?(a(),o("div",{key:m.label,class:"group-title"},n(m.label),1)):x("",!0),(a(!0),o(h,null,_(m.items,p=>(a(),o(h,null,[d(s).hasAccess(p.id)?(a(),k(v,{key:p.id,to:p.to,class:"sidebar-link","active-class":"active"},{default:z(()=>[(a(),o("svg",ot,[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:p.icon},null,8,nt)])),I(" "+n(p.label),1)]),_:2},1032,["to"])):x("",!0)],64))),256))],64))),64))]),t("div",it,[t("div",lt,[t("div",dt,n(w.value),1),t("div",rt,[t("div",ct,n(d(s).account||"-"),1),t("div",pt,n(c.value),1)])])])]),t("main",ht,[t("header",mt,[t("div",ut,[e[2]||(e[2]=t("span",{class:"text-slate-400"},"首页",-1)),e[3]||(e[3]=t("span",{class:"text-slate-300"},"/",-1)),t("span",vt,n(C.value),1)]),t("div",_t,[e[4]||(e[4]=O('',1)),t("div",xt,[t("div",ft,[t("div",gt,[t("div",bt,[t("span",wt,n(w.value),1)])]),t("div",null,[t("div",yt,n(d(s).account),1),t("div",Mt,n(V.value),1)])]),t("ul",{tabindex:"0",class:"dropdown-content z-[1] menu p-2 shadow-lg bg-white rounded-lg w-44 border"},[t("li",null,[t("a",{class:"text-sm text-red-500 cursor-pointer",onClick:b},"退出登录")])])])])]),M(H),M(L),t("div",kt,[R(l.$slots,"default")])])])}}});export{Ht as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BIBu1qhq.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BIBu1qhq.js deleted file mode 100644 index 52f03bd7..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BIBu1qhq.js +++ /dev/null @@ -1 +0,0 @@ -import{g as Z,C as $,j as ee,c as l,a as e,k as v,p as j,l as D,F as y,r as h,m as w,I as te,D as se,t as i,d as B,s as u,A as _,x as ne,o}from"./CTAruH_8.js";import{u as le}from"./9B2ftqmN.js";import{u as oe}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const ae={class:"space-y-6"},ie={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4"},re={class:"flex items-end gap-3 flex-wrap"},de={class:"form-control"},ue={key:0,value:""},ce=["value"],pe={class:"form-control"},me={key:0,value:""},ve=["value"],be={class:"form-control"},fe=["onKeydown"],xe={key:0,class:"bg-white rounded-xl shadow-sm border border-slate-100 p-12 text-center text-slate-400"},ge={key:1,class:"space-y-5"},ye={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5 flex items-center gap-4"},he=["src"],we={key:1,class:"w-14 h-14 rounded-full bg-indigo-100 text-indigo-600 flex items-center justify-center text-xl font-bold"},_e={class:"text-lg font-semibold text-slate-800"},ke={class:"text-xs text-slate-400 font-mono mt-0.5"},Ie={class:"ml-auto flex items-center gap-3"},Ae={class:"badge badge-primary badge-outline"},Ue={class:"px-5 py-3 border-b border-slate-50 text-sm font-semibold text-slate-700"},Ve={class:"px-5 py-3 grid grid-cols-1 md:grid-cols-2 gap-x-8"},Ce={class:"text-xs text-slate-400 shrink-0"},De={class:"text-sm text-slate-700 break-all text-right"},Ne={class:"modal-box max-w-md"},Me={class:"text-xs text-slate-400 mb-4"},Se={class:"font-mono text-slate-600"},Ge={class:"grid grid-cols-3 gap-3"},Pe={class:"form-control"},je={class:"form-control"},Be={class:"form-control"},Re=Z({__name:"users",setup(Te){const{webApi:N,consoleApi:T}=le(),{success:q,error:M,warn:c}=oe(),b=$(),E={cn:"中国",us:"美国",hw:"海外",ea:"东亚",sea:"东南亚",sa:"南亚",me:"中东",eu:"欧洲",ru:"俄罗斯",af:"非洲",sam:"南美",nam:"北美",oc:"大洋洲",br:"巴西",in:"印度"};function F(s){return E[s]||s||"默认"}const f=u([]),p=u(""),m=u(""),k=u(""),r=u(null),S=u("请输入查询条件后点击「搜索」"),I=u(""),x=u(""),K=_(()=>[1,2,3].includes(b.identity)),g=u(null),a=ne({vipday:0,trademin:0,meetmin:0}),A=_(()=>{const s=[];return f.value.forEach(t=>{s.includes(t.name)||s.push(t.name)}),s}),U=_(()=>f.value.filter(s=>s.name===p.value));function G(){const s=U.value;m.value=s.length?s[0].id:""}function L(s){return s?new Date(s*1e3).toLocaleString():"-"}function R(s){return s?"是":"否"}function H(s){return s===1?"男":s===2?"女":"未知"}function V(s){return s==null||s===""?"-":s}const O=[{title:"基本信息",rows:[["uid","UID"],["name","用户名"],["account","登录账号"],["mail","邮箱"],["phone","手机号"],["gender","性别","gender"],["language","语言"],["version","版本"],["channel","渠道"],["State","状态"],["country_code","国家码"],["continent_code","大洲码"],["servicetag","服务区"],["phonemodel","手机型号"],["phonemac","设备ID"]]},{title:"第三方登录",rows:[["wxopenid","微信 openid"],["googleopenid","Google openid"],["facebookopenid","Facebook openid"],["appleopenid","Apple openid"]]},{title:"会员与积分",rows:[["viplv","VIP等级"],["vipexptime","VIP到期","ts"],["aichatintegral","AI积分"],["aichattotalintegral","AI累计积分"],["tradeintegral","翻译积分"],["tradetotalintegral","翻译累计积分"],["meetintegral","会议积分"],["meettotalintegral","会议累计积分"],["lastbindproductid","最后绑定产品ID"],["isactivatecode","已领激活码","bool"],["isgiveaway","首次绑定赠送","bool"]]},{title:"时间",rows:[["createtime","注册时间","ts"],["lastsgintime","最后登录","ts"],["canceltime","注销时间","ts"]]}];function z(s,t){const n=t[2],d=s[t[0]];return n==="ts"?L(d):n==="bool"?R(d):n==="gender"?H(d):V(d)}const J=_(()=>{const s=r.value;return s?String(s.name||s.uid||"?").charAt(0).toUpperCase():"?"});async function C(){if(!p.value){c("请选择应用");return}if(!m.value){c("请选择区域");return}const s=k.value.trim();if(!s){c("请输入用户UID");return}const t=Number(m.value);I.value=t,x.value=s,b.setCurrentApp(t);try{const n=await N("getuserinfo",{uid:s});r.value=n||{}}catch(n){M(n?.message||"查询失败"),r.value=null,S.value=n?.message||"未找到该用户"}}function Q(){if(!x.value){c("请先查询用户");return}a.vipday=0,a.trademin=0,a.meetmin=0,g.value?.showModal()}function W(){g.value?.close()}async function X(){const s=Number(a.vipday)||0,t=Number(a.trademin)||0,n=Number(a.meetmin)||0;if(s<0||t<0||n<0){c("数量不能为负");return}if(!s&&!t&&!n){c("请至少填写一项");return}if(!I.value||!x.value){c("请先查询用户");return}b.setCurrentApp(Number(I.value));try{await N("giftuserresource",{uid:x.value,vipday:s,trademin:t,meetmin:n}),q("赠送成功"),g.value?.close(),C()}catch(d){M(d?.message||"赠送失败")}}function P(){const s=A.value;if(!s.length){p.value="",m.value="";return}p.value=s[0],G()}async function Y(){if(b.identity===3){f.value=(b.appbinds||[]).map(s=>({id:s.id,name:s.name,region:s.region,enabled:!0})),P();return}try{const s=await T("apps/list",{});f.value=(s||[]).filter(t=>t.enabled)}catch{f.value=[]}P()}return ee(Y),(s,t)=>(o(),l("div",ae,[e("div",ie,[e("div",re,[e("div",de,[t[6]||(t[6]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"应用")],-1)),v(e("select",{"onUpdate:modelValue":t[0]||(t[0]=n=>p.value=n),class:"select select-bordered select-sm",style:{"min-width":"180px"},onChange:G},[A.value.length?D("",!0):(o(),l("option",ue,"无可用应用")),(o(!0),l(y,null,h(A.value,n=>(o(),l("option",{key:n,value:n},i(n),9,ce))),128))],544),[[j,p.value]])]),e("div",pe,[t[7]||(t[7]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"区域")],-1)),v(e("select",{"onUpdate:modelValue":t[1]||(t[1]=n=>m.value=n),class:"select select-bordered select-sm",style:{"min-width":"140px"}},[U.value.length?D("",!0):(o(),l("option",me,"无可用区域")),(o(!0),l(y,null,h(U.value,n=>(o(),l("option",{key:n.id,value:n.id},i(F(n.region)),9,ve))),128))],512),[[j,m.value]])]),e("div",be,[t[8]||(t[8]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"用户UID")],-1)),v(e("input",{"onUpdate:modelValue":t[2]||(t[2]=n=>k.value=n),type:"text",class:"input input-bordered input-sm",style:{"min-width":"240px"},placeholder:"输入用户 UID",onKeydown:te(se(C,["prevent"]),["enter"])},null,40,fe),[[w,k.value]])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:C},"搜索")]),t[9]||(t[9]=e("p",{class:"text-xs text-slate-400 mt-2"},"选择应用与区域后输入 UID,直接查询该部署业务库中的用户信息。",-1))]),r.value?(o(),l("div",ge,[e("div",ye,[r.value.avatar?(o(),l("img",{key:0,src:r.value.avatar,class:"w-14 h-14 rounded-full object-cover border border-slate-100"},null,8,he)):(o(),l("div",we,i(J.value),1)),e("div",null,[e("div",_e,i(V(r.value.name)),1),e("div",ke,i(V(r.value.uid)),1)]),e("div",Ie,[e("span",Ae,"VIP "+i(r.value.viplv||0),1),K.value?(o(),l("button",{key:0,class:"btn btn-success btn-sm text-white",onClick:Q},"赠送资源点")):D("",!0)])]),(o(),l(y,null,h(O,n=>e("div",{key:n.title,class:"bg-white rounded-xl shadow-sm border border-slate-100 overflow-hidden"},[e("div",Ue,i(n.title),1),e("div",Ve,[(o(!0),l(y,null,h(n.rows,d=>(o(),l("div",{key:d[0],class:"flex justify-between gap-3 py-1.5 border-b border-slate-50"},[e("span",Ce,i(d[1]),1),e("span",De,i(z(r.value,d)),1)]))),128))])])),64))])):(o(),l("div",xe,i(S.value),1)),e("dialog",{ref_key:"giftModal",ref:g,class:"modal"},[e("div",Ne,[t[15]||(t[15]=e("h3",{class:"font-bold text-lg mb-1 text-slate-800"},"赠送资源点",-1)),e("p",Me,[t[10]||(t[10]=B("目标用户 UID:",-1)),e("span",Se,i(x.value),1),t[11]||(t[11]=B("。代理账号将从自己的资源点余额中扣减,超管/管理员无消耗。",-1))]),e("div",Ge,[e("div",Pe,[t[12]||(t[12]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"VIP天数")],-1)),v(e("input",{"onUpdate:modelValue":t[3]||(t[3]=n=>a.vipday=n),type:"number",class:"input input-bordered",min:"0"},null,512),[[w,a.vipday,void 0,{number:!0}]])]),e("div",je,[t[13]||(t[13]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"翻译分钟")],-1)),v(e("input",{"onUpdate:modelValue":t[4]||(t[4]=n=>a.trademin=n),type:"number",class:"input input-bordered",min:"0"},null,512),[[w,a.trademin,void 0,{number:!0}]])]),e("div",Be,[t[14]||(t[14]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"会议分钟")],-1)),v(e("input",{"onUpdate:modelValue":t[5]||(t[5]=n=>a.meetmin=n),type:"number",class:"input input-bordered",min:"0"},null,512),[[w,a.meetmin,void 0,{number:!0}]])])]),e("div",{class:"modal-action"},[e("button",{class:"btn btn-sm",onClick:W},"取消"),e("button",{class:"btn btn-success btn-sm text-white",onClick:X},"确认赠送")])]),t[16]||(t[16]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512)]))}});export{Re as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BVGGsVu4.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BVGGsVu4.js deleted file mode 100644 index a21d2018..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BVGGsVu4.js +++ /dev/null @@ -1 +0,0 @@ -import{g as K,j as T,c as a,k as c,v as E,a as t,l as M,F as C,r as V,t as r,D as N,m as v,I as z,s as d,x as A,o as n,d as q}from"./CTAruH_8.js";import{u as H}from"./9B2ftqmN.js";import{u as G}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const J={class:"flex items-center justify-between mb-5"},O={class:"bg-white rounded-xl shadow-sm border border-slate-100"},P={class:"overflow-x-auto"},Q={class:"table table-zebra"},R={key:0},W={key:1},X={class:"font-mono text-sm"},Y={class:"font-medium"},Z={class:"badge badge-ghost badge-sm"},tt={class:"text-sm"},et={key:1,class:"text-slate-300"},st={class:"text-sm text-slate-500"},lt={class:"flex gap-1"},ot=["onClick"],at=["onClick"],nt={class:"flex items-center gap-3 mb-5"},it={class:"text-lg font-semibold text-slate-800"},rt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},dt={class:"form-control mb-4"},ut={class:"form-control mb-4"},ct={class:"form-control mb-4"},mt={class:"form-control mb-6"},bt={class:"space-y-2"},pt={key:0,class:"text-xs text-slate-400"},ft={class:"badge badge-lg gap-1 bg-slate-100 border-slate-200"},vt=["onClick"],yt={class:"flex gap-2 mt-2"},gt=["onKeydown"],xt={class:"flex gap-3"},ht=["disabled"],$t=K({__name:"factory",setup(_t){const{webApi:y}=H(),{success:F,error:g,warn:U}=G(),p=d("list"),f=d([]),x=d(!1),h=d(!1),m=d(!1),i=d([]),b=d(""),o=A({id:0,factory:"",factoryflag:"",description:""});function j(s){return s?Number(s).toString(16).toUpperCase():""}function _(s){return(s||"").split(",").map(e=>e.trim()).filter(Boolean)}async function w(){x.value=!0;try{const s=await y("getfactorys",{});f.value=s?.factorys??[]}catch(s){g(s?.message??"获取厂家列表失败"),f.value=[]}finally{x.value=!1}}function k(){p.value="list",w()}function $(s){s?(m.value=!0,o.id=s.id,o.factory=s.factory||"",o.factoryflag=s.factoryflag||"",o.description=s.description||"",i.value=_(s.contactmails)):(m.value=!1,o.id=0,o.factory="",o.factoryflag="",o.description="",i.value=[]),b.value="",p.value="form"}function B(){const s=b.value.trim();if(s){if(i.value.includes(s)){U("邮箱已存在");return}i.value.push(s),b.value=""}}function L(s){i.value.splice(s,1)}async function S(){h.value=!0;try{const s={Factory:{factory:o.factory,factoryflag:o.factoryflag,description:o.description,contactmails:i.value.join(",")}};m.value&&(s.Factory.id=Number(o.id)),await y(m.value?"updatefactory":"addfactory",s),F("保存成功"),k()}catch(s){g(s?.message??"保存失败")}finally{h.value=!1}}function I(s){window.confirm(`确定删除工厂 "${s.factory}" 吗?`)&&y("delfactory",{id:s.id}).then(()=>{F("删除成功"),w()}).catch(e=>g(e?.message??"删除失败"))}return T(w),(s,e)=>(n(),a("div",null,[c(t("div",null,[t("div",J,[e[7]||(e[7]=t("h2",{class:"text-lg font-semibold text-slate-800"},"厂家列表",-1)),t("button",{class:"btn btn-primary btn-sm text-white",onClick:e[0]||(e[0]=l=>$())},"+ 新增工厂")]),t("div",O,[t("div",P,[t("table",Q,[e[10]||(e[10]=t("thead",null,[t("tr",null,[t("th",null,"ID"),t("th",null,"工厂名称"),t("th",null,"标识"),t("th",null,"联系邮箱"),t("th",null,"批次"),t("th",null,"产品"),t("th",null,"操作")])],-1)),t("tbody",null,[x.value?(n(),a("tr",R,[...e[8]||(e[8]=[t("td",{colspan:"7",class:"text-center py-8"},[t("span",{class:"loading loading-spinner loading-sm"})],-1)])])):f.value.length?M("",!0):(n(),a("tr",W,[...e[9]||(e[9]=[t("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])])),(n(!0),a(C,null,V(f.value,l=>(n(),a("tr",{key:l.id},[t("td",X,r(j(l.id)),1),t("td",Y,r(l.factory),1),t("td",null,[t("span",Z,r(l.factoryflag),1)]),t("td",tt,[_(l.contactmails).length?(n(!0),a(C,{key:0},V(_(l.contactmails),(u,D)=>(n(),a("span",{key:D,class:"badge badge-ghost badge-sm mr-1"},r(u),1))),128)):(n(),a("span",et,"-"))]),t("td",null,r(l.probatch||0),1),t("td",st,r(l.productlists||""),1),t("td",null,[t("div",lt,[t("button",{class:"btn btn-ghost btn-xs",onClick:u=>$(l)},"编辑",8,ot),t("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:u=>I(l)},"删除",8,at)])])]))),128))])])])])],512),[[E,p.value==="list"]]),c(t("div",null,[t("div",nt,[t("button",{class:"btn btn-ghost btn-sm",onClick:e[1]||(e[1]=l=>k())},"← 返回列表"),t("h2",it,r(m.value?"编辑工厂":"新增工厂"),1)]),t("div",rt,[t("form",{onSubmit:N(S,["prevent"])},[t("div",dt,[e[11]||(e[11]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"工厂名称 *")],-1)),c(t("input",{"onUpdate:modelValue":e[2]||(e[2]=l=>o.factory=l),type:"text",class:"input input-bordered w-full",required:""},null,512),[[v,o.factory]])]),t("div",ut,[e[12]||(e[12]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"工厂标识")],-1)),c(t("input",{"onUpdate:modelValue":e[3]||(e[3]=l=>o.factoryflag=l),type:"text",class:"input input-bordered w-full"},null,512),[[v,o.factoryflag]])]),t("div",ct,[e[13]||(e[13]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"描述")],-1)),c(t("textarea",{"onUpdate:modelValue":e[4]||(e[4]=l=>o.description=l),class:"textarea textarea-bordered w-full",rows:"3"},null,512),[[v,o.description]])]),t("div",mt,[e[15]||(e[15]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"联系邮箱")],-1)),t("div",bt,[i.value.length?M("",!0):(n(),a("p",pt,"暂无邮箱")),(n(!0),a(C,null,V(i.value,(l,u)=>(n(),a("div",{key:u,class:"flex items-center gap-2"},[t("span",ft,[e[14]||(e[14]=t("svg",{class:"h-3 w-3 text-slate-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})],-1)),q(" "+r(l),1)]),t("button",{type:"button",class:"btn btn-ghost btn-xs text-red-400 hover:text-red-600",onClick:D=>L(u)},"×",8,vt)]))),128))]),t("div",yt,[c(t("input",{"onUpdate:modelValue":e[5]||(e[5]=l=>b.value=l),type:"email",class:"input input-bordered input-sm flex-1",placeholder:"输入邮箱地址",onKeydown:z(N(B,["prevent"]),["enter"])},null,40,gt),[[v,b.value]]),t("button",{type:"button",class:"btn btn-outline btn-sm btn-primary",onClick:B},"添加")])]),t("div",xt,[t("button",{type:"button",class:"btn btn-ghost",onClick:e[6]||(e[6]=l=>k())},"取消"),t("button",{type:"submit",class:"btn btn-primary text-white",disabled:h.value},"保存",8,ht)])],32)])],512),[[E,p.value==="form"]])]))}});export{$t as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BYskkv1s.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BYskkv1s.js new file mode 100644 index 00000000..e9f5a6b9 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BYskkv1s.js @@ -0,0 +1,9 @@ +import{g as Ae,C as Ee,z as ze,j as Re,c as i,k as m,v as L,a as e,d as c,F as x,r as S,t as d,D as le,m as C,q as ce,n as h,l as $,p as Y,s as w,A as me,x as E,E as je,o as r,_ as Fe}from"./CfpW9SkI.js";import{u as Pe}from"./DSu8q42f.js";import{u as Be}from"./CMwGY1Mu.js";import"./DL330dAC.js";const qe={class:"flex items-center justify-between mb-5"},He={key:0,class:"bg-white rounded-xl border border-slate-100 py-14 text-center"},Je={key:1,class:"bg-white rounded-xl border border-slate-100 py-14 text-center text-slate-400"},Ye={key:2,class:"space-y-4"},Ke=["onClick"],Ge={class:"chev"},Qe={class:"min-w-0 flex-1"},We={class:"flex items-center gap-2 flex-wrap"},Xe={class:"app-name"},Ze={key:1,class:"chip-mono"},et={class:"chip-count"},tt={class:"text-xs text-slate-400 mt-0.5 truncate"},st=["onClick"],nt=["onClick"],lt=["onClick"],ot={class:"app-body"},at={key:0,class:"text-center text-slate-300 py-5 text-xs"},it={key:1,class:"overflow-x-auto"},dt={class:"table table-sm text-sm"},rt={class:"font-medium text-slate-700 ml-1"},ut={class:"text-xs text-slate-400 ml-1 font-mono"},pt=["onUpdate:modelValue","disabled","onChange"],ct=["value"],mt={key:0,class:"badge badge-warning badge-sm text-amber-900"},bt={key:1,class:"badge badge-success badge-sm text-white"},gt={key:0,class:"chip-mono text-emerald-700"},xt={key:1,class:"text-amber-600 text-xs font-mono",title:"未固定版本,升级时建议选明确版本号(如 0.1.1)"},ft={class:"font-mono text-xs"},vt={key:0,class:"text-green-600"},_t={key:1,class:"text-slate-400"},yt={class:"text-right"},kt={class:"flex gap-1 justify-end"},ht=["onClick"],wt=["onClick"],Ct=["onClick"],Mt=["onClick"],Tt=["onClick"],$t=["onClick"],Nt=["onClick"],Ut={class:"flex items-center gap-3 mb-5"},Vt={class:"text-lg font-semibold text-slate-800"},St={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-xl"},It={class:"form-control"},Lt={class:"form-control mt-4"},Ot={class:"form-control mt-4"},Dt={class:"flex items-center gap-2 mt-4"},At={class:"flex items-center gap-2 cursor-pointer"},Et={class:"flex gap-3 mt-6"},zt={class:"flex items-center gap-3 mb-5"},Rt={class:"text-lg font-semibold text-slate-800"},jt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},Ft={key:0,class:"tabs tabs-boxed bg-slate-100 w-fit mb-5"},Pt={class:"grid grid-cols-2 gap-4"},Bt={class:"form-control"},qt=["value"],Ht={class:"form-control"},Jt={class:"grid grid-cols-2 gap-4 mt-4"},Yt={class:"form-control"},Kt=["value"],Gt={class:"form-control"},Qt={class:"label"},Wt={class:"label-text font-medium"},Xt={value:0},Zt=["value"],es={class:"grid grid-cols-3 gap-4 mt-4"},ts={class:"form-control"},ss={class:"form-control"},ns={class:"form-control"},ls={class:"form-control mt-4"},os={class:"label"},as={class:"label-text font-medium"},is={class:"form-control mt-4"},ds={class:"mt-4 text-sm"},rs={class:"form-control mt-4"},us={class:"flex items-center gap-2 mt-4"},ps={class:"flex items-center gap-2 cursor-pointer"},cs={class:"flex gap-3 mt-6"},ms=["disabled"],bs=["disabled"],gs={key:2,class:"text-xs text-slate-400 mt-2"},xs={class:"modal-box"},fs={class:"text-sm text-slate-500 mt-1"},vs={class:"grid grid-cols-2 gap-3 mt-4"},_s={key:0,class:"bg-slate-50 border border-slate-200 rounded-lg p-3"},ys={class:"flex justify-between items-center text-xs mb-1.5"},ks={class:"text-slate-600"},hs={class:"font-mono text-slate-400"},ws=["value"],Cs={class:"mt-2 text-xs space-y-0.5"},Ms={key:1,class:"text-red-600"},Ts={key:2,class:"bg-green-50 border border-green-100 rounded-lg p-3"},$s={class:"grid grid-cols-2 gap-x-4 gap-y-1 text-xs text-slate-600 mb-2"},Ns={class:"border-t border-green-100 pt-2 text-xs"},Us={class:"text-slate-500"},Vs={class:"font-mono text-slate-700"},Ss={class:"modal-action"},Is=["disabled"],Ls={class:"modal-box max-w-2xl"},Os={class:"text-sm text-slate-500 mt-1"},Ds={class:"grid grid-cols-1 gap-2 mt-4 text-xs"},As={class:"flex"},Es={class:"flex"},zs={class:"mt-3"},Rs={class:"flex items-center justify-between mb-1"},js=["disabled"],Fs={key:0,class:"flex gap-2"},Ps=["disabled"],Bs={value:""},qs=["value"],Hs=["value"],Js=["disabled"],Ys=["disabled"],Ks={key:2,class:"text-xs text-amber-600 mt-1"},Gs={key:3,class:"text-xs text-amber-600 mt-1"},Qs={class:"mt-3"},Ws={class:"flex items-center gap-2 text-xs mb-1"},Xs={key:0,class:"loading loading-spinner loading-xs text-amber-500"},Zs={key:1,class:"text-green-600 font-semibold"},en={key:2,class:"text-red-600 font-semibold"},tn={class:"text-slate-400"},sn={class:"modal-action"},nn=["disabled"],ln=["disabled"],on={method:"dialog",class:"modal-backdrop"},an=["disabled"],dn="__orphan__",rn=Ae({__name:"apps",setup(un){const{consoleApi:T}=Pe(),{success:N,error:k}=Be(),j=Ee(),K=ze(),O=w("list"),F=w([]),G=w([]),P=w([]),Q=w(!1),W=w(0),X=E({}),be=["中国","美国","东亚","东南亚","南亚","中东","欧洲","俄罗斯","非洲","南美","北美","大洋洲","巴西","印度"],oe=me(()=>{const n=new Map;for(const p of G.value){const b=p.app_name||"";n.has(b)||n.set(b,[]),n.get(b).push(p)}const t=new Set(F.value.map(p=>p.name)),s=F.value.map(p=>({key:p.name,product:p,deployments:n.get(p.name)||[]})),u=[];for(const[p,b]of n)(p===""||!t.has(p))&&u.push(...b);return u.length&&s.push({key:dn,product:null,deployments:u}),s});function ae(n){return X[n]!==!1}function ge(n){X[n]=X[n]===!1}function xe(n){if(!n)return"-";const t=P.value.find(s=>s.id===n);return t?t.name:"#"+n}function fe(n){const t=(n||"").match(/\/([^/?]+)\?/);return t?t[1]:"-"}function ve(n){const t=(n||"").trim();return!!t&&t!=="latest"}async function I(){Q.value=!0;try{const[n,t,s]=await Promise.all([T("products/list",{}),T("apps/list",{}),T("envs/list",{})]);F.value=n??[],G.value=t??[],P.value=s??[]}catch(n){k(n?.message??"获取应用列表失败")}finally{Q.value=!1}}function D(){O.value="list",I()}const B=w(!1),g=E({id:0,name:"",image_name:"",remark:"",enabled:!0});function ie(n){n?(B.value=!0,g.id=n.id,g.name=n.name||"",g.image_name=n.image_name||"",g.remark=n.remark||"",g.enabled=!!n.enabled):(B.value=!1,g.id=0,g.name="",g.image_name="",g.remark="",g.enabled=!0),O.value="productForm"}async function _e(){const n={name:g.name,image_name:g.image_name,remark:g.remark,enabled:g.enabled};let t="products/add";B.value&&g.id&&(n.id=Number(g.id),t="products/update");try{await T(t,n),N("保存成功"),D()}catch(s){k(s?.message??"失败")}}function ye(n){window.confirm(`删除应用「${n.name}」?(其下若有区域部署将被拒绝)`)&&T("products/del",{id:n.id}).then(()=>{N("已删除"),I()}).catch(t=>k(t?.message??"失败"))}const U=w(!1),f=w("existing"),a=E({id:0,app_name:"",name:"",region:"",env_id:0,base_url:"",service_dsn:"",deploy_dir:"",image_name:"",image_tag:"",remark:"",enabled:!0});function ke(n){return n&&F.value.find(s=>s.name===n)?.image_name||""}const he=me(()=>{const n=new Set(G.value.filter(t=>t.app_name===a.app_name&&t.id!==a.id).map(t=>t.region).filter(Boolean));return be.filter(t=>!n.has(t))}),z=w(!1),q=w(!1),v=E({show:!1,apiOk:!1,apiMsg:"",dbOk:!1,dbMsg:""});function H(){z.value=!1,v.show=!1,v.apiMsg="",v.dbMsg=""}function de(n){f.value=n,H()}function Z(n,t){t?(U.value=!0,f.value=t.status==="pending"?"deploy":"existing",a.id=t.id,a.app_name=t.app_name||n||"",a.name=t.name||"",a.region=t.region||"",a.env_id=t.env_id||0,a.base_url=t.base_url||"",a.service_dsn=t.service_dsn||"",a.deploy_dir=t.deploy_dir||"",a.image_name=t.image_name||"",a.image_tag=t.image_tag||"",a.remark=t.remark||"",a.enabled=!!t.enabled):(U.value=!1,f.value="existing",a.id=0,a.app_name=n||"",a.name="",a.region="",a.env_id=0,a.base_url="",a.service_dsn="",a.deploy_dir="",a.image_name=ke(n),a.image_tag="",a.remark="",a.enabled=!0),H(),O.value="deployForm"}async function we(){const n=a.base_url.trim(),t=a.service_dsn.trim();if(!n||!t){k("请先填应用地址和业务库 DSN");return}q.value=!0;try{const s=await T("apps/test",{base_url:n,service_dsn:t});v.apiOk=!!s.api_ok,v.apiMsg=s.api_msg,v.dbOk=!!s.db_ok,v.dbMsg=s.db_msg,v.show=!0,z.value=!!s.ok,z.value?N("检测通过,可以保存"):k("检测未通过")}catch(s){k(s?.message??"测试失败")}finally{q.value=!1}}async function Ce(){if(!a.app_name){k("请选择所属应用");return}if(!a.name.trim()){k("请填部署名称");return}if(f.value==="existing"&&!z.value){k("请先「测试连接」通过再保存");return}if(f.value==="deploy"&&!a.env_id){k("请选择部署目标环境");return}const n={app_name:a.app_name,status:f.value==="deploy"?"pending":"existing",name:a.name,region:a.region,env_id:Number(a.env_id)||0,base_url:f.value==="deploy"?"":a.base_url,service_dsn:a.service_dsn,deploy_dir:a.deploy_dir,image_name:a.image_name,image_tag:a.image_tag,remark:a.remark,enabled:a.enabled};let t="apps/add";U.value&&a.id&&(n.id=Number(a.id),t="apps/update");try{await T(t,n),N("保存成功"),D()}catch(s){k(s?.message??"失败")}}function Me(n){K.push({path:"/appconfig",query:{id:n.id,name:n.name||"部署#"+n.id,region:n.region||"",app_name:n.app_name||""}})}async function Te(n){W.value=n.id;try{await T("apps/bindenv",{id:n.id,env_id:Number(n.env_id)||0}),N("部署环境已更新")}catch(t){k(t?.message??"切换环境失败"),I()}finally{W.value=0}}function $e(n){window.confirm(`删除部署 #${n} ?(不影响应用自身的库)`)&&T("apps/del",{id:n}).then(()=>{N("已删除"),I()}).catch(t=>k(t?.message??"失败"))}const ee=w(null),o=E({appId:0,appLabel:"",start:"",end:"",resultShow:!1,resultClass:"",mode:"",steps:[],curIndex:0,curTotal:0,curName:"",pct:0,errMsg:"",report:null,running:!1,btnText:"开始分析"});function re(n){return parseInt((n||"").replace(/-/g,""))||0}function Ne(n,t){o.appId=n,o.appLabel="部署:"+t+" (#"+n+")",o.start="",o.end="",o.resultShow=!1,o.mode="",o.report=null,o.errMsg="",o.steps=[],o.curIndex=0,o.curTotal=0,o.curName="",o.pct=0,o.running=!1,o.btnText="开始分析",ee.value?.showModal()}function Ue(){ee.value?.close()}function Ve(n){o.steps[n.index-1]=n.name,o.pct=Math.round(n.index/(n.total+1)*100),o.curIndex=n.index,o.curTotal=n.total,o.curName=n.name}async function Se(){const n=o.appLabel,t=o.start||"最早",s=o.end||"至今";if(!window.confirm(`将先删除【${n}】在 ${t} ~ ${s} 区间的历史统计数据,然后重新分析写入。 + +确认继续?`))return;o.running=!0,o.btnText="分析中...",o.resultShow=!0,o.resultClass="",o.mode="progress",o.steps=[],o.curIndex=0,o.curTotal=0,o.curName="",o.pct=0,o.report=null,o.errMsg="";const u={app_id:o.appId,start_day:re(o.start),end_day:re(o.end)};let p=null,b=null,_=!1;function R(M){if(M=(M||"").trim(),!M)return;let y;try{y=JSON.parse(M)}catch{return}if(y.code===18){_=!0;return}if(y.code!==void 0&&y.code!==0){b=y.msg||"请求被拒绝";return}y.type==="progress"?Ve(y):y.type==="done"?p=y.report:y.type==="error"&&(b=y.msg)}try{const y=(await fetch("/console/api/apps/analyze",{method:"POST",headers:{"Content-Type":"application/json",Authorization:j.token},body:JSON.stringify(u)})).body.getReader(),A=new TextDecoder;let V="";for(;;){const pe=await y.read();if(pe.done)break;V+=A.decode(pe.value,{stream:!0});const se=V.split(` +`);V=se.pop();for(let ne=0;ne{N("已发送 → "+(t&&t.subject))}).catch(t=>k(t?.message??"失败"))}const te=w(null),J=w(null),l=E({id:0,label:"",envName:"",deployDir:"",tag:"",tags:[],tagMode:"list",tagsLoading:!1,tagsError:"",log:"",show:!1,running:!1,ok:!1,canRun:!1,btnText:"开始升级"});function Le(n){l.id=n.id,l.label="部署:"+(n.name||"部署#"+n.id)+" (#"+n.id+")"+(n.region?" · "+n.region:""),l.envName=n.env_id?xe(n.env_id):"",l.deployDir=n.deploy_dir||"",l.tag=n.image_tag||"",l.tags=[],l.tagMode="list",l.tagsError="",l.log="",l.show=!1,l.running=!1,l.ok=!1,l.canRun=!!(n.env_id&&(n.deploy_dir||"").trim()),l.btnText="开始升级",te.value?.showModal(),l.canRun&&ue()}async function ue(){if(l.id){l.tagsLoading=!0,l.tagsError="";try{const n=await T("apps/tags",{id:l.id});l.tags=n.tags||[],l.tagMode="list",(!l.tag||!l.tags.includes(l.tag))&&(l.tag=l.tag&&l.tags.includes(l.tag)?l.tag:l.tags.find(t=>t!=="latest")||l.tag||"")}catch(n){l.tagsError=n?.message??"拉取失败"}finally{l.tagsLoading=!1}}}function Oe(){l.running||te.value?.close()}async function De(){if(l.running)return;if(!l.canRun){const b=[];l.envName||b.push("绑定环境节点"),l.deployDir||b.push("填写部署目录"),window.alert(`无法升级:请先关闭本弹窗,点该部署的「编辑」完成 —— ${b.join("、")},保存后再来升级。`);return}const n=(l.tag||"").trim();if((!n||n==="latest")&&!window.confirm(`未选择明确版本号(当前 = ${n||"空 → 后端回退 latest"})。 +latest 是可变 tag,升级后列表无法体现具体版本号,确定继续?`)||!window.confirm(`确认升级【${l.label}】? +目标版本:${n||"latest"} +将 SSH 连到「${l.envName}」,在 ${l.deployDir} 执行 docker compose 拉新镜像并重启容器。`))return;l.running=!0,l.show=!0,l.ok=!1,l.log="",l.btnText="升级中…";let t=null,s=!1;function u(b){l.log+=(l.log?` +`:"")+b,je(()=>{J.value&&(J.value.scrollTop=J.value.scrollHeight)})}function p(b){if(b=(b||"").trim(),!b)return;let _;try{_=JSON.parse(b)}catch{return}if(_.code===18){s=!0;return}if(_.code!==void 0&&_.code!==0&&_.type===void 0){t=_.msg||"请求被拒绝";return}_.type==="log"?u(_.line||""):_.type==="error"&&(t=_.msg,u("✗ "+(_.msg||"")))}try{const _=(await fetch("/console/api/apps/upgrade",{method:"POST",headers:{"Content-Type":"application/json",Authorization:j.token},body:JSON.stringify({id:l.id,tag:(l.tag||"").trim()})})).body.getReader(),R=new TextDecoder;let M="";for(;;){const y=await _.read();if(y.done)break;M+=R.decode(y.value,{stream:!0});const A=M.split(` +`);M=A.pop();for(let V=0;V(r(),i("div",null,[m(e("div",null,[e("div",qe,[t[27]||(t[27]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"应用管理"),e("p",{class:"text-sm text-slate-400 mt-1"},[e("span",{class:"chip-app"},"应用"),c(" 是一个产品(如 Voitrans);其下挂多条 "),e("span",{class:"chip-dep"},"部署"),c("(各区域一份)。 卡片 = 应用;卡片内表格 = 该应用的区域部署。 ")])],-1)),e("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=s=>ie())},"+ 添加应用")]),Q.value?(r(),i("div",He,[...t[28]||(t[28]=[e("span",{class:"loading loading-spinner loading-sm"},null,-1)])])):oe.value.length?(r(),i("div",Ye,[(r(!0),i(x,null,S(oe.value,s=>(r(),i("div",{key:s.key,class:h(["app-card",{orphan:!s.product}])},[e("div",{class:"app-head",onClick:u=>ge(s.key)},[e("button",Ge,d(ae(s.key)?"▾":"▸"),1),e("div",{class:h(["app-logo",{"orphan-logo":!s.product}])},d(s.product?(s.product.name||"?").charAt(0).toUpperCase():"?"),3),e("div",Qe,[e("div",We,[t[29]||(t[29]=e("span",{class:"chip-app"},"应用",-1)),e("span",Xe,d(s.product?s.product.name:"未分组部署"),1),s.product?(r(),i("span",{key:0,class:h(["badge badge-xs",s.product.enabled?"badge-success":"badge-ghost"])},d(s.product.enabled?"启用":"停用"),3)):$("",!0),s.product&&s.product.image_name?(r(),i("span",Ze,"🐳 "+d(s.product.image_name),1)):$("",!0),e("span",et,d(s.deployments.length)+" 个部署",1)]),e("p",tt,d(s.product?s.product.remark||"—":"未填所属应用名、或应用已删除的历史部署;编辑部署可归位到某个应用"),1)]),s.product?(r(),i("div",{key:0,class:"flex gap-1 shrink-0",onClick:t[1]||(t[1]=le(()=>{},["stop"]))},[e("button",{class:"btn btn-primary btn-xs text-white",onClick:u=>Z(s.product.name)},"+ 部署",8,st),e("button",{class:"btn btn-ghost btn-xs",onClick:u=>ie(s.product)},"编辑应用",8,nt),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:u=>ye(s.product)},"删除",8,lt)])):$("",!0)],8,Ke),m(e("div",ot,[s.deployments.length?(r(),i("div",it,[e("table",dt,[t[33]||(t[33]=e("thead",null,[e("tr",{class:"text-slate-400"},[e("th",null,"部署"),e("th",null,"区域"),e("th",null,"环境"),e("th",null,"状态"),e("th",null,"当前版本"),e("th",null,"业务库"),e("th",null,"启用"),e("th",{class:"text-right"},"操作")])],-1)),e("tbody",null,[(r(!0),i(x,null,S(s.deployments,u=>(r(),i("tr",{key:u.id,class:"dep-row hover"},[e("td",null,[t[31]||(t[31]=e("span",{class:"chip-dep"},"部署",-1)),e("span",rt,d(u.name||"部署#"+u.id),1),e("span",ut,"#"+d(u.id),1)]),e("td",null,d(u.region||"—"),1),e("td",null,[m(e("select",{"onUpdate:modelValue":p=>u.env_id=p,class:"select select-bordered select-xs w-36 text-xs",disabled:W.value===u.id,onChange:p=>Te(u)},[t[32]||(t[32]=e("option",{value:0},"未绑定",-1)),(r(!0),i(x,null,S(P.value,p=>(r(),i("option",{key:p.id,value:p.id},d(p.name),9,ct))),128))],40,pt),[[Y,u.env_id,void 0,{number:!0}]])]),e("td",null,[u.status==="pending"?(r(),i("span",mt,"待部署")):(r(),i("span",bt,"已接入"))]),e("td",null,[ve(u.image_tag)?(r(),i("span",gt,d(u.image_tag),1)):(r(),i("span",xt,d(u.image_tag||"latest")+" ⚠",1))]),e("td",ft,d(fe(u.service_dsn)),1),e("td",null,[u.enabled?(r(),i("span",vt,"是")):(r(),i("span",_t,"否"))]),e("td",yt,[e("div",kt,[u.status!=="pending"?(r(),i(x,{key:0},[e("button",{class:"btn btn-ghost btn-xs text-indigo-600",onClick:p=>Me(u)},"服务配置",8,ht),e("button",{class:"btn btn-ghost btn-xs text-slate-500",onClick:p=>Z(u.app_name,u)},"编辑",8,wt),e("button",{class:"btn btn-ghost btn-xs text-amber-600",onClick:p=>Le(u)},"升级",8,Ct),e("button",{class:"btn btn-ghost btn-xs text-emerald-600",onClick:p=>Ne(u.id,u.name||"部署#"+u.id)},"分析",8,Mt),e("button",{class:"btn btn-ghost btn-xs text-indigo-500",onClick:p=>Ie(u.id)},"发事件",8,Tt)],64)):(r(),i("button",{key:1,class:"btn btn-ghost btn-xs text-amber-600",onClick:p=>Z(u.app_name,u)},"编辑",8,$t)),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:p=>$e(u.id)},"删除",8,Nt)])])]))),128))])])])):(r(),i("div",at,[t[30]||(t[30]=c(" 该应用暂无部署",-1)),s.product?(r(),i(x,{key:0},[c(",点右上「+ 部署」添加")],64)):$("",!0)]))],512),[[L,ae(s.key)]])],2))),128))])):(r(),i("div",Je,"暂无应用,先「添加应用」"))],512),[[L,O.value==="list"]]),m(e("div",null,[e("div",Ut,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[2]||(t[2]=s=>D())},"← 返回"),e("h2",Vt,d(B.value?"编辑应用":"添加应用"),1)]),e("div",St,[e("form",{onSubmit:le(_e,["prevent"])},[e("div",It,[t[34]||(t[34]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"应用名 *")],-1)),m(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>g.name=s),type:"text",class:"input input-bordered w-full",required:"",placeholder:"如 Voitrans"},null,512),[[C,g.name]]),t[35]||(t[35]=e("span",{class:"text-xs text-slate-400 mt-1"},"账号作用域按应用名绑定,尽量与统计/账号里一致。",-1))]),e("div",Lt,[t[36]||(t[36]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"默认镜像名")],-1)),m(e("input",{"onUpdate:modelValue":t[4]||(t[4]=s=>g.image_name=s),type:"text",class:"input input-bordered w-full",placeholder:"voitrans-a11(部署时用,可留空)"},null,512),[[C,g.image_name]])]),e("div",Ot,[t[37]||(t[37]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"备注")],-1)),m(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>g.remark=s),type:"text",class:"input input-bordered w-full"},null,512),[[C,g.remark]])]),e("div",Dt,[e("label",At,[m(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>g.enabled=s),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[ce,g.enabled]]),t[38]||(t[38]=e("span",{class:"text-sm"},"启用",-1))])]),e("div",Et,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[7]||(t[7]=s=>D())},"取消"),t[39]||(t[39]=e("button",{type:"submit",class:"btn btn-primary text-white"},"保存",-1))])],32)])],512),[[L,O.value==="productForm"]]),m(e("div",null,[e("div",zt,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[8]||(t[8]=s=>D())},"← 返回"),e("h2",Rt,d(U.value?"编辑部署":"添加部署"),1)]),e("div",jt,[e("form",{onSubmit:le(Ce,["prevent"])},[U.value?$("",!0):(r(),i("div",Ft,[e("a",{class:h(["tab",f.value==="existing"?"tab-active":""]),onClick:t[9]||(t[9]=s=>de("existing"))},"添加现有",2),e("a",{class:h(["tab",f.value==="deploy"?"tab-active":""]),onClick:t[10]||(t[10]=s=>de("deploy"))},"部署到目标环境",2)])),e("p",{class:h(["text-xs text-slate-400 mb-4",U.value?"":"-mt-3"])},[U.value?(r(),i(x,{key:0},[c("编辑该区域部署的配置(镜像 Tag / 部署目录 / 环境节点 等);改好后回列表点「升级」执行远程部署(拉新镜像并重启)。")],64)):f.value==="existing"?(r(),i(x,{key:1},[c("把「已经部署好的应用区域」加进来:填地址与业务库 DSN,测试通过后保存。")],64)):(r(),i(x,{key:2},[t[40]||(t[40]=c("选一个「部署目标环境」,先建关联并标记",-1)),t[41]||(t[41]=e("b",null,"待部署",-1)),t[42]||(t[42]=c(";保存后回列表点「升级」执行远程部署。",-1))],64))],2),e("div",Pt,[e("div",Bt,[t[43]||(t[43]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"所属应用")],-1)),e("input",{value:a.app_name,type:"text",class:"input input-bordered w-full bg-slate-100",readonly:""},null,8,qt)]),e("div",Ht,[t[44]||(t[44]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"部署名称 *")],-1)),m(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>a.name=s),type:"text",class:"input input-bordered w-full",required:"",placeholder:"如 Voitrans(国内)"},null,512),[[C,a.name]])])]),e("div",Jt,[e("div",Yt,[t[46]||(t[46]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"区域")],-1)),m(e("select",{"onUpdate:modelValue":t[12]||(t[12]=s=>a.region=s),class:"select select-bordered w-full"},[t[45]||(t[45]=e("option",{value:""},"未指定",-1)),(r(!0),i(x,null,S(he.value,s=>(r(),i("option",{key:s,value:s},d(s),9,Kt))),128))],512),[[Y,a.region]]),t[47]||(t[47]=e("span",{class:"text-xs text-slate-400 mt-1"},"已部署的区域不再出现(一个应用每区域一份部署)。",-1))]),e("div",Gt,[e("label",Qt,[e("span",Wt,"部署环境"+d(f.value==="deploy"?" *":""),1)]),m(e("select",{"onUpdate:modelValue":t[13]||(t[13]=s=>a.env_id=s),class:"select select-bordered w-full"},[e("option",Xt,d(f.value==="deploy"?"请选择目标环境":"未关联"),1),(r(!0),i(x,null,S(P.value,s=>(r(),i("option",{key:s.id,value:s.id},d(s.name)+"("+d(s.code||"-")+")",9,Zt))),128))],512),[[Y,a.env_id,void 0,{number:!0}]])])]),e("div",es,[e("div",ts,[t[48]||(t[48]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"部署目录")],-1)),m(e("input",{"onUpdate:modelValue":t[14]||(t[14]=s=>a.deploy_dir=s),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"/home/work/voitrans-a11"},null,512),[[C,a.deploy_dir]])]),e("div",ss,[t[49]||(t[49]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"镜像名")],-1)),m(e("input",{"onUpdate:modelValue":t[15]||(t[15]=s=>a.image_name=s),type:"text",class:"input input-bordered w-full",placeholder:"voitrans-a11(默认取应用)"},null,512),[[C,a.image_name]])]),e("div",ns,[t[50]||(t[50]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"镜像 Tag")],-1)),m(e("input",{"onUpdate:modelValue":t[16]||(t[16]=s=>a.image_tag=s),type:"text",class:"input input-bordered w-full",placeholder:"0.1.1 / latest"},null,512),[[C,a.image_tag]])])]),e("div",ls,[e("label",os,[e("span",as,"业务库 DSN"+d(f.value==="existing"?" *":""),1)]),m(e("input",{"onUpdate:modelValue":t[17]||(t[17]=s=>a.service_dsn=s),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"root:pwd@tcp(host:3306)/earphone?charset=utf8mb4&parseTime=True&loc=Local",onInput:H},null,544),[[C,a.service_dsn]]),t[51]||(t[51]=e("span",{class:"text-xs text-slate-400 mt-1"},"用于读取业务数据(重置设备码时清 userdevice/product_stat)",-1))]),f.value==="existing"?(r(),i(x,{key:1},[e("div",is,[t[52]||(t[52]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"应用地址 *")],-1)),m(e("input",{"onUpdate:modelValue":t[18]||(t[18]=s=>a.base_url=s),type:"text",class:"input input-bordered w-full",placeholder:"https://api.xxx.com/",onInput:H},null,544),[[C,a.base_url]]),t[53]||(t[53]=e("span",{class:"text-xs text-slate-400 mt-1"},"用于通知应用业务服务事件(如配置更新)",-1))]),m(e("div",ds,[e("div",{class:h(v.apiOk?"text-green-700":"text-red-600")},[e("span",{class:h(v.apiOk?"text-green-600":"text-red-500")},d(v.apiOk?"✓":"✗"),3),c(" 应用地址:"+d(v.apiMsg),1)],2),e("div",{class:h(v.dbOk?"text-green-700":"text-red-600")},[e("span",{class:h(v.dbOk?"text-green-600":"text-red-500")},d(v.dbOk?"✓":"✗"),3),c(" 业务库:"+d(v.dbMsg),1)],2)],512),[[L,v.show]])],64)):$("",!0),e("div",rs,[t[54]||(t[54]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"备注")],-1)),m(e("input",{"onUpdate:modelValue":t[19]||(t[19]=s=>a.remark=s),type:"text",class:"input input-bordered w-full"},null,512),[[C,a.remark]])]),e("div",us,[e("label",ps,[m(e("input",{"onUpdate:modelValue":t[20]||(t[20]=s=>a.enabled=s),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[ce,a.enabled]]),t[55]||(t[55]=e("span",{class:"text-sm"},"启用",-1))])]),e("div",cs,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[21]||(t[21]=s=>D())},"取消"),f.value==="existing"?(r(),i("button",{key:0,type:"button",class:"btn btn-outline",disabled:q.value,onClick:we},d(q.value?"测试中...":"测试连接"),9,ms)):$("",!0),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:!U.value&&f.value==="existing"&&!z.value},"保存",8,bs)]),!U.value&&f.value==="existing"?(r(),i("p",gs,"需先「测试连接」通过(应用地址可达 + 业务库可连)才能保存。")):$("",!0)],32)])],512),[[L,O.value==="deployForm"]]),e("dialog",{ref_key:"analyzeModal",ref:ee,class:"modal"},[e("div",xs,[t[63]||(t[63]=e("h3",{class:"font-bold text-lg"},"分析历史数据",-1)),e("p",fs,d(o.appLabel),1),t[64]||(t[64]=e("div",{class:"text-xs text-amber-700 mt-3 bg-amber-50 border border-amber-100 rounded-lg p-3 leading-relaxed"},[c(" 扫描该应用业务库,按 "),e("b",null,"天 + 产品 + 区域"),c(" 生成历史统计(新增用户 / 订单 / 资源发放·使用 / 激活绑定设备),汇入 console 主库。"),e("br"),c(" · "),e("b",null,"分析前会先清理该应用+区域在所选区间内的旧统计行"),c(",避免数据重叠。"),e("br"),c(" · 登录、活跃用户、AI对话等无每日原始记录,历史无法还原(由实时管道往后采集)。"),e("br"),c(" · 仅对实时管道上线前的区间运行。留空 = 全部历史。大库可能耗时。 ")],-1)),e("div",vs,[e("div",null,[t[56]||(t[56]=e("label",{class:"text-xs text-slate-500"},"起始日(含)",-1)),m(e("input",{"onUpdate:modelValue":t[22]||(t[22]=s=>o.start=s),type:"date",class:"input input-bordered input-sm w-full"},null,512),[[C,o.start]])]),e("div",null,[t[57]||(t[57]=e("label",{class:"text-xs text-slate-500"},"结束日(含)",-1)),m(e("input",{"onUpdate:modelValue":t[23]||(t[23]=s=>o.end=s),type:"date",class:"input input-bordered input-sm w-full"},null,512),[[C,o.end]])])]),m(e("div",{class:h(["text-sm mt-3",o.resultClass])},[o.mode==="progress"?(r(),i("div",_s,[e("div",ys,[e("span",ks,[o.curName?(r(),i(x,{key:0},[t[58]||(t[58]=e("span",{class:"loading loading-spinner loading-xs"},null,-1)),c(" 正在:"+d(o.curName)+" ("+d(o.curIndex)+"/"+d(o.curTotal)+") ",1)],64)):(r(),i(x,{key:1},[c("准备中...")],64))]),e("span",hs,d(o.pct)+"%",1)]),e("progress",{class:"progress progress-primary w-full h-2",value:o.pct,max:"100"},null,8,ws),e("div",Cs,[(r(!0),i(x,null,S(o.steps,(s,u)=>(r(),i("div",{key:u,class:h(u===o.curIndex-1?"text-slate-600":"text-green-600")},[u===o.curIndex-1?(r(),i(x,{key:0},[t[59]||(t[59]=e("span",{class:"loading loading-spinner loading-xs"},null,-1)),c(" "+d(s),1)],64)):(r(),i(x,{key:1},[c("✓ "+d(s),1)],64))],2))),128))])])):o.mode==="error"?(r(),i("div",Ms,"✗ "+d(o.errMsg),1)):o.mode==="done"&&o.report?(r(),i("div",Ts,[t[62]||(t[62]=e("div",{class:"font-semibold text-green-700 mb-2"},"✓ 分析完成",-1)),e("div",$s,[e("div",null,[t[60]||(t[60]=c("应用:",-1)),e("b",null,d(o.report.app_name||""),1)]),e("div",null,"区域:"+d(o.report.region||"未指定"),1),e("div",null,"区间:"+d((o.report.start_day||"不限")+" ~ "+(o.report.end_day||"不限")),1),e("div",null,"清理旧行:"+d(o.report.cleared_rows||0),1),e("div",null,[t[61]||(t[61]=c("写入天数:",-1)),e("b",null,d(o.report.days_written||0),1)]),e("div",null,"写入行数:"+d(o.report.rows_written||0),1)]),e("div",Ns,[(r(!0),i(x,null,S(o.report.steps||[],(s,u)=>(r(),i("div",{key:u,class:"flex justify-between py-0.5"},[e("span",Us,d(s.name),1),e("span",Vs,d((s.groups||0)+" 组"),1)]))),128))])])):$("",!0)],2),[[L,o.resultShow]]),e("div",Ss,[e("button",{class:"btn btn-ghost btn-sm",onClick:Ue},"关闭"),e("button",{class:"btn btn-primary btn-sm text-white",disabled:o.running,onClick:Se},d(o.btnText),9,Is)])]),t[65]||(t[65]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512),e("dialog",{ref_key:"upgradeModal",ref:te,class:"modal"},[e("div",Ls,[t[69]||(t[69]=e("h3",{class:"font-bold text-lg"},"升级部署",-1)),e("p",Os,d(l.label),1),t[70]||(t[70]=e("div",{class:"text-xs text-amber-700 mt-3 bg-amber-50 border border-amber-100 rounded-lg p-3 leading-relaxed"},[c(" 将 "),e("b",null,"SSH 连接到该部署绑定的环境节点"),c(",进入部署目录执行:"),e("span",{class:"font-mono"},"docker login → compose pull → up -d 重启 → 清理旧镜像"),c("。"),e("br"),c(" · 需服务器上已维护好 "),e("span",{class:"font-mono"},"docker-compose.yml / .env / confs"),c("(本操作不上传真实配置)。"),e("br"),c(" · 会"),e("b",null,"重启该部署的容器"),c(",请确认无误后再执行。 ")],-1)),e("div",Ds,[e("div",As,[t[66]||(t[66]=e("span",{class:"w-20 text-slate-400 shrink-0"},"环境节点",-1)),e("span",{class:h(l.envName?"font-medium text-slate-700":"font-medium text-red-500")},d(l.envName||"未绑定 —— 请先在「编辑」里选择环境节点"),3)]),e("div",Es,[t[67]||(t[67]=e("span",{class:"w-20 text-slate-400 shrink-0"},"部署目录",-1)),e("span",{class:h(l.deployDir?"font-mono text-slate-700":"font-medium text-red-500")},d(l.deployDir||"未填 —— 请先在「编辑」里填写远端部署目录"),3)])]),e("div",zs,[e("div",Rs,[t[68]||(t[68]=e("label",{class:"text-xs text-slate-500"},"镜像版本 Tag",-1)),e("button",{type:"button",class:"text-xs text-indigo-500 hover:underline",disabled:l.running,onClick:t[24]||(t[24]=s=>l.tagMode=l.tagMode==="list"?"custom":"list")},d(l.tagMode==="list"?"手动输入…":"从仓库选择"),9,js)]),l.tagMode==="list"?(r(),i("div",Fs,[m(e("select",{"onUpdate:modelValue":t[25]||(t[25]=s=>l.tag=s),class:"select select-bordered select-sm flex-1 font-mono",disabled:l.running||l.tagsLoading},[e("option",Bs,d(l.tagsLoading?"加载可用版本中…":"请选择版本"),1),l.tag&&!l.tags.includes(l.tag)?(r(),i("option",{key:0,value:l.tag},d(l.tag)+"(当前记录)",9,qs)):$("",!0),(r(!0),i(x,null,S(l.tags,s=>(r(),i("option",{key:s,value:s},d(s)+d(s==="latest"?" · 不固定,不推荐":""),9,Hs))),128))],8,Ps),[[Y,l.tag]]),e("button",{type:"button",class:"btn btn-ghost btn-sm",disabled:l.running||l.tagsLoading,onClick:ue},"刷新",8,Js)])):m((r(),i("input",{key:1,"onUpdate:modelValue":t[26]||(t[26]=s=>l.tag=s),type:"text",class:"input input-bordered input-sm w-full font-mono",placeholder:"0.1.1",disabled:l.running},null,8,Ys)),[[C,l.tag]]),l.tagsError?(r(),i("p",Ks,"拉取仓库版本失败:"+d(l.tagsError)+"(可点上方「手动输入」直接填版本号,或点「刷新」重试)",1)):l.tag==="latest"||l.tag===""?(r(),i("p",Gs,"⚠ 未固定版本,升级后列表无法体现具体版本号,建议选明确版本(如 0.1.1)。")):$("",!0)]),m(e("div",Qs,[e("div",Ws,[l.running?(r(),i("span",Xs)):l.ok?(r(),i("span",Zs,"✓ 部署完成")):(r(),i("span",en,"✗ 部署失败")),e("span",tn,d(l.running?"执行中…":""),1)]),e("pre",{ref_key:"upLogBox",ref:J,class:"bg-slate-900 text-slate-100 text-[11px] leading-relaxed rounded-lg p-3 h-64 overflow-auto font-mono whitespace-pre-wrap"},d(l.log||"(等待输出…)"),513)],512),[[L,l.show]]),e("div",sn,[e("button",{class:"btn btn-ghost btn-sm",disabled:l.running,onClick:Oe},"关闭",8,nn),e("button",{class:"btn btn-warning btn-sm",disabled:l.running,onClick:De},d(l.btnText),9,ln)])]),e("form",on,[e("button",{disabled:l.running},"close",8,an)])],512)]))}}),gn=Fe(rn,[["__scopeId","data-v-955faaec"]]);export{gn as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B_JvM6BO.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B_JvM6BO.js deleted file mode 100644 index 02977086..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B_JvM6BO.js +++ /dev/null @@ -1 +0,0 @@ -import{g as W,y as X,z as Y,j as Z,c as a,a as s,t as d,l as c,d as f,k as V,p as T,F as h,r as U,A as k,x as A,s as v,o as l,n as ee,m as $,B as te,_ as se}from"./CTAruH_8.js";import{u as ae}from"./9B2ftqmN.js";import{u as le}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const oe={class:"rounded-xl px-5 py-4 mb-5",style:{background:"linear-gradient(135deg,#eef2ff,#faf5ff)",border:"1px solid #e0e7ff"}},ne={class:"flex items-center gap-4"},de={class:"app-avatar"},ie={class:"flex-1 min-w-0"},ue={class:"flex items-center gap-2 flex-wrap"},ce={class:"text-base font-bold text-slate-800"},re={class:"badge badge-sm",style:{background:"#e0e7ff",color:"#4338ca",border:"none"}},pe={key:0,class:"badge badge-ghost badge-sm"},me={key:1,class:"badge badge-ghost badge-sm"},ve={key:2,class:"badge badge-warning badge-sm text-amber-900"},_e={key:3,class:"badge badge-success badge-sm text-white"},xe={class:"text-[11px] text-slate-500 mt-1 flex flex-wrap gap-x-4 gap-y-0.5"},ge={key:0},ye={class:"font-mono"},be={class:"font-mono"},fe={class:"flex items-center gap-2 mt-3 pt-3 border-t border-indigo-100"},he=["disabled"],ke=["value"],we={key:0,class:"loading loading-spinner loading-xs text-indigo-400"},Ce={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-5"},Ve={key:0,class:"alert alert-warning py-2 text-sm mb-3"},Ue={key:1,class:"py-12 text-center"},Me={key:2,class:"flex gap-5"},Be={class:"w-48 shrink-0"},Ne={class:"text-[11px] font-semibold text-slate-400 px-2 mb-1"},Ae=["onClick"],De={key:0,class:"w-1.5 h-1.5 rounded-full bg-emerald-400 inline-block"},Ie={class:"flex-1 min-w-0"},Se={class:"flex items-center justify-between mb-3"},je={class:"text-sm font-semibold text-slate-800"},qe={key:0,class:"text-[11px] text-slate-400 mt-0.5"},Ee={class:"flex items-center gap-2"},Te=["disabled"],$e=["disabled"],ze={class:"grid grid-cols-1 gap-3 max-w-2xl"},Fe={class:"label py-0.5"},Re={class:"label-text text-sm"},Le={key:0,class:"text-rose-400"},Oe={key:1,class:"lock-tag ml-1"},Pe={class:"text-[10px] font-normal text-slate-300 ml-1 font-mono"},Ge={key:0,class:"cursor-pointer flex items-center gap-2"},He=["checked","onChange"],Je={class:"text-xs text-slate-500"},Ke=["onUpdate:modelValue"],Qe=["value"],We=["onUpdate:modelValue","placeholder"],Xe={key:3,class:"relative"},Ye=["onUpdate:modelValue","type"],Ze=["onClick"],et=["onUpdate:modelValue","placeholder"],tt={key:5,class:"text-[11px] text-slate-400 mt-0.5"},st={key:1,class:"py-10 text-center text-slate-400 text-sm"},at=W({__name:"appconfig",setup(lt){const{consoleApi:_}=ae(),{success:D,error:w}=le(),j=X(),z=Y(),y=k(()=>Number(j.query.id)||0),q=k(()=>j.query.name||"未指定应用"),F=k(()=>(i.app_name||q.value||"A").charAt(0).toUpperCase()),i=A({id:0,app_name:"",status:"",name:"",region:"",env_id:0,base_url:"",service_dsn:""}),E=v([]),b=v(0),M=v(!1),x=v([]),u=v(""),r=A({}),B=A(new Set),N=A({}),I=v(!1),g=v(!1),C=v(""),m=k(()=>x.value.find(o=>o.module===u.value)||null),p=k(()=>r[u.value]||{}),R=k(()=>{const o=[],t=new Map;for(const e of x.value)t.has(e.group)||(t.set(e.group,[]),o.push(e.group)),t.get(e.group).push(e);return o.map(e=>({name:e,modules:t.get(e)}))});function L(o,t){const e=r[u.value]||(r[u.value]={});e[o]=t.target.checked?"true":"false"}function O(){z.push("/apps")}function P(o){const t=(o||"").match(/\/([^/?]+)\?/);return t?t[1]:o?"(自定义)":"—"}async function G(){try{const[o,t]=await Promise.all([_("apps/list",{}),_("envs/list",{})]),e=(o??[]).find(n=>n.id===y.value);e&&Object.assign(i,e),E.value=t??[],b.value=i.env_id||0}catch(o){w(o?.message??"获取应用信息失败")}}async function H(){try{const o=await _("modulecfg/catalog",{});x.value=o?.modules??[];for(const t of x.value)r[t.module]||(r[t.module]={});x.value.length&&!u.value&&(u.value=x.value[0].module)}catch(o){w(o?.message??"获取配置目录失败")}}async function S(){if(y.value){I.value=!0,C.value="";try{const o=await _("modulecfg/list",{app_id:y.value});for(const t of x.value)r[t.module]={};B.clear();for(const t of o?.items??[])r[t.module]||(r[t.module]={}),r[t.module][t.key]=t.value,B.add(t.module)}catch(o){C.value=o?.message??"连接失败"}finally{I.value=!1}}}async function J(){if(i.id){M.value=!0;try{await _("apps/bindenv",{id:i.id,env_id:b.value}),i.env_id=b.value,D("部署环境已更新")}catch(o){w(o?.message??"切换环境失败"),b.value=i.env_id||0}finally{M.value=!1}}}async function K(){if(m.value){g.value=!0;try{const o=m.value.fields.map(t=>({key:t.key,value:r[u.value]?.[t.key]??""}));await _("modulecfg/save",{app_id:y.value,module:u.value,items:o}),D("配置已保存"),await S()}catch(o){w(o?.message??"保存失败")}finally{g.value=!1}}}async function Q(){if(u.value&&confirm(`确认清空「${m.value?.name}」的全部配置?`)){g.value=!0;try{await _("modulecfg/del",{app_id:y.value,module:u.value}),D("已清空"),await S()}catch(o){w(o?.message??"清空失败")}finally{g.value=!1}}}return Z(async()=>{await G(),await H(),await S()}),(o,t)=>(l(),a("div",null,[s("div",{class:"flex items-center gap-2 mb-4"},[s("button",{class:"btn btn-ghost btn-sm",onClick:O},"← 返回应用列表"),t[1]||(t[1]=s("span",{class:"text-slate-300"},"/",-1)),t[2]||(t[2]=s("h2",{class:"text-lg font-semibold text-slate-800"},"应用服务配置",-1))]),s("div",oe,[s("div",ne,[s("div",de,d(F.value),1),s("div",ie,[s("div",ue,[s("span",ce,d(i.name||q.value),1),s("span",re,"#"+d(y.value),1),i.app_name?(l(),a("span",pe,"应用:"+d(i.app_name),1)):c("",!0),i.region?(l(),a("span",me,d(i.region),1)):c("",!0),i.status==="pending"?(l(),a("span",ve,"待部署")):(l(),a("span",_e,"已接入"))]),s("div",xe,[i.base_url?(l(),a("span",ge,[t[3]||(t[3]=f("地址:",-1)),s("span",ye,d(i.base_url),1)])):c("",!0),s("span",null,[t[4]||(t[4]=f("业务库:",-1)),s("span",be,d(P(i.service_dsn)),1)])])])]),s("div",fe,[t[6]||(t[6]=s("span",{class:"text-xs text-slate-500 shrink-0"},"部署环境",-1)),V(s("select",{"onUpdate:modelValue":t[0]||(t[0]=e=>b.value=e),class:"select select-bordered select-sm w-64",disabled:M.value,onChange:J},[t[5]||(t[5]=s("option",{value:0},"未绑定",-1)),(l(!0),a(h,null,U(E.value,e=>(l(),a("option",{key:e.id,value:e.id},d(e.name)+"("+d(e.code||"-")+")",9,ke))),128))],40,he),[[T,b.value,void 0,{number:!0}]]),M.value?(l(),a("span",we)):c("",!0),t[7]||(t[7]=s("span",{class:"text-[11px] text-slate-400"},"切换后即时保存。",-1))])]),s("div",Ce,[t[12]||(t[12]=s("div",{class:"mb-3"},[s("h3",{class:"text-base font-semibold text-slate-800"},"业务功能配置"),s("p",{class:"text-[11px] text-slate-400 mt-0.5"},[f(" 登录 / 短信 / 邮件 / 支付等应用独立配置,保存在"),s("b",null,"该部署的业务库"),f("(不进公共库)。密钥字段加密落库,显示时脱敏。 ")])],-1)),C.value?(l(),a("div",Ve,[s("span",null,[f("无法连接应用业务库:"+d(C.value),1),t[8]||(t[8]=s("br",null,null,-1)),t[9]||(t[9]=s("span",{class:"text-xs opacity-70"},"待部署的应用先完成部署、或检查业务库 DSN 连通后再配置。",-1))])])):c("",!0),I.value?(l(),a("div",Ue,[...t[10]||(t[10]=[s("span",{class:"loading loading-spinner loading-sm"},null,-1)])])):(l(),a("div",Me,[s("aside",Be,[(l(!0),a(h,null,U(R.value,e=>(l(),a("div",{key:e.name,class:"mb-3"},[s("div",Ne,d(e.name),1),(l(!0),a(h,null,U(e.modules,n=>(l(),a("button",{key:n.module,class:ee(["w-full flex items-center justify-between text-left px-3 py-2 rounded-lg text-sm mb-0.5 transition-colors",u.value===n.module?"bg-indigo-50 text-indigo-700 font-medium":"text-slate-600 hover:bg-slate-50"]),onClick:ot=>u.value=n.module},[s("span",null,d(n.name),1),B.has(n.module)?(l(),a("span",De)):c("",!0)],10,Ae))),128))]))),128))]),s("section",Ie,[m.value?(l(),a(h,{key:0},[s("div",Se,[s("div",null,[s("div",je,d(m.value.name),1),m.value.desc?(l(),a("div",qe,d(m.value.desc),1)):c("",!0)]),s("div",Ee,[B.has(u.value)?(l(),a("button",{key:0,class:"btn btn-ghost btn-xs text-rose-500",disabled:g.value,onClick:Q},"清空",8,Te)):c("",!0),s("button",{class:"btn btn-primary btn-sm text-white",disabled:g.value||C.value!=="",onClick:K},d(g.value?"保存中…":"保存"),9,$e)])]),s("div",ze,[(l(!0),a(h,null,U(m.value.fields,e=>(l(),a("div",{key:e.key,class:"form-control"},[s("label",Fe,[s("span",Re,[f(d(e.label)+" ",1),e.required?(l(),a("span",Le,"*")):c("",!0),e.secret?(l(),a("span",Oe,"🔒")):c("",!0),s("span",Pe,d(e.key),1)])]),e.type==="bool"?(l(),a("label",Ge,[s("input",{type:"checkbox",class:"toggle toggle-sm toggle-primary",checked:p.value[e.key]==="true",onChange:n=>L(e.key,n)},null,40,He),s("span",Je,d(p.value[e.key]==="true"?"开启":"关闭"),1)])):e.type==="select"?V((l(),a("select",{key:1,"onUpdate:modelValue":n=>p.value[e.key]=n,class:"select select-bordered select-sm w-full"},[t[11]||(t[11]=s("option",{value:""},"请选择",-1)),(l(!0),a(h,null,U(e.options,n=>(l(),a("option",{key:n.value,value:n.value},d(n.label),9,Qe))),128))],8,Ke)),[[T,p.value[e.key]]]):e.type==="textarea"?V((l(),a("textarea",{key:2,"onUpdate:modelValue":n=>p.value[e.key]=n,class:"textarea textarea-bordered w-full font-mono text-xs",rows:"3",placeholder:e.secret?"留空/保持 [encrypted] 则不变":e.placeholder||""},null,8,We)),[[$,p.value[e.key]]]):e.type==="password"?(l(),a("div",Xe,[V(s("input",{"onUpdate:modelValue":n=>p.value[e.key]=n,type:N[e.key]?"text":"password",class:"input input-bordered input-sm w-full font-mono text-xs pr-14",placeholder:"留空/保持 [encrypted] 则不变"},null,8,Ye),[[te,p.value[e.key]]]),s("button",{type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:n=>N[e.key]=!N[e.key]},d(N[e.key]?"隐藏":"显示"),9,Ze)])):V((l(),a("input",{key:4,"onUpdate:modelValue":n=>p.value[e.key]=n,type:"text",class:"input input-bordered input-sm w-full font-mono text-xs",placeholder:e.placeholder||""},null,8,et)),[[$,p.value[e.key]]]),e.desc?(l(),a("span",tt,d(e.desc),1)):c("",!0)]))),128))])],64)):(l(),a("div",st,"暂无可配置的业务模块。"))])]))])]))}}),rt=se(at,[["__scopeId","data-v-a2d8388e"]]);export{rt as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B_WQdNTA.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B_WQdNTA.js new file mode 100644 index 00000000..ef62afa0 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B_WQdNTA.js @@ -0,0 +1 @@ +import{g as oe,j as ie,c as a,l as p,a as e,k as d,p as m,F as r,r as u,v as F,t as i,q as G,n as N,d as de,s as c,x as ce,A as re,o,D as $,_ as ue}from"./CfpW9SkI.js";import{u as ve}from"./DSu8q42f.js";import{u as be}from"./CMwGY1Mu.js";import"./DL330dAC.js";const me={key:0,class:"mb-4 rounded-lg px-4 py-3 text-sm",style:{background:"#fffbeb",border:"1px solid #fde68a",color:"#92400e"}},xe={class:"flex items-center justify-between mb-5"},pe={class:"flex items-center gap-3"},fe=["value"],_e={class:"editor-panel"},ge={class:"flex items-center justify-between mb-4"},ye={class:"font-semibold text-slate-800 text-sm"},ke={class:"grid grid-cols-3 gap-4 mb-4"},he={class:"form-control"},Se=["value"],Te={class:"form-control"},Ce=["value"],we={class:"form-control"},Ae={class:"flex gap-3 mb-4"},Ve={key:0,class:"grid grid-cols-3 gap-4"},Me={class:"form-control"},je={key:0,value:""},Re=["value"],Ue={class:"form-control"},Ne={key:0,value:""},$e=["value"],Oe={class:"form-control"},Pe={key:0,value:""},ze=["value"],Be={key:1,class:"form-control max-w-xs"},De={key:0,value:""},Ee=["value"],Le={class:"flex items-center justify-between pt-4 border-t border-slate-100 mt-4"},Ie={class:"flex items-center gap-2 text-sm"},Fe={class:"grid grid-cols-1 gap-4",style:{"grid-template-columns":"repeat(auto-fill,minmax(360px,1fr))"}},Ge={key:0,class:"col-span-full text-center py-20 text-slate-300"},qe=["onClick"],He={class:"flex items-center justify-between"},Je={class:"flex items-center gap-2"},Ke={class:"lang-badge"},Qe={class:"text-slate-400 font-bold text-lg"},We={class:"lang-badge"},Xe={class:"flex items-center gap-2"},Ye={key:0,class:"mode-badge mode-pipeline"},Ze={key:1,class:"mode-badge mode-e2e"},et={key:2,class:"badge badge-success badge-xs"},tt={key:3,class:"badge badge-ghost badge-xs"},st=["onClick"],lt={key:0,class:"flex flex-wrap items-center gap-2 mt-3"},nt={class:"svc-pill",style:{background:"#1664ff"}},at={class:"svc-pill",style:{background:"#059669"}},ot={class:"svc-pill",style:{background:"#7c3aed"}},it={key:1,class:"flex items-center gap-2 mt-3"},dt={class:"svc-pill",style:{background:"#f97316"}},ct={class:"sync-overlay"},rt={class:"sync-box"},ut={class:"flex items-start gap-3 mb-4"},vt={style:{width:"42px",height:"42px",background:"linear-gradient(135deg,#4f46e5,#7c3aed)","border-radius":"13px",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},bt={style:{width:"20px",height:"20px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},mt={class:"text-xs text-slate-400 mt-1"},xt={class:"flex items-center justify-between mb-1"},pt={class:"flex gap-2"},ft={class:"sync-region-grid"},_t=["onClick"],gt=["checked","onClick"],q=1,H=2,J=3,K=4,yt=oe({__name:"calltranslate",setup(kt){const j=[{c:"zh",n:"中文"},{c:"en",n:"英文"},{c:"ja",n:"日语"},{c:"ko",n:"韩语"},{c:"fr",n:"法语"},{c:"de",n:"德语"},{c:"es",n:"西班牙语"},{c:"pt",n:"葡萄牙语"},{c:"ru",n:"俄语"},{c:"ar",n:"阿拉伯语"},{c:"th",n:"泰语"},{c:"vi",n:"越南语"},{c:"id",n:"印尼语"},{c:"ms",n:"马来语"},{c:"hi",n:"印地语"}];function h(l){const t=j.find(s=>s.c===l);return t?t.n:l||""}const f=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}];function Q(l){const t=f.find(s=>s.value===l);return t?t.label:"区域"+l}const{webApi:_}=ve(),{success:S,error:T}=be(),R=c(!0),C=c([]),g=c([]),y=c(f.length?f[0].value:1),w=c(!1),x=c(null),O=c(0),n=ce({src:"zh",dst:"en",bidir:!1,mode:0,asr:"",mt:"",tts:"",ast:"",enable:!0});async function W(){try{const l=await _("getsvcconfigs",{});C.value=l?.items??[]}catch{R.value=!1,C.value=[]}}async function A(){try{const l=await _("getcalltranslatepairs",{region:y.value});g.value=l?.items??[]}catch{R.value=!1,g.value=[]}}function v(l){return C.value.filter(t=>t.enable&&(t.categories||"").split(",").map(Number).indexOf(l)>=0)}function V(l){const t=C.value.find(s=>s.id===l);return t?t.name:l||"未配置"}function P(l){n.src=l?.src_lang||"zh",n.dst=l?.dst_lang||"en",n.bidir=!!l?.bidir,n.mode=l?.mode!=null?l.mode:0,n.asr=l?.asr_svc_id||"",n.mt=l?.mt_svc_id||"",n.tts=l?.tts_svc_id||"",n.ast=l?.ast_svc_id||"",n.enable=l?l.enable!==!1:!0}function X(){x.value=null,P(null),w.value=!0}function Y(l){const t=g.value.find(s=>s.id===l)||null;x.value=t,P(t),w.value=!0}function M(){w.value=!1,x.value=null}function Z(){const l=n.mode;return{id:x.value?x.value.id:0,region:y.value,src_lang:n.src,dst_lang:n.dst,bidir:n.bidir,mode:l,asr_svc_id:l===0&&n.asr||"",mt_svc_id:l===0&&n.mt||"",tts_svc_id:l===0&&n.tts||"",ast_svc_id:l===1&&n.ast||"",enable:n.enable}}async function z(){const l=Z();if(!l.src_lang||!l.dst_lang)return T("源语言和目标语言必填"),!1;try{const t=await _("savecalltranslatepair",l);return O.value=t?.id??0,await A(),!0}catch(t){return T(t?.message??"保存失败"),!1}}function ee(l){window.confirm("确定删除这条语言对配置?")&&_("delcalltranslatepair",{ids:[l]}).then(()=>{S("已删除"),A()}).catch(t=>T(t?.message??"删除失败"))}const U=c(!1),B=c(""),b=c([]),D=re(()=>f.filter(l=>l.value!==y.value));function te(){const l=n.mode===0?"三段式拼接":"端到端 AST";B.value="将「"+h(n.src)+" → "+h(n.dst)+"」("+l+(n.bidir?",双向":"")+" )的服务编排同步到其他区域。",b.value=[],U.value=!0}function E(l){const t=b.value.indexOf(l);t>=0?b.value.splice(t,1):b.value.push(l)}function L(l){b.value=l?D.value.map(t=>t.value):[]}function I(){U.value=!1}async function se(){I(),await z()&&(M(),S("保存成功"))}async function le(){const l=[...b.value];if(I(),!!await z()){if(M(),!l.length){S("保存成功");return}try{const k=(await _("synccalltranslatepairs",{pair_ids:[O.value],target_regions:l}))?.synced??0,ne=l.map(ae=>Q(ae));S("已保存并同步到:"+ne.join("、")+"("+k+" 个)")}catch(s){T(s?.message??"同步失败")}}}return ie(async()=>{await Promise.all([W(),A()])}),(l,t)=>(o(),a("div",null,[R.value?p("",!0):(o(),a("div",me," ⚠ 「通话翻译配置」的后端接口尚未迁移到当前 console 服务,功能暂不可用。 ")),e("div",xe,[t[14]||(t[14]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"通话翻译配置"),e("p",{class:"text-xs text-slate-400 mt-1"},"按区域和语言对配置翻译服务。支持三段式(ASR→MT→TTS)和端到端 AST 两种模式。")],-1)),e("div",pe,[t[13]||(t[13]=e("span",{class:"text-sm text-slate-500"},"区域",-1)),d(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>y.value=s),class:"select select-bordered select-sm",onChange:A},[(o(),a(r,null,u(f,s=>e("option",{key:s.value,value:s.value},i(s.label),9,fe)),64))],544),[[m,y.value,void 0,{number:!0}]]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:X},"+ 新增语言对")])]),d(e("div",_e,[e("div",ge,[e("h3",ye,i(x.value?"编辑语言对":"新增语言对"),1),e("button",{class:"btn btn-ghost btn-xs",onClick:M},"✕ 关闭")]),e("div",ke,[e("div",he,[t[15]||(t[15]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"源语言 *")],-1)),d(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>n.src=s),class:"select select-bordered select-sm"},[(o(),a(r,null,u(j,s=>e("option",{key:s.c,value:s.c},i(s.n),9,Se)),64))],512),[[m,n.src]])]),e("div",Te,[t[16]||(t[16]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"目标语言 *")],-1)),d(e("select",{"onUpdate:modelValue":t[2]||(t[2]=s=>n.dst=s),class:"select select-bordered select-sm"},[(o(),a(r,null,u(j,s=>e("option",{key:s.c,value:s.c},i(s.n),9,Ce)),64))],512),[[m,n.dst]])]),e("div",we,[t[17]||(t[17]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"双向")],-1)),d(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>n.bidir=s),type:"checkbox",class:"toggle toggle-primary mt-1"},null,512),[[G,n.bidir]])])]),e("div",Ae,[e("div",{class:N(["mtab",{on:n.mode===0}]),onClick:t[4]||(t[4]=s=>n.mode=0)},[...t[18]||(t[18]=[e("div",null,[e("div",{class:"font-bold text-sm"},"🧩 三段式拼接"),e("div",{class:"text-xs text-slate-400 mt-0.5"},"ASR → MT → TTS")],-1)])],2),e("div",{class:N(["mtab",{on:n.mode===1}]),onClick:t[5]||(t[5]=s=>n.mode=1)},[...t[19]||(t[19]=[e("div",null,[e("div",{class:"font-bold text-sm"},"⚡ 端到端 AST"),e("div",{class:"text-xs text-slate-400 mt-0.5"},"单服务直接完成语音翻译")],-1)])],2)]),e("div",null,[n.mode===0?(o(),a("div",Ve,[e("div",Me,[t[20]||(t[20]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"语音识别(ASR)")],-1)),d(e("select",{"onUpdate:modelValue":t[6]||(t[6]=s=>n.asr=s),class:"select select-bordered select-sm"},[v(q).length?p("",!0):(o(),a("option",je,"(无可用服务)")),(o(!0),a(r,null,u(v(q),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,Re))),128))],512),[[m,n.asr]])]),e("div",Ue,[t[21]||(t[21]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"机器翻译(MT)")],-1)),d(e("select",{"onUpdate:modelValue":t[7]||(t[7]=s=>n.mt=s),class:"select select-bordered select-sm"},[v(J).length?p("",!0):(o(),a("option",Ne,"(无可用服务)")),(o(!0),a(r,null,u(v(J),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,$e))),128))],512),[[m,n.mt]])]),e("div",Oe,[t[22]||(t[22]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"语音合成(TTS)")],-1)),d(e("select",{"onUpdate:modelValue":t[8]||(t[8]=s=>n.tts=s),class:"select select-bordered select-sm"},[v(H).length?p("",!0):(o(),a("option",Pe,"(无可用服务)")),(o(!0),a(r,null,u(v(H),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,ze))),128))],512),[[m,n.tts]])])])):(o(),a("div",Be,[t[23]||(t[23]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"端到端语音翻译服务(AST)")],-1)),d(e("select",{"onUpdate:modelValue":t[9]||(t[9]=s=>n.ast=s),class:"select select-bordered select-sm"},[v(K).length?p("",!0):(o(),a("option",De,"(无可用服务)")),(o(!0),a(r,null,u(v(K),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,Ee))),128))],512),[[m,n.ast]])]))]),e("div",Le,[e("label",Ie,[d(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>n.enable=s),type:"checkbox",class:"checkbox checkbox-sm checkbox-primary"},null,512),[[G,n.enable]]),t[24]||(t[24]=de(" 启用 ",-1))]),e("div",{class:"flex gap-2"},[e("button",{class:"btn btn-ghost btn-sm",onClick:M},"取消"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:te},"保存")])])],512),[[F,w.value]]),e("div",Fe,[g.value.length?p("",!0):(o(),a("div",Ge,[...t[25]||(t[25]=[e("div",{class:"text-5xl mb-3"},"🌐",-1),e("p",{class:"text-sm"},"当前区域暂无语言对配置",-1)])])),(o(!0),a(r,null,u(g.value,s=>(o(),a("div",{key:s.id,class:"pair-card",onClick:k=>Y(s.id)},[e("div",He,[e("div",Je,[e("span",Ke,i(h(s.src_lang)),1),e("span",Qe,i(s.bidir?"⇄":"→"),1),e("span",We,i(h(s.dst_lang)),1)]),e("div",Xe,[s.mode===0?(o(),a("span",Ye,"三段式拼接")):(o(),a("span",Ze,"端到端 AST")),s.enable?(o(),a("span",et,"启用")):(o(),a("span",tt,"停用")),e("button",{class:"btn btn-ghost btn-xs text-error",onClick:$(k=>ee(s.id),["stop"])},"删除",8,st)])]),s.mode===0?(o(),a("div",lt,[e("span",nt,"ASR: "+i(V(s.asr_svc_id)),1),t[26]||(t[26]=e("span",{class:"text-slate-300 text-sm"},"→",-1)),e("span",at,"MT: "+i(V(s.mt_svc_id)),1),t[27]||(t[27]=e("span",{class:"text-slate-300 text-sm"},"→",-1)),e("span",ot,"TTS: "+i(V(s.tts_svc_id)),1)])):(o(),a("div",it,[e("span",dt,"AST: "+i(V(s.ast_svc_id)),1)]))],8,qe))),128))]),d(e("div",ct,[e("div",rt,[e("div",ut,[e("div",vt,[(o(),a("svg",bt,[...t[28]||(t[28]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"},null,-1)])]))]),e("div",null,[t[29]||(t[29]=e("h3",{class:"text-base font-semibold text-slate-800"},"同步到其他区域",-1)),e("p",mt,i(B.value),1)])]),t[31]||(t[31]=e("div",{class:"text-xs px-3 py-2 rounded-lg mb-3",style:{background:"#f0fdf4",border:"1px solid #bbf7d0",color:"#15803d"}}," ✦ 同步内容:服务组合(模式 + 各段服务)将被复制到目标区域。 ",-1)),e("div",xt,[t[30]||(t[30]=e("span",{class:"text-xs font-semibold text-slate-500"},"选择目标区域",-1)),e("div",pt,[e("button",{class:"btn btn-ghost btn-xs",onClick:t[11]||(t[11]=s=>L(!0))},"全选"),e("button",{class:"btn btn-ghost btn-xs",onClick:t[12]||(t[12]=s=>L(!1))},"清空")])]),e("div",ft,[(o(!0),a(r,null,u(D.value,s=>(o(),a("label",{key:s.value,class:N(["sync-region-item",{checked:b.value.includes(s.value)}]),onClick:$(k=>E(s.value),["prevent"])},[e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary",checked:b.value.includes(s.value),onClick:$(k=>E(s.value),["stop"])},null,8,gt),e("span",null,i(s.label),1)],10,_t))),128))]),t[32]||(t[32]=e("p",{class:"text-[11px] text-slate-400 mb-5"},"⚠ 目标区域相同语言对已存在则覆盖,否则新建。",-1)),e("div",{class:"flex gap-3 justify-end"},[e("button",{class:"btn btn-ghost",onClick:se},"仅保存当前区域"),e("button",{class:"btn btn-primary text-white",onClick:le},"保存并同步")])])],512),[[F,U.value]])]))}}),wt=ue(yt,[["__scopeId","data-v-51f11136"]]);export{wt as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/1YPtusTp.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B_rTis4D.js similarity index 71% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/1YPtusTp.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B_rTis4D.js index 7f0c064a..342fdc80 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/1YPtusTp.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/B_rTis4D.js @@ -1 +1 @@ -import{_ as t,o,c as s,L as c}from"./CTAruH_8.js";const r={},a={class:"min-h-screen","data-theme":"corporate"};function n(e,_){return o(),s("div",a,[c(e.$slots,"default")])}const l=t(r,[["render",n]]);export{l as default}; +import{_ as t,o,c as s,L as c}from"./CfpW9SkI.js";const r={},a={class:"min-h-screen","data-theme":"corporate"};function n(e,_){return o(),s("div",a,[c(e.$slots,"default")])}const l=t(r,[["render",n]]);export{l as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BeU4EYjt.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BeU4EYjt.js deleted file mode 100644 index 5d14f607..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BeU4EYjt.js +++ /dev/null @@ -1 +0,0 @@ -import{g as I,j as A,c as a,k as n,v as T,a as e,F as C,r as M,p as P,m,l as B,t as d,D as j,n as H,q,s as u,x as z,A as R,o as i}from"./CTAruH_8.js";import{u as G}from"./9B2ftqmN.js";import{u as O}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const Y={class:"flex items-center justify-between mb-5"},J={class:"flex items-center gap-3 mb-4"},K=["value"],Q={class:"bg-white rounded-xl shadow-sm border border-slate-100"},W={class:"overflow-x-auto"},X={class:"table table-zebra"},Z={key:0},ee={key:1},te={class:"font-mono text-sm font-medium"},le={class:"text-sm"},se={class:"badge badge-ghost badge-sm"},oe={class:"badge badge-sm badge-outline"},ne=["title"],ae={class:"text-sm text-slate-400"},ie={key:0},de={key:1,class:"text-slate-300"},re={key:0,class:"badge badge-success badge-sm text-white"},ue={key:1,class:"badge badge-ghost badge-sm"},me={class:"text-right"},be={class:"inline-flex gap-1"},pe=["onClick"],ce=["onClick"],ve={class:"flex items-center gap-3 mb-5"},fe={class:"text-lg font-semibold text-slate-800"},ge={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},xe={class:"grid grid-cols-2 gap-4"},ye={class:"form-control mb-4"},we=["readonly"],_e={class:"text-xs text-slate-400 mt-1"},he={class:"form-control mb-4"},ke={class:"form-control mb-4"},Ce=["value"],Me={class:"form-control mb-4"},Pe={class:"form-control mb-4"},Ve={class:"form-control mb-4"},Se={class:"form-control mb-4"},Ue={class:"form-control mb-6"},Te={class:"label cursor-pointer justify-start gap-3"},De={class:"flex gap-3"},Le=["disabled"],Be=I({__name:"mcpconfig",setup(Ee){const f=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}];function D(o){const t=Number(o)||0,l=f.find(k=>k.value===t);return l?l.label:t===0?"通用":"区域"+t}const L={0:"HTTP",1:"SSE"};function E(o){const t=Number(o)||0;return L[t]||String(o??"HTTP")}const{webApi:g}=G(),{success:V,error:x,warn:N}=O(),p=u("list"),c=u([]),y=u(!1),w=u(!1),r=u(!1),b=u(0),_=u(""),s=z({id:"",name:"",region:1,type:0,url:"",tools:"",description:"",enable:!0}),S=R(()=>{const o=_.value.trim().toLowerCase();return o?c.value.filter(t=>((t.id||"")+(t.name||"")).toLowerCase().includes(o)):c.value});async function v(){y.value=!0;try{const o=await g("getmcpservers",{region:b.value});c.value=o?.servers??[]}catch(o){x(o?.message??"获取 MCP 服务失败"),c.value=[]}finally{y.value=!1}}function h(){p.value="list",v()}function U(o){o?(r.value=!0,s.id=o.id||"",s.name=o.name||"",s.region=o.region||1,s.type=o.type!=null?o.type:0,s.url=o.url||"",s.tools=o.tools||"",s.description=o.description||"",s.enable=!!o.enable):(r.value=!1,s.id="",s.name="",s.region=b.value>0?b.value:1,s.type=0,s.url="",s.tools="",s.description="",s.enable=!0),p.value="form"}async function $(){const o={id:s.id.trim(),name:s.name.trim(),region:Number(s.region)||0,type:Number(s.type)||0,url:s.url.trim(),tools:s.tools.trim(),description:s.description.trim(),enable:s.enable};if(!o.id){N("服务ID 必填");return}w.value=!0;try{await g(r.value?"updatemcpserver":"addmcpserver",o),V("保存成功"),h()}catch(t){x(t?.message??"保存失败")}finally{w.value=!1}}function F(o){window.confirm(`确定删除 MCP 服务 "${o}" 吗?`)&&g("delmcpserver",{ids:[o]}).then(()=>{V("删除成功"),v()}).catch(t=>x(t?.message??"删除失败"))}return A(v),(o,t)=>(i(),a("div",null,[n(e("div",null,[e("div",Y,[t[13]||(t[13]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"MCP 配置"),e("p",{class:"text-xs text-slate-400 mt-1"},"MCP(模型上下文协议)服务器,按区域分组,所有应用共享。修改后各服务约 10 分钟内自动同步。")],-1)),e("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=l=>U())},"+ 新增 MCP 服务")]),e("div",J,[t[15]||(t[15]=e("span",{class:"text-sm text-slate-500"},"区域筛选",-1)),n(e("select",{"onUpdate:modelValue":t[1]||(t[1]=l=>b.value=l),class:"select select-bordered select-sm",onChange:v},[t[14]||(t[14]=e("option",{value:0},"全部区域",-1)),(i(),a(C,null,M(f,l=>e("option",{key:l.value,value:l.value},d(l.label),9,K)),64))],544),[[P,b.value,void 0,{number:!0}]]),n(e("input",{"onUpdate:modelValue":t[2]||(t[2]=l=>_.value=l),class:"input input-bordered input-sm w-48",placeholder:"按ID/名称搜索"},null,512),[[m,_.value]])]),e("div",Q,[e("div",W,[e("table",X,[t[18]||(t[18]=e("thead",null,[e("tr",null,[e("th",null,"服务ID"),e("th",null,"名称"),e("th",null,"区域"),e("th",null,"类型"),e("th",null,"地址"),e("th",null,"工具"),e("th",null,"状态"),e("th",{class:"text-right"},"操作")])],-1)),e("tbody",null,[y.value?(i(),a("tr",Z,[...t[16]||(t[16]=[e("td",{colspan:"8",class:"text-center py-8"},[e("span",{class:"loading loading-spinner loading-sm"})],-1)])])):S.value.length?B("",!0):(i(),a("tr",ee,[...t[17]||(t[17]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"暂无 MCP 服务",-1)])])),(i(!0),a(C,null,M(S.value,l=>(i(),a("tr",{key:l.id},[e("td",te,d(l.id||""),1),e("td",le,d(l.name||""),1),e("td",null,[e("span",se,d(D(l.region)),1)]),e("td",null,[e("span",oe,d(E(l.type)),1)]),e("td",{class:"text-sm text-slate-500 max-w-xs truncate",title:l.url||""},d(l.url||""),9,ne),e("td",ae,[l.tools&&l.tools.trim()?(i(),a("span",ie,d(l.tools),1)):(i(),a("span",de,"全部"))]),e("td",null,[l.enable?(i(),a("span",re,"启用")):(i(),a("span",ue,"停用"))]),e("td",me,[e("div",be,[e("button",{class:"btn btn-ghost btn-xs",onClick:k=>U(l)},"编辑",8,pe),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:k=>F(l.id)},"删除",8,ce)])])]))),128))])])])])],512),[[T,p.value==="list"]]),n(e("div",null,[e("div",ve,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[3]||(t[3]=l=>h())},"← 返回列表"),e("h2",fe,d(r.value?"编辑 MCP 服务":"新增 MCP 服务"),1)]),e("div",ge,[e("form",{onSubmit:j($,["prevent"])},[e("div",xe,[e("div",ye,[t[19]||(t[19]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"服务ID *")],-1)),n(e("input",{"onUpdate:modelValue":t[4]||(t[4]=l=>s.id=l),type:"text",class:H(["input input-bordered w-full",{"bg-slate-100":r.value}]),readonly:r.value,required:"",placeholder:"如 gaode_map"},null,10,we),[[m,s.id]]),e("span",_e,d(r.value?"编辑模式下不可修改":"唯一标识,创建后不可修改"),1)]),e("div",he,[t[20]||(t[20]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"名称")],-1)),n(e("input",{"onUpdate:modelValue":t[5]||(t[5]=l=>s.name=l),type:"text",class:"input input-bordered w-full"},null,512),[[m,s.name]])]),e("div",ke,[t[21]||(t[21]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"区域 *")],-1)),n(e("select",{"onUpdate:modelValue":t[6]||(t[6]=l=>s.region=l),class:"select select-bordered w-full"},[(i(),a(C,null,M(f,l=>e("option",{key:l.value,value:l.value},d(l.label),9,Ce)),64))],512),[[P,s.region,void 0,{number:!0}]])]),e("div",Me,[t[23]||(t[23]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"类型")],-1)),n(e("select",{"onUpdate:modelValue":t[7]||(t[7]=l=>s.type=l),class:"select select-bordered w-full"},[...t[22]||(t[22]=[e("option",{value:0},"HTTP",-1),e("option",{value:1},"SSE",-1)])],512),[[P,s.type,void 0,{number:!0}]])])]),e("div",Pe,[t[24]||(t[24]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"服务地址 (url)")],-1)),n(e("input",{"onUpdate:modelValue":t[8]||(t[8]=l=>s.url=l),type:"text",class:"input input-bordered w-full font-mono text-sm",placeholder:"https://..."},null,512),[[m,s.url]])]),e("div",Ve,[t[25]||(t[25]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"启用工具 (tools)")],-1)),n(e("input",{"onUpdate:modelValue":t[9]||(t[9]=l=>s.tools=l),type:"text",class:"input input-bordered w-full",placeholder:"逗号分隔,留空表示全部启用"},null,512),[[m,s.tools]])]),e("div",Se,[t[26]||(t[26]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"描述")],-1)),n(e("input",{"onUpdate:modelValue":t[10]||(t[10]=l=>s.description=l),type:"text",class:"input input-bordered w-full"},null,512),[[m,s.description]])]),e("div",Ue,[e("label",Te,[n(e("input",{"onUpdate:modelValue":t[11]||(t[11]=l=>s.enable=l),type:"checkbox",class:"toggle toggle-primary"},null,512),[[q,s.enable]]),t[27]||(t[27]=e("span",{class:"label-text font-medium"},"启用该服务",-1))])]),e("div",De,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[12]||(t[12]=l=>h())},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:w.value},"保存",8,Le)])],32)])],512),[[T,p.value==="form"]])]))}});export{Be as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BjeKh_cp.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BjeKh_cp.js new file mode 100644 index 00000000..6bc4b014 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BjeKh_cp.js @@ -0,0 +1 @@ +import{g as Z,C as $,j as ee,c as l,a as e,k as v,p as j,l as D,F as y,r as h,m as w,I as te,D as se,t as i,d as B,s as u,A as _,x as ne,o}from"./CfpW9SkI.js";import{u as le}from"./DSu8q42f.js";import{u as oe}from"./CMwGY1Mu.js";import"./DL330dAC.js";const ae={class:"space-y-6"},ie={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4"},re={class:"flex items-end gap-3 flex-wrap"},de={class:"form-control"},ue={key:0,value:""},ce=["value"],pe={class:"form-control"},me={key:0,value:""},ve=["value"],be={class:"form-control"},fe=["onKeydown"],xe={key:0,class:"bg-white rounded-xl shadow-sm border border-slate-100 p-12 text-center text-slate-400"},ge={key:1,class:"space-y-5"},ye={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5 flex items-center gap-4"},he=["src"],we={key:1,class:"w-14 h-14 rounded-full bg-indigo-100 text-indigo-600 flex items-center justify-center text-xl font-bold"},_e={class:"text-lg font-semibold text-slate-800"},ke={class:"text-xs text-slate-400 font-mono mt-0.5"},Ie={class:"ml-auto flex items-center gap-3"},Ae={class:"badge badge-primary badge-outline"},Ue={class:"px-5 py-3 border-b border-slate-50 text-sm font-semibold text-slate-700"},Ve={class:"px-5 py-3 grid grid-cols-1 md:grid-cols-2 gap-x-8"},Ce={class:"text-xs text-slate-400 shrink-0"},De={class:"text-sm text-slate-700 break-all text-right"},Ne={class:"modal-box max-w-md"},Me={class:"text-xs text-slate-400 mb-4"},Se={class:"font-mono text-slate-600"},Ge={class:"grid grid-cols-3 gap-3"},Pe={class:"form-control"},je={class:"form-control"},Be={class:"form-control"},Le=Z({__name:"users",setup(Te){const{webApi:N,consoleApi:T}=le(),{success:q,error:M,warn:c}=oe(),b=$(),E={cn:"中国",us:"美国",hw:"海外",ea:"东亚",sea:"东南亚",sa:"南亚",me:"中东",eu:"欧洲",ru:"俄罗斯",af:"非洲",sam:"南美",nam:"北美",oc:"大洋洲",br:"巴西",in:"印度"};function F(s){return E[s]||s||"默认"}const f=u([]),p=u(""),m=u(""),k=u(""),r=u(null),S=u("请输入查询条件后点击「搜索」"),I=u(""),x=u(""),K=_(()=>[1,2,3].includes(b.identity)),g=u(null),a=ne({vipday:0,trademin:0,meetmin:0}),A=_(()=>{const s=[];return f.value.forEach(t=>{s.includes(t.name)||s.push(t.name)}),s}),U=_(()=>f.value.filter(s=>s.name===p.value));function G(){const s=U.value;m.value=s.length?s[0].id:""}function L(s){return s?new Date(s*1e3).toLocaleString():"-"}function R(s){return s?"是":"否"}function H(s){return s===1?"男":s===2?"女":"未知"}function V(s){return s==null||s===""?"-":s}const O=[{title:"基本信息",rows:[["uid","UID"],["name","用户名"],["account","登录账号"],["mail","邮箱"],["phone","手机号"],["gender","性别","gender"],["language","语言"],["version","版本"],["channel","渠道"],["State","状态"],["country_code","国家码"],["continent_code","大洲码"],["servicetag","服务区"],["phonemodel","手机型号"],["phonemac","设备ID"]]},{title:"第三方登录",rows:[["wxopenid","微信 openid"],["googleopenid","Google openid"],["facebookopenid","Facebook openid"],["appleopenid","Apple openid"]]},{title:"会员与积分",rows:[["viplv","VIP等级"],["vipexptime","VIP到期","ts"],["aichatintegral","AI积分"],["aichattotalintegral","AI累计积分"],["tradeintegral","翻译积分"],["tradetotalintegral","翻译累计积分"],["meetintegral","会议积分"],["meettotalintegral","会议累计积分"],["lastbindproductid","最后绑定产品ID"],["isactivatecode","已领激活码","bool"],["isgiveaway","首次绑定赠送","bool"]]},{title:"时间",rows:[["createtime","注册时间","ts"],["lastsgintime","最后登录","ts"],["canceltime","注销时间","ts"]]}];function z(s,t){const n=t[2],d=s[t[0]];return n==="ts"?L(d):n==="bool"?R(d):n==="gender"?H(d):V(d)}const J=_(()=>{const s=r.value;return s?String(s.name||s.uid||"?").charAt(0).toUpperCase():"?"});async function C(){if(!p.value){c("请选择应用");return}if(!m.value){c("请选择区域");return}const s=k.value.trim();if(!s){c("请输入用户UID");return}const t=Number(m.value);I.value=t,x.value=s,b.setCurrentApp(t);try{const n=await N("getuserinfo",{uid:s});r.value=n||{}}catch(n){M(n?.message||"查询失败"),r.value=null,S.value=n?.message||"未找到该用户"}}function Q(){if(!x.value){c("请先查询用户");return}a.vipday=0,a.trademin=0,a.meetmin=0,g.value?.showModal()}function W(){g.value?.close()}async function X(){const s=Number(a.vipday)||0,t=Number(a.trademin)||0,n=Number(a.meetmin)||0;if(s<0||t<0||n<0){c("数量不能为负");return}if(!s&&!t&&!n){c("请至少填写一项");return}if(!I.value||!x.value){c("请先查询用户");return}b.setCurrentApp(Number(I.value));try{await N("giftuserresource",{uid:x.value,vipday:s,trademin:t,meetmin:n}),q("赠送成功"),g.value?.close(),C()}catch(d){M(d?.message||"赠送失败")}}function P(){const s=A.value;if(!s.length){p.value="",m.value="";return}p.value=s[0],G()}async function Y(){if(b.identity===3){f.value=(b.appbinds||[]).map(s=>({id:s.id,name:s.name,region:s.region,enabled:!0})),P();return}try{const s=await T("apps/list",{});f.value=(s||[]).filter(t=>t.enabled)}catch{f.value=[]}P()}return ee(Y),(s,t)=>(o(),l("div",ae,[e("div",ie,[e("div",re,[e("div",de,[t[6]||(t[6]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"应用")],-1)),v(e("select",{"onUpdate:modelValue":t[0]||(t[0]=n=>p.value=n),class:"select select-bordered select-sm",style:{"min-width":"180px"},onChange:G},[A.value.length?D("",!0):(o(),l("option",ue,"无可用应用")),(o(!0),l(y,null,h(A.value,n=>(o(),l("option",{key:n,value:n},i(n),9,ce))),128))],544),[[j,p.value]])]),e("div",pe,[t[7]||(t[7]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"区域")],-1)),v(e("select",{"onUpdate:modelValue":t[1]||(t[1]=n=>m.value=n),class:"select select-bordered select-sm",style:{"min-width":"140px"}},[U.value.length?D("",!0):(o(),l("option",me,"无可用区域")),(o(!0),l(y,null,h(U.value,n=>(o(),l("option",{key:n.id,value:n.id},i(F(n.region)),9,ve))),128))],512),[[j,m.value]])]),e("div",be,[t[8]||(t[8]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"用户UID")],-1)),v(e("input",{"onUpdate:modelValue":t[2]||(t[2]=n=>k.value=n),type:"text",class:"input input-bordered input-sm",style:{"min-width":"240px"},placeholder:"输入用户 UID",onKeydown:te(se(C,["prevent"]),["enter"])},null,40,fe),[[w,k.value]])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:C},"搜索")]),t[9]||(t[9]=e("p",{class:"text-xs text-slate-400 mt-2"},"选择应用与区域后输入 UID,直接查询该部署业务库中的用户信息。",-1))]),r.value?(o(),l("div",ge,[e("div",ye,[r.value.avatar?(o(),l("img",{key:0,src:r.value.avatar,class:"w-14 h-14 rounded-full object-cover border border-slate-100"},null,8,he)):(o(),l("div",we,i(J.value),1)),e("div",null,[e("div",_e,i(V(r.value.name)),1),e("div",ke,i(V(r.value.uid)),1)]),e("div",Ie,[e("span",Ae,"VIP "+i(r.value.viplv||0),1),K.value?(o(),l("button",{key:0,class:"btn btn-success btn-sm text-white",onClick:Q},"赠送资源点")):D("",!0)])]),(o(),l(y,null,h(O,n=>e("div",{key:n.title,class:"bg-white rounded-xl shadow-sm border border-slate-100 overflow-hidden"},[e("div",Ue,i(n.title),1),e("div",Ve,[(o(!0),l(y,null,h(n.rows,d=>(o(),l("div",{key:d[0],class:"flex justify-between gap-3 py-1.5 border-b border-slate-50"},[e("span",Ce,i(d[1]),1),e("span",De,i(z(r.value,d)),1)]))),128))])])),64))])):(o(),l("div",xe,i(S.value),1)),e("dialog",{ref_key:"giftModal",ref:g,class:"modal"},[e("div",Ne,[t[15]||(t[15]=e("h3",{class:"font-bold text-lg mb-1 text-slate-800"},"赠送资源点",-1)),e("p",Me,[t[10]||(t[10]=B("目标用户 UID:",-1)),e("span",Se,i(x.value),1),t[11]||(t[11]=B("。代理账号将从自己的资源点余额中扣减,超管/管理员无消耗。",-1))]),e("div",Ge,[e("div",Pe,[t[12]||(t[12]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"VIP天数")],-1)),v(e("input",{"onUpdate:modelValue":t[3]||(t[3]=n=>a.vipday=n),type:"number",class:"input input-bordered",min:"0"},null,512),[[w,a.vipday,void 0,{number:!0}]])]),e("div",je,[t[13]||(t[13]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"翻译分钟")],-1)),v(e("input",{"onUpdate:modelValue":t[4]||(t[4]=n=>a.trademin=n),type:"number",class:"input input-bordered",min:"0"},null,512),[[w,a.trademin,void 0,{number:!0}]])]),e("div",Be,[t[14]||(t[14]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"会议分钟")],-1)),v(e("input",{"onUpdate:modelValue":t[5]||(t[5]=n=>a.meetmin=n),type:"number",class:"input input-bordered",min:"0"},null,512),[[w,a.meetmin,void 0,{number:!0}]])])]),e("div",{class:"modal-action"},[e("button",{class:"btn btn-sm",onClick:W},"取消"),e("button",{class:"btn btn-success btn-sm text-white",onClick:X},"确认赠送")])]),t[16]||(t[16]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512)]))}});export{Le as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Bxcdr2qc.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Bxcdr2qc.js deleted file mode 100644 index c1b34b0e..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Bxcdr2qc.js +++ /dev/null @@ -1 +0,0 @@ -import{g as P,j as R,c as r,k as n,v as V,a as t,l as B,F as H,r as I,t as i,D as L,m as a,q as O,s as b,x as E,A as q,o as u,n as D,d as z}from"./CTAruH_8.js";import{u as G}from"./9B2ftqmN.js";import{u as K}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const Y={class:"flex items-center justify-between mb-5"},J={class:"bg-white rounded-xl shadow-sm border border-slate-100"},Q={class:"overflow-x-auto"},W={class:"table table-zebra text-sm"},X={key:0},Z={key:1},tt={class:"font-mono"},st={class:"font-medium"},et={class:"font-mono text-xs text-slate-500"},lt={class:"text-xs text-slate-500"},ot={key:0,class:"text-green-600"},nt={key:1,class:"text-slate-400"},at={class:"flex gap-1"},dt=["onClick"],it=["onClick"],rt={class:"flex items-center gap-3 mb-5"},ut={class:"text-lg font-semibold text-slate-800"},pt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},mt={class:"grid grid-cols-2 gap-4"},bt={class:"form-control"},ft={class:"form-control"},ct={class:"grid grid-cols-3 gap-4"},xt={class:"form-control col-span-2"},vt={class:"form-control"},gt={class:"form-control mt-4"},yt={class:"form-control mt-4"},_t={class:"grid grid-cols-2 gap-4"},kt={class:"form-control"},wt={class:"form-control"},ht={class:"form-control"},St={class:"form-control"},Vt={class:"grid grid-cols-2 gap-4"},Ut={class:"form-control"},Ct={class:"form-control"},Ht={class:"grid grid-cols-2 gap-4 mt-4"},It={class:"form-control"},Et={class:"form-control"},Dt={class:"form-control mt-4"},Tt={class:"flex items-center gap-2 mt-4"},Nt={class:"flex items-center gap-2 cursor-pointer"},$t={class:"mt-4 text-sm space-y-0.5"},jt={class:"flex gap-3 mt-6"},At=["disabled"],Ft=["disabled"],qt=P({__name:"environments",setup(Mt){const{consoleApi:c}=G(),{success:_,error:m}=K(),x=b("list"),v=b([]),k=b(!1),g=b(!1),f=b(!1),y=b(!1),d=E({show:!1,ok:!1,ssh_ok:!1,ssh_msg:"",etcd_ok:!1,etcd_msg:"",redis_ok:!1,redis_msg:"",nats_ok:!1,nats_msg:""}),T=q(()=>[{key:"ssh",label:"SSH 部署机",ok:d.ssh_ok,msg:d.ssh_msg},{key:"etcd",label:"ETCD",ok:d.etcd_ok,msg:d.etcd_msg},{key:"redis",label:"Redis",ok:d.redis_ok,msg:d.redis_msg},{key:"nats",label:"NATS",ok:d.nats_ok,msg:d.nats_msg}]);function w(){return{id:0,name:"",code:"",remark:"",enabled:!0,ssh_host:"",ssh_port:22,ssh_user:"root",ssh_private_key:"",registry:"",registry_user:"",registry_pass:"",docker_network:"1panel-network",etcd_servers:"",redis_addr:"",redis_pwd:"",nats_url:""}}const l=E(w());function U(o){Object.assign(l,w(),o)}function N(o){return o.ssh_host?`${o.ssh_user||"root"}@${o.ssh_host}:${o.ssh_port||22}`:"-"}function $(o){return o.registry||"-"}async function h(){k.value=!0;try{const o=await c("envs/list",{});v.value=o??[]}catch(o){m(o?.message??"获取环境列表失败"),v.value=[]}finally{k.value=!1}}function p(){f.value=!1,d.show=!1}function S(){x.value="list",h()}function C(o){o?(g.value=!0,U(o)):(g.value=!1,U(w())),p(),x.value="form"}async function j(){if(!l.ssh_host.trim()){m("请先填 SSH 主机");return}y.value=!0;try{const o=await c("envs/test",{...l});Object.assign(d,o,{show:!0}),f.value=!!o.ok,f.value?_("SSH 握手成功,可以保存"):m("SSH 未通过,请检查主机/私钥/用户")}catch(o){m(o?.message??"测试失败")}finally{y.value=!1}}async function A(){if(!f.value){m("请先「测试连接」通过再保存");return}const o={...l};let s="envs/add";g.value&&l.id?(o.id=Number(l.id),s="envs/update"):delete o.id;try{await c(s,o),_("保存成功"),S()}catch(e){m(e?.message??"失败")}}function F(o){window.confirm(`删除环境 #${o} ?(该环境下若有应用关联将被拒绝)`)&&c("envs/del",{id:o}).then(()=>{_("已删除"),h()}).catch(s=>m(s?.message??"失败"))}return R(h),(o,s)=>(u(),r("div",null,[n(t("div",null,[t("div",Y,[s[19]||(s[19]=t("div",null,[t("h2",{class:"text-lg font-semibold text-slate-800"},"环境节点(部署服务器)"),t("p",{class:"text-sm text-slate-400 mt-1"},"部署服务器节点(如 上海 / 日本 / 新加坡):远端 IP、SSH 登录账号与私钥、私有镜像仓库、区域共享基础设施。应用管理里「部署到目标环境」从这里选择、两边对应;下一期即可从页面直接更新服务/部署应用。密钥加密存储,不回显明文。")],-1)),t("button",{class:"btn btn-primary btn-sm text-white",onClick:s[0]||(s[0]=e=>C())},"+ 新增节点")]),t("div",J,[t("div",Q,[t("table",W,[s[22]||(s[22]=t("thead",null,[t("tr",null,[t("th",null,"ID"),t("th",null,"名称"),t("th",null,"区域码"),t("th",null,"SSH 目标"),t("th",null,"镜像仓库"),t("th",null,"启用"),t("th",null,"操作")])],-1)),t("tbody",null,[k.value?(u(),r("tr",X,[...s[20]||(s[20]=[t("td",{colspan:"7",class:"text-center py-8"},[t("span",{class:"loading loading-spinner loading-sm"})],-1)])])):v.value.length?B("",!0):(u(),r("tr",Z,[...s[21]||(s[21]=[t("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无环境",-1)])])),(u(!0),r(H,null,I(v.value,e=>(u(),r("tr",{key:e.id},[t("td",tt,i(e.id),1),t("td",st,i(e.name||""),1),t("td",null,i(e.code||""),1),t("td",et,i(N(e)),1),t("td",lt,i($(e)),1),t("td",null,[e.enabled?(u(),r("span",ot,"是")):(u(),r("span",nt,"否"))]),t("td",null,[t("div",at,[t("button",{class:"btn btn-ghost btn-xs",onClick:M=>C(e)},"编辑",8,dt),t("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:M=>F(e.id)},"删除",8,it)])])]))),128))])])])])],512),[[V,x.value==="list"]]),n(t("div",null,[t("div",rt,[t("button",{class:"btn btn-ghost btn-sm",onClick:s[1]||(s[1]=e=>S())},"← 返回"),t("h2",ut,i(g.value?"编辑节点":"新增节点"),1)]),t("div",pt,[t("form",{onSubmit:L(A,["prevent"])},[t("div",mt,[t("div",bt,[s[23]||(s[23]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"名称 *")],-1)),n(t("input",{"onUpdate:modelValue":s[2]||(s[2]=e=>l.name=e),type:"text",class:"input input-bordered w-full",required:"",placeholder:"如 上海生产"},null,512),[[a,l.name]])]),t("div",ft,[s[24]||(s[24]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"区域码")],-1)),n(t("input",{"onUpdate:modelValue":s[3]||(s[3]=e=>l.code=e),type:"text",class:"input input-bordered w-full",list:"env-code-list",placeholder:"shanghai / japan / singapore"},null,512),[[a,l.code]]),s[25]||(s[25]=t("datalist",{id:"env-code-list"},[t("option",{value:"shanghai"}),t("option",{value:"japan"}),t("option",{value:"singapore"})],-1))])]),s[41]||(s[41]=t("div",{class:"divider text-xs text-slate-400 mt-6"},"SSH 部署目标",-1)),t("div",ct,[t("div",xt,[s[26]||(s[26]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"SSH 主机")],-1)),n(t("input",{"onUpdate:modelValue":s[4]||(s[4]=e=>l.ssh_host=e),type:"text",class:"input input-bordered w-full",placeholder:"139.224.212.237",onInput:p},null,544),[[a,l.ssh_host]])]),t("div",vt,[s[27]||(s[27]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"端口")],-1)),n(t("input",{"onUpdate:modelValue":s[5]||(s[5]=e=>l.ssh_port=e),type:"number",class:"input input-bordered w-full",placeholder:"22",onInput:p},null,544),[[a,l.ssh_port,void 0,{number:!0}]])])]),t("div",gt,[s[28]||(s[28]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"SSH 用户")],-1)),n(t("input",{"onUpdate:modelValue":s[6]||(s[6]=e=>l.ssh_user=e),type:"text",class:"input input-bordered w-full",placeholder:"root",onInput:p},null,544),[[a,l.ssh_user]])]),t("div",yt,[s[29]||(s[29]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"SSH 私钥 (PEM)")],-1)),n(t("textarea",{"onUpdate:modelValue":s[7]||(s[7]=e=>l.ssh_private_key=e),class:"textarea textarea-bordered w-full font-mono text-xs h-28",placeholder:"-----BEGIN OPENSSH PRIVATE KEY-----",onInput:p},null,544),[[a,l.ssh_private_key]]),s[30]||(s[30]=t("span",{class:"text-xs text-slate-400 mt-1"},"加密存储;编辑时显示 [encrypted] 表示不改,如需更换直接粘贴新私钥。",-1))]),s[42]||(s[42]=t("div",{class:"divider text-xs text-slate-400 mt-6"},"私有镜像仓库 + Docker 网络",-1)),t("div",_t,[t("div",kt,[s[31]||(s[31]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"仓库地址")],-1)),n(t("input",{"onUpdate:modelValue":s[8]||(s[8]=e=>l.registry=e),type:"text",class:"input input-bordered w-full",placeholder:"docker-registry.ideapsound.com"},null,512),[[a,l.registry]])]),t("div",wt,[s[32]||(s[32]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"Docker 网络")],-1)),n(t("input",{"onUpdate:modelValue":s[9]||(s[9]=e=>l.docker_network=e),type:"text",class:"input input-bordered w-full",placeholder:"1panel-network"},null,512),[[a,l.docker_network]])]),t("div",ht,[s[33]||(s[33]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"仓库账号")],-1)),n(t("input",{"onUpdate:modelValue":s[10]||(s[10]=e=>l.registry_user=e),type:"text",class:"input input-bordered w-full",autocomplete:"off"},null,512),[[a,l.registry_user]])]),t("div",St,[s[34]||(s[34]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"仓库密码")],-1)),n(t("input",{"onUpdate:modelValue":s[11]||(s[11]=e=>l.registry_pass=e),type:"password",class:"input input-bordered w-full",autocomplete:"new-password",placeholder:"[encrypted]"},null,512),[[a,l.registry_pass]])])]),s[43]||(s[43]=t("div",{class:"divider text-xs text-slate-400 mt-6"},"节点共享集群服务",-1)),s[44]||(s[44]=t("p",{class:"text-xs text-slate-400 -mt-2 mb-2"},"该服务器上各应用共用的地址。各应用自己的部署目录、业务库 DSN、镜像、redis 库号等,在「应用管理 → 部署到目标环境」里按应用填。",-1)),t("div",Vt,[t("div",Ut,[s[35]||(s[35]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"ETCD")],-1)),n(t("input",{"onUpdate:modelValue":s[12]||(s[12]=e=>l.etcd_servers=e),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"etcd:2379",onInput:p},null,544),[[a,l.etcd_servers]])]),t("div",Ct,[s[36]||(s[36]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"NATS")],-1)),n(t("input",{"onUpdate:modelValue":s[13]||(s[13]=e=>l.nats_url=e),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"nats://nats:4222",onInput:p},null,544),[[a,l.nats_url]])])]),t("div",Ht,[t("div",It,[s[37]||(s[37]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"Redis 地址")],-1)),n(t("input",{"onUpdate:modelValue":s[14]||(s[14]=e=>l.redis_addr=e),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"redis:6379",onInput:p},null,544),[[a,l.redis_addr]])]),t("div",Et,[s[38]||(s[38]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"Redis 密码")],-1)),n(t("input",{"onUpdate:modelValue":s[15]||(s[15]=e=>l.redis_pwd=e),type:"password",class:"input input-bordered w-full",autocomplete:"new-password",placeholder:"[encrypted]"},null,512),[[a,l.redis_pwd]])])]),t("div",Dt,[s[39]||(s[39]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"备注")],-1)),n(t("input",{"onUpdate:modelValue":s[16]||(s[16]=e=>l.remark=e),type:"text",class:"input input-bordered w-full"},null,512),[[a,l.remark]])]),t("div",Tt,[t("label",Nt,[n(t("input",{"onUpdate:modelValue":s[17]||(s[17]=e=>l.enabled=e),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[O,l.enabled]]),s[40]||(s[40]=t("span",{class:"text-sm"},"启用",-1))])]),n(t("div",$t,[(u(!0),r(H,null,I(T.value,e=>(u(),r("div",{key:e.key,class:D(e.ok?"text-green-700":"text-red-600")},[t("span",{class:D(e.ok?"text-green-600":"text-red-500")},i(e.ok?"✓":"✗"),3),z(" "+i(e.label)+":"+i(e.msg),1)],2))),128))],512),[[V,d.show]]),t("div",jt,[t("button",{type:"button",class:"btn btn-ghost",onClick:s[18]||(s[18]=e=>S())},"取消"),t("button",{type:"button",class:"btn btn-outline",disabled:y.value,onClick:j},i(y.value?"测试中...":"测试连接"),9,At),t("button",{type:"submit",class:"btn btn-primary text-white",disabled:!f.value},"保存",8,Ft)]),s[45]||(s[45]=t("p",{class:"text-xs text-slate-400 mt-2"},"需先「测试连接」(SSH 握手成功即可保存;基础设施逐项仅作提示)。",-1))],32)])],512),[[V,x.value==="form"]])]))}});export{qt as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C1U0GWax.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C1U0GWax.js new file mode 100644 index 00000000..40c46a0c --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C1U0GWax.js @@ -0,0 +1 @@ +import{g as I,j as A,c as a,k as n,v as T,a as e,F as C,r as M,p as P,m as b,l as B,t as d,D as j,n as H,q,s as u,x as z,A as R,o as i}from"./CfpW9SkI.js";import{u as G}from"./DSu8q42f.js";import{u as O}from"./CMwGY1Mu.js";import"./DL330dAC.js";const Y={class:"flex items-center justify-between mb-5"},J={class:"flex items-center gap-3 mb-4"},K=["value"],Q={class:"bg-white rounded-xl shadow-sm border border-slate-100"},W={class:"overflow-x-auto"},X={class:"table table-zebra"},Z={key:0},ee={key:1},te={class:"font-mono text-sm font-medium"},le={class:"text-sm"},se={class:"badge badge-ghost badge-sm"},oe={class:"badge badge-sm badge-outline"},ne=["title"],ae={class:"text-sm text-slate-400"},ie={key:0},de={key:1,class:"text-slate-300"},re={key:0,class:"badge badge-success badge-sm text-white"},ue={key:1,class:"badge badge-ghost badge-sm"},be={class:"text-right"},me={class:"inline-flex gap-1"},pe=["onClick"],ce=["onClick"],ve={class:"flex items-center gap-3 mb-5"},fe={class:"text-lg font-semibold text-slate-800"},ge={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},xe={class:"grid grid-cols-2 gap-4"},ye={class:"form-control mb-4"},we=["readonly"],_e={class:"text-xs text-slate-400 mt-1"},he={class:"form-control mb-4"},ke={class:"form-control mb-4"},Ce=["value"],Me={class:"form-control mb-4"},Pe={class:"form-control mb-4"},Ve={class:"form-control mb-4"},Se={class:"form-control mb-4"},Ue={class:"form-control mb-6"},Te={class:"label cursor-pointer justify-start gap-3"},De={class:"flex gap-3"},Le=["disabled"],Ae=I({__name:"mcpconfig",setup(Ee){const f=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}];function D(o){const t=Number(o)||0,l=f.find(k=>k.value===t);return l?l.label:t===0?"通用":"区域"+t}const L={0:"HTTP",1:"SSE"};function E(o){const t=Number(o)||0;return L[t]||String(o??"HTTP")}const{webApi:g}=G(),{success:V,error:x,warn:N}=O(),p=u("list"),c=u([]),y=u(!1),w=u(!1),r=u(!1),m=u(1),_=u(""),s=z({id:"",name:"",region:1,type:0,url:"",tools:"",description:"",enable:!0}),S=R(()=>{const o=_.value.trim().toLowerCase();return o?c.value.filter(t=>((t.id||"")+(t.name||"")).toLowerCase().includes(o)):c.value});async function v(){y.value=!0;try{const o=await g("getmcpservers",{region:m.value});c.value=o?.servers??[]}catch(o){x(o?.message??"获取 MCP 服务失败"),c.value=[]}finally{y.value=!1}}function h(){p.value="list",v()}function U(o){o?(r.value=!0,s.id=o.id||"",s.name=o.name||"",s.region=o.region||1,s.type=o.type!=null?o.type:0,s.url=o.url||"",s.tools=o.tools||"",s.description=o.description||"",s.enable=!!o.enable):(r.value=!1,s.id="",s.name="",s.region=m.value>0?m.value:1,s.type=0,s.url="",s.tools="",s.description="",s.enable=!0),p.value="form"}async function $(){const o={id:s.id.trim(),name:s.name.trim(),region:Number(s.region)||0,type:Number(s.type)||0,url:s.url.trim(),tools:s.tools.trim(),description:s.description.trim(),enable:s.enable};if(!o.id){N("服务ID 必填");return}w.value=!0;try{await g(r.value?"updatemcpserver":"addmcpserver",o),V("保存成功"),h()}catch(t){x(t?.message??"保存失败")}finally{w.value=!1}}function F(o){window.confirm(`确定删除 MCP 服务 "${o}" 吗?`)&&g("delmcpserver",{ids:[o]}).then(()=>{V("删除成功"),v()}).catch(t=>x(t?.message??"删除失败"))}return A(v),(o,t)=>(i(),a("div",null,[n(e("div",null,[e("div",Y,[t[13]||(t[13]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"MCP 配置"),e("p",{class:"text-xs text-slate-400 mt-1"},"MCP(模型上下文协议)服务器,按区域分组,所有应用共享。修改后各服务约 10 分钟内自动同步。")],-1)),e("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=l=>U())},"+ 新增 MCP 服务")]),e("div",J,[t[15]||(t[15]=e("span",{class:"text-sm text-slate-500"},"区域筛选",-1)),n(e("select",{"onUpdate:modelValue":t[1]||(t[1]=l=>m.value=l),class:"select select-bordered select-sm",onChange:v},[t[14]||(t[14]=e("option",{value:0},"全部区域",-1)),(i(),a(C,null,M(f,l=>e("option",{key:l.value,value:l.value},d(l.label),9,K)),64))],544),[[P,m.value,void 0,{number:!0}]]),n(e("input",{"onUpdate:modelValue":t[2]||(t[2]=l=>_.value=l),class:"input input-bordered input-sm w-48",placeholder:"按ID/名称搜索"},null,512),[[b,_.value]])]),e("div",Q,[e("div",W,[e("table",X,[t[18]||(t[18]=e("thead",null,[e("tr",null,[e("th",null,"服务ID"),e("th",null,"名称"),e("th",null,"区域"),e("th",null,"类型"),e("th",null,"地址"),e("th",null,"工具"),e("th",null,"状态"),e("th",{class:"text-right"},"操作")])],-1)),e("tbody",null,[y.value?(i(),a("tr",Z,[...t[16]||(t[16]=[e("td",{colspan:"8",class:"text-center py-8"},[e("span",{class:"loading loading-spinner loading-sm"})],-1)])])):S.value.length?B("",!0):(i(),a("tr",ee,[...t[17]||(t[17]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"暂无 MCP 服务",-1)])])),(i(!0),a(C,null,M(S.value,l=>(i(),a("tr",{key:l.id},[e("td",te,d(l.id||""),1),e("td",le,d(l.name||""),1),e("td",null,[e("span",se,d(D(l.region)),1)]),e("td",null,[e("span",oe,d(E(l.type)),1)]),e("td",{class:"text-sm text-slate-500 max-w-xs truncate",title:l.url||""},d(l.url||""),9,ne),e("td",ae,[l.tools&&l.tools.trim()?(i(),a("span",ie,d(l.tools),1)):(i(),a("span",de,"全部"))]),e("td",null,[l.enable?(i(),a("span",re,"启用")):(i(),a("span",ue,"停用"))]),e("td",be,[e("div",me,[e("button",{class:"btn btn-ghost btn-xs",onClick:k=>U(l)},"编辑",8,pe),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:k=>F(l.id)},"删除",8,ce)])])]))),128))])])])])],512),[[T,p.value==="list"]]),n(e("div",null,[e("div",ve,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[3]||(t[3]=l=>h())},"← 返回列表"),e("h2",fe,d(r.value?"编辑 MCP 服务":"新增 MCP 服务"),1)]),e("div",ge,[e("form",{onSubmit:j($,["prevent"])},[e("div",xe,[e("div",ye,[t[19]||(t[19]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"服务ID *")],-1)),n(e("input",{"onUpdate:modelValue":t[4]||(t[4]=l=>s.id=l),type:"text",class:H(["input input-bordered w-full",{"bg-slate-100":r.value}]),readonly:r.value,required:"",placeholder:"如 gaode_map"},null,10,we),[[b,s.id]]),e("span",_e,d(r.value?"编辑模式下不可修改":"唯一标识,创建后不可修改"),1)]),e("div",he,[t[20]||(t[20]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"名称")],-1)),n(e("input",{"onUpdate:modelValue":t[5]||(t[5]=l=>s.name=l),type:"text",class:"input input-bordered w-full"},null,512),[[b,s.name]])]),e("div",ke,[t[21]||(t[21]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"区域 *")],-1)),n(e("select",{"onUpdate:modelValue":t[6]||(t[6]=l=>s.region=l),class:"select select-bordered w-full"},[(i(),a(C,null,M(f,l=>e("option",{key:l.value,value:l.value},d(l.label),9,Ce)),64))],512),[[P,s.region,void 0,{number:!0}]])]),e("div",Me,[t[23]||(t[23]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"类型")],-1)),n(e("select",{"onUpdate:modelValue":t[7]||(t[7]=l=>s.type=l),class:"select select-bordered w-full"},[...t[22]||(t[22]=[e("option",{value:0},"HTTP",-1),e("option",{value:1},"SSE",-1)])],512),[[P,s.type,void 0,{number:!0}]])])]),e("div",Pe,[t[24]||(t[24]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"服务地址 (url)")],-1)),n(e("input",{"onUpdate:modelValue":t[8]||(t[8]=l=>s.url=l),type:"text",class:"input input-bordered w-full font-mono text-sm",placeholder:"https://..."},null,512),[[b,s.url]])]),e("div",Ve,[t[25]||(t[25]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"启用工具 (tools)")],-1)),n(e("input",{"onUpdate:modelValue":t[9]||(t[9]=l=>s.tools=l),type:"text",class:"input input-bordered w-full",placeholder:"逗号分隔,留空表示全部启用"},null,512),[[b,s.tools]])]),e("div",Se,[t[26]||(t[26]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"描述")],-1)),n(e("input",{"onUpdate:modelValue":t[10]||(t[10]=l=>s.description=l),type:"text",class:"input input-bordered w-full"},null,512),[[b,s.description]])]),e("div",Ue,[e("label",Te,[n(e("input",{"onUpdate:modelValue":t[11]||(t[11]=l=>s.enable=l),type:"checkbox",class:"toggle toggle-primary"},null,512),[[q,s.enable]]),t[27]||(t[27]=e("span",{class:"label-text font-medium"},"启用该服务",-1))])]),e("div",De,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[12]||(t[12]=l=>h())},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:w.value},"保存",8,Le)])],32)])],512),[[T,p.value==="form"]])]))}});export{Ae as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C1a5GrA3.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C1a5GrA3.js new file mode 100644 index 00000000..a0c034db --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C1a5GrA3.js @@ -0,0 +1 @@ +import{g as K,j as T,c as a,k as c,v as E,a as t,l as M,F as C,r as V,t as r,D as N,m as v,I as z,s as d,x as A,o as n,d as q}from"./CfpW9SkI.js";import{u as H}from"./DSu8q42f.js";import{u as G}from"./CMwGY1Mu.js";import"./DL330dAC.js";const J={class:"flex items-center justify-between mb-5"},O={class:"bg-white rounded-xl shadow-sm border border-slate-100"},P={class:"overflow-x-auto"},Q={class:"table table-zebra"},R={key:0},W={key:1},X={class:"font-mono text-sm"},Y={class:"font-medium"},Z={class:"badge badge-ghost badge-sm"},tt={class:"text-sm"},et={key:1,class:"text-slate-300"},st={class:"text-sm text-slate-500"},lt={class:"flex gap-1"},ot=["onClick"],at=["onClick"],nt={class:"flex items-center gap-3 mb-5"},it={class:"text-lg font-semibold text-slate-800"},rt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},dt={class:"form-control mb-4"},ut={class:"form-control mb-4"},ct={class:"form-control mb-4"},mt={class:"form-control mb-6"},bt={class:"space-y-2"},pt={key:0,class:"text-xs text-slate-400"},ft={class:"badge badge-lg gap-1 bg-slate-100 border-slate-200"},vt=["onClick"],yt={class:"flex gap-2 mt-2"},gt=["onKeydown"],xt={class:"flex gap-3"},ht=["disabled"],Ft=K({__name:"factory",setup(_t){const{webApi:y}=H(),{success:F,error:g,warn:U}=G(),p=d("list"),f=d([]),x=d(!1),h=d(!1),m=d(!1),i=d([]),b=d(""),o=A({id:0,factory:"",factoryflag:"",description:""});function j(s){return s?Number(s).toString(16).toUpperCase():""}function _(s){return(s||"").split(",").map(e=>e.trim()).filter(Boolean)}async function w(){x.value=!0;try{const s=await y("getfactorys",{});f.value=s?.factorys??[]}catch(s){g(s?.message??"获取厂家列表失败"),f.value=[]}finally{x.value=!1}}function k(){p.value="list",w()}function $(s){s?(m.value=!0,o.id=s.id,o.factory=s.factory||"",o.factoryflag=s.factoryflag||"",o.description=s.description||"",i.value=_(s.contactmails)):(m.value=!1,o.id=0,o.factory="",o.factoryflag="",o.description="",i.value=[]),b.value="",p.value="form"}function B(){const s=b.value.trim();if(s){if(i.value.includes(s)){U("邮箱已存在");return}i.value.push(s),b.value=""}}function L(s){i.value.splice(s,1)}async function S(){h.value=!0;try{const s={Factory:{factory:o.factory,factoryflag:o.factoryflag,description:o.description,contactmails:i.value.join(",")}};m.value&&(s.Factory.id=Number(o.id)),await y(m.value?"updatefactory":"addfactory",s),F("保存成功"),k()}catch(s){g(s?.message??"保存失败")}finally{h.value=!1}}function I(s){window.confirm(`确定删除工厂 "${s.factory}" 吗?`)&&y("delfactory",{id:s.id}).then(()=>{F("删除成功"),w()}).catch(e=>g(e?.message??"删除失败"))}return T(w),(s,e)=>(n(),a("div",null,[c(t("div",null,[t("div",J,[e[7]||(e[7]=t("h2",{class:"text-lg font-semibold text-slate-800"},"厂家列表",-1)),t("button",{class:"btn btn-primary btn-sm text-white",onClick:e[0]||(e[0]=l=>$())},"+ 新增工厂")]),t("div",O,[t("div",P,[t("table",Q,[e[10]||(e[10]=t("thead",null,[t("tr",null,[t("th",null,"ID"),t("th",null,"工厂名称"),t("th",null,"标识"),t("th",null,"联系邮箱"),t("th",null,"批次"),t("th",null,"产品"),t("th",null,"操作")])],-1)),t("tbody",null,[x.value?(n(),a("tr",R,[...e[8]||(e[8]=[t("td",{colspan:"7",class:"text-center py-8"},[t("span",{class:"loading loading-spinner loading-sm"})],-1)])])):f.value.length?M("",!0):(n(),a("tr",W,[...e[9]||(e[9]=[t("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])])),(n(!0),a(C,null,V(f.value,l=>(n(),a("tr",{key:l.id},[t("td",X,r(j(l.id)),1),t("td",Y,r(l.factory),1),t("td",null,[t("span",Z,r(l.factoryflag),1)]),t("td",tt,[_(l.contactmails).length?(n(!0),a(C,{key:0},V(_(l.contactmails),(u,D)=>(n(),a("span",{key:D,class:"badge badge-ghost badge-sm mr-1"},r(u),1))),128)):(n(),a("span",et,"-"))]),t("td",null,r(l.probatch||0),1),t("td",st,r(l.productlists||""),1),t("td",null,[t("div",lt,[t("button",{class:"btn btn-ghost btn-xs",onClick:u=>$(l)},"编辑",8,ot),t("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:u=>I(l)},"删除",8,at)])])]))),128))])])])])],512),[[E,p.value==="list"]]),c(t("div",null,[t("div",nt,[t("button",{class:"btn btn-ghost btn-sm",onClick:e[1]||(e[1]=l=>k())},"← 返回列表"),t("h2",it,r(m.value?"编辑工厂":"新增工厂"),1)]),t("div",rt,[t("form",{onSubmit:N(S,["prevent"])},[t("div",dt,[e[11]||(e[11]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"工厂名称 *")],-1)),c(t("input",{"onUpdate:modelValue":e[2]||(e[2]=l=>o.factory=l),type:"text",class:"input input-bordered w-full",required:""},null,512),[[v,o.factory]])]),t("div",ut,[e[12]||(e[12]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"工厂标识")],-1)),c(t("input",{"onUpdate:modelValue":e[3]||(e[3]=l=>o.factoryflag=l),type:"text",class:"input input-bordered w-full"},null,512),[[v,o.factoryflag]])]),t("div",ct,[e[13]||(e[13]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"描述")],-1)),c(t("textarea",{"onUpdate:modelValue":e[4]||(e[4]=l=>o.description=l),class:"textarea textarea-bordered w-full",rows:"3"},null,512),[[v,o.description]])]),t("div",mt,[e[15]||(e[15]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"联系邮箱")],-1)),t("div",bt,[i.value.length?M("",!0):(n(),a("p",pt,"暂无邮箱")),(n(!0),a(C,null,V(i.value,(l,u)=>(n(),a("div",{key:u,class:"flex items-center gap-2"},[t("span",ft,[e[14]||(e[14]=t("svg",{class:"h-3 w-3 text-slate-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})],-1)),q(" "+r(l),1)]),t("button",{type:"button",class:"btn btn-ghost btn-xs text-red-400 hover:text-red-600",onClick:D=>L(u)},"×",8,vt)]))),128))]),t("div",yt,[c(t("input",{"onUpdate:modelValue":e[5]||(e[5]=l=>b.value=l),type:"email",class:"input input-bordered input-sm flex-1",placeholder:"输入邮箱地址",onKeydown:z(N(B,["prevent"]),["enter"])},null,40,gt),[[v,b.value]]),t("button",{type:"button",class:"btn btn-outline btn-sm btn-primary",onClick:B},"添加")])]),t("div",xt,[t("button",{type:"button",class:"btn btn-ghost",onClick:e[6]||(e[6]=l=>k())},"取消"),t("button",{type:"submit",class:"btn btn-primary text-white",disabled:h.value},"保存",8,ht)])],32)])],512),[[E,p.value==="form"]])]))}});export{Ft as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C2sLAWj2.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C2sLAWj2.js deleted file mode 100644 index e524eb08..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C2sLAWj2.js +++ /dev/null @@ -1 +0,0 @@ -import{g as ot,j as at,o as n,c as o,k as r,v as A,a as s,l as D,F as y,r as k,t as p,n as it,m as w,p as H,d as m,q as M,s as b,x as B,_ as dt}from"./CTAruH_8.js";import{u as ut}from"./9B2ftqmN.js";import{u as rt}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const pt={class:"flex items-center justify-between mb-4"},ct={class:"bg-white rounded-xl shadow-sm border border-slate-100 overflow-hidden"},mt={class:"table table-sm"},bt={key:0},xt={key:1},vt={class:"font-mono"},ft={class:"font-medium"},yt={key:0,class:"text-green-600 text-xs"},gt={key:1,class:"text-slate-400 text-xs"},kt={key:0,class:"text-xs text-slate-500"},wt={key:1,class:"text-xs text-slate-300"},_t={key:1,class:"text-xs text-slate-300"},ht={key:2,class:"text-[11px] text-emerald-600 mt-0.5"},Ct={class:"text-xs text-slate-500"},Vt={class:"flex gap-1 justify-end"},Ut=["onClick"],It=["onClick"],St=["onClick"],Et=["onClick"],$t={class:"flex items-center gap-3 mb-5"},Nt={class:"text-lg font-semibold text-slate-800"},jt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},At={class:"grid grid-cols-2 gap-3"},Mt=["disabled"],Pt={class:"col-span-2"},Tt={class:"mt-4 border-t border-slate-100 pt-4"},Lt={class:"mb-3"},Ot={class:"flex flex-wrap gap-2"},Dt=["value"],Bt={class:"mb-3"},Gt={class:"flex flex-wrap gap-2"},Rt=["value"],Ft={key:1,class:"text-xs text-slate-300"},qt={class:"mb-3"},zt={class:"flex flex-wrap gap-2"},Ht=["value"],Jt={class:"max-h-56 overflow-y-auto pr-1 border border-slate-100 rounded-lg p-2"},Kt={key:0,class:"text-xs text-slate-300"},Qt={key:1,class:"text-xs text-slate-300"},Wt={class:"text-[11px] font-semibold text-slate-500 mb-1 sticky top-0 bg-white py-0.5"},Xt={class:"flex flex-wrap gap-2"},Yt=["value"],Zt={class:"flex gap-3 justify-end mt-6"},ts=["disabled"],ss={class:"modal-box max-w-md"},es={class:"text-xs text-slate-400 mb-3"},ls={class:"font-medium text-slate-600"},ns={class:"text-emerald-600"},os={class:"grid grid-cols-3 gap-3"},as={class:"modal-action"},is=ot({__name:"accounts",setup(ds){const{webApi:G,consoleApi:v}=ut(),{success:h,error:g,warn:J}=rt(),K={1:"超管",2:"管理员",3:"代理",4:"运营"},Q={1:"badge-error",2:"badge-primary",3:"badge-warning",4:"badge-info"},W=[["dashboard","仪表盘"],["factory","厂家管理"],["product","产品管理"],["device","生产管理"],["code","公码管理"],["user","用户查询"],["apps","应用注册"]],X=[["cn","中国"],["us","美国"],["ea","东亚"],["sea","东南亚"],["sa","南亚"],["me","中东"],["eu","欧洲"],["ru","俄罗斯"],["af","非洲"],["sam","南美"],["nam","北美"],["oc","大洋洲"],["br","巴西"],["in","印度"]],C=b("list"),V=b([]),U=b([]),P=b(!1),I=b(!1),f=b(0),a=B({username:"",password:"",identity:2,enabled:"1",remark:""}),d=B({access:[],apps:[],regions:[],products:[]}),_=b([]),T=b(!1);function x(l){return(l||"").split(",").map(t=>t.trim()).filter(t=>t)}function S(l){return l.join(",")}function R(l){const t=[];return l.apps&&t.push("应用:"+x(l.apps).length),l.regions&&t.push("区域:"+x(l.regions).length),l.products&&t.push("产品:"+x(l.products).length),l.access&&t.push("页面:"+x(l.access).length),t}async function E(){P.value=!0;try{try{U.value=await v("apps/list",{})??[]}catch{U.value=[]}const l=await v("accounts/list",{});V.value=l??[]}catch(l){g(l?.message??"获取账号列表失败"),V.value=[]}finally{P.value=!1}}async function Y(){T.value=!0,_.value=[];try{const[l,t]=await Promise.all([G("getfactorys",{}),G("getproducts",{})]),e=l?.factorys??[],i=t?.products??[],$={};e.forEach(c=>{$[c.id]=c.factory||"厂家#"+c.id});const N={};i.forEach(c=>{const j=String(c.factoryid||0);(N[j]=N[j]||[]).push(c)});const nt=Object.keys(N).sort((c,j)=>(parseInt(c)||0)-(parseInt(j)||0));_.value=nt.map(c=>({fid:c,label:$[c]||(parseInt(c)?"厂家#"+c:"未分组"),products:N[c]??[]}))}catch{_.value=[]}finally{T.value=!1}}function F(l){f.value=l?l.id:0,a.username=l&&l.username||"",a.password="",a.identity=l?l.identity:2,a.enabled=l&&!l.enabled?"0":"1",a.remark=l&&l.remark||"",d.access=x(l?.access),d.apps=x(l?.apps),d.regions=x(l?.regions),d.products=x(l?.products),Y(),C.value="form"}function L(){C.value="list",E()}async function Z(){const l=a.identity,t={identity:l,enabled:a.enabled==="1",remark:a.remark.trim(),access:"",apps:"",regions:"",products:""};(l===3||l===4)&&(t.access=S(d.access),t.apps=S(d.apps),t.regions=S(d.regions),t.products=S(d.products)),I.value=!0;try{if(f.value)t.id=f.value,await v("accounts/update",t);else{if(t.username=a.username.trim(),t.password=a.password,!t.username||!t.password){g("用户名和密码必填"),I.value=!1;return}await v("accounts/add",t)}h("已保存"),L()}catch(e){g(e?.message??"保存失败")}finally{I.value=!1}}async function tt(l,t){const e=window.prompt("为账号【"+t+"】设置新密码:");if(e)try{await v("accounts/resetpwd",{id:l,password:e}),h("密码已重置")}catch(i){g(i?.message??"失败")}}function st(l,t){window.confirm("确认删除账号【"+t+"】?该操作不可恢复。")&&v("accounts/del",{id:l}).then(()=>{h("已删除"),E()}).catch(e=>g(e?.message??"失败"))}const O=b(null),q=b(0),u=B({name:"",cur:"",vipday:0,trademin:0,meetmin:0});function et(l){q.value=l.id,u.name=l.username||"#"+l.id,u.cur="VIP"+(l.balance_vipday||0)+"天 · 翻译"+(l.balance_trademin||0)+"分 · 会议"+(l.balance_meetmin||0)+"分",u.vipday=0,u.trademin=0,u.meetmin=0,O.value?.showModal()}function z(){O.value?.close()}async function lt(){const l=Number(u.vipday)||0,t=Number(u.trademin)||0,e=Number(u.meetmin)||0;if(!l&&!t&&!e){J("请至少填写一项");return}try{await v("accounts/topup",{account_id:q.value,vipday:l,trademin:t,meetmin:e}),h("余额已更新"),z(),E()}catch(i){g(i?.message??"操作失败")}}return at(E),(l,t)=>(n(),o("div",null,[r(s("div",null,[s("div",pt,[t[18]||(t[18]=s("div",null,[s("h2",{class:"text-lg font-bold text-slate-700"},"后台账号"),s("p",{class:"text-xs text-slate-400 mt-0.5"},"超管 / 管理员 / 代理 / 运营。代理·运营可绑定应用·区域·产品,登录后仪表盘按绑定限制。")],-1)),s("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=e=>F())},"+ 新建账号")]),s("div",ct,[s("table",mt,[t[21]||(t[21]=s("thead",null,[s("tr",{class:"text-slate-500"},[s("th",null,"ID"),s("th",null,"用户名"),s("th",null,"角色"),s("th",null,"状态"),s("th",null,"绑定作用域"),s("th",null,"备注"),s("th",{class:"text-right"},"操作")])],-1)),s("tbody",null,[P.value?(n(),o("tr",bt,[...t[19]||(t[19]=[s("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"加载中...",-1)])])):V.value.length?D("",!0):(n(),o("tr",xt,[...t[20]||(t[20]=[s("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无账号(引导超管不在此列)",-1)])])),(n(!0),o(y,null,k(V.value,e=>(n(),o("tr",{key:e.id},[s("td",vt,p(e.id),1),s("td",ft,p(e.username||""),1),s("td",null,[s("span",{class:it(["badge badge-sm",Q[e.identity]||""])},p(K[e.identity]||e.identity),3)]),s("td",null,[e.enabled?(n(),o("span",yt,"启用")):(n(),o("span",gt,"停用"))]),s("td",null,[e.identity===3||e.identity===4?(n(),o(y,{key:0},[R(e).length?(n(),o("span",kt,p(R(e).join(" · ")),1)):(n(),o("span",wt,"未绑定(不限)"))],64)):(n(),o("span",_t,"全部权限")),e.identity===3?(n(),o("div",ht," 余额 VIP"+p(e.balance_vipday||0)+"天 · 翻译"+p(e.balance_trademin||0)+"分 · 会议"+p(e.balance_meetmin||0)+"分 ",1)):D("",!0)]),s("td",Ct,p(e.remark||""),1),s("td",null,[s("div",Vt,[e.identity===3?(n(),o("button",{key:0,class:"btn btn-ghost btn-xs text-emerald-600",onClick:i=>et(e)},"充值",8,Ut)):D("",!0),s("button",{class:"btn btn-ghost btn-xs",onClick:i=>F(e)},"编辑",8,It),s("button",{class:"btn btn-ghost btn-xs text-amber-600",onClick:i=>tt(e.id,e.username)},"改密",8,St),s("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:i=>st(e.id,e.username)},"删除",8,Et)])])]))),128))])])])],512),[[A,C.value==="list"]]),r(s("div",null,[s("div",$t,[s("button",{class:"btn btn-ghost btn-sm",onClick:t[1]||(t[1]=e=>L())},"← 返回列表"),s("h2",Nt,p(f.value?"编辑账号 #"+f.value:"新建账号"),1)]),s("div",jt,[s("div",At,[s("div",null,[t[22]||(t[22]=s("label",{class:"text-xs text-slate-500"},"用户名",-1)),r(s("input",{"onUpdate:modelValue":t[2]||(t[2]=e=>a.username=e),disabled:!!f.value,class:"input input-bordered input-sm w-full",placeholder:"登录用户名"},null,8,Mt),[[w,a.username]])]),r(s("div",null,[t[23]||(t[23]=s("label",{class:"text-xs text-slate-500"},"密码",-1)),r(s("input",{"onUpdate:modelValue":t[3]||(t[3]=e=>a.password=e),type:"password",class:"input input-bordered input-sm w-full",placeholder:"登录密码"},null,512),[[w,a.password]])],512),[[A,!f.value]]),s("div",null,[t[25]||(t[25]=s("label",{class:"text-xs text-slate-500"},"角色",-1)),r(s("select",{"onUpdate:modelValue":t[4]||(t[4]=e=>a.identity=e),class:"select select-bordered select-sm w-full"},[...t[24]||(t[24]=[s("option",{value:2},"管理员(除账号管理外全部)",-1),s("option",{value:3},"代理(外部,按绑定限制)",-1),s("option",{value:4},"运营(内部,按绑定限制)",-1),s("option",{value:1},"超管(全部权限)",-1)])],512),[[H,a.identity,void 0,{number:!0}]])]),s("div",null,[t[27]||(t[27]=s("label",{class:"text-xs text-slate-500"},"状态",-1)),r(s("select",{"onUpdate:modelValue":t[5]||(t[5]=e=>a.enabled=e),class:"select select-bordered select-sm w-full"},[...t[26]||(t[26]=[s("option",{value:"1"},"启用",-1),s("option",{value:"0"},"停用",-1)])],512),[[H,a.enabled]])]),s("div",Pt,[t[28]||(t[28]=s("label",{class:"text-xs text-slate-500"},"备注",-1)),r(s("input",{"onUpdate:modelValue":t[6]||(t[6]=e=>a.remark=e),class:"input input-bordered input-sm w-full",placeholder:"可选"},null,512),[[w,a.remark]])])]),r(s("div",Tt,[t[33]||(t[33]=s("div",{class:"text-sm font-semibold text-slate-600 mb-2"},[m("作用域绑定 "),s("span",{class:"text-xs text-slate-400 font-normal"},"(代理/运营生效;勾选可访问页面,并限制仪表盘数据范围)")],-1)),s("div",Lt,[t[29]||(t[29]=s("div",{class:"text-xs text-slate-500 mb-1.5"},"可访问页面",-1)),s("div",Ot,[(n(),o(y,null,k(W,e=>s("label",{key:e[0],class:"chk"},[r(s("input",{"onUpdate:modelValue":t[7]||(t[7]=i=>d.access=i),type:"checkbox",value:e[0]},null,8,Dt),[[M,d.access]]),m(p(e[1]),1)])),64))])]),s("div",Bt,[t[30]||(t[30]=s("div",{class:"text-xs text-slate-500 mb-1.5"},[m("绑定应用 "),s("span",{class:"text-slate-300"},"(仪表盘只显示这些应用数据;不勾=不限)")],-1)),s("div",Gt,[U.value.length?(n(!0),o(y,{key:0},k(U.value,e=>(n(),o("label",{key:e.id,class:"chk"},[r(s("input",{"onUpdate:modelValue":t[8]||(t[8]=i=>d.apps=i),type:"checkbox",value:e.name},null,8,Rt),[[M,d.apps]]),m(p(e.name||"应用#"+e.id),1)]))),128)):(n(),o("span",Ft,"无注册应用"))])]),s("div",qt,[t[31]||(t[31]=s("div",{class:"text-xs text-slate-500 mb-1.5"},[m("绑定区域 "),s("span",{class:"text-slate-300"},"(不勾=不限)")],-1)),s("div",zt,[(n(),o(y,null,k(X,e=>s("label",{key:e[0],class:"chk"},[r(s("input",{"onUpdate:modelValue":t[9]||(t[9]=i=>d.regions=i),type:"checkbox",value:e[0]},null,8,Ht),[[M,d.regions]]),m(p(e[1]),1)])),64))])]),s("div",null,[t[32]||(t[32]=s("div",{class:"text-xs text-slate-500 mb-1.5"},[m("绑定产品 "),s("span",{class:"text-slate-300"},"(按厂家分组;仪表盘只显示这些产品数据;不勾=不限)")],-1)),s("div",Jt,[T.value?(n(),o("span",Kt,"加载产品中...")):_.value.length?(n(!0),o(y,{key:2},k(_.value,e=>(n(),o("div",{key:e.fid,class:"mb-2 last:mb-0"},[s("div",Wt,"🏭 "+p(e.label),1),s("div",Xt,[(n(!0),o(y,null,k(e.products,i=>(n(),o("label",{key:i.id,class:"chk"},[r(s("input",{"onUpdate:modelValue":t[10]||(t[10]=$=>d.products=$),type:"checkbox",value:String(i.id)},null,8,Yt),[[M,d.products]]),m(p((i.devicename||"产品")+" #"+i.id),1)]))),128))])]))),128)):(n(),o("span",Qt,"无产品"))])])],512),[[A,a.identity===3||a.identity===4]]),s("div",Zt,[s("button",{class:"btn btn-ghost btn-sm",onClick:t[11]||(t[11]=e=>L())},"取消"),s("button",{class:"btn btn-primary btn-sm text-white",disabled:I.value,onClick:t[12]||(t[12]=e=>Z())},"保存",8,ts)])])],512),[[A,C.value==="form"]]),s("dialog",{ref_key:"topupModal",ref:O,class:"modal"},[s("div",ss,[t[39]||(t[39]=s("h3",{class:"font-bold text-lg mb-1"},"充值 / 调整资源点",-1)),s("p",es,[t[34]||(t[34]=m("代理:",-1)),s("span",ls,p(u.name),1),t[35]||(t[35]=m("。填增量(可填负数下调),当前余额:",-1)),s("span",ns,p(u.cur),1)]),s("div",os,[s("div",null,[t[36]||(t[36]=s("label",{class:"text-xs text-slate-500"},"VIP天数",-1)),r(s("input",{"onUpdate:modelValue":t[13]||(t[13]=e=>u.vipday=e),type:"number",class:"input input-bordered input-sm w-full"},null,512),[[w,u.vipday,void 0,{number:!0}]])]),s("div",null,[t[37]||(t[37]=s("label",{class:"text-xs text-slate-500"},"翻译分钟",-1)),r(s("input",{"onUpdate:modelValue":t[14]||(t[14]=e=>u.trademin=e),type:"number",class:"input input-bordered input-sm w-full"},null,512),[[w,u.trademin,void 0,{number:!0}]])]),s("div",null,[t[38]||(t[38]=s("label",{class:"text-xs text-slate-500"},"会议分钟",-1)),r(s("input",{"onUpdate:modelValue":t[15]||(t[15]=e=>u.meetmin=e),type:"number",class:"input input-bordered input-sm w-full"},null,512),[[w,u.meetmin,void 0,{number:!0}]])])]),s("div",as,[s("button",{class:"btn btn-ghost btn-sm",onClick:t[16]||(t[16]=e=>z())},"取消"),s("button",{class:"btn btn-primary btn-sm text-white",onClick:t[17]||(t[17]=e=>lt())},"确认")])]),t[40]||(t[40]=s("form",{method:"dialog",class:"modal-backdrop"},[s("button",null,"close")],-1))],512)]))}}),bs=dt(is,[["__scopeId","data-v-eb25cf37"]]);export{bs as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C4pFFOT7.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C4pFFOT7.js new file mode 100644 index 00000000..306e6c45 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C4pFFOT7.js @@ -0,0 +1 @@ +import{g as j,j as B,c as n,k as i,v as $,a as e,F as b,r as y,p as A,m as v,l as F,t as r,D as I,s as d,x as O,A as D,o as u}from"./CfpW9SkI.js";import{u as T}from"./DSu8q42f.js";import{u as q}from"./CMwGY1Mu.js";import"./DL330dAC.js";const G={class:"flex items-center justify-between mb-5"},z={class:"flex items-center gap-3 mb-4"},H=["value"],J={class:"bg-white rounded-xl shadow-sm border border-slate-100"},K={class:"overflow-x-auto"},P={class:"table"},Q={key:0},W={key:1},X={class:"bg-slate-100/80"},Y={colspan:"4",class:"py-2"},Z={class:"font-semibold text-slate-600 text-sm"},ee={class:"text-xs text-slate-400 ml-2"},te={class:"font-mono text-sm font-medium"},le=["title"],se={class:"text-sm text-slate-400"},oe={class:"text-right"},ae={class:"inline-flex gap-1"},ne=["onClick"],ie=["onClick"],ue={class:"flex items-center gap-3 mb-5"},re={class:"text-lg font-semibold text-slate-800"},de={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},me={class:"grid grid-cols-2 gap-4"},be={class:"form-control mb-4"},ve=["value"],pe={class:"form-control mb-4"},ce={class:"form-control mb-4"},fe={class:"form-control mb-4"},ge={class:"form-control mb-6"},xe={class:"flex gap-3"},ye=["disabled"],Ve=j({__name:"globalconfig",setup(we){const V=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}],{webApi:p}=T(),{success:U,error:w}=q(),c=d("list"),f=d([]),k=d(!1),_=d(!1),g=d(!1),m=d(1),h=d(""),s=O({id:0,region:1,group:"",key:"",value:"",description:""}),N=D(()=>{const o=h.value.trim().toLowerCase();return o?f.value.filter(t=>((t.group||"")+(t.key||"")).toLowerCase().includes(o)):f.value}),E=D(()=>{const o={};return N.value.forEach(l=>{const a=l.group||"";(o[a]=o[a]||[]).push(l)}),Object.keys(o).sort((l,a)=>l===""?-1:a===""?1:l({key:l,label:l||"未分组",items:o[l]}))});async function x(){k.value=!0;try{const o=await p("getglobalconfigs",{region:m.value});f.value=o?.items??[]}catch(o){w(o?.message??"获取配置失败"),f.value=[]}finally{k.value=!1}}function C(){c.value="list",x()}function S(o){o?(g.value=!0,s.id=o.id||0,s.region=o.region||1,s.group=o.group||"",s.key=o.key||"",s.value=o.value||"",s.description=o.description||""):(g.value=!1,s.id=0,s.region=m.value>0?m.value:1,s.group="",s.key="",s.value="",s.description=""),c.value="form"}async function L(){_.value=!0;try{const o={region:Number(s.region)||0,group:s.group.trim(),key:s.key.trim(),value:s.value,description:s.description.trim()};g.value?(o.id=Number(s.id),await p("updateglobalconfig",o)):await p("addglobalconfig",o),U("保存成功"),C()}catch(o){w(o?.message??"保存失败")}finally{_.value=!1}}function M(o){window.confirm("确定删除该配置项吗?")&&p("delglobalconfig",{ids:[o.id]}).then(()=>{U("删除成功"),x()}).catch(t=>w(t?.message??"删除失败"))}return B(x),(o,t)=>(u(),n("div",null,[i(e("div",null,[e("div",G,[t[10]||(t[10]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"全局环境配置"),e("p",{class:"text-xs text-slate-400 mt-1"},"全局第三方服务配置(AI / 翻译等),按区域分组,所有应用共享。修改后各服务约 10 分钟内自动同步。")],-1)),e("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=l=>S())},"+ 新增配置")]),e("div",z,[t[11]||(t[11]=e("span",{class:"text-sm text-slate-500"},"区域",-1)),i(e("select",{"onUpdate:modelValue":t[1]||(t[1]=l=>m.value=l),class:"select select-bordered select-sm",onChange:x},[(u(),n(b,null,y(V,l=>e("option",{key:l.value,value:l.value},r(l.label),9,H)),64))],544),[[A,m.value,void 0,{number:!0}]]),i(e("input",{"onUpdate:modelValue":t[2]||(t[2]=l=>h.value=l),class:"input input-bordered input-sm w-48",placeholder:"按分组/键搜索"},null,512),[[v,h.value]])]),e("div",J,[e("div",K,[e("table",P,[t[14]||(t[14]=e("thead",null,[e("tr",null,[e("th",null,"键"),e("th",null,"值"),e("th",null,"描述"),e("th",{class:"text-right"},"操作")])],-1)),e("tbody",null,[k.value?(u(),n("tr",Q,[...t[12]||(t[12]=[e("td",{colspan:"4",class:"text-center py-8"},[e("span",{class:"loading loading-spinner loading-sm"})],-1)])])):N.value.length?F("",!0):(u(),n("tr",W,[...t[13]||(t[13]=[e("td",{colspan:"4",class:"text-center text-slate-400 py-8"},"暂无配置",-1)])])),(u(!0),n(b,null,y(E.value,l=>(u(),n(b,{key:l.key},[e("tr",X,[e("td",Y,[e("span",Z,"▸ "+r(l.label),1),e("span",ee,r(l.items.length)+" 项",1)])]),(u(!0),n(b,null,y(l.items,a=>(u(),n("tr",{key:a.id,class:"hover"},[e("td",te,r(a.key||""),1),e("td",{class:"text-sm text-slate-500 max-w-xs truncate",title:a.value||""},r(a.value||""),9,le),e("td",se,r(a.description||""),1),e("td",oe,[e("div",ae,[e("button",{class:"btn btn-ghost btn-xs",onClick:R=>S(a)},"编辑",8,ne),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:R=>M(a)},"删除",8,ie)])])]))),128))],64))),128))])])])])],512),[[$,c.value==="list"]]),i(e("div",null,[e("div",ue,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[3]||(t[3]=l=>C())},"← 返回列表"),e("h2",re,r(g.value?"编辑配置":"新增配置"),1)]),e("div",de,[e("form",{onSubmit:I(L,["prevent"])},[e("div",me,[e("div",be,[t[15]||(t[15]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"区域 *")],-1)),i(e("select",{"onUpdate:modelValue":t[4]||(t[4]=l=>s.region=l),class:"select select-bordered w-full"},[(u(),n(b,null,y(V,l=>e("option",{key:l.value,value:l.value},r(l.label),9,ve)),64))],512),[[A,s.region,void 0,{number:!0}]])]),e("div",pe,[t[16]||(t[16]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"分组 (group)")],-1)),i(e("input",{"onUpdate:modelValue":t[5]||(t[5]=l=>s.group=l),type:"text",class:"input input-bordered w-full",placeholder:"如 ai / translate / asr"},null,512),[[v,s.group]])])]),e("div",ce,[t[17]||(t[17]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"键 (key) *")],-1)),i(e("input",{"onUpdate:modelValue":t[6]||(t[6]=l=>s.key=l),type:"text",class:"input input-bordered w-full",required:"",placeholder:"如 openai_api_key"},null,512),[[v,s.key]])]),e("div",fe,[t[18]||(t[18]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"值 (value)")],-1)),i(e("textarea",{"onUpdate:modelValue":t[7]||(t[7]=l=>s.value=l),class:"textarea textarea-bordered w-full font-mono text-sm",rows:"3"},null,512),[[v,s.value]])]),e("div",ge,[t[19]||(t[19]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"描述")],-1)),i(e("input",{"onUpdate:modelValue":t[8]||(t[8]=l=>s.description=l),type:"text",class:"input input-bordered w-full"},null,512),[[v,s.description]])]),e("div",xe,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[9]||(t[9]=l=>C())},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:_.value},"保存",8,ye)])],32)])],512),[[$,c.value==="form"]])]))}});export{Ve as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CEy0BeiT.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CEy0BeiT.js new file mode 100644 index 00000000..ef7a5f20 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CEy0BeiT.js @@ -0,0 +1 @@ +import{g as P,j as R,c as r,k as n,v as V,a as t,l as B,F as H,r as I,t as i,D as L,m as a,q as O,s as b,x as E,A as q,o as u,n as D,d as z}from"./CfpW9SkI.js";import{u as G}from"./DSu8q42f.js";import{u as K}from"./CMwGY1Mu.js";import"./DL330dAC.js";const Y={class:"flex items-center justify-between mb-5"},J={class:"bg-white rounded-xl shadow-sm border border-slate-100"},Q={class:"overflow-x-auto"},W={class:"table table-zebra text-sm"},X={key:0},Z={key:1},tt={class:"font-mono"},st={class:"font-medium"},et={class:"font-mono text-xs text-slate-500"},lt={class:"text-xs text-slate-500"},ot={key:0,class:"text-green-600"},nt={key:1,class:"text-slate-400"},at={class:"flex gap-1"},dt=["onClick"],it=["onClick"],rt={class:"flex items-center gap-3 mb-5"},ut={class:"text-lg font-semibold text-slate-800"},pt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},mt={class:"grid grid-cols-2 gap-4"},bt={class:"form-control"},ft={class:"form-control"},ct={class:"grid grid-cols-3 gap-4"},xt={class:"form-control col-span-2"},vt={class:"form-control"},gt={class:"form-control mt-4"},yt={class:"form-control mt-4"},_t={class:"grid grid-cols-2 gap-4"},kt={class:"form-control"},wt={class:"form-control"},ht={class:"form-control"},St={class:"form-control"},Vt={class:"grid grid-cols-2 gap-4"},Ut={class:"form-control"},Ct={class:"form-control"},Ht={class:"grid grid-cols-2 gap-4 mt-4"},It={class:"form-control"},Et={class:"form-control"},Dt={class:"form-control mt-4"},Tt={class:"flex items-center gap-2 mt-4"},Nt={class:"flex items-center gap-2 cursor-pointer"},$t={class:"mt-4 text-sm space-y-0.5"},jt={class:"flex gap-3 mt-6"},At=["disabled"],Ft=["disabled"],Ot=P({__name:"environments",setup(Mt){const{consoleApi:c}=G(),{success:_,error:m}=K(),x=b("list"),v=b([]),k=b(!1),g=b(!1),f=b(!1),y=b(!1),d=E({show:!1,ok:!1,ssh_ok:!1,ssh_msg:"",etcd_ok:!1,etcd_msg:"",redis_ok:!1,redis_msg:"",nats_ok:!1,nats_msg:""}),T=q(()=>[{key:"ssh",label:"SSH 部署机",ok:d.ssh_ok,msg:d.ssh_msg},{key:"etcd",label:"ETCD",ok:d.etcd_ok,msg:d.etcd_msg},{key:"redis",label:"Redis",ok:d.redis_ok,msg:d.redis_msg},{key:"nats",label:"NATS",ok:d.nats_ok,msg:d.nats_msg}]);function w(){return{id:0,name:"",code:"",remark:"",enabled:!0,ssh_host:"",ssh_port:22,ssh_user:"root",ssh_private_key:"",registry:"",registry_user:"",registry_pass:"",docker_network:"1panel-network",etcd_servers:"",redis_addr:"",redis_pwd:"",nats_url:""}}const l=E(w());function U(o){Object.assign(l,w(),o)}function N(o){return o.ssh_host?`${o.ssh_user||"root"}@${o.ssh_host}:${o.ssh_port||22}`:"-"}function $(o){return o.registry||"-"}async function h(){k.value=!0;try{const o=await c("envs/list",{});v.value=o??[]}catch(o){m(o?.message??"获取环境列表失败"),v.value=[]}finally{k.value=!1}}function p(){f.value=!1,d.show=!1}function S(){x.value="list",h()}function C(o){o?(g.value=!0,U(o)):(g.value=!1,U(w())),p(),x.value="form"}async function j(){if(!l.ssh_host.trim()){m("请先填 SSH 主机");return}y.value=!0;try{const o=await c("envs/test",{...l});Object.assign(d,o,{show:!0}),f.value=!!o.ok,f.value?_("SSH 握手成功,可以保存"):m("SSH 未通过,请检查主机/私钥/用户")}catch(o){m(o?.message??"测试失败")}finally{y.value=!1}}async function A(){if(!f.value){m("请先「测试连接」通过再保存");return}const o={...l};let s="envs/add";g.value&&l.id?(o.id=Number(l.id),s="envs/update"):delete o.id;try{await c(s,o),_("保存成功"),S()}catch(e){m(e?.message??"失败")}}function F(o){window.confirm(`删除环境 #${o} ?(该环境下若有应用关联将被拒绝)`)&&c("envs/del",{id:o}).then(()=>{_("已删除"),h()}).catch(s=>m(s?.message??"失败"))}return R(h),(o,s)=>(u(),r("div",null,[n(t("div",null,[t("div",Y,[s[19]||(s[19]=t("div",null,[t("h2",{class:"text-lg font-semibold text-slate-800"},"环境节点(部署服务器)"),t("p",{class:"text-sm text-slate-400 mt-1"},"部署服务器节点(如 上海 / 日本 / 新加坡):远端 IP、SSH 登录账号与私钥、私有镜像仓库、区域共享基础设施。应用管理里「部署到目标环境」从这里选择、两边对应;下一期即可从页面直接更新服务/部署应用。密钥加密存储,不回显明文。")],-1)),t("button",{class:"btn btn-primary btn-sm text-white",onClick:s[0]||(s[0]=e=>C())},"+ 新增节点")]),t("div",J,[t("div",Q,[t("table",W,[s[22]||(s[22]=t("thead",null,[t("tr",null,[t("th",null,"ID"),t("th",null,"名称"),t("th",null,"区域码"),t("th",null,"SSH 目标"),t("th",null,"镜像仓库"),t("th",null,"启用"),t("th",null,"操作")])],-1)),t("tbody",null,[k.value?(u(),r("tr",X,[...s[20]||(s[20]=[t("td",{colspan:"7",class:"text-center py-8"},[t("span",{class:"loading loading-spinner loading-sm"})],-1)])])):v.value.length?B("",!0):(u(),r("tr",Z,[...s[21]||(s[21]=[t("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无环境",-1)])])),(u(!0),r(H,null,I(v.value,e=>(u(),r("tr",{key:e.id},[t("td",tt,i(e.id),1),t("td",st,i(e.name||""),1),t("td",null,i(e.code||""),1),t("td",et,i(N(e)),1),t("td",lt,i($(e)),1),t("td",null,[e.enabled?(u(),r("span",ot,"是")):(u(),r("span",nt,"否"))]),t("td",null,[t("div",at,[t("button",{class:"btn btn-ghost btn-xs",onClick:M=>C(e)},"编辑",8,dt),t("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:M=>F(e.id)},"删除",8,it)])])]))),128))])])])])],512),[[V,x.value==="list"]]),n(t("div",null,[t("div",rt,[t("button",{class:"btn btn-ghost btn-sm",onClick:s[1]||(s[1]=e=>S())},"← 返回"),t("h2",ut,i(g.value?"编辑节点":"新增节点"),1)]),t("div",pt,[t("form",{onSubmit:L(A,["prevent"])},[t("div",mt,[t("div",bt,[s[23]||(s[23]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"名称 *")],-1)),n(t("input",{"onUpdate:modelValue":s[2]||(s[2]=e=>l.name=e),type:"text",class:"input input-bordered w-full",required:"",placeholder:"如 上海生产"},null,512),[[a,l.name]])]),t("div",ft,[s[24]||(s[24]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"区域码")],-1)),n(t("input",{"onUpdate:modelValue":s[3]||(s[3]=e=>l.code=e),type:"text",class:"input input-bordered w-full",list:"env-code-list",placeholder:"shanghai / japan / singapore"},null,512),[[a,l.code]]),s[25]||(s[25]=t("datalist",{id:"env-code-list"},[t("option",{value:"shanghai"}),t("option",{value:"japan"}),t("option",{value:"singapore"})],-1))])]),s[41]||(s[41]=t("div",{class:"divider text-xs text-slate-400 mt-6"},"SSH 部署目标",-1)),t("div",ct,[t("div",xt,[s[26]||(s[26]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"SSH 主机")],-1)),n(t("input",{"onUpdate:modelValue":s[4]||(s[4]=e=>l.ssh_host=e),type:"text",class:"input input-bordered w-full",placeholder:"139.224.212.237",onInput:p},null,544),[[a,l.ssh_host]])]),t("div",vt,[s[27]||(s[27]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"端口")],-1)),n(t("input",{"onUpdate:modelValue":s[5]||(s[5]=e=>l.ssh_port=e),type:"number",class:"input input-bordered w-full",placeholder:"22",onInput:p},null,544),[[a,l.ssh_port,void 0,{number:!0}]])])]),t("div",gt,[s[28]||(s[28]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"SSH 用户")],-1)),n(t("input",{"onUpdate:modelValue":s[6]||(s[6]=e=>l.ssh_user=e),type:"text",class:"input input-bordered w-full",placeholder:"root",onInput:p},null,544),[[a,l.ssh_user]])]),t("div",yt,[s[29]||(s[29]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"SSH 私钥 (PEM)")],-1)),n(t("textarea",{"onUpdate:modelValue":s[7]||(s[7]=e=>l.ssh_private_key=e),class:"textarea textarea-bordered w-full font-mono text-xs h-28",placeholder:"-----BEGIN OPENSSH PRIVATE KEY-----",onInput:p},null,544),[[a,l.ssh_private_key]]),s[30]||(s[30]=t("span",{class:"text-xs text-slate-400 mt-1"},"加密存储;编辑时显示 [encrypted] 表示不改,如需更换直接粘贴新私钥。",-1))]),s[42]||(s[42]=t("div",{class:"divider text-xs text-slate-400 mt-6"},"私有镜像仓库 + Docker 网络",-1)),t("div",_t,[t("div",kt,[s[31]||(s[31]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"仓库地址")],-1)),n(t("input",{"onUpdate:modelValue":s[8]||(s[8]=e=>l.registry=e),type:"text",class:"input input-bordered w-full",placeholder:"docker-registry.ideapsound.com"},null,512),[[a,l.registry]])]),t("div",wt,[s[32]||(s[32]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"Docker 网络")],-1)),n(t("input",{"onUpdate:modelValue":s[9]||(s[9]=e=>l.docker_network=e),type:"text",class:"input input-bordered w-full",placeholder:"1panel-network"},null,512),[[a,l.docker_network]])]),t("div",ht,[s[33]||(s[33]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"仓库账号")],-1)),n(t("input",{"onUpdate:modelValue":s[10]||(s[10]=e=>l.registry_user=e),type:"text",class:"input input-bordered w-full",autocomplete:"off"},null,512),[[a,l.registry_user]])]),t("div",St,[s[34]||(s[34]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"仓库密码")],-1)),n(t("input",{"onUpdate:modelValue":s[11]||(s[11]=e=>l.registry_pass=e),type:"password",class:"input input-bordered w-full",autocomplete:"new-password",placeholder:"[encrypted]"},null,512),[[a,l.registry_pass]])])]),s[43]||(s[43]=t("div",{class:"divider text-xs text-slate-400 mt-6"},"节点共享集群服务",-1)),s[44]||(s[44]=t("p",{class:"text-xs text-slate-400 -mt-2 mb-2"},"该服务器上各应用共用的地址。各应用自己的部署目录、业务库 DSN、镜像、redis 库号等,在「应用管理 → 部署到目标环境」里按应用填。",-1)),t("div",Vt,[t("div",Ut,[s[35]||(s[35]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"ETCD")],-1)),n(t("input",{"onUpdate:modelValue":s[12]||(s[12]=e=>l.etcd_servers=e),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"etcd:2379",onInput:p},null,544),[[a,l.etcd_servers]])]),t("div",Ct,[s[36]||(s[36]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"NATS")],-1)),n(t("input",{"onUpdate:modelValue":s[13]||(s[13]=e=>l.nats_url=e),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"nats://nats:4222",onInput:p},null,544),[[a,l.nats_url]])])]),t("div",Ht,[t("div",It,[s[37]||(s[37]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"Redis 地址")],-1)),n(t("input",{"onUpdate:modelValue":s[14]||(s[14]=e=>l.redis_addr=e),type:"text",class:"input input-bordered w-full font-mono text-xs",placeholder:"redis:6379",onInput:p},null,544),[[a,l.redis_addr]])]),t("div",Et,[s[38]||(s[38]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"Redis 密码")],-1)),n(t("input",{"onUpdate:modelValue":s[15]||(s[15]=e=>l.redis_pwd=e),type:"password",class:"input input-bordered w-full",autocomplete:"new-password",placeholder:"[encrypted]"},null,512),[[a,l.redis_pwd]])])]),t("div",Dt,[s[39]||(s[39]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"备注")],-1)),n(t("input",{"onUpdate:modelValue":s[16]||(s[16]=e=>l.remark=e),type:"text",class:"input input-bordered w-full"},null,512),[[a,l.remark]])]),t("div",Tt,[t("label",Nt,[n(t("input",{"onUpdate:modelValue":s[17]||(s[17]=e=>l.enabled=e),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[O,l.enabled]]),s[40]||(s[40]=t("span",{class:"text-sm"},"启用",-1))])]),n(t("div",$t,[(u(!0),r(H,null,I(T.value,e=>(u(),r("div",{key:e.key,class:D(e.ok?"text-green-700":"text-red-600")},[t("span",{class:D(e.ok?"text-green-600":"text-red-500")},i(e.ok?"✓":"✗"),3),z(" "+i(e.label)+":"+i(e.msg),1)],2))),128))],512),[[V,d.show]]),t("div",jt,[t("button",{type:"button",class:"btn btn-ghost",onClick:s[18]||(s[18]=e=>S())},"取消"),t("button",{type:"button",class:"btn btn-outline",disabled:y.value,onClick:j},i(y.value?"测试中...":"测试连接"),9,At),t("button",{type:"submit",class:"btn btn-primary text-white",disabled:!f.value},"保存",8,Ft)]),s[45]||(s[45]=t("p",{class:"text-xs text-slate-400 mt-2"},"需先「测试连接」(SSH 握手成功即可保存;基础设施逐项仅作提示)。",-1))],32)])],512),[[V,x.value==="form"]])]))}});export{Ot as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CF8arGVK.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CF8arGVK.js deleted file mode 100644 index 29a2b09c..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CF8arGVK.js +++ /dev/null @@ -1 +0,0 @@ -import{g as Ce,o as n,c as o,F as v,a as e,r as h,d as N,t as d,l as g,n as z,A as E,_ as Se,j as We,k as c,p as ie,G as B,m as y,q as O,v as Ve,s as x,x as Ue,J as R,B as ee,D as Xe}from"./CTAruH_8.js";import{u as Ye}from"./9B2ftqmN.js";import{u as Qe}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const $e=[{code:"zh-CN",name:"中文(简体)"},{code:"zh-TW",name:"中文(繁体)"},{code:"zh-HK",name:"中文(香港)"},{code:"yue-HK",name:"粤语"},{code:"en-US",name:"英语(美国)"},{code:"en-GB",name:"英语(英国)"},{code:"ja-JP",name:"日语"},{code:"ko-KR",name:"韩语"},{code:"id-ID",name:"印尼语"},{code:"es-ES",name:"西班牙语(西)"},{code:"es-MX",name:"西班牙语(墨)"},{code:"pt-BR",name:"葡萄牙语(巴西)"},{code:"pt-PT",name:"葡萄牙语(葡)"},{code:"de-DE",name:"德语"},{code:"fr-FR",name:"法语"},{code:"it-IT",name:"意大利语"},{code:"nl-NL",name:"荷兰语"},{code:"pl-PL",name:"波兰语"},{code:"ru-RU",name:"俄语"},{code:"uk-UA",name:"乌克兰语"},{code:"tr-TR",name:"土耳其语"},{code:"vi-VN",name:"越南语"},{code:"th-TH",name:"泰语"},{code:"ms-MY",name:"马来语"},{code:"fil-PH",name:"菲律宾语"},{code:"ar-SA",name:"阿拉伯语"}];function Ze(M){const D=$e.find(w=>w.code===M);return D?D.name:M}const et={class:"lang-select"},tt={class:"lang-chip-name"},lt=["onClick"],st={key:0,class:"lang-empty"},nt={key:0,class:"lang-dd"},ot={class:"lang-dd-sum"},at={class:"lang-dd-panel"},dt=["checked","onChange"],it={class:"lang-opt-code"},ut={class:"lang-opt-name"},ct=["value","disabled"],rt=["value"],pt=Ce({__name:"LangSelect",props:{modelValue:{},multiple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},options:{default:void 0}},emits:["update:modelValue"],setup(M,{emit:D}){const w=M,V=D,W=E(()=>w.options&&w.options.length?w.options:$e),U=E(()=>(w.modelValue||"").split(",").map(T=>T.trim()).filter(Boolean));function S(T){return Ze(T)}function $(T){if(w.disabled)return;const j=U.value.slice(),m=j.indexOf(T);m>=0?j.splice(m,1):j.push(T),V("update:modelValue",j.join(","))}function H(T){V("update:modelValue",T.target.value)}return(T,j)=>(n(),o("div",et,[M.multiple?(n(),o(v,{key:0},[e("div",{class:z(["lang-chips",{"lang-disabled":M.disabled}])},[(n(!0),o(v,null,h(U.value,m=>(n(),o("span",{key:m,class:"lang-chip"},[N(d(m),1),e("span",tt,d(S(m)),1),e("button",{type:"button",class:"lang-x",onClick:X=>$(m)},"×",8,lt)]))),128)),U.value.length?g("",!0):(n(),o("span",st,"未选择语言"))],2),M.disabled?g("",!0):(n(),o("details",nt,[e("summary",ot,"+ 选择语言(已选 "+d(U.value.length)+")",1),e("div",at,[(n(!0),o(v,null,h(W.value,m=>(n(),o("label",{key:m.code,class:"lang-opt"},[e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary",checked:U.value.includes(m.code),onChange:X=>$(m.code)},null,40,dt),e("span",it,d(m.code),1),e("span",ut,d(m.name),1)]))),128))])]))],64)):(n(),o("select",{key:1,class:"select select-bordered select-sm w-full text-xs",value:M.modelValue,disabled:M.disabled,onChange:H},[j[0]||(j[0]=e("option",{value:""},"(未设置)",-1)),(n(!0),o(v,null,h(W.value,m=>(n(),o("option",{key:m.code,value:m.code},d(m.code)+" · "+d(m.name),9,rt))),128))],40,ct))]))}}),vt=Object.assign(Se(pt,[["__scopeId","data-v-4903af59"]]),{__name:"LangSelect"}),mt={key:0,class:"mb-4 rounded-lg px-4 py-3 text-sm",style:{background:"#fffbeb",border:"1px solid #fde68a",color:"#92400e"}},bt={class:"flex items-center justify-between mb-5"},xt={class:"flex items-center gap-3"},yt=["value"],_t=["value"],ht={class:"flex gap-4",style:{"align-items":"flex-start"}},gt={style:{width:"248px","flex-shrink":"0"}},kt={class:"flex flex-col gap-2"},ft=["onClick"],wt={style:{"min-width":"0",flex:"1"}},Vt={class:"flex items-center gap-2"},Ut={class:"font-semibold text-slate-800 text-sm truncate"},Ct={class:"flex flex-wrap gap-1 mt-1 items-center"},St={key:0,class:"provider-chip"},$t={key:1,class:"lock-badge"},Tt={key:0,class:"text-xs text-slate-400 text-center py-8"},At={class:"flex-1 min-w-0"},Mt={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},zt={key:0,class:"text-center text-slate-300 py-20"},Dt={class:"flex items-center justify-between mb-5"},jt={class:"flex items-center gap-3"},Ft={class:"text-base font-semibold text-slate-800"},Nt={class:"text-xs text-slate-400 mt-0.5"},Lt={key:0},Rt={class:"flex gap-2"},It={class:"grid grid-cols-2 gap-4 mb-4"},Bt={class:"form-control"},Ot={class:"form-control"},Et={class:"form-control mb-4"},Ht={class:"mb-4"},Pt={class:"text-xs text-slate-500 ml-2"},Gt={key:0,class:"text-xs text-slate-400 py-4 text-center"},Jt={key:1,class:"overflow-x-auto"},Kt={class:"table text-xs"},qt=["onUpdate:modelValue","title"],Wt=["onUpdate:modelValue"],Xt={class:"text-center"},Yt=["onUpdate:modelValue"],Qt={class:"relative"},Zt=["type","onUpdate:modelValue"],el=["onClick"],tl=["onUpdate:modelValue"],ll=["onClick"],sl={class:"wizard-steps mb-5"},nl={key:0},ol={key:0},al={class:"type-grid"},dl=["onClick"],il={class:"text-sm text-slate-700 mt-2"},ul={class:"flex items-center justify-between mb-3"},cl={class:"text-sm text-slate-500"},rl={class:"type-grid"},pl=["onClick"],vl={class:"provider-chip"},ml={class:"text-sm text-slate-700 mt-2"},bl={class:"text-[11px] text-slate-400 mt-0.5"},xl={key:0,class:"text-xs text-slate-400 mt-2"},yl={class:"flex items-center justify-between mb-3"},_l={class:"flex items-center gap-2"},hl={key:0,class:"provider-chip"},gl={class:"flex gap-2"},kl={class:"grid grid-cols-2 gap-4 mb-4"},fl={class:"form-control"},wl={class:"form-control"},Vl={class:"grid grid-cols-2 gap-4 mb-4"},Ul={class:"form-control"},Cl={class:"form-control"},Sl={class:"form-control mb-4"},$l={key:0,class:"text-xs text-slate-400 py-4 text-center"},Tl={key:1,class:"overflow-x-auto"},Al={class:"table text-xs"},Ml=["onUpdate:modelValue","title"],zl=["onUpdate:modelValue"],Dl={class:"text-center"},jl=["onUpdate:modelValue"],Fl={class:"relative"},Nl=["type","onUpdate:modelValue"],Ll=["onClick"],Rl=["onUpdate:modelValue"],Il=["onClick"],Bl={key:0,class:"text-center py-10 text-slate-400"},Ol={class:"flex items-center justify-between mb-5"},El={class:"flex items-center gap-3"},Hl={class:"text-base font-semibold text-slate-800"},Pl={class:"badge badge-warning badge-sm mt-0.5"},Gl={class:"rounded-lg px-3 py-2 mb-4 text-xs",style:{background:"#fefce8",border:"1px solid #fde047",color:"#854d0e"}},Jl={class:"overflow-x-auto"},Kl={class:"table text-xs"},ql=["title"],Wl={class:"text-slate-500"},Xl={class:"text-center"},Yl={key:0,class:"disabled-badge"},Ql={key:1,class:"override-badge"},Zl={key:2,class:"inherit-badge"},es={class:"text-center"},ts=["onUpdate:modelValue"],ls={class:"relative"},ss=["type","onUpdate:modelValue","disabled"],ns=["onClick"],os=["onUpdate:modelValue","disabled","placeholder"],as={key:0},ds={class:"divider text-xs text-slate-400 my-3"},is={key:0,class:"text-xs text-slate-400 py-2 text-center"},us={key:1,class:"overflow-x-auto"},cs={class:"table text-xs"},rs=["onUpdate:modelValue","title"],ps=["onUpdate:modelValue"],vs={class:"text-center"},ms=["onUpdate:modelValue"],bs={class:"relative"},xs=["type","onUpdate:modelValue"],ys=["onClick"],_s=["onUpdate:modelValue"],hs=["onClick"],gs={class:"sync-overlay"},ks={class:"sync-box"},fs={class:"flex items-start gap-3 mb-4"},ws={style:{width:"42px",height:"42px",background:"linear-gradient(135deg,#4f46e5,#7c3aed)","border-radius":"13px",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},Vs={style:{width:"20px",height:"20px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Us={class:"text-xs text-slate-400 mt-1"},Cs=["innerHTML"],Ss={class:"flex items-center justify-between mb-1"},$s={class:"flex gap-2"},Ts={class:"sync-region-grid"},As=["onClick"],Ms=["checked","onClick"],zs={class:"sync-overlay"},Ds={class:"tpl-box"},js={class:"flex items-center justify-between mb-4"},Fs={class:"flex gap-2"},Ns={class:"tpl-list"},Ls={class:"text-xs font-semibold text-slate-500 mb-1"},Rs={style:{"min-width":"0",flex:"1"}},Is={class:"flex items-center gap-2"},Bs={class:"font-semibold text-sm text-slate-800 truncate"},Os={class:"provider-chip"},Es={key:0,class:"badge badge-xs badge-ghost"},Hs={class:"text-xs text-slate-400 mt-0.5"},Ps={class:"flex gap-1"},Gs=["onClick"],Js=["onClick"],Ks={key:0,class:"text-xs text-slate-400 text-center py-6"},qs={class:"flex items-center justify-between mb-4"},Ws={class:"text-base font-semibold text-slate-800"},Xs={class:"flex gap-2"},Ys={class:"grid grid-cols-2 gap-3 mb-3"},Qs={class:"form-control"},Zs=["disabled"],en={class:"form-control"},tn=["value"],ln={class:"form-control"},sn={class:"form-control"},nn={class:"form-control mb-3"},on={class:"overflow-x-auto",style:{"max-height":"34vh"}},an={class:"table text-xs"},dn=["onUpdate:modelValue","title"],un=["onUpdate:modelValue"],cn={class:"text-center"},rn=["onUpdate:modelValue"],pn=["onUpdate:modelValue"],vn=["onClick"],mn={key:0},bn=Ce({__name:"serviceconfig",setup(M){const D=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}],w=[{v:1,label:"STT 语音识别",short:"STT",color:"#0369a1",bg:"#dbeafe"},{v:2,label:"TTS 语音合成",short:"TTS",color:"#7c3aed",bg:"#ede9fe"},{v:3,label:"MT 机器翻译",short:"MT",color:"#059669",bg:"#dcfce7"},{v:4,label:"AST 端到端翻译",short:"AST",color:"#c2410c",bg:"#fff7ed"},{v:5,label:"LLM 大语言",short:"LLM",color:"#b45309",bg:"#fef9c3"},{v:7,label:"STS 端到端对话",short:"STS",color:"#be185d",bg:"#fce7f3"},{v:6,label:"存储 OSS/COS",short:"存储",color:"#475569",bg:"#f1f5f9"}],{webApi:V,consoleApi:W}=Ye(),{success:U,error:S}=Qe(),$=x(""),H=x([]);async function T(){try{const s=await W("products/list",{});H.value=(s??[]).map(l=>l.name).filter(Boolean)}catch{H.value=[]}}function j(){p.value=null,C.value="empty",Y()}function m(s){return w.find(l=>l.v===s)||{short:"?",color:"#999",bg:"#eee",v:0,label:""}}function X(s){return(s||"").split(",").map(l=>parseInt(l)||0).filter(l=>l>0)}function ue(s){return(s.fields||[]).filter(l=>l.encrypted).length}const te=x(!0),P=x([]),p=x(null),A=x(0),C=x("empty"),i=Ue({id:"",name:"",provider:"",description:"",enable:!1}),_=x(0),f=x([]),G=x(""),k=x(1),J=x([]),I=x([]),le=x(!1),K=x([]),se=E(()=>{const s=D.find(l=>l.value===A.value);return s?s.label:"区域"+A.value}),Te=E(()=>w.map(s=>({cat:s.v,label:s.label,items:K.value.filter(l=>l.category===s.v)})).filter(s=>s.items.length));async function Y(){try{const s=await V("getsvcconfigs",{app_name:$.value});P.value=s?.items??[],te.value=!0}catch{te.value=!1,P.value=[];return}if(p.value){const s=P.value.find(l=>l.id===p.value.id);s&&Q(s)}}async function ne(){try{const s=await V("getsvctemplates",{});K.value=s?.items??[]}catch{K.value=[]}}function Ae(){p.value?Q(p.value):C.value!=="new"&&(C.value="empty")}function Q(s){s&&(p.value=s,A.value===0?Me():Fe())}function Me(){const s=p.value;i.id=s.id,i.name=s.name||"",i.provider=s.provider||"",i.description=s.description||"",i.enable=!!s.enable,_.value=X(s.categories)[0]||0,f.value=JSON.parse(JSON.stringify(s.fields||[])).map(l=>({...l,_show:!1})),C.value="default"}function ze(){p.value=null,i.id="",i.name="",i.provider="",i.description="",i.enable=!1,_.value=0,f.value=[],G.value="",k.value=1,C.value="new"}const ce=E(()=>K.value.filter(s=>s.category===_.value));function De(s){_.value!==s&&(_.value=s,G.value="",i.provider="",f.value=[]),k.value=2}function re(s){s?(G.value=s.id,i.provider=s.provider||"",i.name||(i.name=s.name||""),i.id||(i.id=s.id||""),i.description||(i.description=s.description||""),f.value=(s.fields||[]).map(l=>({key:l.key,description:l.description,type:l.type||"",encrypted:!!l.encrypted,def_value:l.def_value||"",sort:l.sort,_show:!1}))):(G.value="",i.provider="",f.value=[]),k.value=3}function je(){p.value?Q(p.value):C.value="empty"}function pe(){f.value.push({key:"",description:"",encrypted:!1,def_value:"",sort:f.value.length,_show:!1})}function ve(s){f.value.splice(s,1),f.value.forEach((l,r)=>{l.sort=r})}async function Fe(){const s=p.value;le.value=!0,C.value="region";try{const r=(await V("getsvcregionoverride",{app_name:$.value,svc_id:s.id,region:A.value}))?.fields??[];J.value=r.filter(t=>!t.region_only).map(t=>({key:t.key,description:t.description,type:t.type||"",encrypted:!!t.encrypted,is_overridden:!!t.is_overridden,disabled:!!t.disabled,value:t.value||"",_input:t.encrypted?"":t.is_overridden&&t.value||"",_show:!1})),I.value=r.filter(t=>t.region_only).map(t=>({key:t.key,description:t.description,encrypted:!!t.encrypted,_input:t.encrypted?"":t.value||"",_show:!1}))}catch(l){S(l?.message??"加载区域分叉失败"),J.value=[],I.value=[]}finally{le.value=!1}}function Ne(){I.value.push({key:"",description:"",encrypted:!1,_input:"",_show:!1})}function Le(s){I.value.splice(s,1)}function Re(s){const l={name:i.name||"",provider:i.provider||"",description:i.description||"",categories:_.value?String(_.value):"",enable:i.enable||!1,fields:f.value.map(r=>({key:r.key,description:r.description,type:r.type||"",encrypted:r.encrypted,def_value:r.def_value,sort:r.sort}))};return s?l.id=i.id||"":l.id=p.value.id,l.app_name=$.value,l}function Ie(){const s={},l=[];J.value.forEach(t=>{s[t.key]=t._input||"",t.disabled&&l.push(t.key)});const r=I.value.filter(t=>(t.key||"").trim()).map((t,u)=>({key:t.key.trim(),description:t.description,encrypted:t.encrypted,def_value:t._input||"",sort:u}));return{overrides:s,disabled_keys:l,extra_fields:r}}async function me(s){const l=s||!p.value;if(A.value===0){const r=Re(l);if(!r.id||!r.name)return S("服务ID 和名称 必填"),!1;const t=l?"addsvcconfig":"updatesvcconfig";try{const u=await V(t,r);return p.value=u,await Y(),U("保存成功"),!0}catch(u){return S(u?.message??"保存失败"),!1}}else{const{overrides:r,disabled_keys:t,extra_fields:u}=Ie();try{return await V("savesvcregionoverride",{app_name:$.value,svc_id:p.value.id,region:A.value,overrides:r,disabled_keys:t,extra_fields:u}),U("区域分叉已保存"),!0}catch(a){return S(a?.message??"保存失败"),!1}}}async function Be(){if(p.value&&window.confirm("确定删除服务「"+p.value.name+"」及其所有区域分叉?")){try{await V("delsvcconfig",{app_name:$.value,id:p.value.id})}catch(s){S(s?.message??"删除失败");return}p.value=null,U("已删除"),await Y(),C.value="empty"}}const oe=x(!1),ae=x(!1),be=x(""),xe=x(""),L=x([]),ye=E(()=>D.filter(s=>s.value!==A.value));function de(s){ae.value=s;const l=p.value?p.value.name:i.name||"新服务",r=A.value===0;be.value=r?"「"+l+"」默认配置将保存,可同步推送到其他区域。":"「"+l+"」在当前区域的字段分叉将保存,可同步到其他区域。",xe.value=r?"✦ 同步内容:各字段默认值推送为目标区域「覆盖值」,目标区域原有分叉将被替换。":"✦ 同步内容:当前区域的值覆盖 / 区域专属字段 / 停用字段整体复制到目标区域。",L.value=[],oe.value=!0}function _e(s){const l=L.value.indexOf(s);l>=0?L.value.splice(l,1):L.value.push(s)}function he(s){L.value=s?ye.value.map(l=>l.value):[]}function ge(){oe.value=!1}async function Oe(){ge(),await me(ae.value)}async function Ee(){const s=L.value.slice();if(ge(),!await me(ae.value)||!s.length)return;const r=p.value?p.value.id:null;if(!r)return;let t=0;try{t=(await V("syncsvctoregins",{app_name:$.value,svc_id:r,src_region:A.value,target_regions:s}))?.synced??0}catch(a){S(a?.message??"同步失败");return}const u=s.map(a=>{const we=D.find(qe=>qe.value===a);return we?we.label:"区域"+a});U("已保存并同步到:"+u.join("、")+"("+t+" 个)")}const ke=x(!1),Z=x("list"),q=x(!1),b=Ue({id:"",category:2,provider:"",name:"",description:""}),F=x([]);function He(){ke.value=!1}function fe(s){s?(q.value=!0,b.id=s.id,b.category=s.category||2,b.provider=s.provider||"",b.name=s.name||"",b.description=s.description||"",F.value=(s.fields||[]).map(l=>({key:l.key,description:l.description,type:l.type||"",encrypted:!!l.encrypted,def_value:l.def_value||"",sort:l.sort}))):(q.value=!1,b.id="",b.category=2,b.provider="",b.name="",b.description="",F.value=[]),Z.value="form"}function Pe(){F.value.push({key:"",description:"",encrypted:!1,def_value:"",sort:F.value.length})}function Ge(s){F.value.splice(s,1),F.value.forEach((l,r)=>{l.sort=r})}async function Je(){if(!b.id.trim()||!b.name.trim()||!b.provider.trim()){S("模板ID / 展示名 / 服务商标识 必填");return}const s={id:b.id.trim(),category:Number(b.category)||0,provider:b.provider.trim(),name:b.name.trim(),description:b.description.trim(),fields:F.value.map((l,r)=>({key:l.key,description:l.description,type:l.type||"",encrypted:l.encrypted,def_value:l.def_value,sort:r}))};try{await V(q.value?"updatesvctemplate":"addsvctemplate",s)}catch(l){S(l?.message??"保存失败");return}U("模板已保存"),await ne(),Z.value="list"}async function Ke(s){if(window.confirm("确定删除模板「"+s.name+"」?"+(s.builtin?"(内置模板下次启动会被重新补回)":""))){try{await V("delsvctemplate",{id:s.id})}catch(l){S(l?.message??"删除失败");return}U("已删除"),await ne()}}return We(()=>{T(),Y(),ne()}),(s,l)=>{const r=vt;return n(),o("div",null,[te.value?g("",!0):(n(),o("div",mt," ⚠ 「第三方服务配置」后端接口暂不可用(连接失败),请检查 console 服务是否运行。 ")),e("div",bt,[l[29]||(l[29]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"第三方服务配置"),e("p",{class:"text-xs text-slate-400 mt-1"},[N("按服务类型分组管理已接入的第三方服务(火山引擎、阿里云、Azure 等)。默认展示"),e("b",null,"全局默认"),N("配置,可切换到具体应用;区域默认"),e("b",null,"中国"),N(",切换区域可为该区域覆盖字段值。")])],-1)),e("div",xt,[c(e("select",{"onUpdate:modelValue":l[0]||(l[0]=t=>$.value=t),class:"select select-bordered select-sm",onChange:j},[l[27]||(l[27]=e("option",{value:""},"全局默认",-1)),(n(!0),o(v,null,h(H.value,t=>(n(),o("option",{key:t,value:t},"应用:"+d(t),9,yt))),128))],544),[[ie,$.value]]),c(e("select",{"onUpdate:modelValue":l[1]||(l[1]=t=>A.value=t),class:"select select-bordered select-sm",onChange:Ae},[(n(),o(v,null,h(D,t=>e("option",{key:t.value,value:t.value},d(t.label),9,_t)),64)),l[28]||(l[28]=e("option",{value:0},"默认(全区域)",-1))],544),[[ie,A.value,void 0,{number:!0}]]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:ze},"+ 添加服务")])]),e("div",ht,[e("div",gt,[e("div",kt,[(n(!0),o(v,null,h(P.value,t=>(n(),o("div",{key:t.id,class:z(["svc-item",{active:p.value&&p.value.id===t.id}]),onClick:u=>Q(t)},[e("div",{class:"svc-logo",style:B({background:t.color||"#6366f1"})},d(t.icon||(t.name||"").charAt(0)),5),e("div",wt,[e("div",Vt,[e("span",Ut,d(t.name),1),e("span",{class:z(["badge badge-xs",t.enable?"badge-success":"badge-ghost"])},d(t.enable?"启用":"停用"),3)]),e("div",Ct,[t.provider?(n(),o("span",St,d(t.provider),1)):g("",!0),(n(!0),o(v,null,h(X(t.categories),u=>(n(),o("span",{key:u,class:"cat-chip",style:B({color:m(u).color,background:m(u).bg})},d(m(u).short),5))),128)),ue(t)?(n(),o("span",$t,"🔒"+d(ue(t)),1)):g("",!0)])])],10,ft))),128)),P.value.length?g("",!0):(n(),o("p",Tt,"暂无服务"))])]),e("div",At,[e("div",Mt,[C.value==="empty"?(n(),o("div",zt,[...l[30]||(l[30]=[e("div",{class:"text-5xl mb-3"},"⚙️",-1),e("p",{class:"text-sm"},"从左侧选择一个服务开始配置",-1)])])):C.value==="default"&&p.value?(n(),o(v,{key:1},[e("div",Dt,[e("div",jt,[e("div",{class:"svc-logo",style:B({background:p.value.color||"#6366f1",width:"44px",height:"44px",fontSize:"20px"})},d(p.value.icon||(p.value.name||"").charAt(0)),5),e("div",null,[e("h3",Ft,d(p.value.name),1),e("p",Nt,[N(d(p.value.id),1),i.provider?(n(),o("span",Lt," · 服务商 "+d(i.provider),1)):g("",!0)])])]),e("div",Rt,[e("button",{class:"btn btn-error btn-sm btn-outline",onClick:Be},"删除服务"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[2]||(l[2]=t=>de(!1))},"保存")])]),l[38]||(l[38]=e("div",{class:"divider text-xs text-slate-400 my-3"},"基本信息",-1)),e("div",It,[e("div",Bt,[l[31]||(l[31]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务名称 *")],-1)),c(e("input",{"onUpdate:modelValue":l[3]||(l[3]=t=>i.name=t),class:"input input-bordered"},null,512),[[y,i.name]])]),e("div",Ot,[l[32]||(l[32]=e("label",{class:"label"},[e("span",{class:"label-text"},"启用")],-1)),c(e("input",{"onUpdate:modelValue":l[4]||(l[4]=t=>i.enable=t),type:"checkbox",class:"toggle toggle-primary mt-3"},null,512),[[O,i.enable]])])]),e("div",Et,[l[33]||(l[33]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务描述")],-1)),c(e("input",{"onUpdate:modelValue":l[5]||(l[5]=t=>i.description=t),class:"input input-bordered"},null,512),[[y,i.description]])]),e("div",Ht,[l[34]||(l[34]=e("p",{class:"text-sm font-medium text-slate-700 mb-2"},"服务类型",-1)),_.value?(n(),o("span",{key:0,class:"cat-chip",style:B({color:m(_.value).color,background:m(_.value).bg})},d(m(_.value).short),5)):g("",!0),e("span",Pt,d(_.value?m(_.value).label:"未设置"),1),l[35]||(l[35]=e("span",{class:"text-[11px] text-slate-400 ml-2"},"(类型在创建时确定,不可更改)",-1))]),l[39]||(l[39]=e("div",{class:"divider text-xs text-slate-400 my-3"},"配置字段(全区域共用)",-1)),e("div",null,[f.value.length?(n(),o("div",Jt,[e("table",Kt,[l[37]||(l[37]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(f.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,qt),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,Wt),[[y,t.description]])]),e("td",Xt,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,Yt),[[O,t.encrypted]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a,multiple:!0},null,8,["modelValue","onUpdate:modelValue"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a},null,8,["modelValue","onUpdate:modelValue"])):t.encrypted?(n(),o(v,{key:2},[e("div",Qt,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t.def_value=a,placeholder:"留空保留原值"},null,8,Zt),[[ee,t.def_value]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,el)]),l[36]||(l[36]=e("span",{class:"lock-badge ml-1"},"🔒 加密",-1))],64)):c((n(),o("input",{key:3,class:"field-input","onUpdate:modelValue":a=>t.def_value=a},null,8,tl)),[[y,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>ve(u)},"×",8,ll)])]))),128))])])])):(n(),o("p",Gt,"尚无字段,点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:pe},"+ 添加字段")])],64)):C.value==="new"?(n(),o(v,{key:2},[e("div",{class:"flex items-center justify-between mb-4"},[l[40]||(l[40]=e("h3",{class:"text-base font-semibold text-slate-800"},"新增第三方服务",-1)),e("button",{class:"btn btn-ghost btn-sm",onClick:je},"取消")]),e("div",sl,[e("div",{class:z(["wstep",{on:k.value>=1,cur:k.value===1}]),onClick:l[6]||(l[6]=t=>k.value=1)},[l[41]||(l[41]=N("① 服务类型",-1)),_.value?(n(),o("span",nl," · "+d(m(_.value).short),1)):g("",!0)],2),l[43]||(l[43]=e("div",{class:"wline"},null,-1)),e("div",{class:z(["wstep",{on:k.value>=2,cur:k.value===2,disabled:!_.value}]),onClick:l[7]||(l[7]=t=>_.value&&(k.value=2))},[l[42]||(l[42]=N("② 服务商",-1)),i.provider?(n(),o("span",ol," · "+d(i.provider),1)):g("",!0)],2),l[44]||(l[44]=e("div",{class:"wline"},null,-1)),e("div",{class:z(["wstep",{on:k.value>=3,cur:k.value===3,disabled:k.value<3}])},"③ 配置",2)]),k.value===1?(n(),o(v,{key:0},[l[45]||(l[45]=e("p",{class:"text-sm text-slate-500 mb-3"},"请选择要接入的服务类型(每个服务归属单一类型,独立配置):",-1)),e("div",al,[(n(),o(v,null,h(w,t=>e("div",{key:t.v,class:z(["type-card",{on:_.value===t.v}]),onClick:u=>De(t.v)},[e("span",{class:"cat-chip",style:B({color:t.color,background:t.bg})},d(t.short),5),e("span",il,d(t.label),1)],10,dl)),64))])],64)):k.value===2?(n(),o(v,{key:1},[e("div",ul,[e("p",cl,"为「"+d(m(_.value).label)+"」选择服务商:",1),e("button",{class:"btn btn-ghost btn-xs",onClick:l[8]||(l[8]=t=>k.value=1)},"← 上一步")]),e("div",rl,[(n(!0),o(v,null,h(ce.value,t=>(n(),o("div",{key:t.id,class:z(["type-card",{on:G.value===t.id}]),onClick:u=>re(t)},[e("span",vl,d(t.provider),1),e("span",ml,d(t.name),1),e("span",bl,d((t.fields||[]).length)+" 字段",1)],10,pl))),128)),e("div",{class:"type-card",onClick:l[9]||(l[9]=t=>re(null))},[...l[46]||(l[46]=[e("span",{class:"provider-chip",style:{background:"#f1f5f9",color:"#475569"}},"自定义",-1),e("span",{class:"text-sm text-slate-700 mt-2"},"空白自定义",-1),e("span",{class:"text-[11px] text-slate-400 mt-0.5"},"手动添加字段",-1)])])]),ce.value.length?g("",!0):(n(),o("p",xl,"该类型暂无内置模板,可选「空白自定义」,或到「服务商模板」新增。"))],64)):(n(),o(v,{key:2},[e("div",yl,[e("div",_l,[e("span",{class:"cat-chip",style:B({color:m(_.value).color,background:m(_.value).bg})},d(m(_.value).short),5),i.provider?(n(),o("span",hl,d(i.provider),1)):g("",!0)]),e("div",gl,[e("button",{class:"btn btn-ghost btn-xs",onClick:l[10]||(l[10]=t=>k.value=2)},"← 上一步"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[11]||(l[11]=t=>de(!0))},"创建")])]),e("div",kl,[e("div",fl,[l[47]||(l[47]=e("label",{class:"label"},[e("span",{class:"label-text"},[N("服务ID * "),e("span",{class:"text-slate-400 text-xs"},"(唯一,如 tts_azure)")])],-1)),c(e("input",{"onUpdate:modelValue":l[12]||(l[12]=t=>i.id=t),class:"input input-bordered font-mono",placeholder:"tts_azure"},null,512),[[y,i.id]])]),e("div",wl,[l[48]||(l[48]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务名称 *")],-1)),c(e("input",{"onUpdate:modelValue":l[13]||(l[13]=t=>i.name=t),class:"input input-bordered",placeholder:"微软 Azure TTS"},null,512),[[y,i.name]])])]),e("div",Vl,[e("div",Ul,[l[49]||(l[49]=e("label",{class:"label"},[e("span",{class:"label-text"},[N("服务商标识 "),e("span",{class:"text-slate-400 text-xs"},"(如 azure/alibaba)")])],-1)),c(e("input",{"onUpdate:modelValue":l[14]||(l[14]=t=>i.provider=t),class:"input input-bordered font-mono",placeholder:"azure"},null,512),[[y,i.provider]])]),e("div",Cl,[l[50]||(l[50]=e("label",{class:"label"},[e("span",{class:"label-text"},"启用")],-1)),c(e("input",{"onUpdate:modelValue":l[15]||(l[15]=t=>i.enable=t),type:"checkbox",class:"toggle toggle-primary mt-3"},null,512),[[O,i.enable]])])]),e("div",Sl,[l[51]||(l[51]=e("label",{class:"label"},[e("span",{class:"label-text"},"服务描述")],-1)),c(e("input",{"onUpdate:modelValue":l[16]||(l[16]=t=>i.description=t),class:"input input-bordered",placeholder:"简述该服务的用途"},null,512),[[y,i.description]])]),l[54]||(l[54]=e("div",{class:"divider text-xs text-slate-400 my-3"},"配置字段",-1)),e("div",null,[f.value.length?(n(),o("div",Tl,[e("table",Al,[l[53]||(l[53]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(f.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,Ml),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,zl),[[y,t.description]])]),e("td",Dl,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,jl),[[O,t.encrypted]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a,multiple:!0},null,8,["modelValue","onUpdate:modelValue"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a},null,8,["modelValue","onUpdate:modelValue"])):t.encrypted?(n(),o(v,{key:2},[e("div",Fl,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t.def_value=a,placeholder:"留空保留原值"},null,8,Nl),[[ee,t.def_value]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,Ll)]),l[52]||(l[52]=e("span",{class:"lock-badge ml-1"},"🔒 加密",-1))],64)):c((n(),o("input",{key:3,class:"field-input","onUpdate:modelValue":a=>t.def_value=a},null,8,Rl)),[[y,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>ve(u)},"×",8,Il)])]))),128))])])])):(n(),o("p",$l,"尚无字段,选模板自动带出或点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:pe},"+ 添加字段")])],64))],64)):C.value==="region"&&p.value?(n(),o(v,{key:3},[le.value?(n(),o("div",Bl,"加载中...")):(n(),o(v,{key:1},[e("div",Ol,[e("div",El,[e("div",{class:"svc-logo",style:B({background:p.value.color||"#6366f1",width:"44px",height:"44px",fontSize:"20px"})},d(p.value.icon||(p.value.name||"").charAt(0)),5),e("div",null,[e("h3",Hl,d(p.value.name),1),e("span",Pl,d(se.value)+" 分叉模式",1)])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[17]||(l[17]=t=>de(!1))},"保存分叉")]),e("div",Gl," ✦ 当前编辑「"+d(se.value)+"」的字段分叉:默认字段可覆盖值或勾选「不适用」停用;也可新增本区域专属字段。留空的覆盖字段继承默认值,加密字段留空保留已存储密文。 ",1),l[60]||(l[60]=e("p",{class:"text-sm font-medium text-slate-700 mb-2"},"默认字段",-1)),e("div",Jl,[e("table",Kl,[l[57]||(l[57]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-24 text-center"},"状态"),e("th",{class:"w-20 text-center"},"本区域不适用"),e("th",null,"有效值")])],-1)),e("tbody",null,[(n(!0),o(v,null,h(J.value,(t,u)=>(n(),o("tr",{key:u,class:z({"opacity-50":t.disabled})},[e("td",{class:"font-mono text-slate-700 break-all",title:t.key},d(t.key),9,ql),e("td",Wl,d(t.description),1),e("td",Xl,[t.disabled?(n(),o("span",Yl,"停用")):t.is_overridden?(n(),o("span",Ql,"覆盖")):(n(),o("span",Zl,"继承"))]),e("td",es,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs","onUpdate:modelValue":a=>t.disabled=a},null,8,ts),[[O,t.disabled]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t._input,"onUpdate:modelValue":a=>t._input=a,multiple:!0,disabled:t.disabled},null,8,["modelValue","onUpdate:modelValue","disabled"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t._input,"onUpdate:modelValue":a=>t._input=a,disabled:t.disabled},null,8,["modelValue","onUpdate:modelValue","disabled"])):t.encrypted?(n(),o(v,{key:2},[e("div",ls,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t._input=a,disabled:t.disabled,placeholder:"留空继承默认"},null,8,ss),[[ee,t._input]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,ns)]),l[55]||(l[55]=e("span",{class:"lock-badge ml-1"},"🔒",-1))],64)):c((n(),o("input",{key:3,class:"field-input","onUpdate:modelValue":a=>t._input=a,disabled:t.disabled,placeholder:"留空继承:"+(t.value||"")},null,8,os)),[[y,t._input]])])],2))),128)),J.value.length?g("",!0):(n(),o("tr",as,[...l[56]||(l[56]=[e("td",{colspan:"5",class:"text-center text-slate-400 py-3"},"该服务尚无默认字段",-1)])]))])])]),e("div",ds,d(se.value)+" 专属字段",1),e("div",null,[I.value.length?(n(),o("div",us,[e("table",cs,[l[59]||(l[59]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(I.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,rs),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,ps),[[y,t.description]])]),e("td",vs,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,ms),[[O,t.encrypted]])]),e("td",null,[t.encrypted?(n(),o(v,{key:0},[e("div",bs,[c(e("input",{type:t._show?"text":"password",class:"field-input pr-14","onUpdate:modelValue":a=>t._input=a,placeholder:"留空保留原值"},null,8,xs),[[ee,t._input]]),e("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:a=>t._show=!t._show},d(t._show?"隐藏":"显示"),9,ys)]),l[58]||(l[58]=e("span",{class:"lock-badge ml-1"},"🔒",-1))],64)):c((n(),o("input",{key:1,class:"field-input","onUpdate:modelValue":a=>t._input=a},null,8,_s)),[[y,t._input]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>Le(u)},"×",8,hs)])]))),128))])])])):(n(),o("p",is,"尚无区域专属字段,点击下方添加")),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:Ne},"+ 添加区域专属字段")])],64))],64)):g("",!0)])])]),c(e("div",gs,[e("div",ks,[e("div",fs,[e("div",ws,[(n(),o("svg",Vs,[...l[61]||(l[61]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"},null,-1)])]))]),e("div",null,[l[62]||(l[62]=e("h3",{class:"text-base font-semibold text-slate-800"},"同步到其他区域",-1)),e("p",Us,d(be.value),1)])]),e("div",{class:"text-xs px-3 py-2 rounded-lg mb-3",style:{background:"#f0fdf4",border:"1px solid #bbf7d0",color:"#15803d"},innerHTML:xe.value},null,8,Cs),e("div",Ss,[l[63]||(l[63]=e("span",{class:"text-xs font-semibold text-slate-500"},"选择目标区域",-1)),e("div",$s,[e("button",{class:"btn btn-ghost btn-xs",onClick:l[18]||(l[18]=t=>he(!0))},"全选"),e("button",{class:"btn btn-ghost btn-xs",onClick:l[19]||(l[19]=t=>he(!1))},"清空")])]),e("div",Ts,[(n(!0),o(v,null,h(ye.value,t=>(n(),o("label",{key:t.value,class:z(["sync-region-item",{checked:L.value.includes(t.value)}]),onClick:u=>_e(t.value)},[e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary",checked:L.value.includes(t.value),onClick:Xe(u=>_e(t.value),["stop"])},null,8,Ms),e("span",null,d(t.label),1)],10,As))),128))]),l[64]||(l[64]=e("p",{class:"text-[11px] text-slate-400 mb-5"},"⚠ 已勾选区域将被当前配置(值覆盖 / 区域专属字段 / 停用字段)整体替换;加密字段密文一并同步。",-1)),e("div",{class:"flex gap-3 justify-end"},[e("button",{class:"btn btn-ghost",onClick:Oe},"仅保存当前区域"),e("button",{class:"btn btn-primary text-white",onClick:Ee},"保存并同步")])])],512),[[Ve,oe.value]]),c(e("div",zs,[e("div",Ds,[Z.value==="list"?(n(),o(v,{key:0},[e("div",js,[l[65]||(l[65]=e("div",null,[e("h3",{class:"text-base font-semibold text-slate-800"},"服务商模板"),e("p",{class:"text-xs text-slate-400 mt-1"},"模板是字段预设,新增服务时可一键带出。内置模板可编辑;删除后重启会被重新补回。")],-1)),e("div",Fs,[e("button",{class:"btn btn-primary btn-sm text-white",onClick:l[20]||(l[20]=t=>fe())},"+ 新增模板"),e("button",{class:"btn btn-ghost btn-sm",onClick:He},"关闭")])]),e("div",Ns,[(n(!0),o(v,null,h(Te.value,t=>(n(),o("div",{key:t.cat,class:"mb-3"},[e("p",Ls,d(t.label),1),(n(!0),o(v,null,h(t.items,u=>(n(),o("div",{key:u.id,class:"tpl-row"},[e("div",Rs,[e("div",Is,[e("span",Bs,d(u.name),1),e("span",Os,d(u.provider),1),u.builtin?(n(),o("span",Es,"内置")):g("",!0)]),e("p",Hs,d(u.id)+" · "+d((u.fields||[]).length)+" 字段",1)]),e("div",Ps,[e("button",{class:"btn btn-ghost btn-xs",onClick:a=>fe(u)},"编辑",8,Gs),e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>Ke(u)},"删除",8,Js)])]))),128))]))),128)),K.value.length?g("",!0):(n(),o("p",Ks,"暂无模板"))])],64)):(n(),o(v,{key:1},[e("div",qs,[e("h3",Ws,d(q.value?"编辑模板":"新增模板"),1),e("div",Xs,[e("button",{class:"btn btn-ghost btn-sm",onClick:l[21]||(l[21]=t=>Z.value="list")},"返回"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:Je},"保存")])]),e("div",Ys,[e("div",Qs,[l[66]||(l[66]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"模板ID *")],-1)),c(e("input",{"onUpdate:modelValue":l[22]||(l[22]=t=>b.id=t),disabled:q.value,class:"input input-bordered input-sm font-mono",placeholder:"tts_azure"},null,8,Zs),[[y,b.id]])]),e("div",en,[l[67]||(l[67]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"类别 *")],-1)),c(e("select",{"onUpdate:modelValue":l[23]||(l[23]=t=>b.category=t),class:"select select-bordered select-sm"},[(n(),o(v,null,h(w,t=>e("option",{key:t.v,value:t.v},d(t.label),9,tn)),64))],512),[[ie,b.category,void 0,{number:!0}]])]),e("div",ln,[l[68]||(l[68]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"服务商标识 *")],-1)),c(e("input",{"onUpdate:modelValue":l[24]||(l[24]=t=>b.provider=t),class:"input input-bordered input-sm font-mono",placeholder:"azure"},null,512),[[y,b.provider]])]),e("div",sn,[l[69]||(l[69]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"展示名 *")],-1)),c(e("input",{"onUpdate:modelValue":l[25]||(l[25]=t=>b.name=t),class:"input input-bordered input-sm",placeholder:"微软 Azure TTS"},null,512),[[y,b.name]])])]),e("div",nn,[l[70]||(l[70]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"描述")],-1)),c(e("input",{"onUpdate:modelValue":l[26]||(l[26]=t=>b.description=t),class:"input input-bordered input-sm"},null,512),[[y,b.description]])]),l[73]||(l[73]=e("p",{class:"text-sm font-medium text-slate-700 mb-1"},"字段",-1)),e("div",on,[e("table",an,[l[72]||(l[72]=e("thead",null,[e("tr",null,[e("th",{class:"w-44"},"字段名"),e("th",null,"字段描述"),e("th",{class:"w-16 text-center"},"加密"),e("th",null,"默认/提示值"),e("th",{class:"w-12"})])],-1)),e("tbody",null,[(n(!0),o(v,null,h(F.value,(t,u)=>(n(),o("tr",{key:u},[e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.key=a,placeholder:"key",title:t.key},null,8,dn),[[y,t.key]])]),e("td",null,[c(e("input",{class:"field-input","onUpdate:modelValue":a=>t.description=a,placeholder:"用途描述"},null,8,un),[[y,t.description]])]),e("td",cn,[c(e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary","onUpdate:modelValue":a=>t.encrypted=a},null,8,rn),[[O,t.encrypted]])]),e("td",null,[t.type==="langs"?(n(),R(r,{key:0,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a,multiple:!0},null,8,["modelValue","onUpdate:modelValue"])):t.type==="lang"?(n(),R(r,{key:1,modelValue:t.def_value,"onUpdate:modelValue":a=>t.def_value=a},null,8,["modelValue","onUpdate:modelValue"])):c((n(),o("input",{key:2,class:"field-input","onUpdate:modelValue":a=>t.def_value=a,placeholder:"可留空"},null,8,pn)),[[y,t.def_value]])]),e("td",null,[e("button",{class:"btn btn-ghost btn-xs text-error",onClick:a=>Ge(u)},"×",8,vn)])]))),128)),F.value.length?g("",!0):(n(),o("tr",mn,[...l[71]||(l[71]=[e("td",{colspan:"5",class:"text-center text-slate-400 py-2"},"尚无字段",-1)])]))])])]),e("button",{class:"btn btn-ghost btn-sm mt-2 text-primary",onClick:Pe},"+ 添加字段")],64))])],512),[[Ve,ke.value]])])}}}),kn=Se(bn,[["__scopeId","data-v-04ce4a7d"]]);export{kn as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Bi5c3E0c.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CHwWlLZM.js similarity index 56% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Bi5c3E0c.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CHwWlLZM.js index e9c92ee2..533e61eb 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Bi5c3E0c.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CHwWlLZM.js @@ -1,4 +1,4 @@ -import{g as z,j as G,K as P,c as a,a as e,d as u,k as x,p as U,F as f,r as B,m as Y,q as Z,t as n,s as i,A as E,o,n as F,l as A,_ as J}from"./CTAruH_8.js";import{u as Q}from"./9B2ftqmN.js";import{u as W}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const X=globalThis.setInterval,$={class:"flex items-center justify-between mb-4 flex-wrap gap-3"},tt={class:"flex items-center gap-2 flex-wrap"},et=["value"],st={class:"flex items-center gap-1 text-xs text-slate-500 cursor-pointer"},lt={class:"flex items-center gap-4 mb-3 text-xs text-slate-500"},nt={class:"text-slate-700"},at={class:"text-slate-700"},ot={class:"text-slate-700"},rt={class:"muted"},ut={class:"panel overflow-hidden"},it={id:"logBody",style:{"max-height":"calc(100vh - 230px)","overflow-y":"auto"}},ct={key:0,class:"text-center text-slate-400 py-10"},dt={key:1,class:"text-center text-red-400 py-10"},vt={key:2,class:"text-center text-slate-400 py-10"},pt={class:"t"},mt={class:"app-name"},ft={key:0,class:"unreg",title:"该应用名未在 console 注册,快照已收到但不会写入统计库"},gt={key:1,class:"muted"},xt={class:"muted"},_t={class:"muted"},yt={class:"muted"},bt={key:0,class:"muted"},ht={class:"t"},wt={key:0,class:"late"},kt=z({__name:"statlog",setup(Ct){const{webApi:I}=Q(),{success:O,error:R}=W(),j={cn:"中国",us:"美国",ea:"东亚",sea:"东南亚",sa:"南亚",me:"中东",eu:"欧洲",ru:"俄罗斯",af:"非洲",sam:"南美",nam:"北美",oc:"大洋洲",br:"巴西",in:"印度"};function D(l){return l?j[l]||l:"-"}const c=i([]),_=i(!1),g=i(""),L=i("-"),N=i("-"),y=i(""),v=i(0),b=i(""),h=i(""),w=i(!1);let d=null;function p(l=0){const s=new Date(Date.now()+l*864e5),t=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(s);return parseInt(t.replace(/-/g,""),10)}function k(l){const s=""+l;return s.length===8?s.slice(0,4)+"-"+s.slice(4,6)+"-"+s.slice(6,8):s}function C(l){if(!l)return"--";const s=new Date(l*1e3),t=r=>r<10?"0"+r:""+r;return t(s.getHours())+":"+t(s.getMinutes())+":"+t(s.getSeconds())}function S(l){return l?"0x"+(l>>>0).toString(16).toUpperCase():"全部"}const V=E(()=>[{value:p(0),label:"今天 "+k(p(0))},{value:p(-1),label:"昨天 "+k(p(-1))}]);function M(l){return l==="error"?{cls:"lv-error",txt:"解析失败"}:l==="warn"?{cls:"lv-warn",txt:"未落库"}:{cls:"lv-info",txt:"已落库"}}function H(l){return!!(l.snap_ts&&l.ts&&l.ts-l.snap_ts>120)}const T=E(()=>{const l=b.value,s=h.value.trim().toLowerCase();return c.value.filter(t=>!(l&&t.level!==l||s&&((t.app||"")+" "+(t.region||"")+" "+D(t.region)+" "+(t.product_id||"")+" "+S(t.product_id)+" "+(t.stat_day||"")).toLowerCase().indexOf(s)<0))});async function m(){_.value=!0,g.value="";try{const l=await I("getstatlogs",{day:v.value||0});c.value=l?.entries||[],L.value=l?.total!=null?l.total:c.value.length,N.value=c.value.length?C(c.value[0].ts):"--"}catch(l){g.value=l?.message||"网络异常"}finally{_.value=!1}}async function K(){const l=v.value||0,s=V.value.find(r=>r.value===l),t=s?s.label:""+l;if(window.confirm("确定清空「"+t+`」的接收流水吗? +import{g as z,j as G,K as P,c as a,a as e,d as u,k as x,p as U,F as f,r as B,m as Y,q as Z,t as n,s as i,A as E,o,n as F,l as A,_ as J}from"./CfpW9SkI.js";import{u as Q}from"./DSu8q42f.js";import{u as W}from"./CMwGY1Mu.js";import"./DL330dAC.js";const X=globalThis.setInterval,$={class:"flex items-center justify-between mb-4 flex-wrap gap-3"},tt={class:"flex items-center gap-2 flex-wrap"},et=["value"],st={class:"flex items-center gap-1 text-xs text-slate-500 cursor-pointer"},lt={class:"flex items-center gap-4 mb-3 text-xs text-slate-500"},nt={class:"text-slate-700"},at={class:"text-slate-700"},ot={class:"text-slate-700"},rt={class:"muted"},ut={class:"panel overflow-hidden"},it={id:"logBody",style:{"max-height":"calc(100vh - 230px)","overflow-y":"auto"}},ct={key:0,class:"text-center text-slate-400 py-10"},dt={key:1,class:"text-center text-red-400 py-10"},vt={key:2,class:"text-center text-slate-400 py-10"},pt={class:"t"},mt={class:"app-name"},ft={key:0,class:"unreg",title:"该应用名未在 console 注册,快照已收到但不会写入统计库"},gt={key:1,class:"muted"},xt={class:"muted"},_t={class:"muted"},yt={class:"muted"},bt={key:0,class:"muted"},ht={class:"t"},wt={key:0,class:"late"},kt=z({__name:"statlog",setup(Ct){const{webApi:I}=Q(),{success:O,error:R}=W(),j={cn:"中国",us:"美国",ea:"东亚",sea:"东南亚",sa:"南亚",me:"中东",eu:"欧洲",ru:"俄罗斯",af:"非洲",sam:"南美",nam:"北美",oc:"大洋洲",br:"巴西",in:"印度"};function D(l){return l?j[l]||l:"-"}const c=i([]),_=i(!1),g=i(""),L=i("-"),N=i("-"),y=i(""),v=i(0),b=i(""),h=i(""),w=i(!1);let d=null;function p(l=0){const s=new Date(Date.now()+l*864e5),t=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(s);return parseInt(t.replace(/-/g,""),10)}function k(l){const s=""+l;return s.length===8?s.slice(0,4)+"-"+s.slice(4,6)+"-"+s.slice(6,8):s}function C(l){if(!l)return"--";const s=new Date(l*1e3),t=r=>r<10?"0"+r:""+r;return t(s.getHours())+":"+t(s.getMinutes())+":"+t(s.getSeconds())}function S(l){return l?"0x"+(l>>>0).toString(16).toUpperCase():"全部"}const V=E(()=>[{value:p(0),label:"今天 "+k(p(0))},{value:p(-1),label:"昨天 "+k(p(-1))}]);function M(l){return l==="error"?{cls:"lv-error",txt:"解析失败"}:l==="warn"?{cls:"lv-warn",txt:"未落库"}:{cls:"lv-info",txt:"已落库"}}function H(l){return!!(l.snap_ts&&l.ts&&l.ts-l.snap_ts>120)}const T=E(()=>{const l=b.value,s=h.value.trim().toLowerCase();return c.value.filter(t=>!(l&&t.level!==l||s&&((t.app||"")+" "+(t.region||"")+" "+D(t.region)+" "+(t.product_id||"")+" "+S(t.product_id)+" "+(t.stat_day||"")).toLowerCase().indexOf(s)<0))});async function m(){_.value=!0,g.value="";try{const l=await I("getstatlogs",{day:v.value||0});c.value=l?.entries||[],L.value=l?.total!=null?l.total:c.value.length,N.value=c.value.length?C(c.value[0].ts):"--"}catch(l){g.value=l?.message||"网络异常"}finally{_.value=!1}}async function K(){const l=v.value||0,s=V.value.find(r=>r.value===l),t=s?s.label:""+l;if(window.confirm("确定清空「"+t+`」的接收流水吗? 只清除本核对面板的记录,不影响已落库的统计数据。 -清空后可重新触发埋点,观察是否正常进来。`))try{const r=await I("clearstatlogs",{day:l});O("已清空 "+(r&&r.cleared!=null?r.cleared:0)+" 条"),m()}catch(r){R("清空失败:"+(r?.message||"网络异常"))}}function q(){w.value?(d=X(m,15e3),y.value="· 每 15 秒自动刷新"):(d&&clearInterval(d),d=null,y.value="")}return G(()=>{v.value=p(0),m()}),P(()=>{d&&clearInterval(d)}),(l,s)=>(o(),a("div",null,[e("div",$,[s[6]||(s[6]=e("div",null,[e("h2",{class:"text-lg font-bold text-slate-700"},"统计日志"),e("p",{class:"text-xs text-slate-400 mt-0.5"},[u("console 从 NATS 收到的「当日统计快照」接收流水(最新在前,按接收时间分天存 Redis)。各业务部署每个同步周期/启动时/0点 推送一次当日绝对快照,console 收到后覆盖落库。用于核对每个部署是否在正常汇报;带 "),e("span",{class:"unreg"},"未注册"),u(" 的应用快照已收到但"),e("b",null,"不会落库"),u("(应用名需与 console 注册表完全一致)。")])],-1)),e("div",tt,[x(e("select",{"onUpdate:modelValue":s[0]||(s[0]=t=>v.value=t),class:"select select-bordered select-sm",onChange:m},[(o(!0),a(f,null,B(V.value,t=>(o(),a("option",{key:t.value,value:t.value},n(t.label),9,et))),128))],544),[[U,v.value,void 0,{number:!0}]]),x(e("select",{"onUpdate:modelValue":s[1]||(s[1]=t=>b.value=t),class:"select select-bordered select-sm"},[...s[4]||(s[4]=[e("option",{value:""},"全部级别",-1),e("option",{value:"info"},"已落库",-1),e("option",{value:"warn"},"未落库",-1),e("option",{value:"error"},"解析失败",-1)])],512),[[U,b.value]]),x(e("input",{"onUpdate:modelValue":s[2]||(s[2]=t=>h.value=t),class:"input input-bordered input-sm w-44",placeholder:"筛选 应用/区域/产品"},null,512),[[Y,h.value]]),e("label",st,[x(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>w.value=t),type:"checkbox",class:"checkbox checkbox-xs",onChange:q},null,544),[[Z,w.value]]),s[5]||(s[5]=u(" 自动刷新 ",-1))]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:m},"刷新"),e("button",{class:"btn btn-outline btn-error btn-sm",title:"清空本日核对流水(不影响已落库的统计数据),清空后可重新观察埋点是否正常进来",onClick:K},"清空本日")])]),e("div",lt,[e("span",null,[s[7]||(s[7]=u("该日保留 ",-1)),e("b",nt,n(L.value),1),s[8]||(s[8]=u(" 条",-1))]),e("span",null,[s[9]||(s[9]=u("当前显示 ",-1)),e("b",at,n(T.value.length),1),s[10]||(s[10]=u(" 条",-1))]),e("span",null,[s[11]||(s[11]=u("最近接收 ",-1)),e("b",ot,n(N.value),1)]),e("span",rt,n(y.value),1)]),e("div",ut,[s[12]||(s[12]=e("div",{id:"logHead"},[e("div",null,"接收时间"),e("div",null,"级别"),e("div",null,"应用 · 区域 · 产品"),e("div",null,"统计日"),e("div",null,"指标摘要 / 说明"),e("div",null,"快照时间")],-1)),e("div",it,[_.value?(o(),a("div",ct,"加载中...")):g.value?(o(),a("div",dt,"加载失败:"+n(g.value),1)):T.value.length?(o(!0),a(f,{key:3},B(T.value,(t,r)=>(o(),a("div",{key:r,class:"logrow"},[e("div",pt,n(C(t.ts)),1),e("div",null,[e("span",{class:F(["lv",M(t.level).cls])},n(M(t.level).txt),3)]),e("div",null,[t.app?(o(),a(f,{key:0},[e("span",mt,n(t.app),1),t.registered?A("",!0):(o(),a("span",ft,"未注册"))],64)):(o(),a("span",gt,"(无应用名)")),e("span",xt," · "+n(D(t.region)),1),e("span",_t," · "+n(S(t.product_id)),1)]),e("div",yt,n(t.stat_day?k(t.stat_day):"-"),1),e("div",null,[t.msg?(o(),a(f,{key:0},[e("span",{class:F(t.level==="error"?"text-red-600":"text-amber-600")},n(t.msg),3),t.summary?(o(),a("span",bt," · "+n(t.summary),1)):A("",!0)],64)):(o(),a(f,{key:1},[u(n(t.summary||"无增量"),1)],64))]),e("div",ht,[u(n(C(t.snap_ts)),1),H(t)?(o(),a("span",wt,"迟到"+n(t.ts-t.snap_ts)+"s",1)):A("",!0)])]))),128)):(o(),a("div",vt,n(c.value.length?"无匹配记录":"该日暂无接收记录"),1))])])]))}}),Nt=J(kt,[["__scopeId","data-v-742ee359"]]);export{Nt as default}; +清空后可重新触发埋点,观察是否正常进来。`))try{const r=await I("clearstatlogs",{day:l});O("已清空 "+(r&&r.cleared!=null?r.cleared:0)+" 条"),m()}catch(r){R("清空失败:"+(r?.message||"网络异常"))}}function q(){w.value?(d=X(m,15e3),y.value="· 每 15 秒自动刷新"):(d&&clearInterval(d),d=null,y.value="")}return G(()=>{v.value=p(0),m()}),P(()=>{d&&clearInterval(d)}),(l,s)=>(o(),a("div",null,[e("div",$,[s[6]||(s[6]=e("div",null,[e("h2",{class:"text-lg font-bold text-slate-700"},"统计日志"),e("p",{class:"text-xs text-slate-400 mt-0.5"},[u("console 从 NATS 收到的「当日统计快照」接收流水(最新在前,按接收时间分天存 Redis)。各业务部署每个同步周期/启动时/0点 推送一次当日绝对快照,console 收到后覆盖落库。用于核对每个部署是否在正常汇报;带 "),e("span",{class:"unreg"},"未注册"),u(" 的应用快照已收到但"),e("b",null,"不会落库"),u("(应用名需与 console 注册表完全一致)。")])],-1)),e("div",tt,[x(e("select",{"onUpdate:modelValue":s[0]||(s[0]=t=>v.value=t),class:"select select-bordered select-sm",onChange:m},[(o(!0),a(f,null,B(V.value,t=>(o(),a("option",{key:t.value,value:t.value},n(t.label),9,et))),128))],544),[[U,v.value,void 0,{number:!0}]]),x(e("select",{"onUpdate:modelValue":s[1]||(s[1]=t=>b.value=t),class:"select select-bordered select-sm"},[...s[4]||(s[4]=[e("option",{value:""},"全部级别",-1),e("option",{value:"info"},"已落库",-1),e("option",{value:"warn"},"未落库",-1),e("option",{value:"error"},"解析失败",-1)])],512),[[U,b.value]]),x(e("input",{"onUpdate:modelValue":s[2]||(s[2]=t=>h.value=t),class:"input input-bordered input-sm w-44",placeholder:"筛选 应用/区域/产品"},null,512),[[Y,h.value]]),e("label",st,[x(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>w.value=t),type:"checkbox",class:"checkbox checkbox-xs",onChange:q},null,544),[[Z,w.value]]),s[5]||(s[5]=u(" 自动刷新 ",-1))]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:m},"刷新"),e("button",{class:"btn btn-outline btn-error btn-sm",title:"清空本日核对流水(不影响已落库的统计数据),清空后可重新观察埋点是否正常进来",onClick:K},"清空本日")])]),e("div",lt,[e("span",null,[s[7]||(s[7]=u("该日保留 ",-1)),e("b",nt,n(L.value),1),s[8]||(s[8]=u(" 条",-1))]),e("span",null,[s[9]||(s[9]=u("当前显示 ",-1)),e("b",at,n(T.value.length),1),s[10]||(s[10]=u(" 条",-1))]),e("span",null,[s[11]||(s[11]=u("最近接收 ",-1)),e("b",ot,n(N.value),1)]),e("span",rt,n(y.value),1)]),e("div",ut,[s[12]||(s[12]=e("div",{id:"logHead"},[e("div",null,"接收时间"),e("div",null,"级别"),e("div",null,"应用 · 区域 · 产品"),e("div",null,"统计日"),e("div",null,"指标摘要 / 说明"),e("div",null,"快照时间")],-1)),e("div",it,[_.value?(o(),a("div",ct,"加载中...")):g.value?(o(),a("div",dt,"加载失败:"+n(g.value),1)):T.value.length?(o(!0),a(f,{key:3},B(T.value,(t,r)=>(o(),a("div",{key:r,class:"logrow"},[e("div",pt,n(C(t.ts)),1),e("div",null,[e("span",{class:F(["lv",M(t.level).cls])},n(M(t.level).txt),3)]),e("div",null,[t.app?(o(),a(f,{key:0},[e("span",mt,n(t.app),1),t.registered?A("",!0):(o(),a("span",ft,"未注册"))],64)):(o(),a("span",gt,"(无应用名)")),e("span",xt," · "+n(D(t.region)),1),e("span",_t," · "+n(S(t.product_id)),1)]),e("div",yt,n(t.stat_day?k(t.stat_day):"-"),1),e("div",null,[t.msg?(o(),a(f,{key:0},[e("span",{class:F(t.level==="error"?"text-red-600":"text-amber-600")},n(t.msg),3),t.summary?(o(),a("span",bt," · "+n(t.summary),1)):A("",!0)],64)):(o(),a(f,{key:1},[u(n(t.summary||"无增量"),1)],64))]),e("div",ht,[u(n(C(t.snap_ts)),1),H(t)?(o(),a("span",wt,"迟到"+n(t.ts-t.snap_ts)+"s",1)):A("",!0)])]))),128)):(o(),a("div",vt,n(c.value.length?"无匹配记录":"该日暂无接收记录"),1))])])]))}}),Lt=J(kt,[["__scopeId","data-v-742ee359"]]);export{Lt as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CMwGY1Mu.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CMwGY1Mu.js new file mode 100644 index 00000000..69067e78 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CMwGY1Mu.js @@ -0,0 +1 @@ +import{a as u}from"./DL330dAC.js";let i=0;function f(){const o=u("app:toasts",()=>[]);function e(s,t="info",r=3e3){const a=++i;o.value.push({id:a,type:t,msg:s}),r>0&&setTimeout(()=>{o.value=o.value.filter(n=>n.id!==a)},r)}return{toasts:o,toast:e,success:(s,t)=>e(s,"success",t),error:(s,t)=>e(s,"error",t),info:(s,t)=>e(s,"info",t),warn:(s,t)=>e(s,"warning",t)}}export{f as u}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CZnZfJ5f.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CZnZfJ5f.js deleted file mode 100644 index 71e8d883..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CZnZfJ5f.js +++ /dev/null @@ -1 +0,0 @@ -import{g as R,j as q,c as a,k as i,v as E,a as t,F as p,r as f,p as j,m as u,t as r,D as H,H as I,s as m,x as G,A as k,o as d}from"./CTAruH_8.js";import{u as J}from"./9B2ftqmN.js";import{u as K}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const P={class:"flex items-center justify-between mb-5"},Q={class:"flex items-center gap-3 mb-4 flex-wrap"},W=["value"],X=["value"],Y={class:"bg-white rounded-xl shadow-sm border border-slate-100"},Z={class:"overflow-x-auto"},tt={class:"table table-zebra"},et={key:0},st={key:1},lt={class:"bg-slate-100/80"},ot={colspan:"7",class:"py-2"},nt={class:"font-semibold text-slate-600 text-sm"},at={class:"text-xs text-slate-400 ml-2"},it={class:"font-mono text-sm text-slate-400"},dt={class:"font-medium"},rt={class:"font-mono text-sm"},ut={class:"badge badge-outline badge-sm"},mt={class:"text-sm"},pt={class:"text-sm"},bt={key:1,class:"text-slate-300"},ct={class:"text-right"},ft={class:"inline-flex gap-1"},vt=["onClick"],gt=["onClick"],xt={class:"flex items-center gap-3 mb-5"},yt={class:"text-lg font-semibold text-slate-800"},wt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},kt={class:"grid grid-cols-2 gap-4"},ht={class:"form-control mb-4"},_t={class:"form-control mb-4"},Vt={class:"form-control mb-4"},Ut={class:"form-control mb-4"},Ct={class:"form-control mb-4"},Ft={class:"form-control mb-4"},St={class:"form-control mb-4"},Lt={class:"form-control mb-4"},$t={class:"form-control mb-6"},At={class:"flex gap-3"},Dt=["disabled"],zt=R({__name:"meettemplates",setup(Et){const{webApi:v}=J(),{success:L,error:g}=K(),x=m("list"),b=m([]),h=m(!1),_=m(!1),c=m(!1),y=m(""),w=m(""),V=m(""),o=G({id:0,title:"",tid:"",language:"",ttype:"",tags:"",icon:"",description:"",outline:"",template:""});function $(l){return(l||"").split(",").map(e=>e.trim()).filter(Boolean)}const B=k(()=>{const l=new Set;return b.value.forEach(e=>{e.language&&l.add(e.language)}),Array.from(l).sort()}),M=k(()=>{const l=new Set;return b.value.forEach(e=>{e.tid&&l.add(e.tid)}),Array.from(l).sort()}),A=k(()=>{const l=V.value.trim().toLowerCase();return b.value.filter(e=>!(y.value&&(e.language||"")!==y.value||w.value&&(e.tid||"")!==w.value||l&&(e.title||"").toLowerCase().indexOf(l)<0))}),O=k(()=>{const l={};return A.value.forEach(s=>{const n=s.tid||"";(l[n]=l[n]||[]).push(s)}),Object.keys(l).sort((s,n)=>s===""?-1:n===""?1:s({key:s,label:s||"无 tid",items:l[s]}))});async function U(){h.value=!0;try{const l=await v("getmeettemplates",{});b.value=l?.templates??[]}catch(l){g(l?.message??"加载失败"),b.value=[]}finally{h.value=!1}}function C(){x.value="list",U()}function F(l){o.id=l.id||0,o.title=l.title||"",o.tid=l.tid||"",o.language=l.language||"",o.ttype=l.ttype||"",o.tags=l.tags||"",o.icon=l.icon||"",o.description=l.description||"",o.outline=l.outline||"",o.template=l.template||""}async function D(l){if(x.value="form",l&&l.id){c.value=!0,F(l);try{const e=await v("getmeettemplate",{id:l.id});e&&F(e)}catch(e){g(e?.message??"加载详情失败")}}else c.value=!1,F({})}async function T(){_.value=!0;try{const l={title:o.title.trim(),tid:o.tid.trim(),language:o.language.trim(),ttype:o.ttype.trim(),tags:o.tags.trim(),icon:o.icon.trim(),description:o.description.trim(),outline:o.outline,template:o.template};c.value&&(l.id=Number(o.id)),await v(c.value?"updatemeettemplate":"addmeettemplate",l),L("保存成功"),C()}catch(l){g(l?.message??"保存失败")}finally{_.value=!1}}function z(l){window.confirm(`确定删除模板 "${l.title||""}" 吗?`)&&v("delmeettemplate",{ids:[l.id]}).then(()=>{L("删除成功"),U()}).catch(e=>g(e?.message??"删除失败"))}return q(U),(l,e)=>(d(),a("div",null,[i(t("div",null,[t("div",P,[e[15]||(e[15]=t("div",null,[t("h2",{class:"text-lg font-semibold text-slate-800"},"会议模板"),t("p",{class:"text-xs text-slate-400 mt-1"},"会议纪要公共模板(source=public),所有应用共享。修改后各服务约 10 分钟内自动同步。")],-1)),t("button",{class:"btn btn-primary btn-sm text-white",onClick:e[0]||(e[0]=s=>D())},"+ 新增模板")]),t("div",Q,[e[18]||(e[18]=t("span",{class:"text-sm text-slate-500"},"语言",-1)),i(t("select",{"onUpdate:modelValue":e[1]||(e[1]=s=>y.value=s),class:"select select-bordered select-sm"},[e[16]||(e[16]=t("option",{value:""},"全部语言",-1)),(d(!0),a(p,null,f(B.value,s=>(d(),a("option",{key:s,value:s},r(s),9,W))),128))],512),[[j,y.value]]),e[19]||(e[19]=t("span",{class:"text-sm text-slate-500"},"分组(tid)",-1)),i(t("select",{"onUpdate:modelValue":e[2]||(e[2]=s=>w.value=s),class:"select select-bordered select-sm"},[e[17]||(e[17]=t("option",{value:""},"全部分组",-1)),(d(!0),a(p,null,f(M.value,s=>(d(),a("option",{key:s,value:s},r(s),9,X))),128))],512),[[j,w.value]]),i(t("input",{"onUpdate:modelValue":e[3]||(e[3]=s=>V.value=s),class:"input input-bordered input-sm w-48",placeholder:"按标题搜索"},null,512),[[u,V.value]])]),t("div",Y,[t("div",Z,[t("table",tt,[e[22]||(e[22]=t("thead",null,[t("tr",null,[t("th",null,"ID"),t("th",null,"标题"),t("th",null,"模板标识(tid)"),t("th",null,"语言"),t("th",null,"类型"),t("th",null,"标签"),t("th",{class:"text-right"},"操作")])],-1)),t("tbody",null,[h.value?(d(),a("tr",et,[...e[20]||(e[20]=[t("td",{colspan:"7",class:"text-center py-8"},[t("span",{class:"loading loading-spinner loading-sm"})],-1)])])):A.value.length?(d(!0),a(p,{key:2},f(O.value,s=>(d(),a(p,{key:s.key},[t("tr",lt,[t("td",ot,[t("span",nt,"▸ "+r(s.label),1),t("span",at,r(s.items.length)+" 个版本",1)])]),(d(!0),a(p,null,f(s.items,n=>(d(),a("tr",{key:n.id,class:"hover"},[t("td",it,r(n.id||""),1),t("td",dt,r(n.title||""),1),t("td",rt,r(n.tid||""),1),t("td",null,[t("span",ut,r(n.language||"-"),1)]),t("td",mt,r(n.ttype||""),1),t("td",pt,[$(n.tags).length?(d(!0),a(p,{key:0},f($(n.tags),(S,N)=>(d(),a("span",{key:N,class:"badge badge-ghost badge-sm mr-1"},r(S),1))),128)):(d(),a("span",bt,"-"))]),t("td",ct,[t("div",ft,[t("button",{class:"btn btn-ghost btn-xs",onClick:S=>D(n)},"编辑",8,vt),t("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:S=>z(n)},"删除",8,gt)])])]))),128))],64))),128)):(d(),a("tr",st,[...e[21]||(e[21]=[t("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无模板",-1)])]))])])])])],512),[[E,x.value==="list"]]),i(t("div",null,[t("div",xt,[t("button",{class:"btn btn-ghost btn-sm",onClick:e[4]||(e[4]=s=>C())},"← 返回列表"),t("h2",yt,r(c.value?"编辑模板":"新增模板"),1)]),t("div",wt,[t("form",{onSubmit:H(T,["prevent"])},[t("div",kt,[t("div",ht,[e[23]||(e[23]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"标题 *")],-1)),i(t("input",{"onUpdate:modelValue":e[5]||(e[5]=s=>o.title=s),type:"text",class:"input input-bordered w-full",required:""},null,512),[[u,o.title]])]),t("div",_t,[e[24]||(e[24]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"模板标识 (tid)")],-1)),i(t("input",{"onUpdate:modelValue":e[6]||(e[6]=s=>o.tid=s),type:"text",class:"input input-bordered w-full",placeholder:"同一 tid 可有多语言版本"},null,512),[[u,o.tid]])]),t("div",Vt,[e[25]||(e[25]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"语言")],-1)),i(t("input",{"onUpdate:modelValue":e[7]||(e[7]=s=>o.language=s),type:"text",class:"input input-bordered w-full",placeholder:"如 zh / en",list:"langlist"},null,512),[[u,o.language]]),e[26]||(e[26]=I('',1))]),t("div",Ut,[e[27]||(e[27]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"类型 (ttype)")],-1)),i(t("input",{"onUpdate:modelValue":e[8]||(e[8]=s=>o.ttype=s),type:"text",class:"input input-bordered w-full",placeholder:"如 meeting / interview"},null,512),[[u,o.ttype]])]),t("div",Ct,[e[28]||(e[28]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"标签 (tags)")],-1)),i(t("input",{"onUpdate:modelValue":e[9]||(e[9]=s=>o.tags=s),type:"text",class:"input input-bordered w-full",placeholder:"逗号分隔"},null,512),[[u,o.tags]])]),t("div",Ft,[e[29]||(e[29]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"图标 (icon)")],-1)),i(t("input",{"onUpdate:modelValue":e[10]||(e[10]=s=>o.icon=s),type:"text",class:"input input-bordered w-full",placeholder:"图标 URL 或名称"},null,512),[[u,o.icon]])])]),t("div",St,[e[30]||(e[30]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"描述")],-1)),i(t("input",{"onUpdate:modelValue":e[11]||(e[11]=s=>o.description=s),type:"text",class:"input input-bordered w-full"},null,512),[[u,o.description]])]),t("div",Lt,[e[31]||(e[31]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"大纲 (outline)")],-1)),i(t("textarea",{"onUpdate:modelValue":e[12]||(e[12]=s=>o.outline=s),class:"textarea textarea-bordered w-full font-mono text-sm",rows:"4"},null,512),[[u,o.outline]])]),t("div",$t,[e[32]||(e[32]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"模板内容 (template)")],-1)),i(t("textarea",{"onUpdate:modelValue":e[13]||(e[13]=s=>o.template=s),class:"textarea textarea-bordered w-full font-mono text-sm",rows:"10"},null,512),[[u,o.template]])]),t("div",At,[t("button",{type:"button",class:"btn btn-ghost",onClick:e[14]||(e[14]=s=>C())},"取消"),t("button",{type:"submit",class:"btn btn-primary text-white",disabled:_.value},"保存",8,Dt)])],32)])],512),[[E,x.value==="form"]])]))}});export{zt as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/P2ZWRt51.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C_4yneL9.js similarity index 96% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/P2ZWRt51.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C_4yneL9.js index c5d0f6ac..43456c24 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/P2ZWRt51.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C_4yneL9.js @@ -1 +1 @@ -import{_ as o,o as s,c as a,a as t,t as r}from"./CTAruH_8.js";import{u as i}from"./DpWhlKu2.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},c={class:"max-w-520px text-center"},l=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:500},statusText:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return i({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(h,m)=>(s(),a("div",u,[t("div",c,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.status)},null,8,l),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusText)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},x=o(f,[["__scopeId","data-v-2c2ce9e3"]]);export{x as default}; +import{_ as o,o as s,c as a,a as t,t as r}from"./CfpW9SkI.js";import{u as i}from"./tlYhbUA5.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},c={class:"max-w-520px text-center"},l=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:500},statusText:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return i({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(h,m)=>(s(),a("div",u,[t("div",c,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.status)},null,8,l),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusText)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},x=o(f,[["__scopeId","data-v-2c2ce9e3"]]);export{x as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Cy8zKM7T.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C_DpaApf.js similarity index 71% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Cy8zKM7T.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C_DpaApf.js index 25116ead..639492c3 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Cy8zKM7T.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/C_DpaApf.js @@ -1,4 +1,4 @@ -import{g as fe,C as xe,j as ge,c as d,a as e,k as r,p as O,F as E,r as $,m,l as z,v as K,t as i,H as ye,q as jt,D as Gt,n as Xt,d as g,A as U,s as n,x as he,o as u}from"./CTAruH_8.js";import{u as we}from"./9B2ftqmN.js";import{u as ke}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const Ce={class:"space-y-6"},_e={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4"},Se={class:"flex items-end gap-3 flex-wrap"},Me={class:"form-control"},Ue=["value"],Ve={class:"form-control"},De=["value"],Ae={class:"form-control"},je={class:"form-control"},Ne={class:"grid grid-cols-3 gap-4"},Ie={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5"},Te={class:"text-2xl font-bold text-slate-800"},Pe={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5"},Fe={class:"text-2xl font-bold text-indigo-600"},Be={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5"},Le={class:"text-base font-semibold text-slate-700"},Oe={class:"bg-white rounded-xl shadow-sm border border-slate-100 mt-5"},Ee={class:"flex items-center justify-between px-5 py-3 border-b border-slate-100"},$e={class:"flex items-center gap-2"},ze={class:"text-xs text-slate-400"},qe={class:"overflow-x-auto",style:{"max-height":"360px"}},Re={class:"table table-pin-rows text-sm"},He={key:0},Ge={key:1},Xe={colspan:"8",class:"text-center text-red-400 py-8"},Ye={key:2},Je={class:"text-xs text-slate-500 whitespace-nowrap"},Ke={class:"text-xs"},Qe={class:"text-xs"},We={class:"text-xs"},Ze={class:"font-mono text-xs"},ts={class:"font-mono text-xs"},es={class:"text-right font-medium"},ss={class:"flex gap-1"},ls=["onClick"],os=["onClick"],ns={class:"bg-white rounded-xl shadow-sm border border-slate-100 mt-5"},as={class:"flex items-center justify-between px-5 py-3 border-b border-slate-100 flex-wrap gap-2"},is={class:"flex items-end gap-2 flex-wrap"},ds={class:"form-control"},us={class:"form-control"},rs={class:"form-control"},cs={class:"form-control"},vs={class:"form-control"},bs={class:"form-control"},ps={class:"form-control"},ms={class:"form-control"},fs=["disabled"],xs=["disabled"],gs=["disabled"],ys=["disabled"],hs={class:"overflow-x-auto"},ws={class:"w-8"},ks={key:0},Cs={key:1},_s={colspan:"10",class:"text-center text-red-400 py-8"},Ss={key:2},Ms=["value"],Us={class:"font-mono text-xs"},Vs={class:"font-mono text-xs"},Ds={key:0,class:"badge badge-success badge-sm"},As={key:1,class:"badge badge-warning badge-sm"},js={key:2,class:"badge badge-error badge-sm"},Ns={key:0,class:"badge badge-error badge-sm"},Is={key:1,class:"badge badge-ghost badge-sm"},Ts={class:"text-xs"},Ps={class:"text-xs text-slate-500"},Fs={class:"flex gap-1"},Bs=["onClick"],Ls=["onClick"],Os=["onClick"],Es={class:"flex items-center justify-between px-5 py-3 border-t border-slate-100"},$s={class:"text-xs text-slate-500"},zs={class:"flex items-center gap-2"},qs=["disabled"],Rs={class:"text-xs text-slate-500"},Hs=["disabled"],Gs={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},Xs={class:"form-control mb-4"},Ys=["value"],Js={class:"form-control mb-4"},Ks=["disabled"],Qs={value:0},Ws=["value"],Zs={class:"tabs tabs-boxed mb-4 bg-slate-100 inline-flex"},tl={class:"form-control mb-4"},el={class:"form-control mb-4"},sl=["required"],ll={class:"form-control mb-2"},ol={class:"form-control mb-4"},nl={class:"flex gap-3 mt-2"},al=["disabled"],il={key:0,class:"loading loading-spinner loading-xs"},dl={class:"modal-box w-11/12 max-w-2xl"},ul={class:"grid grid-cols-2 gap-4 mb-3"},rl={class:"form-control"},cl={class:"form-control"},vl={class:"form-control mb-3"},bl={class:"form-control mb-3"},pl={class:"form-control mb-4"},ml={class:"text-sm text-slate-500"},fl={class:"modal-action"},xl=["disabled"],gl={key:0,class:"loading loading-spinner loading-xs"},yl={class:"modal-box max-w-md"},hl={class:"text-sm space-y-1 mb-4"},wl={class:"font-medium"},kl={class:"font-medium"},Cl={class:"font-mono font-medium text-red-600"},_l={class:"font-medium"},Sl={class:"form-control mb-2"},Ml={class:"label"},Ul={class:"label-text text-xs"},Vl={class:"font-mono text-red-600"},Dl={class:"text-xs text-red-500 min-h-[1em] mb-2"},Al={class:"modal-action"},jl=["disabled"],Nl={key:0,class:"loading loading-spinner loading-xs"},Ol=fe({__name:"device",setup(Il){const{webApi:y}=we(),{success:h,error:V,warn:_}=ke(),w=xe(),Yt=U(()=>w.identity===1),Jt=U(()=>w.identity>0&&w.identity<=2),D=n([]),A=n([]),j=n([]),k=n([]),x=n([]),q=n(0),C=n(0),Q=n(200),N=n("production"),W=n("main"),S=n(0),b=n(0),pt=n(""),mt=n(""),ft=n("-"),xt=n("-"),gt=n("-"),yt=n(""),ht=n(!1),Z=n(""),tt=n("1"),wt=n("usedtime"),et=n(""),kt=n(""),Ct=n(""),_t=n(""),R=n("200"),St=n(null),H=n(""),st=n(!1),I=n([]),Nt=U(()=>I.value.length),It=n(null),T=n(0),G=n(0),lt=n(!1),ot=n(null),X=n(""),nt=n(!1),Y=n(null),P=n(""),at=n(null),it=n(!1),v=he({to:"",cc:"",subject:"",content:""}),Mt=n(null),p=n(null),dt=n(""),ut=n(""),rt=n(!1),Kt=U(()=>!!p.value&&dt.value.trim()===String(p.value.probatch)),Tt=U(()=>Math.max(1,Math.ceil(q.value/Q.value))),Qt=U(()=>b.value?"第 "+(C.value+1)+" / "+Tt.value+" 页":"-"),Pt=U(()=>S.value?A.value.filter(l=>l.factoryid===S.value):A.value),Ft=U(()=>T.value?A.value.filter(l=>l.factoryid===T.value):[]);function ct(l){if(!l)return"-";const t=new Date(l*1e3);return t.getFullYear()+"-"+String(t.getMonth()+1).padStart(2,"0")+"-"+String(t.getDate()).padStart(2,"0")+" "+String(t.getHours()).padStart(2,"0")+":"+String(t.getMinutes()).padStart(2,"0")}function Bt(l,t){if(!l)return 0;const s=new Date(l+(t?"T23:59:59":"T00:00:00"));return Math.floor(s.getTime()/1e3)}function Ut(l){const t=D.value.find(s=>s.id===l);return t?t.factory:String(l||"")}function Vt(l){const t=j.value.find(s=>s.id===l);return t?t.devicename:String(l||"")}function Lt(l){return l?Number(l).toString(16).toUpperCase():""}async function Wt(){try{const[t,s]=await Promise.all([y("getfactorys",{}),y("getproducts",{})]);D.value=t?.factorys??[],j.value=s?.products??[]}catch(t){V(t?.message??"加载基础数据失败"),D.value=[],j.value=[]}const l=w.products.map(t=>parseInt(t)).filter(t=>!isNaN(t)&&t>0);w.identity!==1&&l.length>0?A.value=j.value.filter(t=>l.indexOf(t.id)>=0):A.value=j.value.slice(),A.value.length>0&&(b.value=A.value[0].id),F()}function vt(){W.value="main"}function Zt(){W.value="create",T.value=0,G.value=0,lt.value=!1,ot.value=null,X.value="",Dt("production")}function te(){b.value&&!Pt.value.find(l=>l.id===b.value)&&(b.value=0),F()}function ee(){C.value=0,F()}function Ot(){let l;if(R.value==="custom"){if(l=Number(St.value),!l||l<1)return}else l=parseInt(R.value);l>2e3&&(l=2e3),Q.value=l,B(!0)}function F(){Et(),B(!0)}async function Et(){ht.value=!0,Z.value="";const l={limit:500};S.value&&(l.factoryid=S.value),b.value&&(l.productid=b.value);const t=Bt(pt.value,!1);t&&(l.start=t);const s=Bt(mt.value,!0);s&&(l.end=s);try{const o=await y("getfactorydeliverynotes",l);k.value=o?.notes??[],ft.value=o?.total_batch??0,xt.value=o?.total_devices??0,gt.value=k.value.length?ct(k.value[0].ts):"-",yt.value="共 "+k.value.length+" 条"}catch(o){Z.value=o?.message??"",k.value=[],ft.value="0",xt.value="0",gt.value="-",yt.value=""}finally{ht.value=!1}}function se(l,t,s,o){p.value={factoryid:l,productid:t,probatch:s,devicetnum:o},dt.value="",ut.value="",Mt.value?.showModal()}function $t(){Mt.value?.close(),p.value=null}async function le(){if(p.value){rt.value=!0,ut.value="";try{const l=await y("revokefactorydevics",{factoryid:p.value.factoryid,productid:p.value.productid,probatch:p.value.probatch});$t(),h("已撤销批次,删除 "+(l?.deleted??0)+" 个设备码"),F()}catch(l){ut.value=l?.message??"撤销失败"}finally{rt.value=!1}}}function oe(l,t){b.value=l,et.value=String(t),tt.value="0",C.value=0,B(!0),setTimeout(()=>{It.value?.scrollIntoView({behavior:"smooth",block:"start"})},100)}function zt(){const l={productid:b.value,sortby:wt.value,order:"desc"},t=parseInt(tt.value);isNaN(t)||(l.status=t),S.value&&(l.factoryid=S.value);const s=parseInt(et.value);s&&(l.probatch=s);const o=kt.value.trim();o&&(l.code=o);const a=Ct.value.trim();a&&(l.devicemac=a);const f=_t.value.trim();return f&&(l.uid=f),l}async function B(l){if(l&&(C.value=0),I.value=[],st.value=!1,!b.value){x.value=[],q.value=0,H.value="";return}const t=Object.assign(zt(),{limit:Q.value,offset:C.value*Q.value});try{const s=await y("getfactorydevics",t);x.value=s?.devices??[],q.value=s?.total??0,H.value=""}catch(s){H.value=s?.message??"",x.value=[],q.value=0}}function qt(l){C.value=Math.max(0,C.value+l),B(!1)}async function ne(l){if(window.confirm("确定重置该设备授权状态?"))try{await y("resetlicensestatus",{licenses:l}),h("重置成功"),B(!1),Et()}catch(t){V(t?.message??"失败")}}function ae(){st.value?I.value=x.value.map(l=>l.code||""):I.value=[]}async function bt(l,t){if(!b.value){_("请先选择产品");return}const s=t??I.value.slice();if(!s.length){_("请先勾选设备码");return}const o=l===-1?"禁用":"恢复";if(window.confirm("确定"+o+" "+s.length+" 个设备码?"+(l===-1?` +import{g as fe,C as xe,j as ge,c as d,a as e,k as r,p as O,F as E,r as $,m,l as z,v as K,t as i,H as ye,q as jt,D as Gt,n as Xt,d as g,A as U,s as n,x as he,o as u}from"./CfpW9SkI.js";import{u as we}from"./DSu8q42f.js";import{u as ke}from"./CMwGY1Mu.js";import"./DL330dAC.js";const Ce={class:"space-y-6"},_e={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4"},Se={class:"flex items-end gap-3 flex-wrap"},Me={class:"form-control"},Ue=["value"],Ve={class:"form-control"},De=["value"],Ae={class:"form-control"},je={class:"form-control"},Ne={class:"grid grid-cols-3 gap-4"},Ie={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5"},Te={class:"text-2xl font-bold text-slate-800"},Pe={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5"},Fe={class:"text-2xl font-bold text-indigo-600"},Be={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5"},Le={class:"text-base font-semibold text-slate-700"},Oe={class:"bg-white rounded-xl shadow-sm border border-slate-100 mt-5"},Ee={class:"flex items-center justify-between px-5 py-3 border-b border-slate-100"},$e={class:"flex items-center gap-2"},ze={class:"text-xs text-slate-400"},qe={class:"overflow-x-auto",style:{"max-height":"360px"}},Re={class:"table table-pin-rows text-sm"},He={key:0},Ge={key:1},Xe={colspan:"8",class:"text-center text-red-400 py-8"},Ye={key:2},Je={class:"text-xs text-slate-500 whitespace-nowrap"},Ke={class:"text-xs"},Qe={class:"text-xs"},We={class:"text-xs"},Ze={class:"font-mono text-xs"},ts={class:"font-mono text-xs"},es={class:"text-right font-medium"},ss={class:"flex gap-1"},ls=["onClick"],os=["onClick"],ns={class:"bg-white rounded-xl shadow-sm border border-slate-100 mt-5"},as={class:"flex items-center justify-between px-5 py-3 border-b border-slate-100 flex-wrap gap-2"},is={class:"flex items-end gap-2 flex-wrap"},ds={class:"form-control"},us={class:"form-control"},rs={class:"form-control"},cs={class:"form-control"},vs={class:"form-control"},bs={class:"form-control"},ps={class:"form-control"},ms={class:"form-control"},fs=["disabled"],xs=["disabled"],gs=["disabled"],ys=["disabled"],hs={class:"overflow-x-auto"},ws={class:"w-8"},ks={key:0},Cs={key:1},_s={colspan:"10",class:"text-center text-red-400 py-8"},Ss={key:2},Ms=["value"],Us={class:"font-mono text-xs"},Vs={class:"font-mono text-xs"},Ds={key:0,class:"badge badge-success badge-sm"},As={key:1,class:"badge badge-warning badge-sm"},js={key:2,class:"badge badge-error badge-sm"},Ns={key:0,class:"badge badge-error badge-sm"},Is={key:1,class:"badge badge-ghost badge-sm"},Ts={class:"text-xs"},Ps={class:"text-xs text-slate-500"},Fs={class:"flex gap-1"},Bs=["onClick"],Ls=["onClick"],Os=["onClick"],Es={class:"flex items-center justify-between px-5 py-3 border-t border-slate-100"},$s={class:"text-xs text-slate-500"},zs={class:"flex items-center gap-2"},qs=["disabled"],Rs={class:"text-xs text-slate-500"},Hs=["disabled"],Gs={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},Xs={class:"form-control mb-4"},Ys=["value"],Js={class:"form-control mb-4"},Ks=["disabled"],Qs={value:0},Ws=["value"],Zs={class:"tabs tabs-boxed mb-4 bg-slate-100 inline-flex"},tl={class:"form-control mb-4"},el={class:"form-control mb-4"},sl=["required"],ll={class:"form-control mb-2"},ol={class:"form-control mb-4"},nl={class:"flex gap-3 mt-2"},al=["disabled"],il={key:0,class:"loading loading-spinner loading-xs"},dl={class:"modal-box w-11/12 max-w-2xl"},ul={class:"grid grid-cols-2 gap-4 mb-3"},rl={class:"form-control"},cl={class:"form-control"},vl={class:"form-control mb-3"},bl={class:"form-control mb-3"},pl={class:"form-control mb-4"},ml={class:"text-sm text-slate-500"},fl={class:"modal-action"},xl=["disabled"],gl={key:0,class:"loading loading-spinner loading-xs"},yl={class:"modal-box max-w-md"},hl={class:"text-sm space-y-1 mb-4"},wl={class:"font-medium"},kl={class:"font-medium"},Cl={class:"font-mono font-medium text-red-600"},_l={class:"font-medium"},Sl={class:"form-control mb-2"},Ml={class:"label"},Ul={class:"label-text text-xs"},Vl={class:"font-mono text-red-600"},Dl={class:"text-xs text-red-500 min-h-[1em] mb-2"},Al={class:"modal-action"},jl=["disabled"],Nl={key:0,class:"loading loading-spinner loading-xs"},Ll=fe({__name:"device",setup(Il){const{webApi:y}=we(),{success:h,error:V,warn:_}=ke(),w=xe(),Yt=U(()=>w.identity===1),Jt=U(()=>w.identity>0&&w.identity<=2),D=n([]),A=n([]),j=n([]),k=n([]),x=n([]),q=n(0),C=n(0),Q=n(200),N=n("production"),W=n("main"),S=n(0),b=n(0),pt=n(""),mt=n(""),ft=n("-"),xt=n("-"),gt=n("-"),yt=n(""),ht=n(!1),Z=n(""),tt=n("1"),wt=n("usedtime"),et=n(""),kt=n(""),Ct=n(""),_t=n(""),R=n("200"),St=n(null),H=n(""),st=n(!1),I=n([]),Nt=U(()=>I.value.length),It=n(null),T=n(0),G=n(0),lt=n(!1),ot=n(null),X=n(""),nt=n(!1),Y=n(null),P=n(""),at=n(null),it=n(!1),v=he({to:"",cc:"",subject:"",content:""}),Mt=n(null),p=n(null),dt=n(""),ut=n(""),rt=n(!1),Kt=U(()=>!!p.value&&dt.value.trim()===String(p.value.probatch)),Tt=U(()=>Math.max(1,Math.ceil(q.value/Q.value))),Qt=U(()=>b.value?"第 "+(C.value+1)+" / "+Tt.value+" 页":"-"),Pt=U(()=>S.value?A.value.filter(l=>l.factoryid===S.value):A.value),Ft=U(()=>T.value?A.value.filter(l=>l.factoryid===T.value):[]);function ct(l){if(!l)return"-";const t=new Date(l*1e3);return t.getFullYear()+"-"+String(t.getMonth()+1).padStart(2,"0")+"-"+String(t.getDate()).padStart(2,"0")+" "+String(t.getHours()).padStart(2,"0")+":"+String(t.getMinutes()).padStart(2,"0")}function Bt(l,t){if(!l)return 0;const s=new Date(l+(t?"T23:59:59":"T00:00:00"));return Math.floor(s.getTime()/1e3)}function Ut(l){const t=D.value.find(s=>s.id===l);return t?t.factory:String(l||"")}function Vt(l){const t=j.value.find(s=>s.id===l);return t?t.devicename:String(l||"")}function Lt(l){return l?Number(l).toString(16).toUpperCase():""}async function Wt(){try{const[t,s]=await Promise.all([y("getfactorys",{}),y("getproducts",{})]);D.value=t?.factorys??[],j.value=s?.products??[]}catch(t){V(t?.message??"加载基础数据失败"),D.value=[],j.value=[]}const l=w.products.map(t=>parseInt(t)).filter(t=>!isNaN(t)&&t>0);w.identity!==1&&l.length>0?A.value=j.value.filter(t=>l.indexOf(t.id)>=0):A.value=j.value.slice(),A.value.length>0&&(b.value=A.value[0].id),F()}function vt(){W.value="main"}function Zt(){W.value="create",T.value=0,G.value=0,lt.value=!1,ot.value=null,X.value="",Dt("production")}function te(){b.value&&!Pt.value.find(l=>l.id===b.value)&&(b.value=0),F()}function ee(){C.value=0,F()}function Ot(){let l;if(R.value==="custom"){if(l=Number(St.value),!l||l<1)return}else l=parseInt(R.value);l>2e3&&(l=2e3),Q.value=l,B(!0)}function F(){Et(),B(!0)}async function Et(){ht.value=!0,Z.value="";const l={limit:500};S.value&&(l.factoryid=S.value),b.value&&(l.productid=b.value);const t=Bt(pt.value,!1);t&&(l.start=t);const s=Bt(mt.value,!0);s&&(l.end=s);try{const o=await y("getfactorydeliverynotes",l);k.value=o?.notes??[],ft.value=o?.total_batch??0,xt.value=o?.total_devices??0,gt.value=k.value.length?ct(k.value[0].ts):"-",yt.value="共 "+k.value.length+" 条"}catch(o){Z.value=o?.message??"",k.value=[],ft.value="0",xt.value="0",gt.value="-",yt.value=""}finally{ht.value=!1}}function se(l,t,s,o){p.value={factoryid:l,productid:t,probatch:s,devicetnum:o},dt.value="",ut.value="",Mt.value?.showModal()}function $t(){Mt.value?.close(),p.value=null}async function le(){if(p.value){rt.value=!0,ut.value="";try{const l=await y("revokefactorydevics",{factoryid:p.value.factoryid,productid:p.value.productid,probatch:p.value.probatch});$t(),h("已撤销批次,删除 "+(l?.deleted??0)+" 个设备码"),F()}catch(l){ut.value=l?.message??"撤销失败"}finally{rt.value=!1}}}function oe(l,t){b.value=l,et.value=String(t),tt.value="0",C.value=0,B(!0),setTimeout(()=>{It.value?.scrollIntoView({behavior:"smooth",block:"start"})},100)}function zt(){const l={productid:b.value,sortby:wt.value,order:"desc"},t=parseInt(tt.value);isNaN(t)||(l.status=t),S.value&&(l.factoryid=S.value);const s=parseInt(et.value);s&&(l.probatch=s);const o=kt.value.trim();o&&(l.code=o);const a=Ct.value.trim();a&&(l.devicemac=a);const f=_t.value.trim();return f&&(l.uid=f),l}async function B(l){if(l&&(C.value=0),I.value=[],st.value=!1,!b.value){x.value=[],q.value=0,H.value="";return}const t=Object.assign(zt(),{limit:Q.value,offset:C.value*Q.value});try{const s=await y("getfactorydevics",t);x.value=s?.devices??[],q.value=s?.total??0,H.value=""}catch(s){H.value=s?.message??"",x.value=[],q.value=0}}function qt(l){C.value=Math.max(0,C.value+l),B(!1)}async function ne(l){if(window.confirm("确定重置该设备授权状态?"))try{await y("resetlicensestatus",{licenses:l}),h("重置成功"),B(!1),Et()}catch(t){V(t?.message??"失败")}}function ae(){st.value?I.value=x.value.map(l=>l.code||""):I.value=[]}async function bt(l,t){if(!b.value){_("请先选择产品");return}const s=t??I.value.slice();if(!s.length){_("请先勾选设备码");return}const o=l===-1?"禁用":"恢复";if(window.confirm("确定"+o+" "+s.length+" 个设备码?"+(l===-1?` 禁用后该设备码将无法绑定。`:"")))try{const a=await y("disablefactorydevics",{productid:b.value,codes:s,disabled:l});h(o+"成功("+(a?.affected??0)+" 条)"),B(!1)}catch(a){V(a?.message??o+"失败")}}function ie(){G.value=0}function Dt(l){N.value=l}function de(l){const s=l.target.files?.[0];if(!s)return;const o=new FileReader;o.onload=a=>{const f=String(a.target?.result??"").split(` `),c=[];f.forEach(L=>{const M=L.split(",");M[0]&&M[0].trim()&&c.push(M[0].trim())}),X.value=c.join(", "),h("读取 "+c.length+" 个 MAC 地址")},o.readAsText(s,"UTF-8")}async function ue(){const l=Number(T.value),t=Number(G.value);if(!l||!t){_("请选择厂家和产品");return}const s={factoryid:l,productid:t};if(N.value==="production"){if(s.createtype=1,s.number=Number(ot.value),s.isbindmac=lt.value,!s.number||s.number<1){_("请输入有效数量");return}}else{s.createtype=2;const o=X.value.trim();if(!o){_("请输入或上传 MAC 地址");return}s.macaddresses=o}nt.value=!0;try{const o=await y("createfactorydevics",s);o&&o.devices&&o.devices.length>0?(h("成功生成 "+o.devices.length+" 个授权码"),At(o.devices),ve(o,l,t)):(h("创建成功"),vt(),F())}catch(o){V(o?.message??"创建失败")}finally{nt.value=!1}}function At(l){const t=l.some(c=>c.devicemac),s=t?["License","Mac地址"]:["License"],o=l.map(c=>t?[c.code||"",c.devicemac||""]:[c.code||""]),a=[s.join(",")].concat(o.map(c=>c.join(","))).join(` `);Y.value=new Blob([a],{type:"text/csv;charset=utf-8;"});const f=l[0];P.value="设备生产_"+(f.factoryid||"unknown")+"_"+(f.productid||"unknown")+"_"+new Date().toISOString().split("T")[0]+".csv"}async function re(){if(!b.value){_("请先选择产品");return}try{const l=zt(),t=2e3;let s=[],o=0,a=1/0;for(;s.length[ct(a.ts),Ut(a.factoryid),Vt(a.productid),a.probatch||0,a.startmac||"",a.endmac||"",a.devicetnum||0]),s=[l.join(",")].concat(t.map(a=>a.join(","))).join(` @@ -25,4 +25,4 @@ import{g as fe,C as xe,j as ge,c as d,a as e,k as r,p as O,F as E,r as $,m,l as 请查收。 此致 -敬礼!`,at.value?.showModal()}function Ht(){at.value?.close()}async function pe(){it.value=!0;const l=new FormData;l.append("to",v.to),l.append("subject",v.subject),l.append("content",v.content);const t=v.cc.trim();if(t&&l.append("cc",t),Y.value&&P.value){const s=new File([Y.value],P.value,{type:"text/csv"});l.append("file",s,P.value)}try{const s={};w.token&&(s.Authorization=w.token),w.currentAppId&&(s["X-App-Id"]=String(w.currentAppId));const a=await(await fetch("/web/api/api_sendsmtpemail",{method:"POST",headers:s,body:l})).json();a.code===0?(h("邮件发送成功"),Ht(),vt(),F()):V("发送失败: "+(a.msg||"未知错误"))}catch(s){V("发送失败: "+(s?.message??""))}finally{it.value=!1}}return ge(Wt),(l,t)=>(u(),d("div",Ce,[e("div",_e,[e("div",Se,[e("div",Me,[t[32]||(t[32]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"厂家")],-1)),r(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>S.value=s),class:"select select-bordered select-sm",style:{"min-width":"160px"},onChange:te},[t[31]||(t[31]=e("option",{value:0},"全部",-1)),(u(!0),d(E,null,$(D.value,s=>(u(),d("option",{key:s.id,value:s.id},i(s.factory||""),9,Ue))),128))],544),[[O,S.value,void 0,{number:!0}]])]),e("div",Ve,[t[34]||(t[34]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"产品")],-1)),r(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>b.value=s),class:"select select-bordered select-sm",style:{"min-width":"200px"},onChange:ee},[t[33]||(t[33]=e("option",{value:0},"请选择产品",-1)),(u(!0),d(E,null,$(Pt.value,s=>(u(),d("option",{key:s.id,value:s.id},i(s.devicename||""),9,De))),128))],544),[[O,b.value,void 0,{number:!0}]])]),e("div",Ae,[t[35]||(t[35]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"起始时间")],-1)),r(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>pt.value=s),type:"date",class:"input input-bordered input-sm"},null,512),[[m,pt.value]])]),e("div",je,[t[36]||(t[36]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"结束时间")],-1)),r(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>mt.value=s),type:"date",class:"input input-bordered input-sm"},null,512),[[m,mt.value]])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:F},"查询"),Jt.value?(u(),d("button",{key:0,class:"btn btn-success btn-sm text-white",onClick:Zt},"+ 生成授权码")):z("",!0)])]),r(e("div",null,[e("div",Ne,[e("div",Ie,[t[37]||(t[37]=e("div",{class:"text-xs text-slate-400 mb-1"},"命中批次数",-1)),e("div",Te,i(ft.value),1)]),e("div",Pe,[t[38]||(t[38]=e("div",{class:"text-xs text-slate-400 mb-1"},"生产设备总数",-1)),e("div",Fe,i(xt.value),1)]),e("div",Be,[t[39]||(t[39]=e("div",{class:"text-xs text-slate-400 mb-1"},"最近一次生产时间",-1)),e("div",Le,i(gt.value),1)])]),e("div",Oe,[e("div",Ee,[t[40]||(t[40]=e("h3",{class:"text-sm font-semibold text-slate-700"},"生产记录(按批次)",-1)),e("div",$e,[e("span",ze,i(yt.value),1),e("button",{class:"btn btn-ghost btn-xs",onClick:ce},"导出CSV")])]),e("div",qe,[e("table",Re,[t[43]||(t[43]=e("thead",null,[e("tr",null,[e("th",{class:"w-40"},"生产时间"),e("th",null,"厂家"),e("th",null,"产品"),e("th",null,"批次"),e("th",null,"起始MAC"),e("th",null,"结束MAC"),e("th",{class:"text-right"},"数量"),e("th",null,"操作")])],-1)),e("tbody",null,[ht.value?(u(),d("tr",He,[...t[41]||(t[41]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"加载中…",-1)])])):Z.value?(u(),d("tr",Ge,[e("td",Xe,"查询失败: "+i(Z.value),1)])):k.value.length?(u(!0),d(E,{key:3},$(k.value,(s,o)=>(u(),d("tr",{key:o,class:"hover"},[e("td",Je,i(ct(s.ts)),1),e("td",Ke,i(Ut(s.factoryid)),1),e("td",Qe,i(Vt(s.productid)),1),e("td",We,i(s.probatch||0),1),e("td",Ze,i(s.startmac||""),1),e("td",ts,i(s.endmac||""),1),e("td",es,i(s.devicetnum||0),1),e("td",null,[e("div",ss,[e("button",{class:"btn btn-ghost btn-xs text-indigo-500",onClick:a=>oe(s.productid,s.probatch)},"查看授权码",8,ls),Yt.value?(u(),d("button",{key:0,class:"btn btn-ghost btn-xs text-red-500",onClick:a=>se(s.factoryid,s.productid,s.probatch,s.devicetnum||0)},"撤销",8,os)):z("",!0)])])]))),128)):(u(),d("tr",Ye,[...t[42]||(t[42]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])]))])])])]),e("div",ns,[e("div",as,[t[55]||(t[55]=e("h3",{class:"text-sm font-semibold text-slate-700"},"授权码记录",-1)),e("div",is,[e("div",ds,[t[45]||(t[45]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"状态")],-1)),r(e("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>tt.value=s),class:"select select-bordered select-xs"},[...t[44]||(t[44]=[e("option",{value:"1"},"已激活",-1),e("option",{value:"-1"},"未使用",-1),e("option",{value:"2"},"已过期",-1),e("option",{value:"0"},"全部",-1)])],512),[[O,tt.value]])]),e("div",us,[t[47]||(t[47]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"排序")],-1)),r(e("select",{"onUpdate:modelValue":t[5]||(t[5]=s=>wt.value=s),class:"select select-bordered select-xs"},[...t[46]||(t[46]=[e("option",{value:"usedtime"},"激活时间",-1),e("option",{value:"createtime"},"创建时间",-1)])],512),[[O,wt.value]])]),e("div",rs,[t[48]||(t[48]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"批次")],-1)),r(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>et.value=s),type:"number",class:"input input-bordered input-xs",placeholder:"批次号",style:{width:"90px"}},null,512),[[m,et.value]])]),e("div",cs,[t[49]||(t[49]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"授权码")],-1)),r(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>kt.value=s),type:"text",class:"input input-bordered input-xs",placeholder:"授权码"},null,512),[[m,kt.value]])]),e("div",vs,[t[50]||(t[50]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"MAC")],-1)),r(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>Ct.value=s),type:"text",class:"input input-bordered input-xs",placeholder:"MAC"},null,512),[[m,Ct.value]])]),e("div",bs,[t[51]||(t[51]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"用户UID")],-1)),r(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>_t.value=s),type:"text",class:"input input-bordered input-xs",placeholder:"UID"},null,512),[[m,_t.value]])]),e("div",ps,[t[53]||(t[53]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"每页数量")],-1)),r(e("select",{"onUpdate:modelValue":t[10]||(t[10]=s=>R.value=s),class:"select select-bordered select-xs",onChange:Ot},[...t[52]||(t[52]=[ye('',6)])],544),[[O,R.value]])]),r(e("div",ms,[t[54]||(t[54]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"自定义")],-1)),r(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>St.value=s),type:"number",min:"1",max:"2000",class:"input input-bordered input-xs",placeholder:"1-2000",style:{width:"90px"},onChange:Ot},null,544),[[m,St.value,void 0,{number:!0}]])],512),[[K,R.value==="custom"]]),e("button",{class:"btn btn-primary btn-xs text-white",onClick:t[12]||(t[12]=s=>B(!0))},"搜索"),e("button",{class:"btn btn-error btn-xs text-white",disabled:Nt.value===0,onClick:t[13]||(t[13]=s=>bt(-1))},"批量禁用",8,fs),e("button",{class:"btn btn-warning btn-xs text-white",disabled:Nt.value===0,onClick:t[14]||(t[14]=s=>bt(0))},"批量恢复",8,xs),e("button",{class:"btn btn-ghost btn-xs",disabled:!x.value.length,onClick:re},"导出",8,gs),e("button",{class:"btn btn-ghost btn-xs",disabled:!x.value.length,onClick:be},"发邮件",8,ys)])]),e("div",hs,[e("table",{ref_key:"devicesTable",ref:It,class:"table table-zebra text-sm"},[e("thead",null,[e("tr",null,[e("th",ws,[r(e("input",{"onUpdate:modelValue":t[15]||(t[15]=s=>st.value=s),type:"checkbox",class:"checkbox checkbox-xs",onChange:ae},null,544),[[jt,st.value]])]),t[56]||(t[56]=e("th",null,"授权码",-1)),t[57]||(t[57]=e("th",null,"类型",-1)),t[58]||(t[58]=e("th",null,"批次",-1)),t[59]||(t[59]=e("th",null,"MAC",-1)),t[60]||(t[60]=e("th",null,"状态",-1)),t[61]||(t[61]=e("th",null,"封禁",-1)),t[62]||(t[62]=e("th",null,"用户UID",-1)),t[63]||(t[63]=e("th",null,"激活时间",-1)),t[64]||(t[64]=e("th",null,"操作",-1))])]),e("tbody",null,[b.value?H.value?(u(),d("tr",Cs,[e("td",_s,"查询失败: "+i(H.value),1)])):x.value.length?(u(!0),d(E,{key:3},$(x.value,(s,o)=>(u(),d("tr",{key:o},[e("td",null,[r(e("input",{"onUpdate:modelValue":t[16]||(t[16]=a=>I.value=a),type:"checkbox",class:"checkbox checkbox-xs",value:s.code||""},null,8,Ms),[[jt,I.value]])]),e("td",Us,i(s.code||""),1),e("td",null,i(s.codetype===0?"授权码":"设备码"),1),e("td",null,i(s.probatch),1),e("td",Vs,i(s.devicemac||""),1),e("td",null,[s.status===0?(u(),d("span",Ds,"未使用")):s.status===1?(u(),d("span",As,"已使用")):(u(),d("span",js,"已过期"))]),e("td",null,[s.disabled!==0?(u(),d("span",Ns,"已禁用")):(u(),d("span",Is,"正常"))]),e("td",Ts,i(s.uid||""),1),e("td",Ps,i(s.usedtime?ct(s.usedtime):"-"),1),e("td",null,[e("div",Fs,[s.disabled!==0?(u(),d("button",{key:0,class:"btn btn-ghost btn-xs text-warning",onClick:a=>bt(0,[s.code])},"恢复",8,Bs)):(u(),d("button",{key:1,class:"btn btn-ghost btn-xs text-error",onClick:a=>bt(-1,[s.code])},"禁用",8,Ls)),s.status!==0?(u(),d("button",{key:2,class:"btn btn-ghost btn-xs text-orange-500",onClick:a=>ne(s.code)},"重置",8,Os)):z("",!0)])])]))),128)):(u(),d("tr",Ss,[...t[66]||(t[66]=[e("td",{colspan:"10",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])])):(u(),d("tr",ks,[...t[65]||(t[65]=[e("td",{colspan:"10",class:"text-center text-slate-400 py-8"},"请先选择产品",-1)])]))])],512)]),e("div",Es,[e("span",$s,i(b.value?"共 "+q.value+" 条":"-"),1),e("div",zs,[e("button",{class:"btn btn-ghost btn-xs",disabled:C.value<=0||!b.value,onClick:t[17]||(t[17]=s=>qt(-1))},"上一页",8,qs),e("span",Rs,i(Qt.value),1),e("button",{class:"btn btn-ghost btn-xs",disabled:!b.value||C.value+1>=Tt.value,onClick:t[18]||(t[18]=s=>qt(1))},"下一页",8,Hs)])])])],512),[[K,W.value==="main"]]),r(e("div",null,[e("div",{class:"flex items-center gap-3 mb-5"},[e("button",{class:"btn btn-ghost btn-sm",onClick:vt},"← 返回"),t[67]||(t[67]=e("h2",{class:"text-lg font-semibold text-slate-800"},"生成授权码",-1))]),e("div",Gs,[e("form",{onSubmit:Gt(ue,["prevent"])},[e("div",Xs,[t[69]||(t[69]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"厂家 *")],-1)),r(e("select",{"onUpdate:modelValue":t[19]||(t[19]=s=>T.value=s),class:"select select-bordered w-full",required:"",onChange:ie},[t[68]||(t[68]=e("option",{value:0},"请选择厂家",-1)),(u(!0),d(E,null,$(D.value,s=>(u(),d("option",{key:s.id,value:s.id},i((s.factory||"")+" ("+Lt(s.id)+")"),9,Ys))),128))],544),[[O,T.value,void 0,{number:!0}]])]),e("div",Js,[t[70]||(t[70]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"产品 *")],-1)),r(e("select",{"onUpdate:modelValue":t[20]||(t[20]=s=>G.value=s),class:"select select-bordered w-full",required:"",disabled:!Ft.value.length},[e("option",Qs,i(T.value?"请选择产品":"请先选择厂家"),1),(u(!0),d(E,null,$(Ft.value,s=>(u(),d("option",{key:s.id,value:s.id},i((s.devicename||"")+" ("+Lt(s.id)+")"),9,Ws))),128))],8,Ks),[[O,G.value,void 0,{number:!0}]])]),e("div",Zs,[e("a",{class:Xt(["tab",{"tab-active":N.value==="production"}]),onClick:t[21]||(t[21]=s=>Dt("production"))},"生产",2),e("a",{class:Xt(["tab",{"tab-active":N.value==="import"}]),onClick:t[22]||(t[22]=s=>Dt("import"))},"导入",2)]),r(e("div",null,[e("div",tl,[t[71]||(t[71]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"绑定MAC地址")],-1)),r(e("input",{"onUpdate:modelValue":t[23]||(t[23]=s=>lt.value=s),type:"checkbox",class:"toggle toggle-primary"},null,512),[[jt,lt.value]])]),e("div",el,[t[72]||(t[72]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"数量 *")],-1)),r(e("input",{"onUpdate:modelValue":t[24]||(t[24]=s=>ot.value=s),type:"number",class:"input input-bordered w-full",min:"1",max:"10000",placeholder:"请输入生产数量",required:N.value==="production"},null,8,sl),[[m,ot.value,void 0,{number:!0}]])])],512),[[K,N.value==="production"]]),r(e("div",null,[e("div",ll,[t[73]||(t[73]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"上传 CSV 文件")],-1)),e("input",{type:"file",class:"file-input file-input-bordered file-input-sm w-full",accept:".csv",onChange:de},null,32),t[74]||(t[74]=e("p",{class:"text-xs text-slate-400 mt-1"},"上传 CSV 文件,系统将读取第一列作为 MAC 地址",-1))]),e("div",ol,[t[75]||(t[75]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"MAC 地址列表 *")],-1)),r(e("textarea",{"onUpdate:modelValue":t[25]||(t[25]=s=>X.value=s),class:"textarea textarea-bordered w-full",rows:"4",placeholder:"MAC 地址以逗号分隔,可手动输入或通过CSV导入"},null,512),[[m,X.value]])])],512),[[K,N.value==="import"]]),e("div",nl,[e("button",{type:"button",class:"btn btn-ghost",onClick:vt},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:nt.value},[nt.value?(u(),d("span",il)):z("",!0),t[76]||(t[76]=g("生成 ",-1))],8,al)])],32)])],512),[[K,W.value==="create"]]),e("dialog",{ref_key:"emailModal",ref:at,class:"modal"},[e("div",dl,[t[83]||(t[83]=e("h3",{class:"font-bold text-lg mb-4 flex items-center gap-2"},[e("svg",{class:"h-5 w-5 text-blue-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})]),g(" 发送邮件通知 ")],-1)),e("form",{onSubmit:Gt(pe,["prevent"])},[e("div",ul,[e("div",rl,[t[77]||(t[77]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"收件人 *")],-1)),r(e("input",{"onUpdate:modelValue":t[26]||(t[26]=s=>v.to=s),type:"email",class:"input input-bordered input-sm w-full",required:""},null,512),[[m,v.to]])]),e("div",cl,[t[78]||(t[78]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"抄送")],-1)),r(e("input",{"onUpdate:modelValue":t[27]||(t[27]=s=>v.cc=s),type:"text",class:"input input-bordered input-sm w-full",placeholder:"多个邮箱用逗号分隔"},null,512),[[m,v.cc]])])]),e("div",vl,[t[79]||(t[79]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"主题 *")],-1)),r(e("input",{"onUpdate:modelValue":t[28]||(t[28]=s=>v.subject=s),type:"text",class:"input input-bordered input-sm w-full",required:""},null,512),[[m,v.subject]])]),e("div",bl,[t[80]||(t[80]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"内容 *")],-1)),r(e("textarea",{"onUpdate:modelValue":t[29]||(t[29]=s=>v.content=s),class:"textarea textarea-bordered w-full",rows:"10",required:""},null,512),[[m,v.content]])]),e("div",pl,[t[81]||(t[81]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"附件")],-1)),e("div",ml,i(P.value?"📎 "+P.value:"无附件"),1)]),e("div",fl,[e("button",{type:"button",class:"btn btn-ghost btn-sm",onClick:Ht},"取消"),e("button",{type:"submit",class:"btn btn-primary btn-sm text-white",disabled:it.value},[it.value?(u(),d("span",gl)):z("",!0),t[82]||(t[82]=g("发送邮件 ",-1))],8,xl)])],32)]),t[84]||(t[84]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512),e("dialog",{ref_key:"revokeModal",ref:Mt,class:"modal"},[e("div",yl,[t[92]||(t[92]=e("h3",{class:"font-bold text-lg mb-3 flex items-center gap-2 text-red-600"},[e("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01M4.93 19h14.14a2 2 0 001.74-3L13.74 4a2 2 0 00-3.48 0L3.19 16a2 2 0 001.74 3z"})]),g(" 撤销生产批次 ")],-1)),t[93]||(t[93]=e("div",{class:"bg-red-50 border border-red-200 rounded-lg p-3 text-sm text-red-700 mb-4"},[g(" 此操作将"),e("strong",null,"删除该批次的全部设备码"),g("以及对应的生产出货记录,"),e("strong",null,"不可恢复"),g("。"),e("br"),g(" 若该批次中已有任意设备码被激活/绑定,撤销会被拒绝。 ")],-1)),e("div",hl,[e("div",null,[t[85]||(t[85]=e("span",{class:"text-slate-500"},"厂家:",-1)),e("span",wl,i(p.value?Ut(p.value.factoryid):""),1)]),e("div",null,[t[86]||(t[86]=e("span",{class:"text-slate-500"},"产品:",-1)),e("span",kl,i(p.value?Vt(p.value.productid):""),1)]),e("div",null,[t[87]||(t[87]=e("span",{class:"text-slate-500"},"批次:",-1)),e("span",Cl,i(p.value?p.value.probatch:""),1)]),e("div",null,[t[88]||(t[88]=e("span",{class:"text-slate-500"},"设备码数量:",-1)),e("span",_l,i(p.value?p.value.devicetnum:""),1)])]),e("div",Sl,[e("label",Ml,[e("span",Ul,[t[89]||(t[89]=g("请输入批次号 ",-1)),e("span",Vl,i(p.value?p.value.probatch:""),1),t[90]||(t[90]=g(" 以确认撤销",-1))])]),r(e("input",{"onUpdate:modelValue":t[30]||(t[30]=s=>dt.value=s),type:"text",class:"input input-bordered input-sm w-full",autocomplete:"off"},null,512),[[m,dt.value]])]),e("p",Dl,i(ut.value),1),e("div",Al,[e("button",{type:"button",class:"btn btn-ghost btn-sm",onClick:$t},"取消"),e("button",{type:"button",class:"btn btn-error btn-sm text-white",disabled:!Kt.value||rt.value,onClick:le},[rt.value?(u(),d("span",Nl)):z("",!0),t[91]||(t[91]=g("确认撤销 ",-1))],8,jl)])]),t[94]||(t[94]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512)]))}});export{Ol as default}; +敬礼!`,at.value?.showModal()}function Ht(){at.value?.close()}async function pe(){it.value=!0;const l=new FormData;l.append("to",v.to),l.append("subject",v.subject),l.append("content",v.content);const t=v.cc.trim();if(t&&l.append("cc",t),Y.value&&P.value){const s=new File([Y.value],P.value,{type:"text/csv"});l.append("file",s,P.value)}try{const s={};w.token&&(s.Authorization=w.token),w.currentAppId&&(s["X-App-Id"]=String(w.currentAppId));const a=await(await fetch("/web/api/api_sendsmtpemail",{method:"POST",headers:s,body:l})).json();a.code===0?(h("邮件发送成功"),Ht(),vt(),F()):V("发送失败: "+(a.msg||"未知错误"))}catch(s){V("发送失败: "+(s?.message??""))}finally{it.value=!1}}return ge(Wt),(l,t)=>(u(),d("div",Ce,[e("div",_e,[e("div",Se,[e("div",Me,[t[32]||(t[32]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"厂家")],-1)),r(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>S.value=s),class:"select select-bordered select-sm",style:{"min-width":"160px"},onChange:te},[t[31]||(t[31]=e("option",{value:0},"全部",-1)),(u(!0),d(E,null,$(D.value,s=>(u(),d("option",{key:s.id,value:s.id},i(s.factory||""),9,Ue))),128))],544),[[O,S.value,void 0,{number:!0}]])]),e("div",Ve,[t[34]||(t[34]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"产品")],-1)),r(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>b.value=s),class:"select select-bordered select-sm",style:{"min-width":"200px"},onChange:ee},[t[33]||(t[33]=e("option",{value:0},"请选择产品",-1)),(u(!0),d(E,null,$(Pt.value,s=>(u(),d("option",{key:s.id,value:s.id},i(s.devicename||""),9,De))),128))],544),[[O,b.value,void 0,{number:!0}]])]),e("div",Ae,[t[35]||(t[35]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"起始时间")],-1)),r(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>pt.value=s),type:"date",class:"input input-bordered input-sm"},null,512),[[m,pt.value]])]),e("div",je,[t[36]||(t[36]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"结束时间")],-1)),r(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>mt.value=s),type:"date",class:"input input-bordered input-sm"},null,512),[[m,mt.value]])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:F},"查询"),Jt.value?(u(),d("button",{key:0,class:"btn btn-success btn-sm text-white",onClick:Zt},"+ 生成授权码")):z("",!0)])]),r(e("div",null,[e("div",Ne,[e("div",Ie,[t[37]||(t[37]=e("div",{class:"text-xs text-slate-400 mb-1"},"命中批次数",-1)),e("div",Te,i(ft.value),1)]),e("div",Pe,[t[38]||(t[38]=e("div",{class:"text-xs text-slate-400 mb-1"},"生产设备总数",-1)),e("div",Fe,i(xt.value),1)]),e("div",Be,[t[39]||(t[39]=e("div",{class:"text-xs text-slate-400 mb-1"},"最近一次生产时间",-1)),e("div",Le,i(gt.value),1)])]),e("div",Oe,[e("div",Ee,[t[40]||(t[40]=e("h3",{class:"text-sm font-semibold text-slate-700"},"生产记录(按批次)",-1)),e("div",$e,[e("span",ze,i(yt.value),1),e("button",{class:"btn btn-ghost btn-xs",onClick:ce},"导出CSV")])]),e("div",qe,[e("table",Re,[t[43]||(t[43]=e("thead",null,[e("tr",null,[e("th",{class:"w-40"},"生产时间"),e("th",null,"厂家"),e("th",null,"产品"),e("th",null,"批次"),e("th",null,"起始MAC"),e("th",null,"结束MAC"),e("th",{class:"text-right"},"数量"),e("th",null,"操作")])],-1)),e("tbody",null,[ht.value?(u(),d("tr",He,[...t[41]||(t[41]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"加载中…",-1)])])):Z.value?(u(),d("tr",Ge,[e("td",Xe,"查询失败: "+i(Z.value),1)])):k.value.length?(u(!0),d(E,{key:3},$(k.value,(s,o)=>(u(),d("tr",{key:o,class:"hover"},[e("td",Je,i(ct(s.ts)),1),e("td",Ke,i(Ut(s.factoryid)),1),e("td",Qe,i(Vt(s.productid)),1),e("td",We,i(s.probatch||0),1),e("td",Ze,i(s.startmac||""),1),e("td",ts,i(s.endmac||""),1),e("td",es,i(s.devicetnum||0),1),e("td",null,[e("div",ss,[e("button",{class:"btn btn-ghost btn-xs text-indigo-500",onClick:a=>oe(s.productid,s.probatch)},"查看授权码",8,ls),Yt.value?(u(),d("button",{key:0,class:"btn btn-ghost btn-xs text-red-500",onClick:a=>se(s.factoryid,s.productid,s.probatch,s.devicetnum||0)},"撤销",8,os)):z("",!0)])])]))),128)):(u(),d("tr",Ye,[...t[42]||(t[42]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])]))])])])]),e("div",ns,[e("div",as,[t[55]||(t[55]=e("h3",{class:"text-sm font-semibold text-slate-700"},"授权码记录",-1)),e("div",is,[e("div",ds,[t[45]||(t[45]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"状态")],-1)),r(e("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>tt.value=s),class:"select select-bordered select-xs"},[...t[44]||(t[44]=[e("option",{value:"1"},"已激活",-1),e("option",{value:"-1"},"未使用",-1),e("option",{value:"2"},"已过期",-1),e("option",{value:"0"},"全部",-1)])],512),[[O,tt.value]])]),e("div",us,[t[47]||(t[47]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"排序")],-1)),r(e("select",{"onUpdate:modelValue":t[5]||(t[5]=s=>wt.value=s),class:"select select-bordered select-xs"},[...t[46]||(t[46]=[e("option",{value:"usedtime"},"激活时间",-1),e("option",{value:"createtime"},"创建时间",-1)])],512),[[O,wt.value]])]),e("div",rs,[t[48]||(t[48]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"批次")],-1)),r(e("input",{"onUpdate:modelValue":t[6]||(t[6]=s=>et.value=s),type:"number",class:"input input-bordered input-xs",placeholder:"批次号",style:{width:"90px"}},null,512),[[m,et.value]])]),e("div",cs,[t[49]||(t[49]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"授权码")],-1)),r(e("input",{"onUpdate:modelValue":t[7]||(t[7]=s=>kt.value=s),type:"text",class:"input input-bordered input-xs",placeholder:"授权码"},null,512),[[m,kt.value]])]),e("div",vs,[t[50]||(t[50]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"MAC")],-1)),r(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>Ct.value=s),type:"text",class:"input input-bordered input-xs",placeholder:"MAC"},null,512),[[m,Ct.value]])]),e("div",bs,[t[51]||(t[51]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"用户UID")],-1)),r(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>_t.value=s),type:"text",class:"input input-bordered input-xs",placeholder:"UID"},null,512),[[m,_t.value]])]),e("div",ps,[t[53]||(t[53]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"每页数量")],-1)),r(e("select",{"onUpdate:modelValue":t[10]||(t[10]=s=>R.value=s),class:"select select-bordered select-xs",onChange:Ot},[...t[52]||(t[52]=[ye('',6)])],544),[[O,R.value]])]),r(e("div",ms,[t[54]||(t[54]=e("label",{class:"label py-0"},[e("span",{class:"label-text text-xs"},"自定义")],-1)),r(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>St.value=s),type:"number",min:"1",max:"2000",class:"input input-bordered input-xs",placeholder:"1-2000",style:{width:"90px"},onChange:Ot},null,544),[[m,St.value,void 0,{number:!0}]])],512),[[K,R.value==="custom"]]),e("button",{class:"btn btn-primary btn-xs text-white",onClick:t[12]||(t[12]=s=>B(!0))},"搜索"),e("button",{class:"btn btn-error btn-xs text-white",disabled:Nt.value===0,onClick:t[13]||(t[13]=s=>bt(-1))},"批量禁用",8,fs),e("button",{class:"btn btn-warning btn-xs text-white",disabled:Nt.value===0,onClick:t[14]||(t[14]=s=>bt(0))},"批量恢复",8,xs),e("button",{class:"btn btn-ghost btn-xs",disabled:!x.value.length,onClick:re},"导出",8,gs),e("button",{class:"btn btn-ghost btn-xs",disabled:!x.value.length,onClick:be},"发邮件",8,ys)])]),e("div",hs,[e("table",{ref_key:"devicesTable",ref:It,class:"table table-zebra text-sm"},[e("thead",null,[e("tr",null,[e("th",ws,[r(e("input",{"onUpdate:modelValue":t[15]||(t[15]=s=>st.value=s),type:"checkbox",class:"checkbox checkbox-xs",onChange:ae},null,544),[[jt,st.value]])]),t[56]||(t[56]=e("th",null,"授权码",-1)),t[57]||(t[57]=e("th",null,"类型",-1)),t[58]||(t[58]=e("th",null,"批次",-1)),t[59]||(t[59]=e("th",null,"MAC",-1)),t[60]||(t[60]=e("th",null,"状态",-1)),t[61]||(t[61]=e("th",null,"封禁",-1)),t[62]||(t[62]=e("th",null,"用户UID",-1)),t[63]||(t[63]=e("th",null,"激活时间",-1)),t[64]||(t[64]=e("th",null,"操作",-1))])]),e("tbody",null,[b.value?H.value?(u(),d("tr",Cs,[e("td",_s,"查询失败: "+i(H.value),1)])):x.value.length?(u(!0),d(E,{key:3},$(x.value,(s,o)=>(u(),d("tr",{key:o},[e("td",null,[r(e("input",{"onUpdate:modelValue":t[16]||(t[16]=a=>I.value=a),type:"checkbox",class:"checkbox checkbox-xs",value:s.code||""},null,8,Ms),[[jt,I.value]])]),e("td",Us,i(s.code||""),1),e("td",null,i(s.codetype===0?"授权码":"设备码"),1),e("td",null,i(s.probatch),1),e("td",Vs,i(s.devicemac||""),1),e("td",null,[s.status===0?(u(),d("span",Ds,"未使用")):s.status===1?(u(),d("span",As,"已使用")):(u(),d("span",js,"已过期"))]),e("td",null,[s.disabled!==0?(u(),d("span",Ns,"已禁用")):(u(),d("span",Is,"正常"))]),e("td",Ts,i(s.uid||""),1),e("td",Ps,i(s.usedtime?ct(s.usedtime):"-"),1),e("td",null,[e("div",Fs,[s.disabled!==0?(u(),d("button",{key:0,class:"btn btn-ghost btn-xs text-warning",onClick:a=>bt(0,[s.code])},"恢复",8,Bs)):(u(),d("button",{key:1,class:"btn btn-ghost btn-xs text-error",onClick:a=>bt(-1,[s.code])},"禁用",8,Ls)),s.status!==0?(u(),d("button",{key:2,class:"btn btn-ghost btn-xs text-orange-500",onClick:a=>ne(s.code)},"重置",8,Os)):z("",!0)])])]))),128)):(u(),d("tr",Ss,[...t[66]||(t[66]=[e("td",{colspan:"10",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])])):(u(),d("tr",ks,[...t[65]||(t[65]=[e("td",{colspan:"10",class:"text-center text-slate-400 py-8"},"请先选择产品",-1)])]))])],512)]),e("div",Es,[e("span",$s,i(b.value?"共 "+q.value+" 条":"-"),1),e("div",zs,[e("button",{class:"btn btn-ghost btn-xs",disabled:C.value<=0||!b.value,onClick:t[17]||(t[17]=s=>qt(-1))},"上一页",8,qs),e("span",Rs,i(Qt.value),1),e("button",{class:"btn btn-ghost btn-xs",disabled:!b.value||C.value+1>=Tt.value,onClick:t[18]||(t[18]=s=>qt(1))},"下一页",8,Hs)])])])],512),[[K,W.value==="main"]]),r(e("div",null,[e("div",{class:"flex items-center gap-3 mb-5"},[e("button",{class:"btn btn-ghost btn-sm",onClick:vt},"← 返回"),t[67]||(t[67]=e("h2",{class:"text-lg font-semibold text-slate-800"},"生成授权码",-1))]),e("div",Gs,[e("form",{onSubmit:Gt(ue,["prevent"])},[e("div",Xs,[t[69]||(t[69]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"厂家 *")],-1)),r(e("select",{"onUpdate:modelValue":t[19]||(t[19]=s=>T.value=s),class:"select select-bordered w-full",required:"",onChange:ie},[t[68]||(t[68]=e("option",{value:0},"请选择厂家",-1)),(u(!0),d(E,null,$(D.value,s=>(u(),d("option",{key:s.id,value:s.id},i((s.factory||"")+" ("+Lt(s.id)+")"),9,Ys))),128))],544),[[O,T.value,void 0,{number:!0}]])]),e("div",Js,[t[70]||(t[70]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"产品 *")],-1)),r(e("select",{"onUpdate:modelValue":t[20]||(t[20]=s=>G.value=s),class:"select select-bordered w-full",required:"",disabled:!Ft.value.length},[e("option",Qs,i(T.value?"请选择产品":"请先选择厂家"),1),(u(!0),d(E,null,$(Ft.value,s=>(u(),d("option",{key:s.id,value:s.id},i((s.devicename||"")+" ("+Lt(s.id)+")"),9,Ws))),128))],8,Ks),[[O,G.value,void 0,{number:!0}]])]),e("div",Zs,[e("a",{class:Xt(["tab",{"tab-active":N.value==="production"}]),onClick:t[21]||(t[21]=s=>Dt("production"))},"生产",2),e("a",{class:Xt(["tab",{"tab-active":N.value==="import"}]),onClick:t[22]||(t[22]=s=>Dt("import"))},"导入",2)]),r(e("div",null,[e("div",tl,[t[71]||(t[71]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"绑定MAC地址")],-1)),r(e("input",{"onUpdate:modelValue":t[23]||(t[23]=s=>lt.value=s),type:"checkbox",class:"toggle toggle-primary"},null,512),[[jt,lt.value]])]),e("div",el,[t[72]||(t[72]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"数量 *")],-1)),r(e("input",{"onUpdate:modelValue":t[24]||(t[24]=s=>ot.value=s),type:"number",class:"input input-bordered w-full",min:"1",max:"10000",placeholder:"请输入生产数量",required:N.value==="production"},null,8,sl),[[m,ot.value,void 0,{number:!0}]])])],512),[[K,N.value==="production"]]),r(e("div",null,[e("div",ll,[t[73]||(t[73]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"上传 CSV 文件")],-1)),e("input",{type:"file",class:"file-input file-input-bordered file-input-sm w-full",accept:".csv",onChange:de},null,32),t[74]||(t[74]=e("p",{class:"text-xs text-slate-400 mt-1"},"上传 CSV 文件,系统将读取第一列作为 MAC 地址",-1))]),e("div",ol,[t[75]||(t[75]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"MAC 地址列表 *")],-1)),r(e("textarea",{"onUpdate:modelValue":t[25]||(t[25]=s=>X.value=s),class:"textarea textarea-bordered w-full",rows:"4",placeholder:"MAC 地址以逗号分隔,可手动输入或通过CSV导入"},null,512),[[m,X.value]])])],512),[[K,N.value==="import"]]),e("div",nl,[e("button",{type:"button",class:"btn btn-ghost",onClick:vt},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:nt.value},[nt.value?(u(),d("span",il)):z("",!0),t[76]||(t[76]=g("生成 ",-1))],8,al)])],32)])],512),[[K,W.value==="create"]]),e("dialog",{ref_key:"emailModal",ref:at,class:"modal"},[e("div",dl,[t[83]||(t[83]=e("h3",{class:"font-bold text-lg mb-4 flex items-center gap-2"},[e("svg",{class:"h-5 w-5 text-blue-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})]),g(" 发送邮件通知 ")],-1)),e("form",{onSubmit:Gt(pe,["prevent"])},[e("div",ul,[e("div",rl,[t[77]||(t[77]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"收件人 *")],-1)),r(e("input",{"onUpdate:modelValue":t[26]||(t[26]=s=>v.to=s),type:"email",class:"input input-bordered input-sm w-full",required:""},null,512),[[m,v.to]])]),e("div",cl,[t[78]||(t[78]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"抄送")],-1)),r(e("input",{"onUpdate:modelValue":t[27]||(t[27]=s=>v.cc=s),type:"text",class:"input input-bordered input-sm w-full",placeholder:"多个邮箱用逗号分隔"},null,512),[[m,v.cc]])])]),e("div",vl,[t[79]||(t[79]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"主题 *")],-1)),r(e("input",{"onUpdate:modelValue":t[28]||(t[28]=s=>v.subject=s),type:"text",class:"input input-bordered input-sm w-full",required:""},null,512),[[m,v.subject]])]),e("div",bl,[t[80]||(t[80]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"内容 *")],-1)),r(e("textarea",{"onUpdate:modelValue":t[29]||(t[29]=s=>v.content=s),class:"textarea textarea-bordered w-full",rows:"10",required:""},null,512),[[m,v.content]])]),e("div",pl,[t[81]||(t[81]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"附件")],-1)),e("div",ml,i(P.value?"📎 "+P.value:"无附件"),1)]),e("div",fl,[e("button",{type:"button",class:"btn btn-ghost btn-sm",onClick:Ht},"取消"),e("button",{type:"submit",class:"btn btn-primary btn-sm text-white",disabled:it.value},[it.value?(u(),d("span",gl)):z("",!0),t[82]||(t[82]=g("发送邮件 ",-1))],8,xl)])],32)]),t[84]||(t[84]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512),e("dialog",{ref_key:"revokeModal",ref:Mt,class:"modal"},[e("div",yl,[t[92]||(t[92]=e("h3",{class:"font-bold text-lg mb-3 flex items-center gap-2 text-red-600"},[e("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01M4.93 19h14.14a2 2 0 001.74-3L13.74 4a2 2 0 00-3.48 0L3.19 16a2 2 0 001.74 3z"})]),g(" 撤销生产批次 ")],-1)),t[93]||(t[93]=e("div",{class:"bg-red-50 border border-red-200 rounded-lg p-3 text-sm text-red-700 mb-4"},[g(" 此操作将"),e("strong",null,"删除该批次的全部设备码"),g("以及对应的生产出货记录,"),e("strong",null,"不可恢复"),g("。"),e("br"),g(" 若该批次中已有任意设备码被激活/绑定,撤销会被拒绝。 ")],-1)),e("div",hl,[e("div",null,[t[85]||(t[85]=e("span",{class:"text-slate-500"},"厂家:",-1)),e("span",wl,i(p.value?Ut(p.value.factoryid):""),1)]),e("div",null,[t[86]||(t[86]=e("span",{class:"text-slate-500"},"产品:",-1)),e("span",kl,i(p.value?Vt(p.value.productid):""),1)]),e("div",null,[t[87]||(t[87]=e("span",{class:"text-slate-500"},"批次:",-1)),e("span",Cl,i(p.value?p.value.probatch:""),1)]),e("div",null,[t[88]||(t[88]=e("span",{class:"text-slate-500"},"设备码数量:",-1)),e("span",_l,i(p.value?p.value.devicetnum:""),1)])]),e("div",Sl,[e("label",Ml,[e("span",Ul,[t[89]||(t[89]=g("请输入批次号 ",-1)),e("span",Vl,i(p.value?p.value.probatch:""),1),t[90]||(t[90]=g(" 以确认撤销",-1))])]),r(e("input",{"onUpdate:modelValue":t[30]||(t[30]=s=>dt.value=s),type:"text",class:"input input-bordered input-sm w-full",autocomplete:"off"},null,512),[[m,dt.value]])]),e("p",Dl,i(ut.value),1),e("div",Al,[e("button",{type:"button",class:"btn btn-ghost btn-sm",onClick:$t},"取消"),e("button",{type:"button",class:"btn btn-error btn-sm text-white",disabled:!Kt.value||rt.value,onClick:le},[rt.value?(u(),d("span",Nl)):z("",!0),t[91]||(t[91]=g("确认撤销 ",-1))],8,jl)])]),t[94]||(t[94]=e("form",{method:"dialog",class:"modal-backdrop"},[e("button",null,"close")],-1))],512)]))}});export{Ll as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CTAruH_8.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CfpW9SkI.js similarity index 80% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CTAruH_8.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CfpW9SkI.js index 155f042d..f3f607b9 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CTAruH_8.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CfpW9SkI.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./C2sLAWj2.js","./9B2ftqmN.js","./D9HxoMhB.js","./yUUyh6cG.js","./lLLegusN.js","./accounts.B82323Fi.css","./B_JvM6BO.js","./appconfig.j94fgYL_.css","./vesedpp3.js","./apps.B7hnJBQU.css","./DNKl-FHZ.js","./calltranslate.B6r4Q8-j.css","./UoJ1COMF.js","./Cx-e2Cok.js","./dashboard.bI0rfjl_.css","./Cy8zKM7T.js","./Bxcdr2qc.js","./BVGGsVu4.js","./uwVesjjP.js","./BeU4EYjt.js","./CZnZfJ5f.js","./GZxzc1Rc.js","./CF8arGVK.js","./serviceconfig.Io3AqtMK.css","./Bi5c3E0c.js","./statlog.C1q_3yEh.css","./EIJPD_ga.js","./systemconfig.DaWusDMu.css","./BIBu1qhq.js","./CnuHOwQV.js","./index.4nAkFRy2.css","./FZLr1rN5.js","./CnkSDgVO.js","./default.miyQHb0v.css","./BroHRKpP.js","./DpWhlKu2.js","./error-404.Dm-MYrAh.css","./P2ZWRt51.js","./error-500.DM8oqBl3.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Dm32cczg.js","./DSu8q42f.js","./DL330dAC.js","./CMwGY1Mu.js","./accounts.B82323Fi.css","./6VNdSi_V.js","./appconfig.j94fgYL_.css","./BYskkv1s.js","./apps.BKS_pLby.css","./B_WQdNTA.js","./calltranslate.B6r4Q8-j.css","./y51pRzN1.js","./DQJ7bpDC.js","./dashboard.bI0rfjl_.css","./C_DpaApf.js","./CEy0BeiT.js","./C1a5GrA3.js","./C4pFFOT7.js","./C1U0GWax.js","./CtB1c492.js","./-beHFMDW.js","./B2Vd1HRg.js","./serviceconfig.Io3AqtMK.css","./CHwWlLZM.js","./statlog.C1q_3yEh.css","./CgB4v6_d.js","./systemconfig.CKZLIXAY.css","./BjeKh_cp.js","./DA87FDpn.js","./index.4nAkFRy2.css","./B3ocY-Ie.js","./R6fio73R.js","./default.miyQHb0v.css","./uI9fc-sC.js","./tlYhbUA5.js","./error-404.Dm-MYrAh.css","./C_4yneL9.js","./error-500.DM8oqBl3.css"])))=>i.map(i=>d[i]); (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function ho(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const fe={},_n=[],pt=()=>{},Ta=()=>!1,lr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Wr=e=>e.startsWith("onUpdate:"),Te=Object.assign,po=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},au=Object.prototype.hasOwnProperty,ie=(e,t)=>au.call(e,t),G=Array.isArray,bn=e=>In(e)==="[object Map]",Mn=e=>In(e)==="[object Set]",Go=e=>In(e)==="[object Date]",lu=e=>In(e)==="[object RegExp]",Y=e=>typeof e=="function",he=e=>typeof e=="string",Ue=e=>typeof e=="symbol",se=e=>e!==null&&typeof e=="object",Ra=e=>(se(e)||Y(e))&&Y(e.then)&&Y(e.catch),Ca=Object.prototype.toString,In=e=>Ca.call(e),cu=e=>In(e).slice(8,-1),go=e=>In(e)==="[object Object]",qr=e=>he(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,en=ho(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zr=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},uu=/-\w/g,Le=zr(e=>e.replace(uu,t=>t.slice(1).toUpperCase())),fu=/\B([A-Z])/g,Kt=zr(e=>e.replace(fu,"-$1").toLowerCase()),Gr=zr(e=>e.charAt(0).toUpperCase()+e.slice(1)),fs=zr(e=>e?`on${Gr(e)}`:""),dt=(e,t)=>!Object.is(e,t),vn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Jr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Aa=e=>{const t=he(e)?Number(e):NaN;return isNaN(t)?e:t};let Jo;const Xr=()=>Jo||(Jo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Yr(e){if(G(e)){const t={};for(let n=0;n{if(n){const r=n.split(hu);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Qr(e){let t="";if(he(e))t=e;else if(G(e))for(let n=0;nBt(n,t))}const ka=e=>!!(e&&e.__v_isRef===!0),vu=e=>he(e)?e:e==null?"":G(e)||se(e)&&(e.toString===Ca||!Y(e.toString))?ka(e)?vu(e.value):JSON.stringify(e,Oa,2):String(e),Oa=(e,t)=>ka(t)?Oa(e,t.value):bn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[ds(r,o)+" =>"]=s,n),{})}:Mn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ds(n))}:Ue(t)?ds(t):se(t)&&!G(t)&&!go(t)?String(t):t,ds=(e,t="")=>{var n;return Ue(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let Ee;class Ma{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Ee&&(Ee.active?(this.parent=Ee,this.index=(Ee.scopes||(Ee.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0){if(Ee===this)Ee=this.prevScope;else{let t=Ee;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(zn){let t=zn;for(zn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;qn;){let t=qn;for(qn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Ha(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Na(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),vo(r),wu(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function Ls(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ja(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ja(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===tr)||(e.globalVersion=tr,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ls(e))))return;e.flags|=2;const t=e.dep,n=de,r=tt;de=e,tt=!0;try{Ha(e);const s=e.fn(e._value);(t.version===0||dt(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{de=n,tt=r,Na(e),e.flags&=-3}}function vo(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)vo(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function wu(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let tt=!0;const Fa=[];function Pt(){Fa.push(tt),tt=!1}function At(){const e=Fa.pop();tt=e===void 0?!0:e}function Xo(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=de;de=void 0;try{t()}finally{de=n}}}let tr=0;class Eu{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class wo{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!de||!tt||de===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==de)n=this.activeLink=new Eu(de,this),de.deps?(n.prevDep=de.depsTail,de.depsTail.nextDep=n,de.depsTail=n):de.deps=de.depsTail=n,Ba(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=de.depsTail,n.nextDep=void 0,de.depsTail.nextDep=n,de.depsTail=n,de.deps===n&&(de.deps=r)}return n}trigger(t){this.version++,tr++,this.notify(t)}notify(t){_o();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{bo()}}}function Ba(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)Ba(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Pr=new WeakMap,tn=Symbol(""),Ds=Symbol(""),nr=Symbol("");function xe(e,t,n){if(tt&&de){let r=Pr.get(e);r||Pr.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new wo),s.map=r,s.key=n),s.track()}}function Et(e,t,n,r,s,o){const i=Pr.get(e);if(!i){tr++;return}const a=l=>{l&&l.trigger()};if(_o(),t==="clear")i.forEach(a);else{const l=G(e),f=l&&qr(n);if(l&&n==="length"){const c=Number(r);i.forEach((u,h)=>{(h==="length"||h===nr||!Ue(h)&&h>=c)&&a(u)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),f&&a(i.get(nr)),t){case"add":l?f&&a(i.get("length")):(a(i.get(tn)),bn(e)&&a(i.get(Ds)));break;case"delete":l||(a(i.get(tn)),bn(e)&&a(i.get(Ds)));break;case"set":bn(e)&&a(i.get(tn));break}}bo()}function Su(e,t){const n=Pr.get(e);return n&&n.get(t)}function un(e){const t=ne(e);return t===e?t:(xe(t,"iterate",nr),Be(e)?t:t.map(rt))}function es(e){return xe(e=ne(e),"iterate",nr),e}function ut(e,t){return mt(e)?Tn(gt(e)?rt(t):t):rt(t)}const Tu={__proto__:null,[Symbol.iterator](){return ps(this,Symbol.iterator,e=>ut(this,e))},concat(...e){return un(this).concat(...e.map(t=>G(t)?un(t):t))},entries(){return ps(this,"entries",e=>(e[1]=ut(this,e[1]),e))},every(e,t){return yt(this,"every",e,t,void 0,arguments)},filter(e,t){return yt(this,"filter",e,t,n=>n.map(r=>ut(this,r)),arguments)},find(e,t){return yt(this,"find",e,t,n=>ut(this,n),arguments)},findIndex(e,t){return yt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return yt(this,"findLast",e,t,n=>ut(this,n),arguments)},findLastIndex(e,t){return yt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return yt(this,"forEach",e,t,void 0,arguments)},includes(...e){return gs(this,"includes",e)},indexOf(...e){return gs(this,"indexOf",e)},join(e){return un(this).join(e)},lastIndexOf(...e){return gs(this,"lastIndexOf",e)},map(e,t){return yt(this,"map",e,t,void 0,arguments)},pop(){return Hn(this,"pop")},push(...e){return Hn(this,"push",e)},reduce(e,...t){return Yo(this,"reduce",e,t)},reduceRight(e,...t){return Yo(this,"reduceRight",e,t)},shift(){return Hn(this,"shift")},some(e,t){return yt(this,"some",e,t,void 0,arguments)},splice(...e){return Hn(this,"splice",e)},toReversed(){return un(this).toReversed()},toSorted(e){return un(this).toSorted(e)},toSpliced(...e){return un(this).toSpliced(...e)},unshift(...e){return Hn(this,"unshift",e)},values(){return ps(this,"values",e=>ut(this,e))}};function ps(e,t,n){const r=es(e),s=r[t]();return r!==e&&!Be(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const Ru=Array.prototype;function yt(e,t,n,r,s,o){const i=es(e),a=i!==e&&!Be(e),l=i[t];if(l!==Ru[t]){const u=l.apply(e,o);return a?rt(u):u}let f=n;i!==e&&(a?f=function(u,h){return n.call(this,ut(e,u),h,e)}:n.length>2&&(f=function(u,h){return n.call(this,u,h,e)}));const c=l.call(i,f,r);return a&&s?s(c):c}function Yo(e,t,n,r){const s=es(e),o=s!==e&&!Be(e);let i=n,a=!1;s!==e&&(o?(a=r.length===0,i=function(f,c,u){return a&&(a=!1,f=ut(e,f)),n.call(this,f,ut(e,c),u,e)}):n.length>3&&(i=function(f,c,u){return n.call(this,f,c,u,e)}));const l=s[t](i,...r);return a?ut(e,l):l}function gs(e,t,n){const r=ne(e);xe(r,"iterate",nr);const s=r[t](...n);return(s===-1||s===!1)&&ts(n[0])?(n[0]=ne(n[0]),r[t](...n)):s}function Hn(e,t,n=[]){Pt(),_o();const r=ne(e)[t].apply(e,n);return bo(),At(),r}const Cu=ho("__proto__,__v_isRef,__isVue"),Ua=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ue));function Pu(e){Ue(e)||(e=String(e));const t=ne(this);return xe(t,"has",e),t.hasOwnProperty(e)}class Va{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?Hu:za:o?qa:Wa).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=G(t);if(!s){let l;if(i&&(l=Tu[n]))return l;if(n==="hasOwnProperty")return Pu}const a=Reflect.get(t,n,pe(t)?t:r);if((Ue(n)?Ua.has(n):Cu(n))||(s||xe(t,"get",n),o))return a;if(pe(a)){const l=i&&qr(n)?a:a.value;return s&&se(l)?Hs(l):l}return se(a)?s?Hs(a):ot(a):a}}class Ka extends Va{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];const i=G(t)&&qr(n);if(!this._isShallow){const f=mt(o);if(!Be(r)&&!mt(r)&&(o=ne(o),r=ne(r)),!i&&pe(o)&&!pe(r))return f||(o.value=r),!0}const a=i?Number(n)e,hr=e=>Reflect.getPrototypeOf(e);function Mu(e,t,n){return function(...r){const s=this.__v_raw,o=ne(s),i=bn(o),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,f=s[e](...r),c=n?$s:t?Tn:rt;return!t&&xe(o,"iterate",l?Ds:tn),Te(Object.create(f),{next(){const{value:u,done:h}=f.next();return h?{value:u,done:h}:{value:a?[c(u[0]),c(u[1])]:c(u),done:h}}})}}function pr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Iu(e,t){const n={get(s){const o=this.__v_raw,i=ne(o),a=ne(s);e||(dt(s,a)&&xe(i,"get",s),xe(i,"get",a));const{has:l}=hr(i),f=t?$s:e?Tn:rt;if(l.call(i,s))return f(o.get(s));if(l.call(i,a))return f(o.get(a));o!==i&&o.get(s)},get size(){const s=this.__v_raw;return!e&&xe(ne(s),"iterate",tn),s.size},has(s){const o=this.__v_raw,i=ne(o),a=ne(s);return e||(dt(s,a)&&xe(i,"has",s),xe(i,"has",a)),s===a?o.has(s):o.has(s)||o.has(a)},forEach(s,o){const i=this,a=i.__v_raw,l=ne(a),f=t?$s:e?Tn:rt;return!e&&xe(l,"iterate",tn),a.forEach((c,u)=>s.call(o,f(c),f(u),i))}};return Te(n,e?{add:pr("add"),set:pr("set"),delete:pr("delete"),clear:pr("clear")}:{add(s){const o=ne(this),i=hr(o),a=ne(s),l=!t&&!Be(s)&&!mt(s)?a:s;return i.has.call(o,l)||dt(s,l)&&i.has.call(o,s)||dt(a,l)&&i.has.call(o,a)||(o.add(l),Et(o,"add",l,l)),this},set(s,o){!t&&!Be(o)&&!mt(o)&&(o=ne(o));const i=ne(this),{has:a,get:l}=hr(i);let f=a.call(i,s);f||(s=ne(s),f=a.call(i,s));const c=l.call(i,s);return i.set(s,o),f?dt(o,c)&&Et(i,"set",s,o):Et(i,"add",s,o),this},delete(s){const o=ne(this),{has:i,get:a}=hr(o);let l=i.call(o,s);l||(s=ne(s),l=i.call(o,s)),a&&a.call(o,s);const f=o.delete(s);return l&&Et(o,"delete",s,void 0),f},clear(){const s=ne(this),o=s.size!==0,i=s.clear();return o&&Et(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Mu(s,e,t)}),n}function Eo(e,t){const n=Iu(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(ie(n,s)&&s in r?n:r,s,o)}const Lu={get:Eo(!1,!1)},Du={get:Eo(!1,!0)},$u={get:Eo(!0,!1)};const Wa=new WeakMap,qa=new WeakMap,za=new WeakMap,Hu=new WeakMap;function Nu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ot(e){return mt(e)?e:So(e,!1,xu,Lu,Wa)}function Ze(e){return So(e,!1,Ou,Du,qa)}function Hs(e){return So(e,!0,ku,$u,za)}function So(e,t,n,r,s){if(!se(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=s.get(e);if(o)return o;const i=Nu(cu(e));if(i===0)return e;const a=new Proxy(e,i===2?r:n);return s.set(e,a),a}function gt(e){return mt(e)?gt(e.__v_raw):!!(e&&e.__v_isReactive)}function mt(e){return!!(e&&e.__v_isReadonly)}function Be(e){return!!(e&&e.__v_isShallow)}function ts(e){return e?!!e.__v_raw:!1}function ne(e){const t=e&&e.__v_raw;return t?ne(t):e}function To(e){return!ie(e,"__v_skip")&&Object.isExtensible(e)&&Pa(e,"__v_skip",!0),e}const rt=e=>se(e)?ot(e):e,Tn=e=>se(e)?Hs(e):e;function pe(e){return e?e.__v_isRef===!0:!1}function nt(e){return Ga(e,!1)}function Ut(e){return Ga(e,!0)}function Ga(e,t){return pe(e)?e:new ju(e,t)}class ju{constructor(t,n){this.dep=new wo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ne(t),this._value=n?t:rt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||Be(t)||mt(t);t=r?t:ne(t),dt(t,n)&&(this._rawValue=t,this._value=r?t:rt(t),this.dep.trigger())}}function ae(e){return pe(e)?e.value:e}function ft(e){return Y(e)?e():ae(e)}const Fu={get:(e,t,n)=>t==="__v_raw"?e:ae(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return pe(s)&&!pe(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Ja(e){return gt(e)?e:new Proxy(e,Fu)}function Bu(e){const t=G(e)?new Array(e.length):{};for(const n in e)t[n]=Ya(e,n);return t}class Uu{constructor(t,n,r){this._object=t,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._key=Ue(n)?n:String(n),this._raw=ne(t);let s=!0,o=t;if(!G(t)||Ue(this._key)||!qr(this._key))do s=!ts(o)||Be(o);while(s&&(o=o.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=ae(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&pe(this._raw[this._key])){const n=this._object[this._key];if(pe(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Su(this._raw,this._key)}}class Vu{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Xa(e,t,n){return pe(e)?e:Y(e)?new Vu(e):se(e)&&arguments.length>1?Ya(e,t,n):nt(e)}function Ya(e,t,n){return new Uu(e,t,n)}class Ku{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new wo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=tr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&de!==this)return $a(this,!0),!0}get value(){const t=this.dep.track();return ja(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Wu(e,t,n=!1){let r,s;return Y(e)?r=e:(r=e.get,s=e.set),new Ku(r,s,n)}const gr={},Ar=new WeakMap;let Qt;function qu(e,t=!1,n=Qt){if(n){let r=Ar.get(n);r||Ar.set(n,r=[]),r.push(e)}}function zu(e,t,n=fe){const{immediate:r,deep:s,once:o,scheduler:i,augmentJob:a,call:l}=n,f=_=>s?_:Be(_)||s===!1||s===0?St(_,1):St(_);let c,u,h,d,m=!1,y=!1;if(pe(e)?(u=()=>e.value,m=Be(e)):gt(e)?(u=()=>f(e),m=!0):G(e)?(y=!0,m=e.some(_=>gt(_)||Be(_)),u=()=>e.map(_=>{if(pe(_))return _.value;if(gt(_))return f(_);if(Y(_))return l?l(_,2):_()})):Y(e)?t?u=l?()=>l(e,2):e:u=()=>{if(h){Pt();try{h()}finally{At()}}const _=Qt;Qt=c;try{return l?l(e,3,[d]):e(d)}finally{Qt=_}}:u=pt,t&&s){const _=u,w=s===!0?1/0:s;u=()=>St(_(),w)}const C=Zr(),E=()=>{c.stop(),C&&C.active&&po(C.effects,c)};if(o&&t){const _=t;t=(...w)=>{const k=_(...w);return E(),k}}let v=y?new Array(e.length).fill(gr):gr;const p=_=>{if(!(!(c.flags&1)||!c.dirty&&!_))if(t){const w=c.run();if(_||s||m||(y?w.some((k,A)=>dt(k,v[A])):dt(w,v))){h&&h();const k=Qt;Qt=c;try{const A=[w,v===gr?void 0:y&&v[0]===gr?[]:v,d];v=w,l?l(t,3,A):t(...A)}finally{Qt=k}}}else c.run()};return a&&a(p),c=new La(u),c.scheduler=i?()=>i(p,!1):p,d=_=>qu(_,!1,c),h=c.onStop=()=>{const _=Ar.get(c);if(_){if(l)l(_,4);else for(const w of _)w();Ar.delete(c)}},t?r?p(!0):v=c.run():i?i(p.bind(null,!0),!0):c.run(),E.pause=c.pause.bind(c),E.resume=c.resume.bind(c),E.stop=E,E}function St(e,t=1/0,n){if(t<=0||!se(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,pe(e))St(e.value,t,n);else if(G(e))for(let r=0;r{St(r,t,n)});else if(go(e)){for(const r in e)St(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&St(e[r],t,n)}return e}function cr(e,t,n,r){try{return r?e(...r):e()}catch(s){Ln(s,t,n)}}function Xe(e,t,n,r){if(Y(e)){const s=cr(e,t,n,r);return s&&Ra(s)&&s.catch(o=>{Ln(o,t,n)}),s}if(G(e)){const s=[];for(let o=0;o>>1,s=Ie[r],o=sr(s);o=sr(n)?Ie.push(e):Ie.splice(Ju(t),0,e),e.flags|=1,Za()}}function Za(){xr||(xr=Qa.then(el))}function rr(e){G(e)?wn.push(...e):$t&&e.id===-1?$t.splice(hn+1,0,e):e.flags&1||(wn.push(e),e.flags|=1),Za()}function Qo(e,t,n=lt+1){for(;nsr(n)-sr(r));if(wn.length=0,$t){$t.push(...t);return}for($t=t,hn=0;hn<$t.length;hn++){const n=$t[hn];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}$t=null,hn=0}}const sr=e=>e.id==null?e.flags&2?-1:1/0:e.id;function el(e){try{for(lt=0;lt{r._d&&Hr(-1);const o=Or(t);let i;try{i=e(...s)}finally{Or(o),r._d&&Hr(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Gy(e,t){if(Ae===null)return e;const n=as(Ae),r=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&Y(t)?t.call(r&&r.proxy):t}}function ns(){return!!(an()||nn)}const Xu=Symbol.for("v-scx"),Yu=()=>Ce(Xu);function Qu(e,t){return Po(e,null,t)}function Rt(e,t,n){return Po(e,t,n)}function Po(e,t,n=fe){const{immediate:r,deep:s,flush:o,once:i}=n,a=Te({},n),l=t&&r||!t&&o!=="post";let f;if(Pn){if(o==="sync"){const d=Yu();f=d.__watcherHandles||(d.__watcherHandles=[])}else if(!l){const d=()=>{};return d.stop=pt,d.resume=pt,d.pause=pt,d}}const c=Pe;a.call=(d,m,y)=>Xe(d,c,m,y);let u=!1;o==="post"?a.scheduler=d=>{Se(d,c&&c.suspense)}:o!=="sync"&&(u=!0,a.scheduler=(d,m)=>{m?d():Ro(d)}),a.augmentJob=d=>{t&&(d.flags|=4),u&&(d.flags|=2,c&&(d.id=c.uid,d.i=c))};const h=zu(e,t,a);return Pn&&(f?f.push(h):l&&h()),h}function Zu(e,t,n){const r=this.proxy,s=he(e)?e.includes(".")?nl(r,e):()=>r[e]:e.bind(r,r);let o;Y(t)?o=t:(o=t.handler,n=t);const i=dr(this),a=Po(s,o.bind(r),n);return i(),a}function nl(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;se.__isTeleport,ze=Symbol("_leaveCb"),Nn=Symbol("_enterCb");function tf(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return xo(()=>{e.isMounted=!0}),fr(()=>{e.isUnmounting=!0}),e}const We=[Function,Array],sl={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:We,onEnter:We,onAfterEnter:We,onEnterCancelled:We,onBeforeLeave:We,onLeave:We,onAfterLeave:We,onLeaveCancelled:We,onBeforeAppear:We,onAppear:We,onAfterAppear:We,onAppearCancelled:We},ol=e=>{const t=e.subTree;return t.component?ol(t.component):t},nf={name:"BaseTransition",props:sl,setup(e,{slots:t}){const n=an(),r=tf();return()=>{const s=t.default&&ll(t.default(),!0),o=s&&s.length?il(s):n.subTree?Xf():void 0;if(!o)return;const i=ne(e),{mode:a}=i;if(r.isLeaving)return ms(o);const l=Zo(o);if(!l)return ms(o);let f=Ns(l,i,r,n,u=>f=u);l.type!==be&&Rn(l,f);let c=n.subTree&&Zo(n.subTree);if(c&&c.type!==be&&!et(c,l)&&ol(n).type!==be){let u=Ns(c,i,r,n);if(Rn(c,u),a==="out-in"&&l.type!==be)return r.isLeaving=!0,u.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete u.afterLeave,c=void 0},ms(o);a==="in-out"&&l.type!==be?u.delayLeave=(h,d,m)=>{const y=al(r,c);y[String(c.key)]=c,h[ze]=()=>{d(),h[ze]=void 0,delete f.delayedLeave,c=void 0},f.delayedLeave=()=>{m(),delete f.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return o}}};function il(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==be){t=n;break}}return t}const rf=nf;function al(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Ns(e,t,n,r,s){const{appear:o,mode:i,persisted:a=!1,onBeforeEnter:l,onEnter:f,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:h,onLeave:d,onAfterLeave:m,onLeaveCancelled:y,onBeforeAppear:C,onAppear:E,onAfterAppear:v,onAppearCancelled:p}=t,_=String(e.key),w=al(n,e),k=(R,T)=>{R&&Xe(R,r,9,T)},A=(R,T)=>{const H=T[1];k(R,T),G(R)?R.every(L=>L.length<=1)&&H():R.length<=1&&H()},D={mode:i,persisted:a,beforeEnter(R){let T=l;if(!n.isMounted)if(o)T=C||l;else return;R[ze]&&R[ze](!0);const H=w[_];H&&et(e,H)&&H.el[ze]&&H.el[ze](),k(T,[R])},enter(R){if(w[_]===e)return;let T=f,H=c,L=u;if(!n.isMounted)if(o)T=E||f,H=v||c,L=p||u;else return;let W=!1;R[Nn]=te=>{W||(W=!0,te?k(L,[R]):k(H,[R]),D.delayedLeave&&D.delayedLeave(),R[Nn]=void 0)};const Z=R[Nn].bind(null,!1);T?A(T,[R,Z]):Z()},leave(R,T){const H=String(e.key);if(R[Nn]&&R[Nn](!0),n.isUnmounting)return T();k(h,[R]);let L=!1;R[ze]=Z=>{L||(L=!0,T(),Z?k(y,[R]):k(m,[R]),R[ze]=void 0,w[H]===e&&delete w[H])};const W=R[ze].bind(null,!1);w[H]=e,d?A(d,[R,W]):W()},clone(R){const T=Ns(R,t,n,r,s);return s&&s(T),T}};return D}function ms(e){if(ur(e))return e=kt(e),e.children=null,e}function Zo(e){if(!ur(e))return rl(e.type)&&e.children?il(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&Y(n.default))return n.default()}}function Rn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Rn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ll(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;oEn(y,t&&(G(t)?t[C]:t),n,r,s));return}if(Ct(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&En(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?as(r.component):r.el,i=s?null:o,{i:a,r:l}=e,f=t&&t.r,c=a.refs===fe?a.refs={}:a.refs,u=a.setupState,h=ne(u),d=u===fe?Ta:y=>ei(c,y)?!1:ie(h,y),m=(y,C)=>!(C&&ei(c,C));if(f!=null&&f!==l){if(ti(t),he(f))c[f]=null,d(f)&&(u[f]=null);else if(pe(f)){const y=t;m(f,y.k)&&(f.value=null),y.k&&(c[y.k]=null)}}if(Y(l))cr(l,a,12,[i,c]);else{const y=he(l),C=pe(l);if(y||C){const E=()=>{if(e.f){const v=y?d(l)?u[l]:c[l]:m()||!e.k?l.value:c[e.k];if(s)G(v)&&po(v,o);else if(G(v))v.includes(o)||v.push(o);else if(y)c[l]=[o],d(l)&&(u[l]=c[l]);else{const p=[o];m(l,e.k)&&(l.value=p),e.k&&(c[e.k]=p)}}else y?(c[l]=i,d(l)&&(u[l]=i)):C&&(m(l,e.k)&&(l.value=i),e.k&&(c[e.k]=i))};if(i){const v=()=>{E(),Mr.delete(e)};v.id=-1,Mr.set(e,v),Se(v,n)}else ti(e),E()}}}function ti(e){const t=Mr.get(e);t&&(t.flags|=8,Mr.delete(e))}let ni=!1;const fn=()=>{ni||(console.error("Hydration completed but contains mismatches."),ni=!0)},sf=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",of=e=>e.namespaceURI.includes("MathML"),mr=e=>{if(e.nodeType===1){if(sf(e))return"svg";if(of(e))return"mathml"}},mn=e=>e.nodeType===8;function af(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:a,insert:l,createComment:f}}=e,c=(p,_)=>{if(!_.hasChildNodes()){n(null,p,_),kr(),_._vnode=p;return}u(_.firstChild,p,null,null,null),kr(),_._vnode=p},u=(p,_,w,k,A,D=!1)=>{D=D||!!_.dynamicChildren;const R=mn(p)&&p.data==="[",T=()=>y(p,_,w,k,A,R),{type:H,ref:L,shapeFlag:W,patchFlag:Z}=_;let te=p.nodeType;_.el=p,Z===-2&&(D=!1,_.dynamicChildren=null);let F=null;switch(H){case rn:te!==3?_.children===""?(l(_.el=s(""),i(p),p),F=p):F=T():(p.data!==_.children&&(fn(),p.data=_.children),F=o(p));break;case be:v(p)?(F=o(p),E(_.el=p.content.firstChild,p,w)):te!==8||R?F=T():F=o(p);break;case Jn:if(R&&(p=o(p),te=p.nodeType),te===1||te===3){F=p;const q=!_.children.length;for(let V=0;V<_.staticCount;V++)q&&(_.children+=F.nodeType===1?F.outerHTML:F.data),V===_.staticCount-1&&(_.anchor=F),F=o(F);return R?o(F):F}else T();break;case ke:R?F=m(p,_,w,k,A,D):F=T();break;default:if(W&1)(te!==1||_.type.toLowerCase()!==p.tagName.toLowerCase())&&!v(p)?F=T():F=h(p,_,w,k,A,D);else if(W&6){_.slotScopeIds=A;const q=i(p);if(R?F=C(p):mn(p)&&p.data==="teleport start"?F=C(p,p.data,"teleport end"):F=o(p),t(_,q,null,w,k,mr(q),D),Ct(_)&&!_.type.__asyncResolved){let V;R?(V=ye(ke),V.anchor=F?F.previousSibling:q.lastChild):V=p.nodeType===3?Kl(""):ye("div"),V.el=p,_.component.subTree=V}}else W&64?te!==8?F=T():F=_.type.hydrate(p,_,w,k,A,D,e,d):W&128&&(F=_.type.hydrate(p,_,w,k,mr(i(p)),A,D,e,u))}return L!=null&&En(L,null,k,_),F},h=(p,_,w,k,A,D)=>{D=D||!!_.dynamicChildren;const{type:R,props:T,patchFlag:H,shapeFlag:L,dirs:W,transition:Z}=_,te=R==="input"||R==="option";if(te||H!==-1){W&&ct(_,null,w,"created");let F=!1;if(v(p)){F=Il(null,Z)&&w&&w.vnode.props&&w.vnode.props.appear;const V=p.content.firstChild;if(F){const le=V.getAttribute("class");le&&(V.$cls=le),Z.beforeEnter(V)}E(V,p,w),_.el=p=V}if(L&16&&!(T&&(T.innerHTML||T.textContent))){let V=d(p.firstChild,_,p,w,k,A,D);for(V&&!yr(p,1)&&fn();V;){const le=V;V=V.nextSibling,a(le)}}else if(L&8){let V=_.children;V[0]===` `&&(p.tagName==="PRE"||p.tagName==="TEXTAREA")&&(V=V.slice(1));const{textContent:le}=p;le!==V&&le!==V.replace(/\r\n|\r/g,` -`)&&(yr(p,0)||fn(),p.textContent=_.children)}if(T){if(te||!D||H&48){const V=p.tagName.includes("-");for(const le in T)(te&&(le.endsWith("value")||le==="indeterminate")||lr(le)&&!en(le)||le[0]==="."||V&&!en(le))&&r(p,le,null,T[le],void 0,w)}else if(T.onClick)r(p,"onClick",null,T.onClick,void 0,w);else if(H&4&>(T.style))for(const V in T.style)T.style[V]}let q;(q=T&&T.onVnodeBeforeMount)&&$e(q,w,_),W&&ct(_,null,w,"beforeMount"),((q=T&&T.onVnodeMounted)||W||F)&&Nl(()=>{q&&$e(q,w,_),F&&Z.enter(p),W&&ct(_,null,w,"mounted")},k)}return p.nextSibling},d=(p,_,w,k,A,D,R)=>{R=R||!!_.dynamicChildren;const T=_.children,H=T.length;let L=!1;for(let W=0;W{const{slotScopeIds:R}=_;R&&(A=A?A.concat(R):R);const T=i(p),H=d(o(p),_,T,w,k,A,D);return H&&mn(H)&&H.data==="]"?o(_.anchor=H):(fn(),l(_.anchor=f("]"),T,H),H)},y=(p,_,w,k,A,D)=>{if(yr(p.parentElement,1)||fn(),_.el=null,D){const H=C(p);for(;;){const L=o(p);if(L&&L!==H)a(L);else break}}const R=o(p),T=i(p);return a(p),n(null,_,T,R,w,k,mr(T),A),w&&(w.vnode.el=_.el,is(w,_.el)),R},C=(p,_="[",w="]")=>{let k=0;for(;p;)if(p=o(p),p&&mn(p)&&(p.data===_&&k++,p.data===w)){if(k===0)return o(p);k--}return p},E=(p,_,w)=>{const k=_.parentNode;k&&k.replaceChild(p,_);let A=w;for(;A;)A.vnode.el===_&&(A.vnode.el=A.subTree.el=p),A=A.parent},v=p=>p.nodeType===1&&p.tagName==="TEMPLATE";return[c,u]}const ri="data-allow-mismatch",lf={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function yr(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(ri);)e=e.parentElement;const n=e&&e.getAttribute(ri);if(n==null)return!1;if(n==="")return!0;{const r=n.split(",");return t===0&&r.includes("children")?!0:r.includes(lf[t])}}Xr().requestIdleCallback;Xr().cancelIdleCallback;function cf(e,t){if(mn(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(mn(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const Ct=e=>!!e.type.__asyncLoader;function Ir(e){Y(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:o,timeout:i,suspensible:a=!0,onError:l}=e;let f=null,c,u=0;const h=()=>(u++,f=null,d()),d=()=>{let m;return f||(m=f=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((C,E)=>{l(y,()=>C(h()),()=>E(y),u+1)});throw y}).then(y=>m!==f&&f?f:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),c=y,y)))};return Wt({name:"AsyncComponentWrapper",__asyncLoader:d,__asyncHydrate(m,y,C){let E=!1;(y.bu||(y.bu=[])).push(()=>E=!0);const v=()=>{E||C()},p=o?()=>{const _=o(v,w=>cf(m,w));_&&(y.bum||(y.bum=[])).push(_)}:v;c?p():d().then(()=>!y.isUnmounted&&p())},get __asyncResolved(){return c},setup(){const m=Pe;if(Ao(m),c)return()=>_r(c,m);const y=w=>{f=null,Ln(w,m,13,!r)};if(a&&m.suspense||Pn)return d().then(w=>()=>_r(w,m)).catch(w=>(y(w),()=>r?ye(r,{error:w}):null));const C=nt(!1),E=nt(),v=nt(!!s);let p,_;return ss(()=>{p!=null&&clearTimeout(p),_!=null&&clearTimeout(_)}),s&&(_=setTimeout(()=>{m.isUnmounted||(v.value=!1)},s)),i!=null&&(p=setTimeout(()=>{if(!m.isUnmounted&&!C.value&&!E.value){const w=new Error(`Async component timed out after ${i}ms.`);y(w),E.value=w}},i)),d().then(()=>{m.isUnmounted||(C.value=!0,m.parent&&ur(m.parent.vnode)&&m.parent.update())}).catch(w=>{if(m.isUnmounted){f=null;return}y(w),E.value=w}),()=>{if(C.value&&c)return _r(c,m);if(E.value&&r)return ye(r,{error:E.value});if(n&&!v.value)return _r(n,m)}}})}function _r(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=ye(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const ur=e=>e.type.__isKeepAlive,uf={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=an(),r=n.ctx;if(!r.renderer)return()=>{const v=t.default&&t.default();return v&&v.length===1?v[0]:v};const s=new Map,o=new Set;let i=null;const a=n.suspense,{renderer:{p:l,m:f,um:c,o:{createElement:u}}}=r,h=u("div");r.activate=(v,p,_,w,k)=>{const A=v.component;f(v,p,_,0,a),l(A.vnode,v,p,_,A,a,w,v.slotScopeIds,k),Se(()=>{A.isDeactivated=!1,A.a&&vn(A.a);const D=v.props&&v.props.onVnodeMounted;D&&$e(D,A.parent,v)},a)},r.deactivate=v=>{const p=v.component;Dr(p.m),Dr(p.a),f(v,h,null,1,a),Se(()=>{p.da&&vn(p.da);const _=v.props&&v.props.onVnodeUnmounted;_&&$e(_,p.parent,v),p.isDeactivated=!0},a)};function d(v){ys(v),c(v,n,a,!0)}function m(v){s.forEach((p,_)=>{const w=zs(Ct(p)?p.type.__asyncResolved||{}:p.type);w&&!v(w)&&y(_)})}function y(v){const p=s.get(v);p&&(!i||!et(p,i))?d(p):i&&ys(i),s.delete(v),o.delete(v)}Rt(()=>[e.include,e.exclude],([v,p])=>{v&&m(_=>Vn(v,_)),p&&m(_=>!Vn(p,_))},{flush:"post",deep:!0});let C=null;const E=()=>{C!=null&&($r(n.subTree.type)?Se(()=>{s.set(C,br(n.subTree))},n.subTree.suspense):s.set(C,br(n.subTree)))};return xo(E),hl(E),fr(()=>{s.forEach(v=>{const{subTree:p,suspense:_}=n,w=br(p);if(v.type===w.type&&v.key===w.key){ys(w);const k=w.component.da;k&&Se(k,_);return}d(v)})}),()=>{if(C=null,!t.default)return i=null;const v=t.default(),p=v[0];if(v.length>1)return i=null,v;if(!sn(p)||!(p.shapeFlag&4)&&!(p.shapeFlag&128))return i=null,p;let _=br(p);if(_.type===be)return i=null,_;const w=_.type,k=zs(Ct(_)?_.type.__asyncResolved||{}:w),{include:A,exclude:D,max:R}=e;if(A&&(!k||!Vn(A,k))||D&&k&&Vn(D,k))return _.shapeFlag&=-257,i=_,p;const T=_.key==null?w:_.key,H=s.get(T);return _.el&&(_=kt(_),p.shapeFlag&128&&(p.ssContent=_)),C=T,H?(_.el=H.el,_.component=H.component,_.transition&&Rn(_,_.transition),_.shapeFlag|=512,o.delete(T),o.add(T)):(o.add(T),R&&o.size>parseInt(R,10)&&y(o.values().next().value)),_.shapeFlag|=256,i=_,$r(p.type)?p:_}}},ff=uf;function Vn(e,t){return G(e)?e.some(n=>Vn(n,t)):he(e)?e.split(",").includes(t):lu(e)?(e.lastIndex=0,e.test(t)):!1}function cl(e,t){fl(e,"a",t)}function ul(e,t){fl(e,"da",t)}function fl(e,t,n=Pe){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(rs(t,r,n),n){let s=n.parent;for(;s&&s.parent;)ur(s.parent.vnode)&&df(r,t,n,s),s=s.parent}}function df(e,t,n,r){const s=rs(t,e,r,!0);ss(()=>{po(r[t],s)},n)}function ys(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function br(e){return e.shapeFlag&128?e.ssContent:e}function rs(e,t,n=Pe,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{Pt();const a=dr(n),l=Xe(t,n,e,i);return a(),At(),l});return r?s.unshift(o):s.push(o),o}}const Ot=e=>(t,n=Pe)=>{(!Pn||e==="sp")&&rs(e,(...r)=>t(...r),n)},dl=Ot("bm"),xo=Ot("m"),hf=Ot("bu"),hl=Ot("u"),fr=Ot("bum"),ss=Ot("um"),pf=Ot("sp"),gf=Ot("rtg"),mf=Ot("rtc");function pl(e,t=Pe){rs("ec",e,t)}const gl="components";function Jy(e,t){return yl(gl,e,!0,t)||e}const ml=Symbol.for("v-ndc");function yf(e){return he(e)?yl(gl,e,!1)||e:e||ml}function yl(e,t,n=!0,r=!1){const s=Ae||Pe;if(s){const o=s.type;{const a=zs(o,!1);if(a&&(a===t||a===Le(t)||a===Gr(Le(t))))return o}const i=si(s[e]||o[e],t)||si(s.appContext[e],t);return!i&&r?o:i}}function si(e,t){return e&&(e[t]||e[Le(t)]||e[Gr(Le(t))])}function Xy(e,t,n,r){let s;const o=n,i=G(e);if(i||he(e)){const a=i&>(e);let l=!1,f=!1;a&&(l=!Be(e),f=mt(e),e=es(e)),s=new Array(e.length);for(let c=0,u=e.length;ct(a,l,void 0,o));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,f=a.length;l0;return Ge(),ht(ke,null,[ye("slot",n,r)],f?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),Ge();const i=o&&_l(o(n)),a=n.key||i&&i.key,l=ht(ke,{key:(a&&!Ue(a)?a:`_${t}`)+(!i&&r?"_fb":"")},i||[],i&&e._===1?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function _l(e){return e.some(t=>sn(t)?!(t.type===be||t.type===ke&&!_l(t.children)):!0)?e:null}const js=e=>e?ql(e)?as(e):js(e.parent):null,Gn=Te(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>js(e.parent),$root:e=>js(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>vl(e),$forceUpdate:e=>e.f||(e.f=()=>{Ro(e.update)}),$nextTick:e=>e.n||(e.n=xt.bind(e.proxy)),$watch:e=>Zu.bind(e)}),_s=(e,t)=>e!==fe&&!e.__isScriptSetup&&ie(e,t),_f={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(_s(r,t))return i[t]=1,r[t];if(s!==fe&&ie(s,t))return i[t]=2,s[t];if(ie(o,t))return i[t]=3,o[t];if(n!==fe&&ie(n,t))return i[t]=4,n[t];Fs&&(i[t]=0)}}const f=Gn[t];let c,u;if(f)return t==="$attrs"&&xe(e.attrs,"get",""),f(e);if((c=a.__cssModules)&&(c=c[t]))return c;if(n!==fe&&ie(n,t))return i[t]=4,n[t];if(u=l.config.globalProperties,ie(u,t))return u[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return _s(s,t)?(s[t]=n,!0):r!==fe&&ie(r,t)?(r[t]=n,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:o,type:i}},a){let l;return!!(n[a]||e!==fe&&a[0]!=="$"&&ie(e,a)||_s(t,a)||ie(o,a)||ie(r,a)||ie(Gn,a)||ie(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ie(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function oi(e){return G(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Fs=!0;function bf(e){const t=vl(e),n=e.proxy,r=e.ctx;Fs=!1,t.beforeCreate&&ii(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:a,provide:l,inject:f,created:c,beforeMount:u,mounted:h,beforeUpdate:d,updated:m,activated:y,deactivated:C,beforeDestroy:E,beforeUnmount:v,destroyed:p,unmounted:_,render:w,renderTracked:k,renderTriggered:A,errorCaptured:D,serverPrefetch:R,expose:T,inheritAttrs:H,components:L,directives:W,filters:Z}=t;if(f&&vf(f,r,null),i)for(const q in i){const V=i[q];Y(V)&&(r[q]=V.bind(n))}if(s){const q=s.call(n,n);se(q)&&(e.data=ot(q))}if(Fs=!0,o)for(const q in o){const V=o[q],le=Y(V)?V.bind(n,n):Y(V.get)?V.get.bind(n,n):pt,Mt=!Y(V)&&Y(V.set)?V.set.bind(n):pt,it=Re({get:le,set:Mt});Object.defineProperty(r,q,{enumerable:!0,configurable:!0,get:()=>it.value,set:De=>it.value=De})}if(a)for(const q in a)bl(a[q],r,n,q);if(l){const q=Y(l)?l.call(n):l;Reflect.ownKeys(q).forEach(V=>{jt(V,q[V])})}c&&ii(c,e,"c");function F(q,V){G(V)?V.forEach(le=>q(le.bind(n))):V&&q(V.bind(n))}if(F(dl,u),F(xo,h),F(hf,d),F(hl,m),F(cl,y),F(ul,C),F(pl,D),F(mf,k),F(gf,A),F(fr,v),F(ss,_),F(pf,R),G(T))if(T.length){const q=e.exposed||(e.exposed={});T.forEach(V=>{Object.defineProperty(q,V,{get:()=>n[V],set:le=>n[V]=le,enumerable:!0})})}else e.exposed||(e.exposed={});w&&e.render===pt&&(e.render=w),H!=null&&(e.inheritAttrs=H),L&&(e.components=L),W&&(e.directives=W),R&&Ao(e)}function vf(e,t,n=pt){G(e)&&(e=Bs(e));for(const r in e){const s=e[r];let o;se(s)?"default"in s?o=Ce(s.from||r,s.default,!0):o=Ce(s.from||r):o=Ce(s),pe(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function ii(e,t,n){Xe(G(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function bl(e,t,n,r){let s=r.includes(".")?nl(n,r):()=>n[r];if(he(e)){const o=t[e];Y(o)&&Rt(s,o)}else if(Y(e))Rt(s,e.bind(n));else if(se(e))if(G(e))e.forEach(o=>bl(o,t,n,r));else{const o=Y(e.handler)?e.handler.bind(n):t[e.handler];Y(o)&&Rt(s,o,e)}}function vl(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,a=o.get(t);let l;return a?l=a:!s.length&&!n&&!r?l=t:(l={},s.length&&s.forEach(f=>Lr(l,f,i,!0)),Lr(l,t,i)),se(t)&&o.set(t,l),l}function Lr(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Lr(e,o,n,!0),s&&s.forEach(i=>Lr(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=wf[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const wf={data:ai,props:li,emits:li,methods:Kn,computed:Kn,beforeCreate:Me,created:Me,beforeMount:Me,mounted:Me,beforeUpdate:Me,updated:Me,beforeDestroy:Me,beforeUnmount:Me,destroyed:Me,unmounted:Me,activated:Me,deactivated:Me,errorCaptured:Me,serverPrefetch:Me,components:Kn,directives:Kn,watch:Sf,provide:ai,inject:Ef};function ai(e,t){return t?e?function(){return Te(Y(e)?e.call(this,this):e,Y(t)?t.call(this,this):t)}:t:e}function Ef(e,t){return Kn(Bs(e),Bs(t))}function Bs(e){if(G(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Le(t)}Modifiers`]||e[`${Kt(t)}Modifiers`];function Pf(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||fe;let s=n;const o=t.startsWith("update:"),i=o&&Cf(r,t.slice(7));i&&(i.trim&&(s=n.map(c=>he(c)?c.trim():c)),i.number&&(s=n.map(Jr)));let a,l=r[a=fs(t)]||r[a=fs(Le(t))];!l&&o&&(l=r[a=fs(Kt(t))]),l&&Xe(l,e,6,s);const f=r[a+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Xe(f,e,6,s)}}const Af=new WeakMap;function El(e,t,n=!1){const r=n?Af:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},a=!1;if(!Y(e)){const l=f=>{const c=El(f,t,!0);c&&(a=!0,Te(i,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(se(e)&&r.set(e,null),null):(G(o)?o.forEach(l=>i[l]=null):Te(i,o),se(e)&&r.set(e,i),i)}function os(e,t){return!e||!lr(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,Kt(t))||ie(e,t))}function bs(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:a,emit:l,render:f,renderCache:c,props:u,data:h,setupState:d,ctx:m,inheritAttrs:y}=e,C=Or(e);let E,v;try{if(n.shapeFlag&4){const _=s||r,w=_;E=Fe(f.call(w,_,c,u,d,h,m)),v=a}else{const _=t;E=Fe(_.length>1?_(u,{attrs:a,slots:i,emit:l}):_(u,null)),v=t.props?a:kf(a)}}catch(_){Xn.length=0,Ln(_,e,1),E=ye(be)}let p=E;if(v&&y!==!1){const _=Object.keys(v),{shapeFlag:w}=p;_.length&&w&7&&(o&&_.some(Wr)&&(v=Of(v,o)),p=kt(p,v,!1,!0))}return n.dirs&&(p=kt(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&Rn(p,n.transition),E=p,Or(C),E}function xf(e,t=!0){let n;for(let r=0;r{let t;for(const n in e)(n==="class"||n==="style"||lr(n))&&((t||(t={}))[n]=e[n]);return t},Of=(e,t)=>{const n={};for(const r in e)(!Wr(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Mf(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:a,patchFlag:l}=t,f=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?ci(r,i,f):!!i;if(l&8){const c=t.dynamicProps;for(let u=0;uObject.create(Tl),Cl=e=>Object.getPrototypeOf(e)===Tl;function If(e,t,n,r=!1){const s={},o=Rl();e.propsDefaults=Object.create(null),Pl(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:Ze(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Lf(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,a=ne(s),[l]=e.propsOptions;let f=!1;if((r||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let u=0;u{l=!0;const[h,d]=Al(u,t,!0);Te(i,h),d&&a.push(...d)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!o&&!l)return se(e)&&r.set(e,_n),_n;if(G(o))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",Oo=e=>G(e)?e.map(Fe):[Fe(e)],$f=(e,t,n)=>{if(t._n)return t;const r=Co((...s)=>Oo(t(...s)),n);return r._c=!1,r},xl=(e,t,n)=>{const r=e._ctx;for(const s in e){if(ko(s))continue;const o=e[s];if(Y(o))t[s]=$f(s,o,r);else if(o!=null){const i=Oo(o);t[s]=()=>i}}},kl=(e,t)=>{const n=Oo(t);e.slots.default=()=>n},Ol=(e,t,n)=>{for(const r in t)(n||!ko(r))&&(e[r]=t[r])},Hf=(e,t,n)=>{const r=e.slots=Rl();if(e.vnode.shapeFlag&32){const s=t._;s?(Ol(r,t,n),n&&Pa(r,"_",s,!0)):xl(t,r)}else t&&kl(e,t)},Nf=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=fe;if(r.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:Ol(s,t,n):(o=!t.$stable,xl(t,s)),i=t}else t&&(kl(e,t),i={default:1});if(o)for(const a in s)!ko(a)&&i[a]==null&&delete s[a]},Se=Nl;function jf(e){return Ml(e)}function Ff(e){return Ml(e,af)}function Ml(e,t){const n=Xr();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:a,createComment:l,setText:f,setElementText:c,parentNode:u,nextSibling:h,setScopeId:d=pt,insertStaticContent:m}=e,y=(g,b,S,M=null,P=null,O=null,j=void 0,N=null,$=!!b.dynamicChildren)=>{if(g===b)return;g&&!et(g,b)&&(M=x(g),De(g,P,O,!0),g=null),b.patchFlag===-2&&($=!1,b.dynamicChildren=null);const{type:I,ref:X,shapeFlag:U}=b;switch(I){case rn:C(g,b,S,M);break;case be:E(g,b,S,M);break;case Jn:g==null&&v(b,S,M,j);break;case ke:L(g,b,S,M,P,O,j,N,$);break;default:U&1?w(g,b,S,M,P,O,j,N,$):U&6?W(g,b,S,M,P,O,j,N,$):(U&64||U&128)&&I.process(g,b,S,M,P,O,j,N,$,J)}X!=null&&P?En(X,g&&g.ref,O,b||g,!b):X==null&&g&&g.ref!=null&&En(g.ref,null,O,g,!0)},C=(g,b,S,M)=>{if(g==null)r(b.el=a(b.children),S,M);else{const P=b.el=g.el;b.children!==g.children&&f(P,b.children)}},E=(g,b,S,M)=>{g==null?r(b.el=l(b.children||""),S,M):b.el=g.el},v=(g,b,S,M)=>{[g.el,g.anchor]=m(g.children,b,S,M,g.el,g.anchor)},p=({el:g,anchor:b},S,M)=>{let P;for(;g&&g!==b;)P=h(g),r(g,S,M),g=P;r(b,S,M)},_=({el:g,anchor:b})=>{let S;for(;g&&g!==b;)S=h(g),s(g),g=S;s(b)},w=(g,b,S,M,P,O,j,N,$)=>{if(b.type==="svg"?j="svg":b.type==="math"&&(j="mathml"),g==null)k(b,S,M,P,O,j,N,$);else{const I=g.el&&g.el._isVueCE?g.el:null;try{I&&I._beginPatch(),R(g,b,P,O,j,N,$)}finally{I&&I._endPatch()}}},k=(g,b,S,M,P,O,j,N)=>{let $,I;const{props:X,shapeFlag:U,transition:z,dirs:Q}=g;if($=g.el=i(g.type,O,X&&X.is,X),U&8?c($,g.children):U&16&&D(g.children,$,null,M,P,vs(g,O),j,N),Q&&ct(g,null,M,"created"),A($,g,g.scopeId,j,M),X){for(const ue in X)ue!=="value"&&!en(ue)&&o($,ue,null,X[ue],O,M);"value"in X&&o($,"value",null,X.value,O),(I=X.onVnodeBeforeMount)&&$e(I,M,g)}Q&&ct(g,null,M,"beforeMount");const re=Il(P,z);re&&z.beforeEnter($),r($,b,S),((I=X&&X.onVnodeMounted)||re||Q)&&Se(()=>{I&&$e(I,M,g),re&&z.enter($),Q&&ct(g,null,M,"mounted")},P)},A=(g,b,S,M,P)=>{if(S&&d(g,S),M)for(let O=0;O{for(let I=$;I{const N=b.el=g.el;let{patchFlag:$,dynamicChildren:I,dirs:X}=b;$|=g.patchFlag&16;const U=g.props||fe,z=b.props||fe;let Q;if(S&&zt(S,!1),(Q=z.onVnodeBeforeUpdate)&&$e(Q,S,b,g),X&&ct(b,g,S,"beforeUpdate"),S&&zt(S,!0),(U.innerHTML&&z.innerHTML==null||U.textContent&&z.textContent==null)&&c(N,""),I?T(g.dynamicChildren,I,N,S,M,vs(b,P),O):j||V(g,b,N,null,S,M,vs(b,P),O,!1),$>0){if($&16)H(N,U,z,S,P);else if($&2&&U.class!==z.class&&o(N,"class",null,z.class,P),$&4&&o(N,"style",U.style,z.style,P),$&8){const re=b.dynamicProps;for(let ue=0;ue{Q&&$e(Q,S,b,g),X&&ct(b,g,S,"updated")},M)},T=(g,b,S,M,P,O,j)=>{for(let N=0;N{if(b!==S){if(b!==fe)for(const O in b)!en(O)&&!(O in S)&&o(g,O,b[O],null,P,M);for(const O in S){if(en(O))continue;const j=S[O],N=b[O];j!==N&&O!=="value"&&o(g,O,N,j,P,M)}"value"in S&&o(g,"value",b.value,S.value,P)}},L=(g,b,S,M,P,O,j,N,$)=>{const I=b.el=g?g.el:a(""),X=b.anchor=g?g.anchor:a("");let{patchFlag:U,dynamicChildren:z,slotScopeIds:Q}=b;Q&&(N=N?N.concat(Q):Q),g==null?(r(I,S,M),r(X,S,M),D(b.children||[],S,X,P,O,j,N,$)):U>0&&U&64&&z&&g.dynamicChildren&&g.dynamicChildren.length===z.length?(T(g.dynamicChildren,z,S,P,O,j,N),(b.key!=null||P&&b===P.subTree)&&Ll(g,b,!0)):V(g,b,S,X,P,O,j,N,$)},W=(g,b,S,M,P,O,j,N,$)=>{b.slotScopeIds=N,g==null?b.shapeFlag&512?P.ctx.activate(b,S,M,j,$):Z(b,S,M,P,O,j,$):te(g,b,$)},Z=(g,b,S,M,P,O,j)=>{const N=g.component=Zf(g,M,P);if(ur(g)&&(N.ctx.renderer=J),ed(N,!1,j),N.asyncDep){if(P&&P.registerDep(N,F,j),!g.el){const $=N.subTree=ye(be);E(null,$,b,S),g.placeholder=$.el}}else F(N,g,b,S,P,O,j)},te=(g,b,S)=>{const M=b.component=g.component;if(Mf(g,b,S))if(M.asyncDep&&!M.asyncResolved){q(M,b,S);return}else M.next=b,M.update();else b.el=g.el,M.vnode=b},F=(g,b,S,M,P,O,j)=>{const N=()=>{if(g.isMounted){let{next:U,bu:z,u:Q,parent:re,vnode:ue}=g;{const Ne=Dl(g);if(Ne){U&&(U.el=ue.el,q(g,U,j)),Ne.asyncDep.then(()=>{Se(()=>{g.isUnmounted||I()},P)});return}}let ce=U,_e;zt(g,!1),U?(U.el=ue.el,q(g,U,j)):U=ue,z&&vn(z),(_e=U.props&&U.props.onVnodeBeforeUpdate)&&$e(_e,re,U,ue),zt(g,!0);const we=bs(g),Qe=g.subTree;g.subTree=we,y(Qe,we,u(Qe.el),x(Qe),g,P,O),U.el=we.el,ce===null&&is(g,we.el),Q&&Se(Q,P),(_e=U.props&&U.props.onVnodeUpdated)&&Se(()=>$e(_e,re,U,ue),P)}else{let U;const{el:z,props:Q}=b,{bm:re,m:ue,parent:ce,root:_e,type:we}=g,Qe=Ct(b);if(zt(g,!1),re&&vn(re),!Qe&&(U=Q&&Q.onVnodeBeforeMount)&&$e(U,ce,b),zt(g,!0),z&&ge){const Ne=()=>{g.subTree=bs(g),ge(z,g.subTree,g,P,null)};Qe&&we.__asyncHydrate?we.__asyncHydrate(z,g,Ne):Ne()}else{_e.ce&&_e.ce._hasShadowRoot()&&_e.ce._injectChildStyle(we,g.parent?g.parent.type:void 0);const Ne=g.subTree=bs(g);y(null,Ne,S,M,g,P,O),b.el=Ne.el}if(ue&&Se(ue,P),!Qe&&(U=Q&&Q.onVnodeMounted)){const Ne=b;Se(()=>$e(U,ce,Ne),P)}(b.shapeFlag&256||ce&&Ct(ce.vnode)&&ce.vnode.shapeFlag&256)&&g.a&&Se(g.a,P),g.isMounted=!0,b=S=M=null}};g.scope.on();const $=g.effect=new La(N);g.scope.off();const I=g.update=$.run.bind($),X=g.job=$.runIfDirty.bind($);X.i=g,X.id=g.uid,$.scheduler=()=>Ro(X),zt(g,!0),I()},q=(g,b,S)=>{b.component=g;const M=g.vnode.props;g.vnode=b,g.next=null,Lf(g,b.props,M,S),Nf(g,b.children,S),Pt(),Qo(g),At()},V=(g,b,S,M,P,O,j,N,$=!1)=>{const I=g&&g.children,X=g?g.shapeFlag:0,U=b.children,{patchFlag:z,shapeFlag:Q}=b;if(z>0){if(z&128){Mt(I,U,S,M,P,O,j,N,$);return}else if(z&256){le(I,U,S,M,P,O,j,N,$);return}}Q&8?(X&16&&Ke(I,P,O),U!==I&&c(S,U)):X&16?Q&16?Mt(I,U,S,M,P,O,j,N,$):Ke(I,P,O,!0):(X&8&&c(S,""),Q&16&&D(U,S,M,P,O,j,N,$))},le=(g,b,S,M,P,O,j,N,$)=>{g=g||_n,b=b||_n;const I=g.length,X=b.length,U=Math.min(I,X);let z;for(z=0;zX?Ke(g,P,O,!0,!1,U):D(b,S,M,P,O,j,N,$,U)},Mt=(g,b,S,M,P,O,j,N,$)=>{let I=0;const X=b.length;let U=g.length-1,z=X-1;for(;I<=U&&I<=z;){const Q=g[I],re=b[I]=$?wt(b[I]):Fe(b[I]);if(et(Q,re))y(Q,re,S,null,P,O,j,N,$);else break;I++}for(;I<=U&&I<=z;){const Q=g[U],re=b[z]=$?wt(b[z]):Fe(b[z]);if(et(Q,re))y(Q,re,S,null,P,O,j,N,$);else break;U--,z--}if(I>U){if(I<=z){const Q=z+1,re=Qz)for(;I<=U;)De(g[I],P,O,!0),I++;else{const Q=I,re=I,ue=new Map;for(I=re;I<=z;I++){const je=b[I]=$?wt(b[I]):Fe(b[I]);je.key!=null&&ue.set(je.key,I)}let ce,_e=0;const we=z-re+1;let Qe=!1,Ne=0;const $n=new Array(we);for(I=0;I=we){De(je,P,O,!0);continue}let at;if(je.key!=null)at=ue.get(je.key);else for(ce=re;ce<=z;ce++)if($n[ce-re]===0&&et(je,b[ce])){at=ce;break}at===void 0?De(je,P,O,!0):($n[at-re]=I+1,at>=Ne?Ne=at:Qe=!0,y(je,b[at],S,null,P,O,j,N,$),_e++)}const Wo=Qe?Bf($n):_n;for(ce=Wo.length-1,I=we-1;I>=0;I--){const je=re+I,at=b[je],qo=b[je+1],zo=je+1{const{el:O,type:j,transition:N,children:$,shapeFlag:I}=g;if(I&6){it(g.component.subTree,b,S,M);return}if(I&128){g.suspense.move(b,S,M);return}if(I&64){j.move(g,b,S,J);return}if(j===ke){r(O,b,S);for(let U=0;U<$.length;U++)it($[U],b,S,M);r(g.anchor,b,S);return}if(j===Jn){p(g,b,S);return}if(M!==2&&I&1&&N)if(M===0)N.persisted&&!O[ze]?r(O,b,S):(N.beforeEnter(O),r(O,b,S),Se(()=>N.enter(O),P));else{const{leave:U,delayLeave:z,afterLeave:Q}=N,re=()=>{g.ctx.isUnmounted?s(O):r(O,b,S)},ue=()=>{const ce=O._isLeaving||!!O[ze];O._isLeaving&&O[ze](!0),N.persisted&&!ce?re():U(O,()=>{re(),Q&&Q()})};z?z(O,re,ue):ue()}else r(O,b,S)},De=(g,b,S,M=!1,P=!1)=>{const{type:O,props:j,ref:N,children:$,dynamicChildren:I,shapeFlag:X,patchFlag:U,dirs:z,cacheIndex:Q,memo:re}=g;if(U===-2&&(P=!1),N!=null&&(Pt(),En(N,null,S,g,!0),At()),Q!=null&&(b.renderCache[Q]=void 0),X&256){b.ctx.deactivate(g);return}const ue=X&1&&z,ce=!Ct(g);let _e;if(ce&&(_e=j&&j.onVnodeBeforeUnmount)&&$e(_e,b,g),X&6)qt(g.component,S,M);else{if(X&128){g.suspense.unmount(S,M);return}ue&&ct(g,null,b,"beforeUnmount"),X&64?g.type.remove(g,b,S,J,M):I&&!I.hasOnce&&(O!==ke||U>0&&U&64)?Ke(I,b,S,!1,!0):(O===ke&&U&384||!P&&X&16)&&Ke($,b,S),M&&ln(g)}const we=re!=null&&Q==null;(ce&&(_e=j&&j.onVnodeUnmounted)||ue||we)&&Se(()=>{_e&&$e(_e,b,g),ue&&ct(g,null,b,"unmounted"),we&&(g.el=null)},S)},ln=g=>{const{type:b,el:S,anchor:M,transition:P}=g;if(b===ke){cn(S,M);return}if(b===Jn){_(g);return}const O=()=>{s(S),P&&!P.persisted&&P.afterLeave&&P.afterLeave()};if(g.shapeFlag&1&&P&&!P.persisted){const{leave:j,delayLeave:N}=P,$=()=>j(S,O);N?N(g.el,O,$):$()}else O()},cn=(g,b)=>{let S;for(;g!==b;)S=h(g),s(g),g=S;s(b)},qt=(g,b,S)=>{const{bum:M,scope:P,job:O,subTree:j,um:N,m:$,a:I}=g;Dr($),Dr(I),M&&vn(M),P.stop(),O&&(O.flags|=8,De(j,g,b,S)),N&&Se(N,b),Se(()=>{g.isUnmounted=!0},b)},Ke=(g,b,S,M=!1,P=!1,O=0)=>{for(let j=O;j{if(g.shapeFlag&6)return x(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const b=h(g.anchor||g.el),S=b&&b[ef];return S?h(S):b};let K=!1;const B=(g,b,S)=>{let M;g==null?b._vnode&&(De(b._vnode,null,null,!0),M=b._vnode.component):y(b._vnode||null,g,b,null,null,null,S),b._vnode=g,K||(K=!0,Qo(M),kr(),K=!1)},J={p:y,um:De,m:it,r:ln,mt:Z,mc:D,pc:V,pbc:T,n:x,o:e};let ee,ge;return t&&([ee,ge]=t(J)),{render:B,hydrate:ee,createApp:Rf(B,ee)}}function vs({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function zt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Il(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ll(e,t,n=!1){const r=e.children,s=t.children;if(G(r)&&G(s))for(let o=0;o>1,e[n[a]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Dl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Dl(t)}function Dr(e){if(e)for(let t=0;te.__isSuspense;let Vs=0;const Uf={name:"Suspense",__isSuspense:!0,process(e,t,n,r,s,o,i,a,l,f){if(e==null)Vf(t,n,r,s,o,i,a,l,f);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}Kf(e,t,n,r,s,i,a,l,f)}},hydrate:Wf,normalize:qf},Mo=Uf;function or(e,t){const n=e.props&&e.props[t];Y(n)&&n()}function Vf(e,t,n,r,s,o,i,a,l){const{p:f,o:{createElement:c}}=l,u=c("div"),h=e.suspense=Hl(e,s,r,t,u,n,o,i,a,l);f(null,h.pendingBranch=e.ssContent,u,null,r,h,o,i),h.deps>0?(or(e,"onPending"),or(e,"onFallback"),f(null,e.ssFallback,t,n,r,null,o,i),Sn(h,e.ssFallback)):h.resolve(!1,!0)}function Kf(e,t,n,r,s,o,i,a,{p:l,um:f,o:{createElement:c}}){const u=t.suspense=e.suspense;u.vnode=t,t.el=e.el;const h=t.ssContent,d=t.ssFallback,{activeBranch:m,pendingBranch:y,isInFallback:C,isHydrating:E}=u;if(y)u.pendingBranch=h,et(y,h)?(l(y,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0?u.resolve():C&&(E||(l(m,d,n,r,s,null,o,i,a),Sn(u,d)))):(u.pendingId=Vs++,E?(u.isHydrating=!1,u.activeBranch=y):f(y,s,u),u.deps=0,u.effects.length=0,u.hiddenContainer=c("div"),C?(l(null,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0?u.resolve():(l(m,d,n,r,s,null,o,i,a),Sn(u,d))):m&&et(m,h)?(l(m,h,n,r,s,u,o,i,a),u.resolve(!0)):(l(null,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0&&u.resolve()));else if(m&&et(m,h))l(m,h,n,r,s,u,o,i,a),Sn(u,h);else if(or(t,"onPending"),u.pendingBranch=h,h.shapeFlag&512?u.pendingId=h.component.suspenseId:u.pendingId=Vs++,l(null,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0)u.resolve();else{const{timeout:v,pendingId:p}=u;v>0?setTimeout(()=>{u.pendingId===p&&u.fallback(d)},v):v===0&&u.fallback(d)}}function Hl(e,t,n,r,s,o,i,a,l,f,c=!1){const{p:u,m:h,um:d,n:m,o:{parentNode:y,remove:C}}=f;let E;const v=zf(e);v&&t&&t.pendingBranch&&(E=t.pendingId,t.deps++);const p=e.props?Aa(e.props.timeout):void 0,_=o,w={vnode:e,parent:t,parentComponent:n,namespace:i,container:r,hiddenContainer:s,deps:0,pendingId:Vs++,timeout:typeof p=="number"?p:-1,activeBranch:null,isFallbackMountPending:!1,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(k=!1,A=!1){const{vnode:D,activeBranch:R,pendingBranch:T,pendingId:H,effects:L,parentComponent:W,container:Z,isInFallback:te}=w;let F=!1;if(w.isHydrating)w.isHydrating=!1;else if(!k){F=R&&T.transition&&T.transition.mode==="out-in";let le=!1;F&&(R.transition.afterLeave=()=>{H===w.pendingId&&(h(T,Z,o===_&&!le?m(R):o,0),rr(L),te&&D.ssFallback&&(D.ssFallback.el=null))}),R&&!w.isFallbackMountPending&&(y(R.el)===Z&&(o=m(R),le=!0),d(R,W,w,!0),!F&&te&&D.ssFallback&&Se(()=>D.ssFallback.el=null,w)),F||h(T,Z,o,0)}w.isFallbackMountPending=!1,Sn(w,T),w.pendingBranch=null,w.isInFallback=!1;let q=w.parent,V=!1;for(;q;){if(q.pendingBranch){q.effects.push(...L),V=!0;break}q=q.parent}!V&&!F&&rr(L),w.effects=[],v&&t&&t.pendingBranch&&E===t.pendingId&&(t.deps--,t.deps===0&&!A&&t.resolve()),or(D,"onResolve")},fallback(k){if(!w.pendingBranch)return;const{vnode:A,activeBranch:D,parentComponent:R,container:T,namespace:H}=w;or(A,"onFallback");const L=m(D),W=()=>{w.isFallbackMountPending=!1,w.isInFallback&&(u(null,k,T,L,R,null,H,a,l),Sn(w,k))},Z=k.transition&&k.transition.mode==="out-in";Z&&(w.isFallbackMountPending=!0,D.transition.afterLeave=W),w.isInFallback=!0,d(D,R,null,!0),Z||W()},move(k,A,D){w.activeBranch&&h(w.activeBranch,k,A,D),w.container=k},next(){return w.activeBranch&&m(w.activeBranch)},registerDep(k,A,D){const R=!!w.pendingBranch;R&&w.deps++;const T=k.vnode.el;k.asyncDep.catch(H=>{Ln(H,k,0)}).then(H=>{if(k.isUnmounted||w.isUnmounted||w.pendingId!==k.suspenseId)return;Ws(),k.asyncResolved=!0;const{vnode:L}=k;qs(k,H),T&&(L.el=T);const W=!T&&k.subTree.el;A(k,L,y(T||k.subTree.el),T?null:m(k.subTree),w,i,D),W&&(L.placeholder=null,C(W)),is(k,L.el),R&&--w.deps===0&&w.resolve()})},unmount(k,A){w.isUnmounted=!0,w.activeBranch&&d(w.activeBranch,n,k,A),w.pendingBranch&&d(w.pendingBranch,n,k,A)}};return w}function Wf(e,t,n,r,s,o,i,a,l){const f=t.suspense=Hl(t,r,n,e.parentNode,document.createElement("div"),null,s,o,i,a,!0),c=l(e,f.pendingBranch=t.ssContent,n,f,o,i);return f.deps===0&&f.resolve(!1,!0),c}function qf(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=fi(r?n.default:n),e.ssFallback=r?fi(n.fallback):ye(be)}function fi(e){let t;if(Y(e)){const n=Cn&&e._c;n&&(e._d=!1,Ge()),e=e(),n&&(e._d=!0,t=He,jl())}return G(e)&&(e=xf(e)),e=Fe(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Nl(e,t){t&&t.pendingBranch?G(e)?t.effects.push(...e):t.effects.push(e):rr(e)}function Sn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,r&&r.subTree===n&&(r.vnode.el=s,is(r,s))}function zf(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const ke=Symbol.for("v-fgt"),rn=Symbol.for("v-txt"),be=Symbol.for("v-cmt"),Jn=Symbol.for("v-stc"),Xn=[];let He=null;function Ge(e=!1){Xn.push(He=e?null:[])}function jl(){Xn.pop(),He=Xn[Xn.length-1]||null}let Cn=1;function Hr(e,t=!1){Cn+=e,e<0&&He&&t&&(He.hasOnce=!0)}function Fl(e){return e.dynamicChildren=Cn>0?He||_n:null,jl(),Cn>0&&He&&He.push(e),e}function Gf(e,t,n,r,s,o){return Fl(Ul(e,t,n,r,s,o,!0))}function ht(e,t,n,r,s){return Fl(ye(e,t,n,r,s,!0))}function sn(e){return e?e.__v_isVNode===!0:!1}function et(e,t){return e.type===t.type&&e.key===t.key}const Bl=({key:e})=>e??null,Rr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?he(e)||pe(e)||Y(e)?{i:Ae,r:e,k:t,f:!!n}:e:null);function Ul(e,t=null,n=null,r=0,s=null,o=e===ke?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Bl(t),ref:t&&Rr(t),scopeId:tl,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Ae};return a?(Io(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=he(n)?8:16),Cn>0&&!i&&He&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&He.push(l),l}const ye=Jf;function Jf(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===ml)&&(e=be),sn(e)){const a=kt(e,t,!0);return n&&Io(a,n),Cn>0&&!o&&He&&(a.shapeFlag&6?He[He.indexOf(e)]=a:He.push(a)),a.patchFlag=-2,a}if(sd(e)&&(e=e.__vccOpts),t){t=Vl(t);let{class:a,style:l}=t;a&&!he(a)&&(t.class=Qr(a)),se(l)&&(ts(l)&&!G(l)&&(l=Te({},l)),t.style=Yr(l))}const i=he(e)?1:$r(e)?128:rl(e)?64:se(e)?4:Y(e)?2:0;return Ul(e,t,n,r,s,i,o,!0)}function Vl(e){return e?ts(e)||Cl(e)?Te({},e):e:null}function kt(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:a,transition:l}=e,f=t?Wl(s||{},t):s,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&Bl(f),ref:t&&t.ref?n&&o?G(o)?o.concat(Rr(t)):[o,Rr(t)]:Rr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ke?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&kt(e.ssContent),ssFallback:e.ssFallback&&kt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&Rn(c,l.clone(c)),c}function Kl(e=" ",t=0){return ye(rn,null,e,t)}function Qy(e,t){const n=ye(Jn,null,e);return n.staticCount=t,n}function Xf(e="",t=!1){return t?(Ge(),ht(be,null,e)):ye(be,null,e)}function Fe(e){return e==null||typeof e=="boolean"?ye(be):G(e)?ye(ke,null,e.slice()):sn(e)?wt(e):ye(rn,null,String(e))}function wt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:kt(e)}function Io(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(G(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Io(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Cl(t)?t._ctx=Ae:s===3&&Ae&&(Ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Y(t)?(t={default:t,_ctx:Ae},n=32):(t=String(t),r&64?(n=16,t=[Kl(t)]):n=8);e.children=t,e.shapeFlag|=n}function Wl(...e){const t={};for(let n=0;nPe||Ae;let Nr,Ks;{const e=Xr(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Nr=t("__VUE_INSTANCE_SETTERS__",n=>Pe=n),Ks=t("__VUE_SSR_SETTERS__",n=>Pn=n)}const dr=e=>{const t=Pe;return Nr(e),e.scope.on(),()=>{e.scope.off(),Nr(t)}},Ws=()=>{Pe&&Pe.scope.off(),Nr(null)};function ql(e){return e.vnode.shapeFlag&4}let Pn=!1;function ed(e,t=!1,n=!1){t&&Ks(t);const{props:r,children:s}=e.vnode,o=ql(e);If(e,r,o,t),Hf(e,s,n||t);const i=o?td(e,t):void 0;return t&&Ks(!1),i}function td(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_f);const{setup:r}=n;if(r){Pt();const s=e.setupContext=r.length>1?rd(e):null,o=dr(e),i=cr(r,e,0,[e.props,s]),a=Ra(i);if(At(),o(),(a||e.sp)&&!Ct(e)&&Ao(e),a){if(i.then(Ws,Ws),t)return i.then(l=>{qs(e,l)}).catch(l=>{Ln(l,e,0)});e.asyncDep=i}else qs(e,i)}else zl(e)}function qs(e,t,n){Y(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:se(t)&&(e.setupState=Ja(t)),zl(e)}function zl(e,t,n){const r=e.type;e.render||(e.render=r.render||pt);{const s=dr(e);Pt();try{bf(e)}finally{At(),s()}}}const nd={get(e,t){return xe(e,"get",""),e[t]}};function rd(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,nd),slots:e.slots,emit:e.emit,expose:t}}function as(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ja(To(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}})):e.proxy}function zs(e,t=!0){return Y(e)?e.displayName||e.name:e.name||t&&e.__name}function sd(e){return Y(e)&&"__vccOpts"in e}const Re=(e,t)=>Wu(e,t,Pn);function Oe(e,t,n){try{Hr(-1);const r=arguments.length;return r===2?se(t)&&!G(t)?sn(t)?ye(e,null,[t]):ye(e,t):ye(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&sn(n)&&(n=[n]),ye(e,t,n))}finally{Hr(1)}}const od="3.5.38";let Gs;const di=typeof window<"u"&&window.trustedTypes;if(di)try{Gs=di.createPolicy("vue",{createHTML:e=>e})}catch{}const Gl=Gs?e=>Gs.createHTML(e):e=>e,id="http://www.w3.org/2000/svg",ad="http://www.w3.org/1998/Math/MathML",vt=typeof document<"u"?document:null,hi=vt&&vt.createElement("template"),ld={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?vt.createElementNS(id,e):t==="mathml"?vt.createElementNS(ad,e):n?vt.createElement(e,{is:n}):vt.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>vt.createTextNode(e),createComment:e=>vt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>vt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{hi.innerHTML=Gl(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=hi.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},It="transition",jn="animation",ir=Symbol("_vtc"),Jl={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},cd=Te({},sl,Jl),ud=e=>(e.displayName="Transition",e.props=cd,e),fd=ud((e,{slots:t})=>Oe(rf,dd(e),t)),Gt=(e,t=[])=>{G(e)?e.forEach(n=>n(...t)):e&&e(...t)},pi=e=>e?G(e)?e.some(t=>t.length>1):e.length>1:!1;function dd(e){const t={};for(const L in e)L in Jl||(t[L]=e[L]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:f=i,appearToClass:c=a,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:d=`${n}-leave-to`}=e,m=hd(s),y=m&&m[0],C=m&&m[1],{onBeforeEnter:E,onEnter:v,onEnterCancelled:p,onLeave:_,onLeaveCancelled:w,onBeforeAppear:k=E,onAppear:A=v,onAppearCancelled:D=p}=t,R=(L,W,Z,te)=>{L._enterCancelled=te,Jt(L,W?c:a),Jt(L,W?f:i),Z&&Z()},T=(L,W)=>{L._isLeaving=!1,Jt(L,u),Jt(L,d),Jt(L,h),W&&W()},H=L=>(W,Z)=>{const te=L?A:v,F=()=>R(W,L,Z);Gt(te,[W,F]),gi(()=>{Jt(W,L?l:o),_t(W,L?c:a),pi(te)||mi(W,r,y,F)})};return Te(t,{onBeforeEnter(L){Gt(E,[L]),_t(L,o),_t(L,i)},onBeforeAppear(L){Gt(k,[L]),_t(L,l),_t(L,f)},onEnter:H(!1),onAppear:H(!0),onLeave(L,W){L._isLeaving=!0;const Z=()=>T(L,W);_t(L,u),L._enterCancelled?(_t(L,h),bi(L)):(bi(L),_t(L,h)),gi(()=>{L._isLeaving&&(Jt(L,u),_t(L,d),pi(_)||mi(L,r,C,Z))}),Gt(_,[L,Z])},onEnterCancelled(L){R(L,!1,void 0,!0),Gt(p,[L])},onAppearCancelled(L){R(L,!0,void 0,!0),Gt(D,[L])},onLeaveCancelled(L){T(L),Gt(w,[L])}})}function hd(e){if(e==null)return null;if(se(e))return[ws(e.enter),ws(e.leave)];{const t=ws(e);return[t,t]}}function ws(e){return Aa(e)}function _t(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[ir]||(e[ir]=new Set)).add(t)}function Jt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[ir];n&&(n.delete(t),n.size||(e[ir]=void 0))}function gi(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let pd=0;function mi(e,t,n,r){const s=e._endId=++pd,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:i,timeout:a,propCount:l}=gd(e,t);if(!i)return r();const f=i+"end";let c=0;const u=()=>{e.removeEventListener(f,h),o()},h=d=>{d.target===e&&++c>=l&&u()};setTimeout(()=>{c(n[m]||"").split(", "),s=r(`${It}Delay`),o=r(`${It}Duration`),i=yi(s,o),a=r(`${jn}Delay`),l=r(`${jn}Duration`),f=yi(a,l);let c=null,u=0,h=0;t===It?i>0&&(c=It,u=i,h=o.length):t===jn?f>0&&(c=jn,u=f,h=l.length):(u=Math.max(i,f),c=u>0?i>f?It:jn:null,h=c?c===It?o.length:l.length:0);const d=c===It&&/\b(?:transform|all)(?:,|$)/.test(r(`${It}Property`).toString());return{type:c,timeout:u,propCount:h,hasTransform:d}}function yi(e,t){for(;e.length_i(n)+_i(e[r])))}function _i(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function bi(e){return(e?e.ownerDocument:document).body.offsetHeight}function md(e,t,n){const r=e[ir];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const jr=Symbol("_vod"),Xl=Symbol("_vsh"),Zy={name:"show",beforeMount(e,{value:t},{transition:n}){e[jr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Fn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Fn(e,!0),r.enter(e)):r.leave(e,()=>{Fn(e,!1)}):Fn(e,t))},beforeUnmount(e,{value:t}){Fn(e,t)}};function Fn(e,t){e.style.display=t?e[jr]:"none",e[Xl]=!t}const yd=Symbol(""),_d=/(?:^|;)\s*display\s*:/;function bd(e,t,n){const r=e.style,s=he(n);let o=!1;if(n&&!s){if(t)if(he(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&Wn(r,a,"")}else for(const i in t)n[i]==null&&Wn(r,i,"");for(const i in n){i==="display"&&(o=!0);const a=n[i];a!=null?wd(e,i,!he(t)&&t?t[i]:void 0,a)||Wn(r,i,a):Wn(r,i,"")}}else if(s){if(t!==n){const i=r[yd];i&&(n+=";"+i),r.cssText=n,o=_d.test(n)}}else t&&e.removeAttribute("style");jr in e&&(e[jr]=o?r.display:"",e[Xl]&&(r.display="none"))}const vi=/\s*!important$/;function Wn(e,t,n){if(G(n))n.forEach(r=>Wn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=vd(e,t);vi.test(n)?e.setProperty(Kt(r),n.replace(vi,""),"important"):e[r]=n}}const wi=["Webkit","Moz","ms"],Es={};function vd(e,t){const n=Es[t];if(n)return n;let r=Le(t);if(r!=="filter"&&r in e)return Es[t]=r;r=Gr(r);for(let s=0;sSs||(Rd.then(()=>Ss=0),Ss=Date.now());function Pd(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;const s=n.value;if(G(s)){const o=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{o.call(r),r._stopped=!0};const i=s.slice(),a=[r];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ad=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?md(e,r,i):t==="style"?bd(e,n,r):lr(t)?Wr(t)||Sd(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):xd(e,t,r,i))?(Ti(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Si(e,t,r,i,o,t!=="value")):e._isVueCE&&(kd(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!he(r)))?Ti(e,Le(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Si(e,t,r,i))};function xd(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Pi(t)&&Y(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Pi(t)&&he(n)?!1:t in e}function kd(e,t){const n=e._def.props;if(!n)return!1;const r=Le(t);return Array.isArray(n)?n.some(s=>Le(s)===r):Object.keys(n).some(s=>Le(s)===r)}const Vt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return G(t)?n=>vn(t,n):t};function Od(e){e.target.composing=!0}function Ai(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Je=Symbol("_assign");function xi(e,t,n){return t&&(e=e.trim()),n&&(e=Jr(e)),e}const ki={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Je]=Vt(s);const o=r||s.props&&s.props.type==="number";Tt(e,t?"change":"input",i=>{i.target.composing||e[Je](xi(e.value,n,o))}),(n||o)&&Tt(e,"change",()=>{e.value=xi(e.value,n,o)}),t||(Tt(e,"compositionstart",Od),Tt(e,"compositionend",Ai),Tt(e,"change",Ai))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[Je]=Vt(i),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?Jr(e.value):e.value,l=t??"";if(a===l)return;const f=e.getRootNode();(f instanceof Document||f instanceof ShadowRoot)&&f.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===l)||(e.value=l)}},Md={deep:!0,created(e,t,n){e[Je]=Vt(n),Tt(e,"change",()=>{const r=e._modelValue,s=An(e),o=e.checked,i=e[Je];if(G(r)){const a=mo(r,s),l=a!==-1;if(o&&!l)i(r.concat(s));else if(!o&&l){const f=[...r];f.splice(a,1),i(f)}}else if(Mn(r)){const a=new Set(r);o?a.add(s):a.delete(s),i(a)}else i(Yl(e,o))})},mounted:Oi,beforeUpdate(e,t,n){e[Je]=Vt(n),Oi(e,t,n)}};function Oi(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(G(t))s=mo(t,r.props.value)>-1;else if(Mn(t))s=t.has(r.props.value);else{if(t===n)return;s=Bt(t,Yl(e,!0))}e.checked!==s&&(e.checked=s)}const Id={created(e,{value:t},n){e.checked=Bt(t,n.props.value),e[Je]=Vt(n),Tt(e,"change",()=>{e[Je](An(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Je]=Vt(r),t!==n&&(e.checked=Bt(t,r.props.value))}},Ld={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=Mn(t);Tt(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Jr(An(i)):An(i));e[Je](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,xt(()=>{e._assigning=!1})}),e[Je]=Vt(r)},mounted(e,{value:t}){Mi(e,t)},beforeUpdate(e,t,n){e[Je]=Vt(n)},updated(e,{value:t}){e._assigning||Mi(e,t)}};function Mi(e,t){const n=e.multiple,r=G(t);if(!(n&&!r&&!Mn(t))){for(let s=0,o=e.options.length;sString(f)===String(a)):i.selected=mo(t,a)>-1}else i.selected=t.has(a);else if(Bt(An(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function An(e){return"_value"in e?e._value:e.value}function Yl(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const e_={created(e,t,n){vr(e,t,n,null,"created")},mounted(e,t,n){vr(e,t,n,null,"mounted")},beforeUpdate(e,t,n,r){vr(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){vr(e,t,n,r,"updated")}};function Dd(e,t){switch(e){case"SELECT":return Ld;case"TEXTAREA":return ki;default:switch(t){case"checkbox":return Md;case"radio":return Id;default:return ki}}}function vr(e,t,n,r,s){const i=Dd(e.tagName,n.props&&n.props.type)[s];i&&i(e,t,n,r)}const $d=["ctrl","shift","alt","meta"],Hd={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>$d.some(n=>e[`${n}Key`]&&!t.includes(n))},t_=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(s=>{if(!("key"in s))return;const o=Kt(s.key);if(t.some(i=>i===o||Nd[i]===o))return e(s)}))},Ql=Te({patchProp:Ad},ld);let Yn,Ii=!1;function jd(){return Yn||(Yn=jf(Ql))}function Fd(){return Yn=Ii?Yn:Ff(Ql),Ii=!0,Yn}const Bd=((...e)=>{const t=jd().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ec(r);if(!s)return;const o=t._component;!Y(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,Zl(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t}),Ud=((...e)=>{const t=Fd().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ec(r);if(s)return n(s,!0,Zl(s))},t});function Zl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ec(e){return he(e)?document.querySelector(e):e}const Vd=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,Kd=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Wd=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function qd(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){zd(e);return}return t}function zd(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Gd(e,t={}){if(typeof e!="string")return e;if(e[0]==='"'&&e[e.length-1]==='"'&&e.indexOf("\\")===-1)return e.slice(1,-1);const n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!Wd.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(Vd.test(e)||Kd.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,qd)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const tc=/#/g,nc=/&/g,Jd=/\//g,Xd=/=/g,Yd=/\?/g,ls=/\+/g,Qd=/%5e/gi,Zd=/%60/gi,eh=/%7c/gi,th=/%20/gi,nh=/%2f/gi,rh=/%252f/gi;function rc(e){return encodeURI(""+e).replace(eh,"|")}function Js(e){return rc(typeof e=="string"?e:JSON.stringify(e)).replace(ls,"%2B").replace(th,"+").replace(tc,"%23").replace(nc,"%26").replace(Zd,"`").replace(Qd,"^").replace(Jd,"%2F")}function Ts(e){return Js(e).replace(Xd,"%3D")}function sh(e){return rc(e).replace(tc,"%23").replace(Yd,"%3F").replace(rh,"%2F").replace(nc,"%26").replace(ls,"%2B")}function ar(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function oh(e){return ar(e.replace(nh,"%252F"))}function ih(e){return ar(e.replace(ls," "))}function ah(e){return ar(e.replace(ls," "))}function sc(e=""){const t=Object.create(null);e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const s=ih(r[1]);if(s==="__proto__"||s==="constructor")continue;const o=ah(r[2]||"");t[s]===void 0?t[s]=o:Array.isArray(t[s])?t[s].push(o):t[s]=[t[s],o]}return t}function lh(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${Ts(e)}=${Js(n)}`).join("&"):`${Ts(e)}=${Js(t)}`:Ts(e)}function ch(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>lh(t,e[t])).filter(Boolean).join("&")}const uh=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,fh=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,dh=/^([/\\]\s*){2,}[^/\\]/,hh=/^[\s\0]*(blob|data|javascript|vbscript):$/i,ph=/\/$|\/\?|\/#/,gh=/^\.?\//;function Dn(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?uh.test(e):fh.test(e)||(t.acceptRelative?dh.test(e):!1)}function Xs(e){return!!e&&hh.test(e)}function Ys(e="",t){return t?ph.test(e):e.endsWith("/")}function Fr(e="",t){if(!t)return(Ys(e)?e.slice(0,-1):e)||"/";if(!Ys(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");s!==-1&&(n=e.slice(0,s),r=e.slice(s));const[o,...i]=n.split("?");return((o.endsWith("/")?o.slice(0,-1):o)||"/")+(i.length>0?`?${i.join("?")}`:"")+r}function mh(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(Ys(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");if(s!==-1&&(n=e.slice(0,s),r=e.slice(s),!n))return r;const[o,...i]=n.split("?");return o+"/"+(i.length>0?`?${i.join("?")}`:"")+r}function yh(e,t){if(ic(t)||Dn(e))return e;const n=Fr(t);if(e.startsWith(n)){const r=e[n.length];if(!r||r==="/"||r==="?")return e}return ac(n,e)}function Li(e,t){if(ic(t))return e;const n=Fr(t);if(!e.startsWith(n))return e;const r=e[n.length];return r&&r!=="/"&&r!=="?"?e:"/"+e.slice(n.length).replace(/^\/+/,"")}function oc(e,t){const n=Lo(e),r={...sc(n.search),...t};return n.search=ch(r),bh(n)}function ic(e){return!e||e==="/"}function _h(e){return e&&e!=="/"}function ac(e,...t){let n=e||"";for(const r of t.filter(s=>_h(s)))if(n){const s=r.replace(gh,"");n=mh(n)+s}else n=r;return n}function lc(...e){const t=/\/(?!\/)/,n=e.filter(Boolean),r=[];let s=0;for(const i of n)if(!(!i||i==="/")){for(const[a,l]of i.split(t).entries())if(!(!l||l===".")){if(l===".."){if(r.length===1&&Dn(r[0]))continue;r.pop(),s--;continue}if(a===1&&r[r.length-1]?.endsWith(":/")){r[r.length-1]+="/"+l;continue}r.push(l),s++}}let o=r.join("/");return s>=0?n[0]?.startsWith("/")&&!o.startsWith("/")?o="/"+o:n[0]?.startsWith("./")&&!o.startsWith("./")&&(o="./"+o):o="../".repeat(-1*s)+o,n[n.length-1]?.endsWith("/")&&!o.endsWith("/")&&(o+="/"),o}function cc(e,t){return ar(Fr(e))===ar(Fr(t))}const uc=Symbol.for("ufo:protocolRelative");function Lo(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,u,h=""]=n;return{protocol:u.toLowerCase(),pathname:h,href:u+h,auth:"",host:"",search:"",hash:""}}if(!Dn(e,{acceptRelative:!0}))return Di(e);const[,r="",s,o=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,i="",a=""]=o.match(/([^#/?]*)(.*)?/)||[];r==="file:"&&(a=a.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:l,search:f,hash:c}=Di(a);return{protocol:r.toLowerCase(),auth:s?s.slice(0,Math.max(0,s.length-1)):"",host:i,pathname:l,search:f,hash:c,[uc]:!r}}function Di(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function bh(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",s=e.auth?e.auth+"@":"",o=e.host||"";return(e.protocol||e[uc]?(e.protocol||"")+"//":"")+s+o+t+n+r}class vh extends Error{constructor(t,n){super(t,n),this.name="FetchError",n?.cause&&!this.cause&&(this.cause=n.cause)}}function wh(e){const t=e.error?.message||e.error?.toString()||"",n=e.request?.method||e.options?.method||"GET",r=e.request?.url||String(e.request)||"/",s=`[${n}] ${JSON.stringify(r)}`,o=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${s}: ${o}${t?` ${t}`:""}`,a=new vh(i,e.error?{cause:e.error}:void 0);for(const l of["request","options","response"])Object.defineProperty(a,l,{get(){return e[l]}});for(const[l,f]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(a,l,{get(){return e.response&&e.response[f]}});return a}const Eh=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function $i(e="GET"){return Eh.has(e.toUpperCase())}function Sh(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const Th=new Set(["image/svg","application/xml","application/xhtml","application/html"]),Rh=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Ch(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return Rh.test(t)?"json":t==="text/event-stream"?"stream":Th.has(t)||t.startsWith("text/")?"text":"blob"}function Ph(e,t,n,r){const s=Ah(t?.headers??e?.headers,n?.headers,r);let o;return(n?.query||n?.params||t?.params||t?.query)&&(o={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:o,params:o,headers:s}}function Ah(e,t,n){if(!t)return new n(e);const r=new n(t);if(e)for(const[s,o]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(s,o);return r}async function wr(e,t){if(t)if(Array.isArray(t))for(const n of t)await n(e);else await t(e)}const xh=new Set([408,409,425,429,500,502,503,504]),kh=new Set([101,204,205,304]);function fc(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function s(a){const l=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!l){let c;typeof a.options.retry=="number"?c=a.options.retry:c=$i(a.options.method)?0:1;const u=a.response&&a.response.status||500;if(c>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(u):xh.has(u))){const h=typeof a.options.retryDelay=="function"?a.options.retryDelay(a):a.options.retryDelay||0;return h>0&&await new Promise(d=>setTimeout(d,h)),o(a.request,{...a.options,retry:c-1})}}const f=wh(a);throw Error.captureStackTrace&&Error.captureStackTrace(f,o),f}const o=async function(l,f={}){const c={request:l,options:Ph(l,f,e.defaults,n),response:void 0,error:void 0};if(c.options.method&&(c.options.method=c.options.method.toUpperCase()),c.options.onRequest&&(await wr(c,c.options.onRequest),c.options.headers instanceof n||(c.options.headers=new n(c.options.headers||{}))),typeof c.request=="string"&&(c.options.baseURL&&(c.request=yh(c.request,c.options.baseURL)),c.options.query&&(c.request=oc(c.request,c.options.query),delete c.options.query),"query"in c.options&&delete c.options.query,"params"in c.options&&delete c.options.params),c.options.body&&$i(c.options.method))if(Sh(c.options.body)){const d=c.options.headers.get("content-type");typeof c.options.body!="string"&&(c.options.body=d==="application/x-www-form-urlencoded"?new URLSearchParams(c.options.body).toString():JSON.stringify(c.options.body)),d||c.options.headers.set("content-type","application/json"),c.options.headers.has("accept")||c.options.headers.set("accept","application/json")}else("pipeTo"in c.options.body&&typeof c.options.body.pipeTo=="function"||typeof c.options.body.pipe=="function")&&("duplex"in c.options||(c.options.duplex="half"));let u;if(!c.options.signal&&c.options.timeout){const d=new r;u=setTimeout(()=>{const m=new Error("[TimeoutError]: The operation was aborted due to timeout");m.name="TimeoutError",m.code=23,d.abort(m)},c.options.timeout),c.options.signal=d.signal}try{c.response=await t(c.request,c.options)}catch(d){return c.error=d,c.options.onRequestError&&await wr(c,c.options.onRequestError),await s(c)}finally{u&&clearTimeout(u)}if((c.response.body||c.response._bodyInit)&&!kh.has(c.response.status)&&c.options.method!=="HEAD"){const d=(c.options.parseResponse?"json":c.options.responseType)||Ch(c.response.headers.get("content-type")||"");switch(d){case"json":{const m=await c.response.text(),y=c.options.parseResponse||Gd;c.response._data=y(m);break}case"stream":{c.response._data=c.response.body||c.response._bodyInit;break}default:c.response._data=await c.response[d]()}}return c.options.onResponse&&await wr(c,c.options.onResponse),!c.options.ignoreResponseError&&c.response.status>=400&&c.response.status<600?(c.options.onResponseError&&await wr(c,c.options.onResponseError),await s(c)):c.response},i=async function(l,f){return(await o(l,f))._data};return i.raw=o,i.native=(...a)=>t(...a),i.create=(a={},l={})=>fc({...e,...l,defaults:{...e.defaults,...l.defaults,...a}}),i}const Br=(function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")})(),Oh=Br.fetch?(...e)=>Br.fetch(...e):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),Mh=Br.Headers,Ih=Br.AbortController,Lh=fc({fetch:Oh,Headers:Mh,AbortController:Ih}),Dh=Lh,$h=()=>window?.__NUXT__?.config||window?.useNuxtApp?.().payload?.config,Do=()=>$h().app,Hh=()=>Do().baseURL,Nh=()=>Do().buildAssetsDir,$o=(...e)=>lc(dc(),Nh(),...e),dc=(...e)=>{const t=Do(),n=t.cdnURL||t.baseURL;return e.length?lc(n,...e):n};globalThis.__buildAssetsURL=$o,globalThis.__publicAssetsURL=dc;globalThis.$fetch||(globalThis.$fetch=Dh.create({baseURL:Hh()}));"global"in globalThis||(globalThis.global=globalThis);function Qs(e,t={},n){for(const r in e){const s=e[r],o=n?`${n}:${r}`:r;typeof s=="object"&&s!==null?Qs(s,t,o):typeof s=="function"&&(t[o]=s)}return t}const hc=(()=>{if(console.createTask)return console.createTask;const e={run:t=>t()};return()=>e})();function pc(e,t,n,r){for(let s=n;se[s](...t)):e[s](...t);if(o&&typeof o.then=="function")return Promise.resolve(o).then(()=>pc(e,t,s+1,r))}catch(o){return Promise.reject(o)}}function jh(e,t,n){if(e.length>0)return pc(e,t,0,hc(n))}function Fh(e,t,n){if(e.length>0){const r=hc(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}}function Rs(e,t){for(const n of[...e])n(t)}var Bh=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!="function")return()=>{};const r=e;let s;for(;this._deprecatedHooks[e];)s=this._deprecatedHooks[e],e=s.to;if(s&&!n.allowDeprecated){let o=s.message;o||(o=`${r} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(o)||(console.warn(o),this._deprecatedMessages.add(o))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&(this.removeHook(e,t),t=void 0)}}hookOnce(e,t){let n,r=(...s)=>(typeof n=="function"&&n(),n=void 0,r=void 0,t(...s));return n=this.hook(e,r),n}removeHook(e,t){const n=this._hooks[e];if(n){const r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t=="string"?{to:t}:t;const n=this._hooks[e]||[];this._hooks[e]=void 0;for(const r of n)this.hook(e,r)}deprecateHooks(e){for(const t in e)this.deprecateHook(t,e[t])}addHooks(e){const t=Qs(e),n=Object.keys(t).map(r=>this.hook(r,t[r]));return()=>{for(const r of n)r();n.length=0}}removeHooks(e){const t=Qs(e);for(const n in t)this.removeHook(n,t[n])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(jh,e,t)}callHookParallel(e,...t){return this.callHookWith(Fh,e,t)}callHookWith(e,t,n){const r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&Rs(this._before,r);const s=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return s instanceof Promise?s.finally(()=>{this._after&&r&&Rs(this._after,r)}):(this._after&&r&&Rs(this._after,r),s)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){const t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){const t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function gc(){return new Bh}function Uh(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let s;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?s=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const o=()=>{if(s){const i=s.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=o();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>o(),set:(i,a)=>{a||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,a)=>{r(i),t=i;try{return s?s.run(i,a):a()}finally{n||(t=void 0)}},async callAsync(i,a){t=i;const l=()=>{t=i},f=()=>t===i?l:void 0;Zs.add(f);try{const c=s?s.run(i,a):a();return n||(t=void 0),await c}finally{Zs.delete(f)}}}}function Vh(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=Uh({...e,...r})),t[n]}}}const Ur=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},Hi="__unctx__",Kh=Ur[Hi]||(Ur[Hi]=Vh()),Wh=(e,t={})=>Kh.get(e,t),Ni="__unctx_async_handlers__",Zs=Ur[Ni]||(Ur[Ni]=new Set);function Qn(e){const t=[];for(const s of Zs){const o=s();o&&t.push(o)}const n=()=>{for(const s of t)s()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(s=>{throw n(),s})),[r,n]}const ji=!1,Fi=!1,qh=!1,Bi={id:"__nuxt-loader"},r_={componentName:"NuxtLink",prefetch:!0,prefetchOn:{visibility:!0}},zh={deep:!1},Gh={},Jh="#__nuxt",mc="nuxt-app",Ui=36e5,Xh="vite:preloadError";function yc(e=mc){return Wh(e,{asyncContext:!1})}const Yh="__nuxt_plugin";function Qh(e){let t=0;const n={_id:e.id||mc||"nuxt-app",_scope:yo(),provide:void 0,versions:{get nuxt(){return"4.4.8"},get vue(){return n.vueApp.version}},payload:Ze({...e.ssrContext?.payload||{},data:Ze({}),state:ot({}),once:new Set,_errors:Ze({})}),static:{data:{}},runWithContext(s){return n._scope.active&&!Zr()?n._scope.run(()=>Vi(n,s)):Vi(n,s)},isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let s=!1;return()=>{if(!s&&(s=!0,t--,t===0))return n.isHydrating=!1,n.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:Ze({}),_state:Ze({}),_payloadRevivers:{},...e};{const s=window.__NUXT__;if(s)for(const o in s)switch(o){case"data":case"state":case"_errors":Object.assign(n.payload[o],s[o]);break;default:n.payload[o]=s[o]}}n.hooks=gc(),n.hook=n.hooks.hook;{const s=n.hooks.callHook;n.hooks.callHook=(o,...i)=>Promise.resolve().then(()=>s(o,...i))}n.callHook=n.hooks.callHook,n.provide=(s,o)=>{const i="$"+s;Er(n,i,o),Er(n.vueApp.config.globalProperties,i,o)},Er(n.vueApp,"$nuxt",n),Er(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener(Xh,o=>{n.callHook("app:chunkError",{error:o.payload}),o.payload?.message?.includes("Unable to preload CSS")&&o.preventDefault()}),window.useNuxtApp||=ve;const s=n.hook("app:error",(...o)=>{console.error("[nuxt] error caught during app initialization",...o)});n.hook("app:mounted",s)}const r=n.payload.config;return n.provide("config",r),n}function Zh(e,t){t.hooks&&e.hooks.addHooks(t.hooks)}async function ep(e,t){if(typeof t=="function"){const{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n=="object")for(const r in n)e.provide(r,n[r])}}async function tp(e,t){const n=new Set,r=[],s=[];let o,i=0;async function a(l){const f=l.dependsOn?.filter(c=>t.some(u=>u._name===c)&&!n.has(c))??[];if(f.length>0)r.push([new Set(f),l]);else{const c=ep(e,l).then(async()=>{l._name&&(n.add(l._name),await Promise.all(r.map(async([u,h])=>{u.has(l._name)&&(u.delete(l._name),u.size===0&&(i++,await a(h)))})))}).catch(u=>{if(!l.parallel&&!e.payload.error)throw u;o||=u});l.parallel?s.push(c):await c}}for(const l of t)Zh(e,l);for(const l of t)await a(l);if(await Promise.all(s),i)for(let l=0;l{}),e,{[Yh]:!0,_name:t})}const np=Ye;function Vi(e,t,n){const r=()=>t();return yc(e._id).set(e),e.vueApp.runWithContext(r)}function rp(e){let t;return ns()&&(t=an()?.appContext.app.$nuxt),t||=yc(e).tryUse(),t||null}function ve(e){const t=rp(e);if(!t)throw new Error("[nuxt] instance unavailable");return t}function Ho(e){return ve().$config}function Er(e,t,n){Object.defineProperty(e,t,{get:()=>n})}function Cs(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function eo(e,t,n=".",r){if(!Cs(t))return eo(e,{},n,r);const s={...t};for(const o of Object.keys(e)){if(o==="__proto__"||o==="constructor")continue;const i=e[o];i!=null&&(r&&r(s,o,i,n)||(Array.isArray(i)&&Array.isArray(s[o])?s[o]=[...i,...s[o]]:Cs(i)&&Cs(s[o])?s[o]=eo(i,s[o],(n?`${n}.`:"")+o.toString(),r):s[o]=i))}return s}function sp(e){return(...t)=>t.reduce((n,r)=>eo(n,r,"",e),{})}const _c=sp();function op(e,t){try{return t in e}catch{return!1}}class Ki extends Error{static __h3_error__=!0;statusCode=500;fatal=!1;unhandled=!1;statusMessage;data;cause;constructor(t,n={}){super(t,n),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:to(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=bc(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}function ip(e){if(typeof e=="string")return new Ki(e);if(ap(e))return e;const t=new Ki(e.message??e.statusMessage??"",{cause:e.cause||e});if(op(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=to(e.statusCode,t.statusCode):e.status&&(t.statusCode=to(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;bc(t.statusMessage)!==n&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function ap(e){return e?.constructor?.__h3_error__===!0}const lp=/[^\u0009\u0020-\u007E]/g;function bc(e=""){return e.replace(lp,"")}function to(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const vc=Symbol("layout-meta"),on=Symbol("route");import.meta.url.replace(/\/app\/.*$/,"/");const Ve=()=>ve()?.$router,No=()=>ns()?Ce(on,ve()._route):ve()._route;const cp=()=>{try{if(ve()._processingMiddleware)return!0}catch{return!1}return!1},s_=(e,t)=>{e||="/";const n=typeof e=="string"?e:"path"in e?up(e):Ve().resolve(e).href;if(t?.open){const{protocol:f}=new URL(n,window.location.href);if(f&&Xs(f))throw new Error(`Cannot navigate to a URL with '${f}' protocol.`);const{target:c="_blank",windowFeatures:u={}}=t.open,h=[];for(const[d,m]of Object.entries(u))m!==void 0&&h.push(`${d.toLowerCase()}=${m}`);return open(n,c,h.join(", ")),Promise.resolve()}const r=Dn(n,{acceptRelative:!0}),s=t?.external||r;if(s){if(!t?.external)throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const{protocol:f}=new URL(n,window.location.href);if(f&&Xs(f))throw new Error(`Cannot navigate to a URL with '${f}' protocol.`)}const o=cp();if(!s&&o){if(t?.replace){if(typeof e=="string"){const{pathname:f,search:c,hash:u}=Lo(e);return{path:f,...c&&{query:sc(c)},...u&&{hash:u},replace:!0}}return{...e,replace:!0}}return e}const i=Ve(),a=ve();if(s)return a._scope.stop(),t?.replace?location.replace(n):location.href=n,o?a.isHydrating?new Promise(()=>{}):!1:Promise.resolve();const l=typeof e=="string"?fp(e):e;return t?.replace?i.replace(l):i.push(l)};function up(e){return oc(e.path||"",e.query||{})+(e.hash||"")}function fp(e){const t=Lo(e);return sh(oh(t.pathname))+t.search+t.hash}const wc="__nuxt_error",cs=()=>Xa(ve().payload,"error"),Zt=e=>{const t=Ft(e);try{const n=cs();ve().hooks.callHook("app:error",t),n.value||=t}catch{throw t}return t},dp=async(e={})=>{const t=ve(),n=cs();t.callHook("app:error:cleared",e),e.redirect&&await Ve().replace(e.redirect),n.value=void 0},Ec=e=>!!e&&typeof e=="object"&&wc in e,Ft=e=>{typeof e!="string"&&e.statusText&&(e.message??=e.statusText);const t=ip(e);return Object.defineProperty(t,wc,{value:!0,configurable:!1,writable:!1}),Object.defineProperty(t,"status",{get:()=>t.statusCode,configurable:!0}),Object.defineProperty(t,"statusText",{get:()=>t.statusMessage,configurable:!0}),t};let Sc;const xn=e=>Sc=e,Tc=Symbol();function no(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Zn||(Zn={}));function hp(){const e=yo(!0),t=e.run(()=>nt({}));let n=[],r=[];const s=To({install(o){xn(s),s._a=o,o.provide(Tc,s),o.config.globalProperties.$pinia=s,r.forEach(i=>n.push(i)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const Rc=()=>{};function Wi(e,t,n,r=Rc){e.add(t);const s=()=>{e.delete(t)&&r()};return!n&&Zr()&&Ia(s),s}function dn(e,...t){e.forEach(n=>{n(...t)})}const pp=e=>e(),qi=Symbol(),Ps=Symbol();function ro(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];no(s)&&no(r)&&e.hasOwnProperty(n)&&!pe(r)&&!gt(r)?e[n]=ro(s,r):e[n]=r}return e}const gp=Symbol();function mp(e){return!no(e)||!Object.prototype.hasOwnProperty.call(e,gp)}const{assign:Dt}=Object;function yp(e){return!!(pe(e)&&e.effect)}function _p(e,t,n,r){const{state:s,actions:o,getters:i}=t,a=n.state.value[e];let l;function f(){a||(n.state.value[e]=s?s():{});const c=Bu(n.state.value[e]);return Dt(c,o,Object.keys(i||{}).reduce((u,h)=>(u[h]=To(Re(()=>{xn(n);const d=n._s.get(e);return i[h].call(d,d)})),u),{}))}return l=Cc(e,f,t,n,r,!0),l}function Cc(e,t,n={},r,s,o){let i;const a=Dt({actions:{}},n),l={deep:!0};let f,c,u=new Set,h=new Set,d;const m=r.state.value[e];!o&&!m&&(r.state.value[e]={});let y;function C(D){let R;f=c=!1,typeof D=="function"?(D(r.state.value[e]),R={type:Zn.patchFunction,storeId:e,events:d}):(ro(r.state.value[e],D),R={type:Zn.patchObject,payload:D,storeId:e,events:d});const T=y=Symbol();xt().then(()=>{y===T&&(f=!0)}),c=!0,dn(u,R,r.state.value[e])}const E=o?function(){const{state:R}=n,T=R?R():{};this.$patch(H=>{Dt(H,T)})}:Rc;function v(){i.stop(),u.clear(),h.clear(),r._s.delete(e)}const p=(D,R="")=>{if(qi in D)return D[Ps]=R,D;const T=function(){xn(r);const H=Array.from(arguments),L=new Set,W=new Set;function Z(q){L.add(q)}function te(q){W.add(q)}dn(h,{args:H,name:T[Ps],store:w,after:Z,onError:te});let F;try{F=D.apply(this&&this.$id===e?this:w,H)}catch(q){throw dn(W,q),q}return F instanceof Promise?F.then(q=>(dn(L,q),q)).catch(q=>(dn(W,q),Promise.reject(q))):(dn(L,F),F)};return T[qi]=!0,T[Ps]=R,T},_={_p:r,$id:e,$onAction:Wi.bind(null,h),$patch:C,$reset:E,$subscribe(D,R={}){const T=Wi(u,D,R.detached,()=>H()),H=i.run(()=>Rt(()=>r.state.value[e],L=>{(R.flush==="sync"?c:f)&&D({storeId:e,type:Zn.direct,events:d},L)},Dt({},l,R)));return T},$dispose:v},w=ot(_);r._s.set(e,w);const A=(r._a&&r._a.runWithContext||pp)(()=>r._e.run(()=>(i=yo()).run(()=>t({action:p}))));for(const D in A){const R=A[D];if(pe(R)&&!yp(R)||gt(R))o||(m&&mp(R)&&(pe(R)?R.value=m[D]:ro(R,m[D])),r.state.value[e][D]=R);else if(typeof R=="function"){const T=p(R,D);A[D]=T,a.actions[D]=R}}return Dt(w,A),Dt(ne(w),A),Object.defineProperty(w,"$state",{get:()=>r.state.value[e],set:D=>{C(R=>{Dt(R,D)})}}),r._p.forEach(D=>{Dt(w,i.run(()=>D({store:w,app:r._a,pinia:r,options:a})))}),m&&o&&n.hydrate&&n.hydrate(w.$state,m),f=!0,c=!0,w}function bp(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function o(i,a){const l=ns();return i=i||(l?Ce(Tc,null):null),i&&xn(i),i=Sc,i._s.has(e)||(s?Cc(e,t,r,i):_p(e,r,i)),i._s.get(e)}return o.$id=e,o}const vp=-1,wp=-2,Ep=-3,Sp=-4,Tp=-5,Rp=-6,Cp=-7,Pc=2**32-1,so=Pc-1;function Pp(e){return!(!Number.isInteger(e)||e<0||e>so)}function Ap(e){return!(!Number.isInteger(e)||e<0||e>Pc)}function xp(e){return Uint8Array.fromBase64(e).buffer}function kp(e){return Uint8Array.from(Buffer.from(e,"base64")).buffer}function Op(e){const t=atob(e),n=t.length,r=new Uint8Array(n);for(let s=0;s=f)throw new Error("Invalid input");c[h]=o(l[u+1])}c.length=f}else{const f=new Array(l.length);r[i]=f;for(let c=0;c`${r}:${String(s)}`).join(",")}`}function Vr(e,t,n){typeof e==="function"&&(!n||n!=="titleTemplate"&&!(n[0]==="o"&&n[1]==="n"))&&(e=e());const s=t?t(n,e):e;if(Array.isArray(s))return s.map(o=>Vr(o,t));if(s?.constructor===Object){const o={};for(const i of Object.keys(s))o[i]=Vr(s[i],t,i);return o}return s}function qp(e,t){const n=e==="style"?new Map:new Set;function r(s){if(s==null||s===void 0)return;const o=String(s).trim();if(o)if(e==="style"){const[i,...a]=o.split(":").map(l=>l?l.trim():"");i&&a.length&&n.set(i,a.join(":"))}else o.split(" ").filter(Boolean).forEach(i=>n.add(i))}return typeof t=="string"?e==="style"?t.split(";").forEach(r):r(t):Array.isArray(t)?t.forEach(s=>r(s)):t&&typeof t=="object"&&Object.entries(t).forEach(([s,o])=>{o&&o!=="false"&&(e==="style"?n.set(String(s).trim(),String(o)):r(s))}),n}function kc(e,t){if(e.props=e.props||{},!t)return e;if(e.tag==="templateParams")return e.props=t,e;const n=oo.has(e.tag)||e.tag==="htmlAttrs"||e.tag==="bodyAttrs";return Object.entries(t).forEach(([r,s])=>{if(r==="__proto__"||r==="constructor"||r==="prototype")return;if(s===null){e.props[r]=null;return}if(r==="class"||r==="style"){e.props[r]=qp(r,s);return}if(Bp.has(r)){if((r==="textContent"||r==="innerHTML")&&typeof s=="object"){let f=t.type;if(t.type||(f="application/json"),!f?.endsWith("json")&&f!=="speculationrules")return;t.type=f,e.props.type=f,e[r]=JSON.stringify(s)}else e[r]=s;return}const o=r.startsWith("data-"),i=n&&!o?r.toLowerCase():r,a=String(s),l=e.tag==="meta"&&i==="content";a==="true"||a===""?e.props[i]=o||l?a:!0:!s&&o&&a==="false"?e.props[i]="false":s!==void 0&&(e.props[i]=s)}),e}function zp(e,t){const n=typeof t=="object"&&typeof t!="function"?t:{[e==="script"||e==="noscript"||e==="style"?"innerHTML":"textContent"]:t},r=kc({tag:e,props:{}},n);return r.key&&Hp.has(r.tag)&&(r.props["data-hid"]=r._h=r.key),r.tag==="script"&&typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),Array.isArray(r.props.content)?r.props.content.map(s=>({...r,props:{...r.props,content:s}})):r}function Gp(e,t){if(!e)return[];typeof e=="function"&&(e=e());const n=(s,o)=>{for(let i=0;i{if(o!==void 0)for(const i of Array.isArray(o)?o:[o])r.push(zp(s,i))}),r.flat()}const zi=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,Gi={base:-10,title:10},Jp={critical:-8,high:-1,low:2},Ji={meta:{"content-security-policy":-30,charset:-20,viewport:-15},link:{preconnect:20,stylesheet:60,preload:70,modulepreload:70,prefetch:90,"dns-prefetch":90,prerender:90},script:{async:30,defer:80,sync:50},style:{imported:40,sync:60}},Xp=/@import/,Bn=e=>e===""||e===!0;function Yp(e,t){if(typeof t.tagPriority=="number")return t.tagPriority;let n=100;const r=Jp[t.tagPriority]||0,s=e.resolvedOptions.disableCapoSorting?{link:{},script:{},style:{}}:Ji;if(t.tag in Gi)n=Gi[t.tag];else if(t.tag==="meta"){const o=t.props["http-equiv"]==="content-security-policy"?"content-security-policy":t.props.charset?"charset":t.props.name==="viewport"?"viewport":null;o&&(n=Ji.meta[o])}else if(t.tag==="link"&&t.props.rel)n=s.link[t.props.rel];else if(t.tag==="script"){const o=String(t.props.type);Bn(t.props.async)?n=s.script.async:t.props.src&&!Bn(t.props.defer)&&!Bn(t.props.async)&&o!=="module"&&!o.endsWith("json")||t.innerHTML&&!o.endsWith("json")?n=s.script.sync:(Bn(t.props.defer)&&t.props.src&&!Bn(t.props.async)||o==="module")&&(n=s.script.defer)}else t.tag==="style"&&(n=t.innerHTML&&Xp.test(t.innerHTML)?s.style.imported:s.style.sync);return(n||100)+r}function Xi(e,t){const n=typeof t=="function"?t(e):t,r=n.key||String(e.plugins.size+1);e.plugins.get(r)||(e.plugins.set(r,n),e.hooks.addHooks(n.hooks||{}))}function Qp(e={}){const t=gc();t.addHooks(e.hooks||{});const n=!e.document,r=new Map,s=new Map,o=new Set,i={_entryCount:1,plugins:s,dirty:!1,resolvedOptions:e,hooks:t,ssr:n,entries:r,headEntries(){return[...r.values()]},use:a=>Xi(i,a),push(a,l){const f={...l||{}};delete f.head;const c=f._index??i._entryCount++,u={_i:c,input:a,options:f},h={_poll(d=!1){i.dirty=!0,!d&&o.add(c),t.callHook("entries:updated",i)},dispose(){r.delete(c)&&i.invalidate()},patch(d){(!f.mode||f.mode==="server"&&n||f.mode==="client"&&!n)&&(u.input=d,r.set(c,u),h._poll())}};return h.patch(a),h},async resolveTags(){const a={tagMap:new Map,tags:[],entries:[...i.entries.values()]};for(await t.callHook("entries:resolve",a);o.size;){const h=o.values().next().value;o.delete(h);const d=r.get(h);if(d){const m={tags:Gp(d.input,e.propResolvers||[]).map(y=>Object.assign(y,d.options)),entry:d};await t.callHook("entries:normalize",m),d._tags=m.tags.map((y,C)=>(y._w=Yp(i,y),y._p=(d._i<<10)+C,y._d=io(y),y._d||(y._h=xc(y)),y))}}let l=!1;a.entries.flatMap(h=>(h._tags||[]).map(d=>({...d,props:{...d.props}}))).sort(zi).reduce((h,d)=>{const m=d._d||d._h;if(!h.has(m))return h.set(m,d);const y=h.get(m);if((d?.tagDuplicateStrategy||(Up.has(d.tag)?"merge":null)||(d.key&&d.key===y.key?"merge":null))==="merge"){const E={...y.props};Object.entries(d.props).forEach(([v,p])=>E[v]=v==="style"?new Map([...y.props.style||new Map,...p]):v==="class"?new Set([...y.props.class||new Set,...p]):p),h.set(m,{...d,props:E})}else d._p>>10===y._p>>10&&d.tag==="meta"&&Ac(m)?(h.set(m,Object.assign([...Array.isArray(y)?y:[y],d],d)),l=!0):(d._w===y._w?d._p>y._p:d?._wXi(i,a)),i.hooks.callHook("init",i),e.init?.forEach(a=>a&&i.push(a)),i}const Zp=(e,t)=>pe(t)?ft(t):t,Oc="usehead";function eg(e){return{install(n){n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(Oc,e)}}.install}function tg(){if(ns()){const e=Ce(Oc);if(e)return e}throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.")}function o_(e,t={}){const n=t.head||tg();return n.ssr?n.push(e||{},t):ng(n,e,t)}function ng(e,t,n={}){const r=nt(!1);let s;return Qu(()=>{const i=r.value?{}:Vr(t,Zp);s?s.patch(i):s=e.push(i,n)}),an()&&(fr(()=>{s.dispose()}),ul(()=>{r.value=!0}),cl(()=>{r.value=!1})),s}const rg=(e,t)=>[],Mc=e=>_c({},...rg("",typeof e=="string"?e.toLowerCase():e).map(t=>t.data).reverse()),sg=Mc;let Cr;function og(){let e;return e=$fetch($o(`builds/meta/${Ho().app.buildId}.json`),{responseType:"json"}).then(t=>{if(!t||typeof t!="object"||!Array.isArray(t.prerendered))throw new Error("[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.");return t}),Cr=e,e.catch(t=>{Cr===e&&(Cr=void 0),console.error("[nuxt] Error fetching app manifest.",t)}),e}function Ic(){return Cr||og()}function Lc(e){const t=typeof e=="string"?e:e.path;try{return sg(t.toLowerCase())}catch(n){return console.error("[nuxt] Error matching route rules.",n),{}}}async function Yi(e,t={}){return null}async function ig(e){return null}let Xt=null;async function ag(){if(Xt)return Xt;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await lg(e.textContent||""),n=e.dataset.src?await ig(e.dataset.src):void 0;return Xt={...t,...n,...window.__NUXT__},Xt.config?.public&&(Xt.config.public=ot(Xt.config.public)),Xt}async function lg(e){return await Dp(e,ve()._payloadRevivers)}function Dc(e,t){ve()._payloadRevivers[e]=t}const cg=np(()=>{Dc("skipHydrate",e=>{})});function Qi(e){try{return JSON.parse(e)}catch{return e}}const ug=[["NuxtError",e=>Ft(e)],["EmptyShallowRef",e=>Ut(e==="_"?void 0:e==="0n"?BigInt(0):Qi(e))],["EmptyRef",e=>nt(e==="_"?void 0:e==="0n"?BigInt(0):Qi(e))],["ShallowRef",e=>Ut(e)],["ShallowReactive",e=>Ze(e)],["Ref",e=>nt(e)],["Reactive",e=>ot(e)]],fg=Ye({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const[r,s]of ug)Dc(r,s);Object.assign(e.payload,([t,n]=Qn(()=>e.runWithContext(ag)),t=await t,n(),t)),delete window.__NUXT__}});async function jo(e,t={}){const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!!r.shouldRender)return e._domUpdatePromise||(e._domUpdatePromise=new Promise(async s=>{const o=new Map,i=new Promise(d=>{e.resolveTags().then(m=>{d(m.map(y=>{const C=o.get(y._d)||0,E={tag:y,id:(C?`${y._d}:${C}`:y._d)||y._h,shouldRender:!0};return y._d&&Ac(y._d)&&o.set(y._d,C+1),E}))})});let a=e._dom;if(!a){a={title:n.title,elMap:new Map().set("htmlAttrs",n.documentElement).set("bodyAttrs",n.body)};for(const d of["body","head"]){const m=n[d]?.children;for(const y of m){const C=y.tagName.toLowerCase();if(!oo.has(C))continue;const E=kc({tag:C,props:{}},{innerHTML:y.innerHTML,...y.getAttributeNames().reduce((v,p)=>(v[p]=y.getAttribute(p),v),{})||{}});if(E.key=y.getAttribute("data-hid")||void 0,E._d=io(E)||xc(E),a.elMap.has(E._d)){let v=1,p=E._d;for(;a.elMap.has(p);)p=`${E._d}:${v++}`;a.elMap.set(p,y)}else a.elMap.set(E._d,y)}}}a.pendingSideEffects={...a.sideEffects},a.sideEffects={};function l(d,m,y){const C=`${d}:${m}`;a.sideEffects[C]=y,delete a.pendingSideEffects[C]}function f({id:d,$el:m,tag:y}){const C=y.tag.endsWith("Attrs");a.elMap.set(d,m),C||(y.textContent&&y.textContent!==m.textContent&&(m.textContent=y.textContent),y.innerHTML&&y.innerHTML!==m.innerHTML&&(m.innerHTML=y.innerHTML),l(d,"el",()=>{m?.remove(),a.elMap.delete(d)}));for(const E in y.props){if(!Object.prototype.hasOwnProperty.call(y.props,E))continue;const v=y.props[E];if(E.startsWith("on")&&typeof v=="function"){const _=m?.dataset;if(_&&_[`${E}fired`]){const w=E.slice(0,-5);v.call(m,new Event(w.substring(2)))}m.getAttribute(`data-${E}`)!==""&&((y.tag==="bodyAttrs"?n.defaultView:m).addEventListener(E.substring(2),v.bind(m)),m.setAttribute(`data-${E}`,""));continue}const p=`attr:${E}`;if(E==="class"){if(!v)continue;for(const _ of v)C&&l(d,`${p}:${_}`,()=>m.classList.remove(_)),!m.classList.contains(_)&&m.classList.add(_)}else if(E==="style"){if(!v)continue;for(const[_,w]of v)l(d,`${p}:${_}`,()=>{m.style.removeProperty(_)}),m.style.setProperty(_,w)}else v!==!1&&v!==null&&(m.getAttribute(E)!==v&&m.setAttribute(E,v===!0?"":String(v)),C&&l(d,p,()=>m.removeAttribute(E)))}}const c=[],u={bodyClose:void 0,bodyOpen:void 0,head:void 0},h=await i;for(const d of h){const{tag:m,shouldRender:y,id:C}=d;if(y){if(m.tag==="title"){n.title=m.textContent,l("title","",()=>n.title=a.title);continue}d.$el=d.$el||a.elMap.get(C),d.$el?f(d):oo.has(m.tag)&&c.push(d)}}for(const d of c){const m=d.tag.tagPosition||"head";d.$el=n.createElement(d.tag.tag),f(d),u[m]=u[m]||n.createDocumentFragment(),u[m].appendChild(d.$el)}for(const d of h)await e.hooks.callHook("dom:renderTag",d,n,l);u.head&&n.head.appendChild(u.head),u.bodyOpen&&n.body.insertBefore(u.bodyOpen,n.body.firstChild),u.bodyClose&&n.body.appendChild(u.bodyClose);for(const d in a.pendingSideEffects)a.pendingSideEffects[d]();e._dom=a,await e.hooks.callHook("dom:rendered",{renders:h}),s()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1})),e._domUpdatePromise}function dg(e={}){const t=e.domOptions?.render||jo;e.document=e.document||(typeof window<"u"?document:void 0);const n=e.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML||!1;return Qp({...e,plugins:[...e.plugins||[],{key:"client",hooks:{"entries:updated":t}}],init:[n?JSON.parse(n):!1,...e.init||[]]})}function hg(e,t){let n=0;return()=>{const r=++n;t(()=>{n===r&&e()})}}function pg(e={}){const t=dg({domOptions:{render:hg(()=>jo(t),n=>setTimeout(n,0))},...e});return t.install=eg(t),t}const gg={disableDefaults:!0},mg=Ye({name:"nuxt:head",enforce:"pre",setup(e){const t=pg(gg);e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await jo(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r);const s=t.push.bind(t);t.push=((o,i)=>{const a=s(o,i),l=a.dispose.bind(a);return a.dispose=()=>{const f=e["~transitionPromise"];f?f.then(l):l()},a})}}});const pn=typeof document<"u";function $c(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function yg(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&$c(e.default)}const oe=Object.assign;function As(e,t){const n={};for(const r in t){const s=t[r];n[r]=st(s)?s.map(e):e(s)}return n}const er=()=>{},st=Array.isArray;function Zi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Hc=Symbol("");function kn(e,t){return oe(new Error,{type:e,[Hc]:!0},t)}function bt(e,t){return e instanceof Error&&Hc in e&&(t==null||!!(e.type&t))}const _g=Symbol(""),ea=Symbol(""),Fo=Symbol(""),Bo=Symbol(""),ao=Symbol("");function Nc(e){return Ce(Bo)}const bg={trailing:!0};function vg(e,t=25,n={}){if(n={...bg,...n},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let r,s,o=[],i,a;const l=(u,h)=>(i=wg(e,u,h),i.finally(()=>{if(i=null,n.trailing&&a&&!s){const d=l(u,a);return a=null,d}}),i),f=function(...u){return n.trailing&&(a=u),i||new Promise(h=>{const d=!s&&n.leading;clearTimeout(s),s=setTimeout(()=>{s=null;const m=n.leading?r:l(this,u);a=null;for(const y of o)y(m);o=[]},t),d?(r=l(this,u),h(r)):o.push(h)})},c=u=>{u&&(clearTimeout(u),s=null)};return f.isPending=()=>!!s,f.cancel=()=>{c(s),o=[],a=null},f.flush=()=>{if(c(s),!a||i)return;const u=a;return a=null,l(this,u)},f}async function wg(e,t,n){return await e.apply(t,n)}const jc=/#/g,Eg=/&/g,Sg=/\//g,Tg=/=/g,Rg=/\?/g,Fc=/\+/g,Cg=/%5B/g,Pg=/%5D/g,Bc=/%5E/g,Ag=/%60/g,Uc=/%7B/g,xg=/%7C/g,Vc=/%7D/g,kg=/%20/g;function Uo(e){return e==null?"":encodeURI(""+e).replace(xg,"|").replace(Cg,"[").replace(Pg,"]")}function Og(e){return Uo(e).replace(Uc,"{").replace(Vc,"}").replace(Bc,"^")}function lo(e){return Uo(e).replace(Fc,"%2B").replace(kg,"+").replace(jc,"%23").replace(Eg,"%26").replace(Ag,"`").replace(Uc,"{").replace(Vc,"}").replace(Bc,"^")}function Mg(e){return lo(e).replace(Tg,"%3D")}function Ig(e){return Uo(e).replace(jc,"%23").replace(Rg,"%3F")}function Lg(e){return Ig(e).replace(Sg,"%2F")}function Kr(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Dg=/\/$/,$g=e=>e.replace(Dg,"");function xs(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return l=a>=0&&l>a?-1:l,l>=0&&(r=t.slice(0,l),o=t.slice(l,a>0?a:t.length),s=e(o.slice(1))),a>=0&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=Fg(r??t,n),{fullPath:r+o+i,path:r,query:s,hash:Kr(i)}}function Hg(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ta(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ng(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&On(t.matched[r],n.matched[s])&&Kc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function On(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Kc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!jg(e[n],t[n]))return!1;return!0}function jg(e,t){return st(e)?na(e,t):st(t)?na(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function na(e,t){return st(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Fg(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const qe={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};function Bg(e){if(!e)if(pn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),$g(e)}const Ug=/^[^#]+#/;function Vg(e,t){return e.replace(Ug,"#")+t}function Kg(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const us=()=>({left:window.scrollX,top:window.scrollY});function Wg(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=Kg(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function ra(e,t){return(history.state?history.state.position-t:-1)+e}const co=new Map;function qg(e,t){co.set(e,t)}function zg(e){const t=co.get(e);return co.delete(e),t}function Gg(e){return typeof e=="string"||e&&typeof e=="object"}function Wc(e){return typeof e=="string"||typeof e=="symbol"}function Jg(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&lo(s)):[r&&lo(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Xg(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=st(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}function Un(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ht(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const f=h=>{h===!1?l(kn(4,{from:n,to:t})):h instanceof Error?l(h):Gg(h)?l(kn(2,{from:t,to:h})):(i&&r.enterCallbacks[s]===i&&typeof h=="function"&&i.push(h),a())},c=o(()=>e.call(r&&r.instances[s],t,n,f));let u=Promise.resolve(c);e.length<3&&(u=u.then(f)),u.catch(h=>l(h))})}function ks(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if($c(l)){const f=(l.__vccOpts||l)[t];f&&o.push(Ht(f,n,r,i,a,s))}else{let f=l();o.push(()=>f.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${a}" at "${i.path}"`);const u=yg(c)?c.default:c;i.mods[a]=c,i.components[a]=u;const h=(u.__vccOpts||u)[t];return h&&Ht(h,n,r,i,a,s)()}))}}return o}function Yg(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iOn(f,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(f=>On(f,l))||s.push(l))}return[n,r,s]}let Qg=()=>location.protocol+"//"+location.host;function qc(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,a=s.slice(i);return a[0]!=="/"&&(a="/"+a),ta(a,"")}return ta(n,e)+r+s}function Zg(e,t,n,r){let s=[],o=[],i=null;const a=({state:h})=>{const d=qc(e,location),m=n.value,y=t.value;let C=0;if(h){if(n.value=d,t.value=h,i&&i===m){i=null;return}C=y?h.position-y.position:0}else r(d);s.forEach(E=>{E(n.value,m,{delta:C,type:"pop",direction:C?C>0?"forward":"back":""})})};function l(){i=n.value}function f(h){s.push(h);const d=()=>{const m=s.indexOf(h);m>-1&&s.splice(m,1)};return o.push(d),d}function c(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(oe({},h.state,{scroll:us()}),"")}}function u(){for(const h of o)h();o=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:l,listen:f,destroy:u}}function oa(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?us():null}}function em(e){const{history:t,location:n}=window,r={value:qc(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,f,c){const u=e.indexOf("#"),h=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+l:Qg()+e+l;try{t[c?"replaceState":"pushState"](f,"",h),s.value=f}catch(d){console.error(d),n[c?"replace":"assign"](h)}}function i(l,f){o(l,oe({},t.state,oa(s.value.back,l,s.value.forward,!0),f,{position:s.value.position}),!0),r.value=l}function a(l,f){const c=oe({},s.value,t.state,{forward:l,scroll:us()});o(c.current,c,!0),o(l,oe({},oa(r.value,l,null),{position:c.position+1},f),!1),r.value=l}return{location:r,state:s,push:a,replace:i}}function tm(e){e=Bg(e);const t=em(e),n=Zg(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=oe({location:"",base:e,go:r,createHref:Vg.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}const nm={type:0,value:""},rm=/[a-zA-Z0-9_]/;function sm(e){if(!e)return[[]];if(e==="/")return[[nm]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(d){throw new Error(`ERR (${n})/"${f}": ${d}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let a=0,l,f="",c="";function u(){f&&(n===0?o.push({type:0,value:f}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:f,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),f="")}function h(){f+=l}for(;at.length?t.length===1&&t[0]===80?1:-1:0}function zc(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const cm={strict:!1,end:!0,sensitive:!1};function um(e,t,n){const r=am(sm(e.path),n),s=oe(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function fm(e,t){const n=[],r=new Map;t=Zi(cm,t);function s(u){return r.get(u)}function o(u,h,d){const m=!d,y=ca(u);y.aliasOf=d&&d.record;const C=Zi(t,u),E=[y];if("alias"in u){const _=typeof u.alias=="string"?[u.alias]:u.alias;for(const w of _)E.push(ca(oe({},y,{components:d?d.record.components:y.components,path:w,aliasOf:d?d.record:y})))}let v,p;for(const _ of E){const{path:w}=_;if(h&&w[0]!=="/"){const k=h.record.path,A=k[k.length-1]==="/"?"":"/";_.path=h.record.path+(w&&A+w)}if(v=um(_,h,C),d?d.alias.push(v):(p=p||v,p!==v&&p.alias.push(v),m&&u.name&&!ua(v)&&i(u.name)),Gc(v)&&l(v),y.children){const k=y.children;for(let A=0;A{i(p)}:er}function i(u){if(Wc(u)){const h=r.get(u);h&&(r.delete(u),n.splice(n.indexOf(h),1),h.children.forEach(i),h.alias.forEach(i))}else{const h=n.indexOf(u);h>-1&&(n.splice(h,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function a(){return n}function l(u){const h=pm(u,n);n.splice(h,0,u),u.record.name&&!ua(u)&&r.set(u.record.name,u)}function f(u,h){let d,m={},y,C;if("name"in u&&u.name){if(d=r.get(u.name),!d)throw kn(1,{location:u});C=d.record.name,m=oe(la(h.params,d.keys.filter(p=>!p.optional).concat(d.parent?d.parent.keys.filter(p=>p.optional):[]).map(p=>p.name)),u.params&&la(u.params,d.keys.map(p=>p.name))),y=d.stringify(m)}else if(u.path!=null)y=u.path,d=n.find(p=>p.re.test(y)),d&&(m=d.parse(y),C=d.record.name,d.keys.forEach(p=>{p.optional&&!m[p.name]&&delete m[p.name]}));else{if(d=h.name?r.get(h.name):n.find(p=>p.re.test(h.path)),!d)throw kn(1,{location:u,currentLocation:h});C=d.record.name,m=oe({},h.params,u.params),y=d.stringify(m)}const E=[];let v=d;for(;v;)E.unshift(v.record),v=v.parent;return{name:C,path:y,params:m,matched:E,meta:hm(E)}}e.forEach(u=>o(u));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:f,removeRoute:i,clearRoutes:c,getRoutes:a,getRecordMatcher:s}}function la(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function ca(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:dm(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function dm(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function ua(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function hm(e){return e.reduce((t,n)=>oe(t,n.meta),{})}function pm(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;zc(e,t[o])<0?r=o:n=o+1}const s=gm(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function gm(e){let t=e;for(;t=t.parent;)if(Gc(t)&&zc(e,t)===0)return t}function Gc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function fa(e){const t=Ce(Fo),n=Ce(Bo),r=Re(()=>{const l=ae(e.to);return t.resolve(l)}),s=Re(()=>{const{matched:l}=r.value,{length:f}=l,c=l[f-1],u=n.matched;if(!c||!u.length)return-1;const h=u.findIndex(On.bind(null,c));if(h>-1)return h;const d=da(l[f-2]);return f>1&&da(c)===d&&u[u.length-1].path!==d?u.findIndex(On.bind(null,l[f-2])):h}),o=Re(()=>s.value>-1&&bm(n.params,r.value.params)),i=Re(()=>s.value>-1&&s.value===n.matched.length-1&&Kc(n.params,r.value.params));function a(l={}){if(_m(l)){const f=t[ae(e.replace)?"replace":"push"](ae(e.to)).catch(er);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:r,href:Re(()=>r.value.href),isActive:o,isExactActive:i,navigate:a}}function mm(e){return e.length===1?e[0]:e}const ym=Wt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:fa,setup(e,{slots:t}){const n=ot(fa(e)),{options:r}=Ce(Fo),s=Re(()=>({[ha(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[ha(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&mm(t.default(n));return e.custom?o:Oe("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}});function _m(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function bm(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!st(s)||s.length!==r.length||r.some((o,i)=>o.valueOf()!==s[i].valueOf()))return!1}return!0}function da(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ha=(e,t,n)=>e??t??n,vm=Wt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ce(ao),s=Re(()=>e.route||r.value),o=Ce(ea,0),i=Re(()=>{let f=ae(o);const{matched:c}=s.value;let u;for(;(u=c[f])&&!u.components;)f++;return f}),a=Re(()=>s.value.matched[i.value]);jt(ea,Re(()=>i.value+1)),jt(_g,a),jt(ao,s);const l=nt();return Rt(()=>[l.value,a.value,e.name],([f,c,u],[h,d,m])=>{c&&(c.instances[u]=f,d&&d!==c&&f&&f===h&&(c.leaveGuards.size||(c.leaveGuards=d.leaveGuards),c.updateGuards.size||(c.updateGuards=d.updateGuards))),f&&c&&(!d||!On(c,d)||!h)&&(c.enterCallbacks[u]||[]).forEach(y=>y(f))},{flush:"post"}),()=>{const f=s.value,c=e.name,u=a.value,h=u&&u.components[c];if(!h)return pa(n.default,{Component:h,route:f});const d=u.props[c],m=d?d===!0?f.params:typeof d=="function"?d(f):d:null,C=Oe(h,oe({},m,t,{onVnodeUnmounted:E=>{E.component.isUnmounted&&(u.instances[c]=null)},ref:l}));return pa(n.default,{Component:C,route:f})||C}}});function pa(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Jc=vm;function wm(e){const t=fm(e.routes,e),n=e.parseQuery||Jg,r=e.stringifyQuery||sa,s=e.history,o=Un(),i=Un(),a=Un(),l=Ut(qe);let f=qe;pn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=As.bind(null,x=>""+x),u=As.bind(null,Lg),h=As.bind(null,Kr);function d(x,K){let B,J;return Wc(x)?(B=t.getRecordMatcher(x),J=K):J=x,t.addRoute(J,B)}function m(x){const K=t.getRecordMatcher(x);K&&t.removeRoute(K)}function y(){return t.getRoutes().map(x=>x.record)}function C(x){return!!t.getRecordMatcher(x)}function E(x,K){if(K=oe({},K||l.value),typeof x=="string"){const b=xs(n,x,K.path),S=t.resolve({path:b.path},K),M=s.createHref(b.fullPath);return oe(b,S,{params:h(S.params),redirectedFrom:void 0,href:M})}let B;if(x.path!=null)B=oe({},x,{path:xs(n,x.path,K.path).path});else{const b=oe({},x.params);for(const S in b)b[S]==null&&delete b[S];B=oe({},x,{params:u(b)}),K.params=u(K.params)}const J=t.resolve(B,K),ee=x.hash||"";J.params=c(h(J.params));const ge=Hg(r,oe({},x,{hash:Og(ee),path:J.path})),g=s.createHref(ge);return oe({fullPath:ge,hash:ee,query:r===sa?Xg(x.query):x.query||{}},J,{redirectedFrom:void 0,href:g})}function v(x){return typeof x=="string"?xs(n,x,l.value.path):oe({},x)}function p(x,K){if(f!==x)return kn(8,{from:K,to:x})}function _(x){return A(x)}function w(x){return _(oe(v(x),{replace:!0}))}function k(x,K){const B=x.matched[x.matched.length-1];if(B&&B.redirect){const{redirect:J}=B;let ee=typeof J=="function"?J(x,K):J;return typeof ee=="string"&&(ee=ee.includes("?")||ee.includes("#")?ee=v(ee):{path:ee},ee.params={}),oe({query:x.query,hash:x.hash,params:ee.path!=null?{}:x.params},ee)}}function A(x,K){const B=f=E(x),J=l.value,ee=x.state,ge=x.force,g=x.replace===!0,b=k(B,J);if(b)return A(oe(v(b),{state:typeof b=="object"?oe({},ee,b.state):ee,force:ge,replace:g}),K||B);const S=B;S.redirectedFrom=K;let M;return!ge&&Ng(r,J,B)&&(M=kn(16,{to:S,from:J}),it(J,J,!0,!1)),(M?Promise.resolve(M):T(S,J)).catch(P=>bt(P)?bt(P,2)?P:Mt(P):V(P,S,J)).then(P=>{if(P){if(bt(P,2))return A(oe({replace:g},v(P.to),{state:typeof P.to=="object"?oe({},ee,P.to.state):ee,force:ge}),K||S)}else P=L(S,J,!0,g,ee);return H(S,J,P),P})}function D(x,K){const B=p(x,K);return B?Promise.reject(B):Promise.resolve()}function R(x){const K=cn.values().next().value;return K&&typeof K.runWithContext=="function"?K.runWithContext(x):x()}function T(x,K){let B;const[J,ee,ge]=Yg(x,K);B=ks(J.reverse(),"beforeRouteLeave",x,K);for(const b of J)b.leaveGuards.forEach(S=>{B.push(Ht(S,x,K))});const g=D.bind(null,x,K);return B.push(g),Ke(B).then(()=>{B=[];for(const b of o.list())B.push(Ht(b,x,K));return B.push(g),Ke(B)}).then(()=>{B=ks(ee,"beforeRouteUpdate",x,K);for(const b of ee)b.updateGuards.forEach(S=>{B.push(Ht(S,x,K))});return B.push(g),Ke(B)}).then(()=>{B=[];for(const b of ge)if(b.beforeEnter)if(st(b.beforeEnter))for(const S of b.beforeEnter)B.push(Ht(S,x,K));else B.push(Ht(b.beforeEnter,x,K));return B.push(g),Ke(B)}).then(()=>(x.matched.forEach(b=>b.enterCallbacks={}),B=ks(ge,"beforeRouteEnter",x,K,R),B.push(g),Ke(B))).then(()=>{B=[];for(const b of i.list())B.push(Ht(b,x,K));return B.push(g),Ke(B)}).catch(b=>bt(b,8)?b:Promise.reject(b))}function H(x,K,B){a.list().forEach(J=>R(()=>J(x,K,B)))}function L(x,K,B,J,ee){const ge=p(x,K);if(ge)return ge;const g=K===qe,b=pn?history.state:{};B&&(J||g?s.replace(x.fullPath,oe({scroll:g&&b&&b.scroll},ee)):s.push(x.fullPath,ee)),l.value=x,it(x,K,B,g),Mt()}let W;function Z(){W||(W=s.listen((x,K,B)=>{if(!qt.listening)return;const J=E(x),ee=k(J,qt.currentRoute.value);if(ee){A(oe(ee,{replace:!0,force:!0}),J).catch(er);return}f=J;const ge=l.value;pn&&qg(ra(ge.fullPath,B.delta),us()),T(J,ge).catch(g=>bt(g,12)?g:bt(g,2)?(A(oe(v(g.to),{force:!0}),J).then(b=>{bt(b,20)&&!B.delta&&B.type==="pop"&&s.go(-1,!1)}).catch(er),Promise.reject()):(B.delta&&s.go(-B.delta,!1),V(g,J,ge))).then(g=>{g=g||L(J,ge,!1),g&&(B.delta&&!bt(g,8)?s.go(-B.delta,!1):B.type==="pop"&&bt(g,20)&&s.go(-1,!1)),H(J,ge,g)}).catch(er)}))}let te=Un(),F=Un(),q;function V(x,K,B){Mt(x);const J=F.list();return J.length?J.forEach(ee=>ee(x,K,B)):console.error(x),Promise.reject(x)}function le(){return q&&l.value!==qe?Promise.resolve():new Promise((x,K)=>{te.add([x,K])})}function Mt(x){return q||(q=!x,Z(),te.list().forEach(([K,B])=>x?B(x):K()),te.reset()),x}function it(x,K,B,J){const{scrollBehavior:ee}=e;if(!pn||!ee)return Promise.resolve();const ge=!B&&zg(ra(x.fullPath,0))||(J||!B)&&history.state&&history.state.scroll||null;return xt().then(()=>ee(x,K,ge)).then(g=>g&&Wg(g)).catch(g=>V(g,x,K))}const De=x=>s.go(x);let ln;const cn=new Set,qt={currentRoute:l,listening:!0,addRoute:d,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:C,getRoutes:y,resolve:E,options:e,push:_,replace:w,go:De,back:()=>De(-1),forward:()=>De(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:F.add,isReady:le,install(x){x.component("RouterLink",ym),x.component("RouterView",Jc),x.config.globalProperties.$router=qt,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>ae(l)}),pn&&!ln&&l.value===qe&&(ln=!0,_(s.location).catch(J=>{}));const K={};for(const J in qe)Object.defineProperty(K,J,{get:()=>l.value[J],enumerable:!0});x.provide(Fo,qt),x.provide(Bo,Ze(K)),x.provide(ao,l);const B=x.unmount;cn.add(x),x.unmount=function(){cn.delete(x),cn.size<1&&(f=qe,W&&W(),W=null,l.value=qe,ln=!1,q=!1),B()}}};function Ke(x){return x.reduce((K,B)=>K.then(()=>R(B)),Promise.resolve())}return qt}const Em=/(:\w+)\([^)]+\)/g,Sm=/(:\w+)[?+*]/g,Tm=/:\w+/g,Rm=(e,t)=>t.path.replace(Em,"$1").replace(Sm,"$1").replace(Tm,n=>e.params[n.slice(1)]?.toString()||""),uo=(e,t)=>{const n=e.route.matched.find(s=>s.components?.default===e.Component.type),r=t??n?.meta.key??(n&&Rm(e.route,n));return typeof r=="function"?r(e.route):r},Cm=(e,t)=>({default:()=>e?Oe(ff,e===!0?{}:e,t):t});function Xc(e){return Array.isArray(e)?e:[e]}const Pm="modulepreload",Am=function(e,t){return new URL(e,t).href},ga={},me=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let f=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};const i=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");s=f(n.map(c=>{if(c=Am(c,r),c in ga)return;ga[c]=!0;const u=c.endsWith(".css"),h=u?'[rel="stylesheet"]':"";if(r)for(let m=i.length-1;m>=0;m--){const y=i[m];if(y.href===c&&(!u||y.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${h}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":Pm,u||(d.as="script"),d.crossOrigin="",d.href=c,l&&d.setAttribute("nonce",l),document.head.appendChild(d),u)return new Promise((m,y)=>{d.addEventListener("load",m),d.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&o(a.reason);return t().catch(o)})},xm={title:"后台账号"},km={title:"应用服务配置"},Om={title:"应用管理"},Mm={title:"通话翻译配置"},Im={title:"公码管理"},Lm={title:"数据概览"},Dm={title:"生产管理"},$m={title:"环境节点"},Hm={title:"厂家管理"},Nm={title:"全局环境配置"},jm={title:"MCP配置"},Fm={title:"会议模板"},Bm={title:"产品管理"},Um={title:"第三方服务配置"},Vm={title:"统计日志"},Km={title:"系统配置"},Wm={title:"用户查询"},qm={layout:"auth"},Os=[{name:"accounts",path:"/accounts",meta:xm||{},component:()=>me(()=>import("./C2sLAWj2.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)},{name:"appconfig",path:"/appconfig",meta:km||{},component:()=>me(()=>import("./B_JvM6BO.js"),__vite__mapDeps([6,1,2,3,4,7]),import.meta.url)},{name:"apps",path:"/apps",meta:Om||{},component:()=>me(()=>import("./vesedpp3.js"),__vite__mapDeps([8,1,2,3,4,9]),import.meta.url)},{name:"calltranslate",path:"/calltranslate",meta:Mm||{},component:()=>me(()=>import("./DNKl-FHZ.js"),__vite__mapDeps([10,1,2,3,4,11]),import.meta.url)},{name:"code",path:"/code",meta:Im||{},component:()=>me(()=>import("./UoJ1COMF.js"),__vite__mapDeps([12,1,2,3,4]),import.meta.url)},{name:"dashboard",path:"/dashboard",meta:Lm||{},component:()=>me(()=>import("./Cx-e2Cok.js"),__vite__mapDeps([13,1,2,3,14]),import.meta.url)},{name:"device",path:"/device",meta:Dm||{},component:()=>me(()=>import("./Cy8zKM7T.js"),__vite__mapDeps([15,1,2,3,4]),import.meta.url)},{name:"environments",path:"/environments",meta:$m||{},component:()=>me(()=>import("./Bxcdr2qc.js"),__vite__mapDeps([16,1,2,3,4]),import.meta.url)},{name:"factory",path:"/factory",meta:Hm||{},component:()=>me(()=>import("./BVGGsVu4.js"),__vite__mapDeps([17,1,2,3,4]),import.meta.url)},{name:"globalconfig",path:"/globalconfig",meta:Nm||{},component:()=>me(()=>import("./uwVesjjP.js"),__vite__mapDeps([18,1,2,3,4]),import.meta.url)},{name:"mcpconfig",path:"/mcpconfig",meta:jm||{},component:()=>me(()=>import("./BeU4EYjt.js"),__vite__mapDeps([19,1,2,3,4]),import.meta.url)},{name:"meettemplates",path:"/meettemplates",meta:Fm||{},component:()=>me(()=>import("./CZnZfJ5f.js"),__vite__mapDeps([20,1,2,3,4]),import.meta.url)},{name:"product",path:"/product",meta:Bm||{},component:()=>me(()=>import("./GZxzc1Rc.js"),__vite__mapDeps([21,1,2,3,4]),import.meta.url)},{name:"serviceconfig",path:"/serviceconfig",meta:Um||{},component:()=>me(()=>import("./CF8arGVK.js"),__vite__mapDeps([22,1,2,3,4,23]),import.meta.url)},{name:"statlog",path:"/statlog",meta:Vm||{},component:()=>me(()=>import("./Bi5c3E0c.js"),__vite__mapDeps([24,1,2,3,4,25]),import.meta.url)},{name:"systemconfig",path:"/systemconfig",meta:Km||{},component:()=>me(()=>import("./EIJPD_ga.js"),__vite__mapDeps([26,4,3,27]),import.meta.url)},{name:"users",path:"/users",meta:Wm||{},component:()=>me(()=>import("./BIBu1qhq.js"),__vite__mapDeps([28,1,2,3,4]),import.meta.url)},{name:"index",path:"/",meta:qm||{},component:()=>me(()=>import("./CnuHOwQV.js"),__vite__mapDeps([29,30]),import.meta.url)}],Yc=(e,t)=>({default:()=>e?Oe(fd,e===!0?{}:e,t):t.default?.()}),zm=/(:\w+)\([^)]+\)/g,Gm=/(:\w+)[?+*]/g,Jm=/:\w+/g;function ma(e){const t=e?.meta.key??e.path.replace(zm,"$1").replace(Gm,"$1").replace(Jm,n=>e.params[n.slice(1)]?.toString()||"");return typeof t=="function"?t(e):t}function Xm(e,t){return e===t||t===qe?!1:ma(e)!==ma(t)?!0:!e.matched.every((r,s)=>r.components&&r.components.default===t.matched[s]?.components?.default)}function ya(e){return Array.isArray(e)?e:[e]}function Qc(e){const t=[];for(const n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?ya(n.onAfterLeave):void 0,onBeforeLeave:n.onBeforeLeave?ya(n.onBeforeLeave):void 0});return _c(...t)}const Ym={scrollBehavior(e,t,n){const r=ve(),s=Ve().options?.scrollBehaviorType??"auto";return e.path.replace(/\/$/,"")===t.path.replace(/\/$/,"")?t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:Zc(e.hash),behavior:s}:!1:(typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1?!1:t===qe?_a(e,t,n,s):new Promise(i=>{const a=()=>{requestAnimationFrame(()=>i(_a(e,t,n,s)))};r.hooks.hookOnce("page:loading:end",()=>{const l=r["~transitionPromise"];l?l.then(a):a()})})}};function Zc(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function _a(e,t,n,r){return n||(e.hash?{el:e.hash,top:Zc(e.hash),behavior:Xm(e,t)?r:"instant"}:{left:0,top:0})}const Qm={hashMode:!1,scrollBehaviorType:"auto"},Lt={...Qm,...Ym},Zm=async(e,t)=>{let n,r;if(!e.meta?.validate)return;const s=([n,r]=Qn(()=>Promise.resolve(e.meta.validate(e))),n=await n,r(),n);if(s===!0)return;const o=Ft({fatal:!0,status:s&&(s.status||s.statusCode)||404,statusText:s&&(s.statusText||s.statusMessage)||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}});return typeof window<"u"&&window.history.pushState({},"",t.fullPath),o},ey=e=>{const t=Lc({path:e.path});if(t.redirect){const n=t.redirect.includes("#")?t.redirect:t.redirect+e.hash;return Dn(n,{acceptRelative:!0})?(window.location.href=n,!1):n}},ty=[Zm,ey],fo={};function ny(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const f=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(f);return c[0]!=="/"&&(c="/"+c),Li(c,"")}const a=Li(r,e),l=!n||cc(a,n)?a:n;return l+(l.includes("?")?"":s)+o}const ry=Ye({name:"nuxt:router",enforce:"pre",async setup(e){let t,n,r=Ho().app.baseURL;const s=Lt.history?.(r)??tm(r),o=Lt.routes?([t,n]=Qn(()=>Lt.routes(Os)),t=await t,n(),t??Os):Os;let i;const a=wm({...Lt,scrollBehavior:(E,v,p)=>{if(v===qe){i=p;return}if(Lt.scrollBehavior){if(a.options.scrollBehavior=Lt.scrollBehavior,"scrollRestoration"in window.history){const _=a.beforeEach(()=>{_(),window.history.scrollRestoration="manual"})}return Lt.scrollBehavior(E,qe,i||p)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(a);const l=Ut(a.currentRoute.value);a.afterEach((E,v)=>{l.value=v}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const f=ny(r,window.location,e.payload.path),c=Ut(a.currentRoute.value),u=()=>{c.value=a.currentRoute.value};a.afterEach((E,v)=>{const p=E.matched.at(-1)?.components?.default,_=v.matched.at(-1)?.components?.default;if(p===_){u();return}E.matched.lengthw.components?.default===v.matched[k]?.components?.default)&&u()});const h={sync:u};for(const E in c.value)Object.defineProperty(h,E,{get:()=>c.value[E],enumerable:!0});e._route=Ze(h),e._middleware||={global:[],named:{}};const d=cs();a.afterEach(async(E,v,p)=>{delete e._processingMiddleware,!e.isHydrating&&d.value&&await e.runWithContext(dp),p&&await e.callHook("page:loading:end")});try{[t,n]=Qn(()=>a.isReady()),await t,n()}catch(E){[t,n]=Qn(()=>e.runWithContext(()=>Zt(E))),await t,n()}const m=f!==a.currentRoute.value.fullPath?a.resolve(f):a.currentRoute.value,y=e.isHydrating&&e.payload.prerenderedAt&&e.payload.path&&f!==e.payload.path&&cc(a.currentRoute.value.path,e.payload.path);u();const C=e.payload.state._layout;return a.beforeEach(async(E,v)=>{await e.callHook("page:loading:start"),E.meta=ot(E.meta),e.isHydrating&&C&&!mt(E.meta.layout)&&(E.meta.layout=C),e._processingMiddleware=!0;{const p=new Set([...ty,...e._middleware.global]);for(const w of E.matched){const k=w.meta.middleware;if(k)for(const A of Xc(k))p.add(A)}const _=Lc({path:E.path});if(_.appMiddleware)for(const w in _.appMiddleware)_.appMiddleware[w]?p.add(w):p.delete(w);for(const w of p){const k=typeof w=="string"?e._middleware.named[w]||await fo[w]?.().then(A=>A.default||A):w;if(!k)throw new Error(`Unknown route middleware: '${w}'.`);try{const A=await e.runWithContext(()=>k(E,v));if(!e.payload.serverRendered&&e.isHydrating&&(A===!1||A instanceof Error)){const D=A||Ft({status:404,statusText:`Page Not Found: ${f}`});return await e.runWithContext(()=>Zt(D)),!1}if(A===!0)continue;if(A===!1)return A;if(A)return Ec(A)&&A.fatal&&await e.runWithContext(()=>Zt(A)),A}catch(A){const D=Ft(A);return D.fatal&&await e.runWithContext(()=>Zt(D)),D}}}}),a.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),a.afterEach(E=>{if(E.matched.length===0&&!d.value)return e.runWithContext(()=>Zt(Ft({status:404,fatal:!1,statusText:`Page not found: ${E.fullPath}`,data:{path:E.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{if("name"in m&&(m.name=void 0),y){const E=a.resolve(e.payload.path);"name"in E&&(E.name=void 0),await a.replace({...E,force:!0}),e.hooks.hookOnce("app:suspense:resolve",async()=>{await a.replace({...m,force:!0})})}else await a.replace({...m,force:!0});a.options.scrollBehavior=Lt.scrollBehavior}catch(E){await e.runWithContext(()=>Zt(E))}}),{provide:{router:a}}}}),ba=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),i_=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),Vo=e=>{const t=ve();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{ba(()=>e())}):ba(()=>e())},sy=Ye({name:"nuxt:payload",setup(e){const t=new Set;Ve().beforeResolve(async(n,r)=>{if(n.path===r.path)return;const s=await Yi(n.path);if(s){for(const o of t)delete e.static.data[o];for(const o in s.data)o in e.static.data||t.add(o),e.static.data[o]=s.data[o]}}),Vo(()=>{e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await Yi().catch(()=>{console.warn("[nuxt] Error preloading payload for",n)})}),navigator.connection?.effectiveType!=="slow-2g"&&setTimeout(Ic,1e3)})}}),oy=Ye(()=>{const e=Ve();Vo(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),iy=Ye(e=>{let t;async function n(){let r;try{r=await Ic()}catch(s){const o=s;if(!("status"in o&&(o.status===404||o.status===403)))throw o}t&&clearTimeout(t),t=setTimeout(n,Ui);try{const s=await $fetch($o("builds/latest.json")+`?${Date.now()}`);s.id!==r?.id&&(e.hooks.callHook("app:manifest:update",s),t&&clearTimeout(t))}catch{}}Vo(()=>{t=setTimeout(n,Ui)})});function ay(e={}){const t=e.path||window.location.pathname,n=new URL(t,window.location.href);if(n.host!==window.location.host)throw new Error(`Cannot navigate to a URL with a different host: '${t}'.`);if(n.protocol&&Xs(n.protocol))throw new Error(`Cannot navigate to a URL with '${n.protocol}' protocol.`);let r={};try{r=JSON.parse(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||r?.path!==t||r?.expires{r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const i=ac(n.app.baseURL,o.fullPath);ay({path:i,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}});function cy(e){return typeof e=="string"?`'${e}'`:new uy().serialize(e)}const uy=(function(){class e{#e=new Map;compare(n,r){const s=typeof n,o=typeof r;return s==="string"&&o==="string"?n.localeCompare(r):s==="number"&&o==="number"?n-r:String.prototype.localeCompare.call(this.serialize(n,!0),this.serialize(r,!0))}serialize(n,r){if(n===null)return"null";switch(typeof n){case"string":return r?n:`'${n}'`;case"bigint":return`${n}n`;case"object":return this.$object(n);case"function":return this.$function(n)}return String(n)}serializeObject(n){const r=Object.prototype.toString.call(n);if(r!=="[object Object]")return this.serializeBuiltInType(r.length<10?`unknown:${r}`:r.slice(8,-1),n);const s=n.constructor,o=s===Object||s===void 0?"":s.name;if(o!==""&&globalThis[o]===s)return this.serializeBuiltInType(o,n);if(typeof n.toJSON=="function"){const i=n.toJSON();return o+(i!==null&&typeof i=="object"?this.$object(i):`(${this.serialize(i)})`)}return this.serializeObjectEntries(o,Object.entries(n))}serializeBuiltInType(n,r){const s=this["$"+n];if(s)return s.call(this,r);if(typeof r?.entries=="function")return this.serializeObjectEntries(n,r.entries());throw new Error(`Cannot serialize ${n}`)}serializeObjectEntries(n,r){const s=Array.from(r).sort((i,a)=>this.compare(i[0],a[0]));let o=`${n}{`;for(let i=0;ithis.compare(r,s)))}`}$Map(n){return this.serializeObjectEntries("Map",n.entries())}}for(const t of["Error","RegExp","URL"])e.prototype["$"+t]=function(n){return`${t}(${n})`};for(const t of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join(",")}]`};for(const t of["BigInt64Array","BigUint64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join("n,")}${n.length>0?"n":""}]`};return e})(),fy=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],dy=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],hy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",Yt=[];class py{_data=new yn;_hash=new yn([...fy]);_nDataBytes=0;_minBufferSize=0;finalize(t){t&&this._append(t);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(t,n){const r=this._hash.words;let s=r[0],o=r[1],i=r[2],a=r[3],l=r[4],f=r[5],c=r[6],u=r[7];for(let h=0;h<64;h++){if(h<16)Yt[h]=t[n+h]|0;else{const p=Yt[h-15],_=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,w=Yt[h-2],k=(w<<15|w>>>17)^(w<<13|w>>>19)^w>>>10;Yt[h]=_+Yt[h-7]+k+Yt[h-16]}const d=l&f^~l&c,m=s&o^s&i^o&i,y=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),C=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),E=u+C+d+dy[h]+Yt[h],v=y+m;u=c,c=f,f=l,l=a+E|0,a=i,i=o,o=s,s=E+v|0}r[0]=r[0]+s|0,r[1]=r[1]+o|0,r[2]=r[2]+i|0,r[3]=r[3]+a|0,r[4]=r[4]+l|0,r[5]=r[5]+f|0,r[6]=r[6]+c|0,r[7]=r[7]+u|0}_append(t){typeof t=="string"&&(t=yn.fromUtf8(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_process(t){let n,r=this._data.sigBytes/64;t?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const s=r*16,o=Math.min(s*4,this._data.sigBytes);if(s){for(let i=0;i>>2]|=(n.charCodeAt(o)&255)<<24-o%4*8;return new yn(s,r)}toBase64(){const t=[];for(let n=0;n>>2]>>>24-n%4*8&255,s=this.words[n+1>>>2]>>>24-(n+1)%4*8&255,o=this.words[n+2>>>2]>>>24-(n+2)%4*8&255,i=r<<16|s<<8|o;for(let a=0;a<4&&n*8+a*6>>6*(3-a)&63))}return t.join("")}concat(t){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let n=0;n>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=t.words[n>>>2];this.sigBytes+=t.sigBytes}}function gy(e){return new py().finalize(e).toBase64()}function gn(e){return gy(cy(e))}const my=Symbol.for("nuxt:client-only");function eu(e){return Object.defineProperty(function(){throw new Error(`[nuxt] \`${e.name}\` is a compiler macro and cannot be called at runtime.`)},"__nuxt_factory",{enumerable:!1,get:()=>e.factory})}const tu=eu({name:"createUseAsyncData",factory(e={}){function t(...n){const r=typeof n[n.length-1]=="string"?n.pop():void 0;_y(n[0],n[1])&&n.unshift(r);let[s,o,i={}]=n,a=!1;const l=pe(s)||typeof s=="function",f=l?Re(()=>ft(s)):{value:s};if(!f.value||typeof f.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a non-empty string.");if(typeof o!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const c=typeof e=="function",u=ve(),h=c?e(i):e;if(!c)for(const p in h)h[p]!==void 0&&i[p]===void 0&&(i[p]=h[p]);if(i.server??=!0,i.default??=vy,i.getCachedData??=ru,i.lazy??=!1,i.immediate??=!0,i.deep??=zh.deep,i.dedupe??="cancel",c)for(const p in h)h[p]!==void 0&&(i[p]=h[p]);u._asyncData[f.value];function d(){const p={cause:"initial",dedupe:i.dedupe},_=u._asyncData[f.value];return _?._init?u._asyncDataPromises[f.value]&&(p.cachedData=_._initialCachedData):(p.cachedData=i.getCachedData(f.value,u,{cause:"initial"}),u._asyncData[f.value]=va(u,f.value,o,i,p.cachedData),u._asyncData[f.value]._initialCachedData=p.cachedData),()=>u._asyncData[f.value].execute(p)}const m=d(),y=u._asyncData[f.value];y._deps++;const C=i.server!==!1&&u.payload.serverRendered;{let p=function(T){const H=u._asyncData[T];H?._deps&&(H._deps--,H._deps===0&&H?._off())};const _=an();if(_&&C&&i.immediate&&!_.sp&&(_.sp=[]),_&&!_._nuxtOnBeforeMountCbs){_._nuxtOnBeforeMountCbs=[];const T=_._nuxtOnBeforeMountCbs;dl(()=>{T.forEach(H=>{H()}),T.splice(0,T.length)}),ss(()=>T.splice(0,T.length))}const w=_&&(_._nuxtClientOnly||Ce(my,!1));C&&u.isHydrating&&(y.error.value||y.data.value!==void 0)?y.status.value=y.error.value?"error":"success":_&&(!w&&u.payload.serverRendered&&u.isHydrating||i.lazy)&&i.immediate?_._nuxtOnBeforeMountCbs.push(m):i.immediate&&y.status.value!=="success"&&m();const k=Zr(),A=()=>{},D=l?Rt(f,(T,H)=>{if((T||H)&&T!==H){a=!0;const L=u._asyncData[H]?.data.value!==void 0,W=u._asyncDataPromises[H]!==void 0,Z={cause:"initial",dedupe:i.dedupe};if(!u._asyncData[T]?._init){let F;H&&L?F=u._asyncData[H].data.value:(F=i.getCachedData(T,u,{cause:"initial"}),Z.cachedData=F),u._asyncData[T]=va(u,T,o,i,F)}u._asyncData[T]._deps++,H&&p(H),i._keyTriggersExecute!==!1&&(i.immediate||L||W)&&u._asyncData[T].execute(Z),rr(()=>{a=!1})}},{flush:"sync"}):A,R=i.watch?Rt(i.watch,()=>{a||(u._asyncData[f.value]?._execute.isPending()&&rr(()=>{u._asyncData[f.value]?._execute.flush()}),u._asyncData[f.value]?._execute({cause:"watch",dedupe:i.dedupe}))}):A;k&&Ia(()=>{D(),R(),p(f.value)})}const E={data:Sr(()=>u._asyncData[f.value]?.data),pending:Sr(()=>u._asyncData[f.value]?.pending),status:Sr(()=>u._asyncData[f.value]?.status),error:Sr(()=>u._asyncData[f.value]?.error),refresh:(...p)=>u._asyncData[f.value]?._init?u._asyncData[f.value].execute(...p):d()(),execute:(...p)=>E.refresh(...p),clear:()=>{const p=u._asyncData[f.value];if(p?._abortController)try{p._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{p._abortController=void 0}nu(u,f.value)}},v=Promise.resolve(u._asyncDataPromises[f.value]).then(()=>E);return Object.assign(v,E),Object.defineProperties(v,{then:{enumerable:!0,value:v.then.bind(v)},catch:{enumerable:!0,value:v.catch.bind(v)},finally:{enumerable:!0,value:v.finally.bind(v)}}),v}return t}}),yy=tu.__nuxt_factory();tu.__nuxt_factory({lazy:!0,_functionName:"useLazyAsyncData"});function Sr(e){return Re({get(){return e()?.value},set(t){const n=e();n&&(n.value=t)}})}function _y(e,t){return!(typeof e=="string"||typeof e=="object"&&e!==null||typeof e=="function"&&typeof t=="function")}function nu(e,t){t in e.payload.data&&(e.payload.data[t]=void 0),t in e.payload._errors&&(e.payload._errors[t]=void 0),e._asyncData[t]&&(e._asyncData[t].data.value=ae(e._asyncData[t]._default()),e._asyncData[t].error.value=void 0,e._asyncData[t].status.value="idle",e._asyncData[t]._initialCachedData=void 0),t in e._asyncDataPromises&&(e._asyncDataPromises[t]=void 0)}function by(e,t){const n={};for(const r of t)n[r]=e[r];return n}function va(e,t,n,r,s){e.payload._errors[t]??=void 0;const o=r.getCachedData!==ru,i=n,a=r.deep?nt:Ut,l=s!==void 0,f=e.hook("app:data:refresh",async u=>{(!u||u.includes(t))&&await c.execute({cause:"refresh:hook"})}),c={data:a(l?s:r.default()),pending:Re(()=>c.status.value==="pending"),error:Xa(e.payload._errors,t),status:Ut("idle"),execute:(...u)=>{const[h,d=void 0]=u,m=h&&d===void 0&&typeof h=="object"?h:{};if(e._asyncDataPromises[t]&&(m.dedupe??r.dedupe)==="defer")return e._asyncDataPromises[t];{const E="cachedData"in m?m.cachedData:r.getCachedData(t,e,{cause:m.cause??"refresh:manual"});if(E!==void 0)return e.payload.data[t]=c.data.value=E,c.error.value=void 0,c.status.value="success",Promise.resolve(E)}c._abortController&&c._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),c._abortController=new AbortController,c.status.value="pending";const y=new AbortController,C=new Promise((E,v)=>{try{const p=m.timeout??r.timeout,_=wy([c._abortController?.signal,m?.signal],y.signal,p);if(_.aborted){const w=_.reason;v(w instanceof Error?w:new DOMException(String(w??"Aborted"),"AbortError"));return}return _.addEventListener("abort",()=>{const w=_.reason;v(w instanceof Error?w:new DOMException(String(w??"Aborted"),"AbortError"))},{once:!0,signal:y.signal}),Promise.resolve(i(e,{signal:_})).then(E,v)}catch(p){v(p)}}).then(async E=>{if(e._asyncDataPromises[t]!==C)return;let v=E;r.transform&&(v=await r.transform(E)),r.pick&&(v=by(v,r.pick)),e.payload.data[t]=v,c.data.value=v,c.error.value=void 0,c.status.value="success"}).catch(E=>{if(e._asyncDataPromises[t]!==C||c._abortController?.signal.aborted)return e._asyncDataPromises[t];if(typeof DOMException<"u"&&E instanceof DOMException&&E.name==="AbortError")return c.status.value="idle",e._asyncDataPromises[t];c.error.value=Ft(E),c.data.value=ae(r.default()),c.status.value="error"}).finally(()=>{y.abort(),e._asyncDataPromises[t]===C&&delete e._asyncDataPromises[t]});return e._asyncDataPromises[t]=C,e._asyncDataPromises[t]},_execute:vg((...u)=>c.execute(...u),0,{leading:!0}),_default:r.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{f(),e._asyncData[t]?._init&&(e._asyncData[t]._init=!1),o||xt(()=>{e._asyncData[t]?._init||(nu(e,t),c.execute=()=>Promise.resolve())})}};return c}const vy=()=>{},ru=(e,t,n)=>{if(t.isHydrating)return t.payload.data[e];if(n.cause!=="refresh:manual"&&n.cause!=="refresh:hook")return t.static.data[e]};function wy(e,t,n){const r=e.filter(i=>!!i);if(typeof n=="number"&&n>=0){const i=AbortSignal.timeout?.(n);i&&r.push(i)}if(AbortSignal.any)return AbortSignal.any(r);const s=new AbortController;for(const i of r)if(i.aborted){const a=i.reason??new DOMException("Aborted","AbortError");try{s.abort(a)}catch{s.abort()}return s.signal}const o=()=>{const a=r.find(l=>l.aborted)?.reason??new DOMException("Aborted","AbortError");try{s.abort(a)}catch{s.abort()}};for(const i of r)i.addEventListener?.("abort",o,{once:!0,signal:t});return s.signal}function Ey(e){const t=[ft(e.method)?.toUpperCase()||"GET",ft(e.baseURL)];for(const n of[e.query||e.params]){const r=ft(n);if(!r)continue;const s={};for(const[o,i]of Object.entries(r))s[ft(o)]=ft(i);t.push(s)}if(e.body){const n=ft(e.body);if(!n)t.push(gn(n));else if(n instanceof ArrayBuffer)t.push(gn(Object.fromEntries([...new Uint8Array(n).entries()].map(([r,s])=>[r,s.toString()]))));else if(n instanceof FormData){const r=[];for(const s of n.entries()){const[o,i]=s;r.push([o,i instanceof File?`${i.name}:${i.size}:${i.lastModified}`:i])}t.push(gn(r))}else if(go(n))t.push(gn(ot(n)));else try{t.push(gn(n))}catch{console.warn("[useFetch] Failed to hash body",n)}}return t}const su=eu({name:"createUseFetch",factory(e={}){function t(n,r,s){const[o={},i]=typeof r=="string"?[{},r]:[r,s],a=typeof e=="function"?e(o):e,{server:l,lazy:f,default:c,transform:u,pick:h,watch:d,immediate:m,getCachedData:y,deep:C,dedupe:E,timeout:v,...p}={...typeof e=="function"?{}:a,...o,...typeof e=="function"?a:{}},_=Re(()=>ft(n)),w=Re(()=>ft(p.key)||"$f"+gn([i,typeof _.value=="string"?_.value:"",...Ey(p)]));if(!p.baseURL&&typeof _.value=="string"&&_.value[0]==="/"&&_.value[1]==="/")throw new Error('[nuxt] [useFetch] the request URL must not start with "//".');const k=ot({...Gh,...p,cache:typeof p.cache=="boolean"?void 0:p.cache}),A={server:l,lazy:f,default:c,transform:u,pick:h,immediate:m,getCachedData:y,deep:C,dedupe:E,timeout:v,watch:d===!1?[]:[...d||[],k]};return d===!1&&(A._keyTriggersExecute=!1),yy(w,(R,{signal:T})=>(p.$fetch||globalThis.$fetch)(_.value,{signal:T,...k}),A)}return t}});su.__nuxt_factory();su.__nuxt_factory({lazy:!0,_functionName:"useLazyFetch"});function Sy(e){if(e?.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Ty(e,t=Ve()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||=new Set,t._routePreloaded.has(n)))return;const s=t._preloadPromises||=[];if(s.length>4)return Promise.all(s).then(()=>Ty(e,t));t._routePreloaded.add(n);for(const o of r){const i=o.components?.default;if(typeof i!="function")continue;const a=Promise.resolve(i()).catch(()=>{}).finally(()=>s.splice(s.indexOf(a),1));s.push(a)}await Promise.all(s)}const Ry=Ye({name:"pinia",setup(e){const t=hp();return e.vueApp.use(t),xn(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}},hooks:{"app:rendered"(){const e=ve();e.payload.pinia=ne(e.$pinia).state.value,xn(void 0)}}}),Cy=Ye({name:"nuxt:global-components"}),Nt={auth:Ir(()=>me(()=>import("./1YPtusTp.js"),[],import.meta.url).then(e=>e.default||e)),default:Ir(()=>me(()=>import("./FZLr1rN5.js"),__vite__mapDeps([31,32,4,3,2,33]),import.meta.url).then(e=>e.default||e))},Py=Ye({name:"nuxt:prefetch",setup(e){const t=Ve();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{const r=n?.meta?.layout;r&&typeof Nt[r]=="function"&&await Nt[r]()})}),e.hooks.hook("link:prefetch",n=>{if(Dn(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=Xc(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof fo[i]=="function"&&fo[i]();typeof s=="string"&&s in Nt&&Sy(Nt[s])})}}),Ay={1:"超管",2:"管理员",3:"代理",4:"运营"},Ko="auth_state";function Tr(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}function Ms(e){localStorage.setItem(Ko,JSON.stringify(e))}function xy(){try{const e=localStorage.getItem(Ko);return e?JSON.parse(e):null}catch{return null}}const ky=bp("auth",{state:()=>({token:"",account:"",identity:0,access:[],apps:[],regions:[],products:[],appbinds:[],currentAppId:0,siteTitle:""}),getters:{isSuperAdmin(){return this.identity===1},isAdmin(){return this.identity===1||this.identity===2},identityLabel(){return Ay[this.identity]??""},isLoggedIn(){return!!this.token}},actions:{setLoginData(e){this.token=e.token,this.account=e.account,this.identity=e.identity,this.access=Tr(e.access),this.apps=Tr(e.apps),this.regions=Tr(e.regions),this.products=Tr(e.products),this.appbinds=e.appbinds??[],this.appbinds.length>0&&!this.currentAppId&&(this.currentAppId=this.appbinds[0].id),Ms({token:this.token,account:this.account,identity:this.identity,access:this.access,apps:this.apps,regions:this.regions,products:this.products,appbinds:this.appbinds,currentAppId:this.currentAppId,siteTitle:this.siteTitle})},setCurrentApp(e){this.currentAppId=e,Ms({token:this.token,account:this.account,identity:this.identity,access:this.access,apps:this.apps,regions:this.regions,products:this.products,appbinds:this.appbinds,currentAppId:this.currentAppId,siteTitle:this.siteTitle})},setSiteTitle(e){this.siteTitle=e,Ms({token:this.token,account:this.account,identity:this.identity,access:this.access,apps:this.apps,regions:this.regions,products:this.products,appbinds:this.appbinds,currentAppId:this.currentAppId,siteTitle:this.siteTitle})},logout(){this.token="",this.account="",this.identity=0,this.access=[],this.apps=[],this.regions=[],this.products=[],this.appbinds=[],this.currentAppId=0,this.siteTitle="",localStorage.removeItem(Ko)},restore(){const e=xy();e&&(this.token=e.token??"",this.account=e.account??"",this.identity=e.identity??0,this.access=e.access??[],this.apps=e.apps??[],this.regions=e.regions??[],this.products=e.products??[],this.appbinds=e.appbinds??[],this.currentAppId=e.currentAppId??0,this.siteTitle=e.siteTitle??"")},hasAccess(e){return this.identity===1?!0:this.access.includes(e)}}}),Oy=Ye(()=>{ky().restore()}),My=[cg,fg,mg,ry,sy,oy,iy,ly,Ry,Cy,Py,Oy],ou=(e="RouteProvider")=>Wt({name:e,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){const n=t.renderKey,r=t.route,s={};for(const o in t.route)Object.defineProperty(s,o,{get:()=>n===t.renderKey?t.route[o]:r[o],enumerable:!0});return jt(on,Ze(s)),()=>t.vnode?Oe(t.vnode,{ref:t.vnodeRef}):t.vnode}}),Iy=ou(),wa=new WeakMap,Ly=Wt({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=ve(),o=nt(),i=Ce(on,null);let a;r({pageRef:o});const l=Ce(vc,null);let f;const c=s.deferHydration();let u=!1,h=!1,d=0;if(s.isHydrating){const y=s.hooks.hookOnce("app:error",c),C=Ve().beforeEach(()=>{y(),C()})}e.pageKey&&Rt(()=>e.pageKey,(y,C)=>{y!==C&&s.callHook("page:loading:start")});let m=!1;{const y=Ve().beforeResolve(()=>{m=!1});fr(()=>{y(),c()})}return()=>Oe(Jc,{name:e.name,route:e.route,...t},{default:y=>{const C=Dy(i,y.route,y.Component),E=i&&i.matched.length===y.route.matched.length;if(!y.Component){if(f&&!E&&!Is(f))return f;c();return}if(f&&l&&!Is(f)&&!l.isCurrent(y.route))return f;if(C&&i&&(!l||l?.isCurrent(i)))return(E||f)&&!Is(f)?f:null;const v=uo(y,e.pageKey),p=$y(i,y.route,y.Component);!s.isHydrating&&a===v&&!p&&xt(()=>{m||(m=!0,s.callHook("page:loading:end"))}),u&&a!==v&&h&&d++,a=v;const _=!!(e.transition??y.route.meta.pageTransition??Fi),w=_&&Qc([e.transition,y.route.meta.pageTransition,Fi,{onAfterLeave(){s["~transitionFinish"]?.(),delete s["~transitionFinish"],delete s["~transitionPromise"],s.callHook("page:transition:finish",y.Component)}}]),k=e.keepalive??y.route.meta.keepalive??qh;return f=Yc(_&&w,Cm(k,Oe(Mo,{key:d,suspensible:!0,onPending:()=>{u=!0,_&&!s["~transitionPromise"]&&(s["~transitionPromise"]=new Promise(A=>{s["~transitionFinish"]=A})),s.callHook("page:start",y.Component)},onResolve:async()=>{u=!1,h=!0;try{await xt(),s._route.sync?.(),await s.callHook("page:finish",y.Component),!m&&!p&&(m=!0,await s.callHook("page:loading:end"))}finally{c()}}},{default:()=>{const A={key:v||void 0,vnode:n.default?Hy(n.default,y):y.Component,route:y.route,renderKey:v||void 0,trackRootNodes:_,vnodeRef:o};if(!k)return Oe(Iy,A);const D=y.Component.type,R=D;let T=wa.get(R);return T||(T=ou(D.name||D.__name),wa.set(R,T)),Oe(T,A)}}))).default(),f}})}});function Dy(e,t,n){if(!e)return!1;const r=t.matched.findIndex(i=>i.components?.default===n?.type);if(r===-1)return!1;const s=t.matched.slice(0,r).filter(i=>i.components?.default);if(!s.length)return!1;const o=e.matched.filter(i=>i.components?.default);return s.some((i,a)=>i.components?.default!==o[a]?.components?.default)||n&&uo({route:t,Component:n})!==uo({route:e,Component:n})}function $y(e,t,n){return e?t.matched.findIndex(s=>s.components?.default===n?.type)Oe(Nt[e.name],e.layoutProps,t.slots)}}),jy={name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},Fy=Wt({name:"NuxtLayout",inheritAttrs:!1,props:jy,setup(e,t){const n=ve(),r=Ce(on),o=!r||r===No()?Nc():r,i=Re(()=>{let c=ae(e.name)??o?.meta.layout??iu(o?.path).appLayout??"default";return c&&!(c in Nt)&&e.fallback&&(c=ae(e.fallback)),c}),a=Ut();t.expose({layoutRef:a});const l=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",l),u=Ve().beforeEach(()=>{c(),u()})}let f;return()=>{const u=!!i.value&&i.value in Nt&&!!(o?.meta.layoutTransition??ji),h=u&&Qc([o?.meta.layoutTransition,ji,{onBeforeLeave(){n["~transitionPromise"]=new Promise(m=>{n["~transitionFinish"]=m})},onAfterLeave(){n["~transitionFinish"]?.(),delete n["~transitionFinish"],delete n["~transitionPromise"]}}]),d=f;return f=i.value,Yc(h,{default:()=>Oe(Mo,{suspensible:!0,onResolve:async()=>{await xt(l)}},{default:()=>Oe(By,{layoutProps:Wl(t.attrs,o.meta.layoutProps??{},{ref:a}),key:i.value||void 0,name:i.value,shouldProvide:!e.name,isRenderingNewLayout:m=>m!==d&&m===i.value,hasTransition:u},t.slots)})}).default()}}}),By=Wt({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean},isRenderingNewLayout:{type:Function,required:!0}},setup(e,t){const n=e.name;e.shouldProvide&&jt(vc,{isCurrent:o=>n===!1||n===(o.meta.layout??iu(o.path).appLayout??"default")});const r=Ce(on);if(r&&r===No()){const o=Nc(),i={};for(const a in o){const l=a;Object.defineProperty(i,l,{enumerable:!0,get:()=>e.isRenderingNewLayout(e.name)?o[l]:r[l]})}jt(on,Ze(i))}return()=>!n||typeof n=="string"&&!(n in Nt)?t.slots.default?.():Oe(Ny,{key:n,layoutProps:e.layoutProps,name:n},t.slots)}}),Uy=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Vy={};function Ky(e,t){const n=Ly,r=Fy;return Ge(),ht(r,null,{default:Co(()=>[ye(n)]),_:1})}const Wy=Uy(Vy,[["render",Ky]]),qy={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error,r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),a=void 0,c=s?Ir(()=>me(()=>import("./BroHRKpP.js"),__vite__mapDeps([34,32,35,36]),import.meta.url)):Ir(()=>me(()=>import("./P2ZWRt51.js"),__vite__mapDeps([37,35,38]),import.meta.url));return(u,h)=>(Ge(),ht(ae(c),mu(Vl({status:ae(r),statusText:ae(o),statusCode:ae(r),statusMessage:ae(o),description:ae(i),stack:ae(a)})),null,16))}},zy={key:0},Ea={__name:"nuxt-root",setup(e){const t=()=>null,n=ve(),r=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",r),u=Ve().beforeEach(()=>{c(),u()})}const s=!1;jt(on,No()),n.hooks.callHookWith(c=>c.map(u=>u()),"vue:setup",[]);const o=cs(),i=!1,a=/bot\b|chrome-lighthouse|facebookexternalhit|google\b/i;function l(c,u,h){const d=n.vueApp.config.errorHandler;if(d&&!d.__nuxt_default)try{d(c,u,h)}catch(m){console.error("[nuxt] Error in `app.config.errorHandler`",m)}}pl((c,u,h)=>{if(n.hooks.callHook("vue:error",c,u,h)?.catch(d=>console.error("[nuxt] Error in `vue:error` hook",d)),a.test(navigator.userAgent))return n.hooks.callHook("app:error",c),console.error(`[nuxt] Not rendering error page for bot with user agent \`${navigator.userAgent}\`:`,c),!1;if(Ec(c)&&(c.fatal||c.unhandled))return n.runWithContext(()=>Zt(c)),l(c,u,h),!1});const f=!1;return(c,u)=>(Ge(),ht(Mo,{onResolve:ae(r)},{default:Co(()=>[ae(i)?(Ge(),Gf("div",zy)):ae(o)?(Ge(),ht(ae(qy),{key:1,error:ae(o)},null,8,["error"])):ae(f)?(Ge(),ht(ae(t),{key:2,context:ae(f)},null,8,["context"])):ae(s)?(Ge(),ht(yf(ae(s)),{key:3})):(Ge(),ht(ae(Wy),{key:4}))]),_:1},8,["onResolve"]))}};let Sa;{let e;Sa=async function(){if(e)return e;const n=!!(window.__NUXT__?.serverRendered??document.getElementById("__NUXT_DATA__")?.dataset.ssr==="true"),r=n?Ud(Ea):Bd(Ea),s=Qh({vueApp:r});async function o(i){await s.callHook("app:error",i),s.payload.error||=Ft(i)}o.__nuxt_default=!0,r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)}),!n&&Bi.id&&s.hook("app:suspense:resolve",()=>{document.getElementById(Bi.id)?.remove()});try{await tp(s,My)}catch(i){o(i)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(Jh),await s.hooks.callHook("app:mounted",r),await xt()}catch(i){o(i)}return r},e=Sa().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{Dn as $,Re as A,e_ as B,ky as C,t_ as D,xt as E,ke as F,Yr as G,Qy as H,n_ as I,ht as J,fr as K,Yy as L,ae as M,Vo as N,ba as O,i_ as P,Oe as Q,Jy as R,sc as S,fd as T,fp as U,Ut as V,up as W,Ty as X,s_ as Y,ac as Z,Uy as _,Ul as a,Xs as a0,Ho as a1,mh as a2,Fr as a3,r_ as a4,Xa as a5,pe as a6,ye as b,Gf as c,Kl as d,ve as e,Oc as f,Wt as g,ns as h,Ce as i,xo as j,Gy as k,Xf as l,ki as m,Qr as n,Ge as o,Ld as p,Md as q,Xy as r,nt as s,vu as t,o_ as u,Zy as v,Co as w,ot as x,No as y,Ve as z}; +`)&&(yr(p,0)||fn(),p.textContent=_.children)}if(T){if(te||!D||H&48){const V=p.tagName.includes("-");for(const le in T)(te&&(le.endsWith("value")||le==="indeterminate")||lr(le)&&!en(le)||le[0]==="."||V&&!en(le))&&r(p,le,null,T[le],void 0,w)}else if(T.onClick)r(p,"onClick",null,T.onClick,void 0,w);else if(H&4&>(T.style))for(const V in T.style)T.style[V]}let q;(q=T&&T.onVnodeBeforeMount)&&$e(q,w,_),W&&ct(_,null,w,"beforeMount"),((q=T&&T.onVnodeMounted)||W||F)&&Nl(()=>{q&&$e(q,w,_),F&&Z.enter(p),W&&ct(_,null,w,"mounted")},k)}return p.nextSibling},d=(p,_,w,k,A,D,R)=>{R=R||!!_.dynamicChildren;const T=_.children,H=T.length;let L=!1;for(let W=0;W{const{slotScopeIds:R}=_;R&&(A=A?A.concat(R):R);const T=i(p),H=d(o(p),_,T,w,k,A,D);return H&&mn(H)&&H.data==="]"?o(_.anchor=H):(fn(),l(_.anchor=f("]"),T,H),H)},y=(p,_,w,k,A,D)=>{if(yr(p.parentElement,1)||fn(),_.el=null,D){const H=C(p);for(;;){const L=o(p);if(L&&L!==H)a(L);else break}}const R=o(p),T=i(p);return a(p),n(null,_,T,R,w,k,mr(T),A),w&&(w.vnode.el=_.el,is(w,_.el)),R},C=(p,_="[",w="]")=>{let k=0;for(;p;)if(p=o(p),p&&mn(p)&&(p.data===_&&k++,p.data===w)){if(k===0)return o(p);k--}return p},E=(p,_,w)=>{const k=_.parentNode;k&&k.replaceChild(p,_);let A=w;for(;A;)A.vnode.el===_&&(A.vnode.el=A.subTree.el=p),A=A.parent},v=p=>p.nodeType===1&&p.tagName==="TEMPLATE";return[c,u]}const ri="data-allow-mismatch",lf={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function yr(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(ri);)e=e.parentElement;const n=e&&e.getAttribute(ri);if(n==null)return!1;if(n==="")return!0;{const r=n.split(",");return t===0&&r.includes("children")?!0:r.includes(lf[t])}}Xr().requestIdleCallback;Xr().cancelIdleCallback;function cf(e,t){if(mn(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(mn(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const Ct=e=>!!e.type.__asyncLoader;function Ir(e){Y(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:o,timeout:i,suspensible:a=!0,onError:l}=e;let f=null,c,u=0;const h=()=>(u++,f=null,d()),d=()=>{let m;return f||(m=f=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((C,E)=>{l(y,()=>C(h()),()=>E(y),u+1)});throw y}).then(y=>m!==f&&f?f:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),c=y,y)))};return Wt({name:"AsyncComponentWrapper",__asyncLoader:d,__asyncHydrate(m,y,C){let E=!1;(y.bu||(y.bu=[])).push(()=>E=!0);const v=()=>{E||C()},p=o?()=>{const _=o(v,w=>cf(m,w));_&&(y.bum||(y.bum=[])).push(_)}:v;c?p():d().then(()=>!y.isUnmounted&&p())},get __asyncResolved(){return c},setup(){const m=Pe;if(Ao(m),c)return()=>_r(c,m);const y=w=>{f=null,Ln(w,m,13,!r)};if(a&&m.suspense||Pn)return d().then(w=>()=>_r(w,m)).catch(w=>(y(w),()=>r?ye(r,{error:w}):null));const C=nt(!1),E=nt(),v=nt(!!s);let p,_;return ss(()=>{p!=null&&clearTimeout(p),_!=null&&clearTimeout(_)}),s&&(_=setTimeout(()=>{m.isUnmounted||(v.value=!1)},s)),i!=null&&(p=setTimeout(()=>{if(!m.isUnmounted&&!C.value&&!E.value){const w=new Error(`Async component timed out after ${i}ms.`);y(w),E.value=w}},i)),d().then(()=>{m.isUnmounted||(C.value=!0,m.parent&&ur(m.parent.vnode)&&m.parent.update())}).catch(w=>{if(m.isUnmounted){f=null;return}y(w),E.value=w}),()=>{if(C.value&&c)return _r(c,m);if(E.value&&r)return ye(r,{error:E.value});if(n&&!v.value)return _r(n,m)}}})}function _r(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=ye(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const ur=e=>e.type.__isKeepAlive,uf={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=an(),r=n.ctx;if(!r.renderer)return()=>{const v=t.default&&t.default();return v&&v.length===1?v[0]:v};const s=new Map,o=new Set;let i=null;const a=n.suspense,{renderer:{p:l,m:f,um:c,o:{createElement:u}}}=r,h=u("div");r.activate=(v,p,_,w,k)=>{const A=v.component;f(v,p,_,0,a),l(A.vnode,v,p,_,A,a,w,v.slotScopeIds,k),Se(()=>{A.isDeactivated=!1,A.a&&vn(A.a);const D=v.props&&v.props.onVnodeMounted;D&&$e(D,A.parent,v)},a)},r.deactivate=v=>{const p=v.component;Dr(p.m),Dr(p.a),f(v,h,null,1,a),Se(()=>{p.da&&vn(p.da);const _=v.props&&v.props.onVnodeUnmounted;_&&$e(_,p.parent,v),p.isDeactivated=!0},a)};function d(v){ys(v),c(v,n,a,!0)}function m(v){s.forEach((p,_)=>{const w=zs(Ct(p)?p.type.__asyncResolved||{}:p.type);w&&!v(w)&&y(_)})}function y(v){const p=s.get(v);p&&(!i||!et(p,i))?d(p):i&&ys(i),s.delete(v),o.delete(v)}Rt(()=>[e.include,e.exclude],([v,p])=>{v&&m(_=>Vn(v,_)),p&&m(_=>!Vn(p,_))},{flush:"post",deep:!0});let C=null;const E=()=>{C!=null&&($r(n.subTree.type)?Se(()=>{s.set(C,br(n.subTree))},n.subTree.suspense):s.set(C,br(n.subTree)))};return xo(E),hl(E),fr(()=>{s.forEach(v=>{const{subTree:p,suspense:_}=n,w=br(p);if(v.type===w.type&&v.key===w.key){ys(w);const k=w.component.da;k&&Se(k,_);return}d(v)})}),()=>{if(C=null,!t.default)return i=null;const v=t.default(),p=v[0];if(v.length>1)return i=null,v;if(!sn(p)||!(p.shapeFlag&4)&&!(p.shapeFlag&128))return i=null,p;let _=br(p);if(_.type===be)return i=null,_;const w=_.type,k=zs(Ct(_)?_.type.__asyncResolved||{}:w),{include:A,exclude:D,max:R}=e;if(A&&(!k||!Vn(A,k))||D&&k&&Vn(D,k))return _.shapeFlag&=-257,i=_,p;const T=_.key==null?w:_.key,H=s.get(T);return _.el&&(_=kt(_),p.shapeFlag&128&&(p.ssContent=_)),C=T,H?(_.el=H.el,_.component=H.component,_.transition&&Rn(_,_.transition),_.shapeFlag|=512,o.delete(T),o.add(T)):(o.add(T),R&&o.size>parseInt(R,10)&&y(o.values().next().value)),_.shapeFlag|=256,i=_,$r(p.type)?p:_}}},ff=uf;function Vn(e,t){return G(e)?e.some(n=>Vn(n,t)):he(e)?e.split(",").includes(t):lu(e)?(e.lastIndex=0,e.test(t)):!1}function cl(e,t){fl(e,"a",t)}function ul(e,t){fl(e,"da",t)}function fl(e,t,n=Pe){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(rs(t,r,n),n){let s=n.parent;for(;s&&s.parent;)ur(s.parent.vnode)&&df(r,t,n,s),s=s.parent}}function df(e,t,n,r){const s=rs(t,e,r,!0);ss(()=>{po(r[t],s)},n)}function ys(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function br(e){return e.shapeFlag&128?e.ssContent:e}function rs(e,t,n=Pe,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{Pt();const a=dr(n),l=Xe(t,n,e,i);return a(),At(),l});return r?s.unshift(o):s.push(o),o}}const Ot=e=>(t,n=Pe)=>{(!Pn||e==="sp")&&rs(e,(...r)=>t(...r),n)},dl=Ot("bm"),xo=Ot("m"),hf=Ot("bu"),hl=Ot("u"),fr=Ot("bum"),ss=Ot("um"),pf=Ot("sp"),gf=Ot("rtg"),mf=Ot("rtc");function pl(e,t=Pe){rs("ec",e,t)}const gl="components";function Jy(e,t){return yl(gl,e,!0,t)||e}const ml=Symbol.for("v-ndc");function yf(e){return he(e)?yl(gl,e,!1)||e:e||ml}function yl(e,t,n=!0,r=!1){const s=Ae||Pe;if(s){const o=s.type;{const a=zs(o,!1);if(a&&(a===t||a===Le(t)||a===Gr(Le(t))))return o}const i=si(s[e]||o[e],t)||si(s.appContext[e],t);return!i&&r?o:i}}function si(e,t){return e&&(e[t]||e[Le(t)]||e[Gr(Le(t))])}function Xy(e,t,n,r){let s;const o=n,i=G(e);if(i||he(e)){const a=i&>(e);let l=!1,f=!1;a&&(l=!Be(e),f=mt(e),e=es(e)),s=new Array(e.length);for(let c=0,u=e.length;ct(a,l,void 0,o));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,f=a.length;l0;return Ge(),ht(ke,null,[ye("slot",n,r)],f?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),Ge();const i=o&&_l(o(n)),a=n.key||i&&i.key,l=ht(ke,{key:(a&&!Ue(a)?a:`_${t}`)+(!i&&r?"_fb":"")},i||[],i&&e._===1?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),o&&o._c&&(o._d=!0),l}function _l(e){return e.some(t=>sn(t)?!(t.type===be||t.type===ke&&!_l(t.children)):!0)?e:null}const js=e=>e?ql(e)?as(e):js(e.parent):null,Gn=Te(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>js(e.parent),$root:e=>js(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>vl(e),$forceUpdate:e=>e.f||(e.f=()=>{Ro(e.update)}),$nextTick:e=>e.n||(e.n=xt.bind(e.proxy)),$watch:e=>Zu.bind(e)}),_s=(e,t)=>e!==fe&&!e.__isScriptSetup&&ie(e,t),_f={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const h=i[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(_s(r,t))return i[t]=1,r[t];if(s!==fe&&ie(s,t))return i[t]=2,s[t];if(ie(o,t))return i[t]=3,o[t];if(n!==fe&&ie(n,t))return i[t]=4,n[t];Fs&&(i[t]=0)}}const f=Gn[t];let c,u;if(f)return t==="$attrs"&&xe(e.attrs,"get",""),f(e);if((c=a.__cssModules)&&(c=c[t]))return c;if(n!==fe&&ie(n,t))return i[t]=4,n[t];if(u=l.config.globalProperties,ie(u,t))return u[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return _s(s,t)?(s[t]=n,!0):r!==fe&&ie(r,t)?(r[t]=n,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:o,type:i}},a){let l;return!!(n[a]||e!==fe&&a[0]!=="$"&&ie(e,a)||_s(t,a)||ie(o,a)||ie(r,a)||ie(Gn,a)||ie(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ie(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function oi(e){return G(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Fs=!0;function bf(e){const t=vl(e),n=e.proxy,r=e.ctx;Fs=!1,t.beforeCreate&&ii(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:a,provide:l,inject:f,created:c,beforeMount:u,mounted:h,beforeUpdate:d,updated:m,activated:y,deactivated:C,beforeDestroy:E,beforeUnmount:v,destroyed:p,unmounted:_,render:w,renderTracked:k,renderTriggered:A,errorCaptured:D,serverPrefetch:R,expose:T,inheritAttrs:H,components:L,directives:W,filters:Z}=t;if(f&&vf(f,r,null),i)for(const q in i){const V=i[q];Y(V)&&(r[q]=V.bind(n))}if(s){const q=s.call(n,n);se(q)&&(e.data=ot(q))}if(Fs=!0,o)for(const q in o){const V=o[q],le=Y(V)?V.bind(n,n):Y(V.get)?V.get.bind(n,n):pt,Mt=!Y(V)&&Y(V.set)?V.set.bind(n):pt,it=Re({get:le,set:Mt});Object.defineProperty(r,q,{enumerable:!0,configurable:!0,get:()=>it.value,set:De=>it.value=De})}if(a)for(const q in a)bl(a[q],r,n,q);if(l){const q=Y(l)?l.call(n):l;Reflect.ownKeys(q).forEach(V=>{jt(V,q[V])})}c&&ii(c,e,"c");function F(q,V){G(V)?V.forEach(le=>q(le.bind(n))):V&&q(V.bind(n))}if(F(dl,u),F(xo,h),F(hf,d),F(hl,m),F(cl,y),F(ul,C),F(pl,D),F(mf,k),F(gf,A),F(fr,v),F(ss,_),F(pf,R),G(T))if(T.length){const q=e.exposed||(e.exposed={});T.forEach(V=>{Object.defineProperty(q,V,{get:()=>n[V],set:le=>n[V]=le,enumerable:!0})})}else e.exposed||(e.exposed={});w&&e.render===pt&&(e.render=w),H!=null&&(e.inheritAttrs=H),L&&(e.components=L),W&&(e.directives=W),R&&Ao(e)}function vf(e,t,n=pt){G(e)&&(e=Bs(e));for(const r in e){const s=e[r];let o;se(s)?"default"in s?o=Ce(s.from||r,s.default,!0):o=Ce(s.from||r):o=Ce(s),pe(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function ii(e,t,n){Xe(G(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function bl(e,t,n,r){let s=r.includes(".")?nl(n,r):()=>n[r];if(he(e)){const o=t[e];Y(o)&&Rt(s,o)}else if(Y(e))Rt(s,e.bind(n));else if(se(e))if(G(e))e.forEach(o=>bl(o,t,n,r));else{const o=Y(e.handler)?e.handler.bind(n):t[e.handler];Y(o)&&Rt(s,o,e)}}function vl(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,a=o.get(t);let l;return a?l=a:!s.length&&!n&&!r?l=t:(l={},s.length&&s.forEach(f=>Lr(l,f,i,!0)),Lr(l,t,i)),se(t)&&o.set(t,l),l}function Lr(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&Lr(e,o,n,!0),s&&s.forEach(i=>Lr(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const a=wf[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const wf={data:ai,props:li,emits:li,methods:Kn,computed:Kn,beforeCreate:Me,created:Me,beforeMount:Me,mounted:Me,beforeUpdate:Me,updated:Me,beforeDestroy:Me,beforeUnmount:Me,destroyed:Me,unmounted:Me,activated:Me,deactivated:Me,errorCaptured:Me,serverPrefetch:Me,components:Kn,directives:Kn,watch:Sf,provide:ai,inject:Ef};function ai(e,t){return t?e?function(){return Te(Y(e)?e.call(this,this):e,Y(t)?t.call(this,this):t)}:t:e}function Ef(e,t){return Kn(Bs(e),Bs(t))}function Bs(e){if(G(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Le(t)}Modifiers`]||e[`${Kt(t)}Modifiers`];function Pf(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||fe;let s=n;const o=t.startsWith("update:"),i=o&&Cf(r,t.slice(7));i&&(i.trim&&(s=n.map(c=>he(c)?c.trim():c)),i.number&&(s=n.map(Jr)));let a,l=r[a=fs(t)]||r[a=fs(Le(t))];!l&&o&&(l=r[a=fs(Kt(t))]),l&&Xe(l,e,6,s);const f=r[a+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Xe(f,e,6,s)}}const Af=new WeakMap;function El(e,t,n=!1){const r=n?Af:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},a=!1;if(!Y(e)){const l=f=>{const c=El(f,t,!0);c&&(a=!0,Te(i,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(se(e)&&r.set(e,null),null):(G(o)?o.forEach(l=>i[l]=null):Te(i,o),se(e)&&r.set(e,i),i)}function os(e,t){return!e||!lr(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,Kt(t))||ie(e,t))}function bs(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:a,emit:l,render:f,renderCache:c,props:u,data:h,setupState:d,ctx:m,inheritAttrs:y}=e,C=Or(e);let E,v;try{if(n.shapeFlag&4){const _=s||r,w=_;E=Fe(f.call(w,_,c,u,d,h,m)),v=a}else{const _=t;E=Fe(_.length>1?_(u,{attrs:a,slots:i,emit:l}):_(u,null)),v=t.props?a:kf(a)}}catch(_){Xn.length=0,Ln(_,e,1),E=ye(be)}let p=E;if(v&&y!==!1){const _=Object.keys(v),{shapeFlag:w}=p;_.length&&w&7&&(o&&_.some(Wr)&&(v=Of(v,o)),p=kt(p,v,!1,!0))}return n.dirs&&(p=kt(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&Rn(p,n.transition),E=p,Or(C),E}function xf(e,t=!0){let n;for(let r=0;r{let t;for(const n in e)(n==="class"||n==="style"||lr(n))&&((t||(t={}))[n]=e[n]);return t},Of=(e,t)=>{const n={};for(const r in e)(!Wr(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Mf(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:a,patchFlag:l}=t,f=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?ci(r,i,f):!!i;if(l&8){const c=t.dynamicProps;for(let u=0;uObject.create(Tl),Cl=e=>Object.getPrototypeOf(e)===Tl;function If(e,t,n,r=!1){const s={},o=Rl();e.propsDefaults=Object.create(null),Pl(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:Ze(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Lf(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,a=ne(s),[l]=e.propsOptions;let f=!1;if((r||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let u=0;u{l=!0;const[h,d]=Al(u,t,!0);Te(i,h),d&&a.push(...d)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!o&&!l)return se(e)&&r.set(e,_n),_n;if(G(o))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",Oo=e=>G(e)?e.map(Fe):[Fe(e)],$f=(e,t,n)=>{if(t._n)return t;const r=Co((...s)=>Oo(t(...s)),n);return r._c=!1,r},xl=(e,t,n)=>{const r=e._ctx;for(const s in e){if(ko(s))continue;const o=e[s];if(Y(o))t[s]=$f(s,o,r);else if(o!=null){const i=Oo(o);t[s]=()=>i}}},kl=(e,t)=>{const n=Oo(t);e.slots.default=()=>n},Ol=(e,t,n)=>{for(const r in t)(n||!ko(r))&&(e[r]=t[r])},Hf=(e,t,n)=>{const r=e.slots=Rl();if(e.vnode.shapeFlag&32){const s=t._;s?(Ol(r,t,n),n&&Pa(r,"_",s,!0)):xl(t,r)}else t&&kl(e,t)},Nf=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=fe;if(r.shapeFlag&32){const a=t._;a?n&&a===1?o=!1:Ol(s,t,n):(o=!t.$stable,xl(t,s)),i=t}else t&&(kl(e,t),i={default:1});if(o)for(const a in s)!ko(a)&&i[a]==null&&delete s[a]},Se=Nl;function jf(e){return Ml(e)}function Ff(e){return Ml(e,af)}function Ml(e,t){const n=Xr();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:a,createComment:l,setText:f,setElementText:c,parentNode:u,nextSibling:h,setScopeId:d=pt,insertStaticContent:m}=e,y=(g,b,S,M=null,P=null,O=null,j=void 0,N=null,$=!!b.dynamicChildren)=>{if(g===b)return;g&&!et(g,b)&&(M=x(g),De(g,P,O,!0),g=null),b.patchFlag===-2&&($=!1,b.dynamicChildren=null);const{type:I,ref:X,shapeFlag:U}=b;switch(I){case rn:C(g,b,S,M);break;case be:E(g,b,S,M);break;case Jn:g==null&&v(b,S,M,j);break;case ke:L(g,b,S,M,P,O,j,N,$);break;default:U&1?w(g,b,S,M,P,O,j,N,$):U&6?W(g,b,S,M,P,O,j,N,$):(U&64||U&128)&&I.process(g,b,S,M,P,O,j,N,$,J)}X!=null&&P?En(X,g&&g.ref,O,b||g,!b):X==null&&g&&g.ref!=null&&En(g.ref,null,O,g,!0)},C=(g,b,S,M)=>{if(g==null)r(b.el=a(b.children),S,M);else{const P=b.el=g.el;b.children!==g.children&&f(P,b.children)}},E=(g,b,S,M)=>{g==null?r(b.el=l(b.children||""),S,M):b.el=g.el},v=(g,b,S,M)=>{[g.el,g.anchor]=m(g.children,b,S,M,g.el,g.anchor)},p=({el:g,anchor:b},S,M)=>{let P;for(;g&&g!==b;)P=h(g),r(g,S,M),g=P;r(b,S,M)},_=({el:g,anchor:b})=>{let S;for(;g&&g!==b;)S=h(g),s(g),g=S;s(b)},w=(g,b,S,M,P,O,j,N,$)=>{if(b.type==="svg"?j="svg":b.type==="math"&&(j="mathml"),g==null)k(b,S,M,P,O,j,N,$);else{const I=g.el&&g.el._isVueCE?g.el:null;try{I&&I._beginPatch(),R(g,b,P,O,j,N,$)}finally{I&&I._endPatch()}}},k=(g,b,S,M,P,O,j,N)=>{let $,I;const{props:X,shapeFlag:U,transition:z,dirs:Q}=g;if($=g.el=i(g.type,O,X&&X.is,X),U&8?c($,g.children):U&16&&D(g.children,$,null,M,P,vs(g,O),j,N),Q&&ct(g,null,M,"created"),A($,g,g.scopeId,j,M),X){for(const ue in X)ue!=="value"&&!en(ue)&&o($,ue,null,X[ue],O,M);"value"in X&&o($,"value",null,X.value,O),(I=X.onVnodeBeforeMount)&&$e(I,M,g)}Q&&ct(g,null,M,"beforeMount");const re=Il(P,z);re&&z.beforeEnter($),r($,b,S),((I=X&&X.onVnodeMounted)||re||Q)&&Se(()=>{I&&$e(I,M,g),re&&z.enter($),Q&&ct(g,null,M,"mounted")},P)},A=(g,b,S,M,P)=>{if(S&&d(g,S),M)for(let O=0;O{for(let I=$;I{const N=b.el=g.el;let{patchFlag:$,dynamicChildren:I,dirs:X}=b;$|=g.patchFlag&16;const U=g.props||fe,z=b.props||fe;let Q;if(S&&zt(S,!1),(Q=z.onVnodeBeforeUpdate)&&$e(Q,S,b,g),X&&ct(b,g,S,"beforeUpdate"),S&&zt(S,!0),(U.innerHTML&&z.innerHTML==null||U.textContent&&z.textContent==null)&&c(N,""),I?T(g.dynamicChildren,I,N,S,M,vs(b,P),O):j||V(g,b,N,null,S,M,vs(b,P),O,!1),$>0){if($&16)H(N,U,z,S,P);else if($&2&&U.class!==z.class&&o(N,"class",null,z.class,P),$&4&&o(N,"style",U.style,z.style,P),$&8){const re=b.dynamicProps;for(let ue=0;ue{Q&&$e(Q,S,b,g),X&&ct(b,g,S,"updated")},M)},T=(g,b,S,M,P,O,j)=>{for(let N=0;N{if(b!==S){if(b!==fe)for(const O in b)!en(O)&&!(O in S)&&o(g,O,b[O],null,P,M);for(const O in S){if(en(O))continue;const j=S[O],N=b[O];j!==N&&O!=="value"&&o(g,O,N,j,P,M)}"value"in S&&o(g,"value",b.value,S.value,P)}},L=(g,b,S,M,P,O,j,N,$)=>{const I=b.el=g?g.el:a(""),X=b.anchor=g?g.anchor:a("");let{patchFlag:U,dynamicChildren:z,slotScopeIds:Q}=b;Q&&(N=N?N.concat(Q):Q),g==null?(r(I,S,M),r(X,S,M),D(b.children||[],S,X,P,O,j,N,$)):U>0&&U&64&&z&&g.dynamicChildren&&g.dynamicChildren.length===z.length?(T(g.dynamicChildren,z,S,P,O,j,N),(b.key!=null||P&&b===P.subTree)&&Ll(g,b,!0)):V(g,b,S,X,P,O,j,N,$)},W=(g,b,S,M,P,O,j,N,$)=>{b.slotScopeIds=N,g==null?b.shapeFlag&512?P.ctx.activate(b,S,M,j,$):Z(b,S,M,P,O,j,$):te(g,b,$)},Z=(g,b,S,M,P,O,j)=>{const N=g.component=Zf(g,M,P);if(ur(g)&&(N.ctx.renderer=J),ed(N,!1,j),N.asyncDep){if(P&&P.registerDep(N,F,j),!g.el){const $=N.subTree=ye(be);E(null,$,b,S),g.placeholder=$.el}}else F(N,g,b,S,P,O,j)},te=(g,b,S)=>{const M=b.component=g.component;if(Mf(g,b,S))if(M.asyncDep&&!M.asyncResolved){q(M,b,S);return}else M.next=b,M.update();else b.el=g.el,M.vnode=b},F=(g,b,S,M,P,O,j)=>{const N=()=>{if(g.isMounted){let{next:U,bu:z,u:Q,parent:re,vnode:ue}=g;{const Ne=Dl(g);if(Ne){U&&(U.el=ue.el,q(g,U,j)),Ne.asyncDep.then(()=>{Se(()=>{g.isUnmounted||I()},P)});return}}let ce=U,_e;zt(g,!1),U?(U.el=ue.el,q(g,U,j)):U=ue,z&&vn(z),(_e=U.props&&U.props.onVnodeBeforeUpdate)&&$e(_e,re,U,ue),zt(g,!0);const we=bs(g),Qe=g.subTree;g.subTree=we,y(Qe,we,u(Qe.el),x(Qe),g,P,O),U.el=we.el,ce===null&&is(g,we.el),Q&&Se(Q,P),(_e=U.props&&U.props.onVnodeUpdated)&&Se(()=>$e(_e,re,U,ue),P)}else{let U;const{el:z,props:Q}=b,{bm:re,m:ue,parent:ce,root:_e,type:we}=g,Qe=Ct(b);if(zt(g,!1),re&&vn(re),!Qe&&(U=Q&&Q.onVnodeBeforeMount)&&$e(U,ce,b),zt(g,!0),z&&ge){const Ne=()=>{g.subTree=bs(g),ge(z,g.subTree,g,P,null)};Qe&&we.__asyncHydrate?we.__asyncHydrate(z,g,Ne):Ne()}else{_e.ce&&_e.ce._hasShadowRoot()&&_e.ce._injectChildStyle(we,g.parent?g.parent.type:void 0);const Ne=g.subTree=bs(g);y(null,Ne,S,M,g,P,O),b.el=Ne.el}if(ue&&Se(ue,P),!Qe&&(U=Q&&Q.onVnodeMounted)){const Ne=b;Se(()=>$e(U,ce,Ne),P)}(b.shapeFlag&256||ce&&Ct(ce.vnode)&&ce.vnode.shapeFlag&256)&&g.a&&Se(g.a,P),g.isMounted=!0,b=S=M=null}};g.scope.on();const $=g.effect=new La(N);g.scope.off();const I=g.update=$.run.bind($),X=g.job=$.runIfDirty.bind($);X.i=g,X.id=g.uid,$.scheduler=()=>Ro(X),zt(g,!0),I()},q=(g,b,S)=>{b.component=g;const M=g.vnode.props;g.vnode=b,g.next=null,Lf(g,b.props,M,S),Nf(g,b.children,S),Pt(),Qo(g),At()},V=(g,b,S,M,P,O,j,N,$=!1)=>{const I=g&&g.children,X=g?g.shapeFlag:0,U=b.children,{patchFlag:z,shapeFlag:Q}=b;if(z>0){if(z&128){Mt(I,U,S,M,P,O,j,N,$);return}else if(z&256){le(I,U,S,M,P,O,j,N,$);return}}Q&8?(X&16&&Ke(I,P,O),U!==I&&c(S,U)):X&16?Q&16?Mt(I,U,S,M,P,O,j,N,$):Ke(I,P,O,!0):(X&8&&c(S,""),Q&16&&D(U,S,M,P,O,j,N,$))},le=(g,b,S,M,P,O,j,N,$)=>{g=g||_n,b=b||_n;const I=g.length,X=b.length,U=Math.min(I,X);let z;for(z=0;zX?Ke(g,P,O,!0,!1,U):D(b,S,M,P,O,j,N,$,U)},Mt=(g,b,S,M,P,O,j,N,$)=>{let I=0;const X=b.length;let U=g.length-1,z=X-1;for(;I<=U&&I<=z;){const Q=g[I],re=b[I]=$?wt(b[I]):Fe(b[I]);if(et(Q,re))y(Q,re,S,null,P,O,j,N,$);else break;I++}for(;I<=U&&I<=z;){const Q=g[U],re=b[z]=$?wt(b[z]):Fe(b[z]);if(et(Q,re))y(Q,re,S,null,P,O,j,N,$);else break;U--,z--}if(I>U){if(I<=z){const Q=z+1,re=Qz)for(;I<=U;)De(g[I],P,O,!0),I++;else{const Q=I,re=I,ue=new Map;for(I=re;I<=z;I++){const je=b[I]=$?wt(b[I]):Fe(b[I]);je.key!=null&&ue.set(je.key,I)}let ce,_e=0;const we=z-re+1;let Qe=!1,Ne=0;const $n=new Array(we);for(I=0;I=we){De(je,P,O,!0);continue}let at;if(je.key!=null)at=ue.get(je.key);else for(ce=re;ce<=z;ce++)if($n[ce-re]===0&&et(je,b[ce])){at=ce;break}at===void 0?De(je,P,O,!0):($n[at-re]=I+1,at>=Ne?Ne=at:Qe=!0,y(je,b[at],S,null,P,O,j,N,$),_e++)}const Wo=Qe?Bf($n):_n;for(ce=Wo.length-1,I=we-1;I>=0;I--){const je=re+I,at=b[je],qo=b[je+1],zo=je+1{const{el:O,type:j,transition:N,children:$,shapeFlag:I}=g;if(I&6){it(g.component.subTree,b,S,M);return}if(I&128){g.suspense.move(b,S,M);return}if(I&64){j.move(g,b,S,J);return}if(j===ke){r(O,b,S);for(let U=0;U<$.length;U++)it($[U],b,S,M);r(g.anchor,b,S);return}if(j===Jn){p(g,b,S);return}if(M!==2&&I&1&&N)if(M===0)N.persisted&&!O[ze]?r(O,b,S):(N.beforeEnter(O),r(O,b,S),Se(()=>N.enter(O),P));else{const{leave:U,delayLeave:z,afterLeave:Q}=N,re=()=>{g.ctx.isUnmounted?s(O):r(O,b,S)},ue=()=>{const ce=O._isLeaving||!!O[ze];O._isLeaving&&O[ze](!0),N.persisted&&!ce?re():U(O,()=>{re(),Q&&Q()})};z?z(O,re,ue):ue()}else r(O,b,S)},De=(g,b,S,M=!1,P=!1)=>{const{type:O,props:j,ref:N,children:$,dynamicChildren:I,shapeFlag:X,patchFlag:U,dirs:z,cacheIndex:Q,memo:re}=g;if(U===-2&&(P=!1),N!=null&&(Pt(),En(N,null,S,g,!0),At()),Q!=null&&(b.renderCache[Q]=void 0),X&256){b.ctx.deactivate(g);return}const ue=X&1&&z,ce=!Ct(g);let _e;if(ce&&(_e=j&&j.onVnodeBeforeUnmount)&&$e(_e,b,g),X&6)qt(g.component,S,M);else{if(X&128){g.suspense.unmount(S,M);return}ue&&ct(g,null,b,"beforeUnmount"),X&64?g.type.remove(g,b,S,J,M):I&&!I.hasOnce&&(O!==ke||U>0&&U&64)?Ke(I,b,S,!1,!0):(O===ke&&U&384||!P&&X&16)&&Ke($,b,S),M&&ln(g)}const we=re!=null&&Q==null;(ce&&(_e=j&&j.onVnodeUnmounted)||ue||we)&&Se(()=>{_e&&$e(_e,b,g),ue&&ct(g,null,b,"unmounted"),we&&(g.el=null)},S)},ln=g=>{const{type:b,el:S,anchor:M,transition:P}=g;if(b===ke){cn(S,M);return}if(b===Jn){_(g);return}const O=()=>{s(S),P&&!P.persisted&&P.afterLeave&&P.afterLeave()};if(g.shapeFlag&1&&P&&!P.persisted){const{leave:j,delayLeave:N}=P,$=()=>j(S,O);N?N(g.el,O,$):$()}else O()},cn=(g,b)=>{let S;for(;g!==b;)S=h(g),s(g),g=S;s(b)},qt=(g,b,S)=>{const{bum:M,scope:P,job:O,subTree:j,um:N,m:$,a:I}=g;Dr($),Dr(I),M&&vn(M),P.stop(),O&&(O.flags|=8,De(j,g,b,S)),N&&Se(N,b),Se(()=>{g.isUnmounted=!0},b)},Ke=(g,b,S,M=!1,P=!1,O=0)=>{for(let j=O;j{if(g.shapeFlag&6)return x(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const b=h(g.anchor||g.el),S=b&&b[ef];return S?h(S):b};let K=!1;const B=(g,b,S)=>{let M;g==null?b._vnode&&(De(b._vnode,null,null,!0),M=b._vnode.component):y(b._vnode||null,g,b,null,null,null,S),b._vnode=g,K||(K=!0,Qo(M),kr(),K=!1)},J={p:y,um:De,m:it,r:ln,mt:Z,mc:D,pc:V,pbc:T,n:x,o:e};let ee,ge;return t&&([ee,ge]=t(J)),{render:B,hydrate:ee,createApp:Rf(B,ee)}}function vs({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function zt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Il(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ll(e,t,n=!1){const r=e.children,s=t.children;if(G(r)&&G(s))for(let o=0;o>1,e[n[a]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function Dl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Dl(t)}function Dr(e){if(e)for(let t=0;te.__isSuspense;let Vs=0;const Uf={name:"Suspense",__isSuspense:!0,process(e,t,n,r,s,o,i,a,l,f){if(e==null)Vf(t,n,r,s,o,i,a,l,f);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}Kf(e,t,n,r,s,i,a,l,f)}},hydrate:Wf,normalize:qf},Mo=Uf;function or(e,t){const n=e.props&&e.props[t];Y(n)&&n()}function Vf(e,t,n,r,s,o,i,a,l){const{p:f,o:{createElement:c}}=l,u=c("div"),h=e.suspense=Hl(e,s,r,t,u,n,o,i,a,l);f(null,h.pendingBranch=e.ssContent,u,null,r,h,o,i),h.deps>0?(or(e,"onPending"),or(e,"onFallback"),f(null,e.ssFallback,t,n,r,null,o,i),Sn(h,e.ssFallback)):h.resolve(!1,!0)}function Kf(e,t,n,r,s,o,i,a,{p:l,um:f,o:{createElement:c}}){const u=t.suspense=e.suspense;u.vnode=t,t.el=e.el;const h=t.ssContent,d=t.ssFallback,{activeBranch:m,pendingBranch:y,isInFallback:C,isHydrating:E}=u;if(y)u.pendingBranch=h,et(y,h)?(l(y,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0?u.resolve():C&&(E||(l(m,d,n,r,s,null,o,i,a),Sn(u,d)))):(u.pendingId=Vs++,E?(u.isHydrating=!1,u.activeBranch=y):f(y,s,u),u.deps=0,u.effects.length=0,u.hiddenContainer=c("div"),C?(l(null,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0?u.resolve():(l(m,d,n,r,s,null,o,i,a),Sn(u,d))):m&&et(m,h)?(l(m,h,n,r,s,u,o,i,a),u.resolve(!0)):(l(null,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0&&u.resolve()));else if(m&&et(m,h))l(m,h,n,r,s,u,o,i,a),Sn(u,h);else if(or(t,"onPending"),u.pendingBranch=h,h.shapeFlag&512?u.pendingId=h.component.suspenseId:u.pendingId=Vs++,l(null,h,u.hiddenContainer,null,s,u,o,i,a),u.deps<=0)u.resolve();else{const{timeout:v,pendingId:p}=u;v>0?setTimeout(()=>{u.pendingId===p&&u.fallback(d)},v):v===0&&u.fallback(d)}}function Hl(e,t,n,r,s,o,i,a,l,f,c=!1){const{p:u,m:h,um:d,n:m,o:{parentNode:y,remove:C}}=f;let E;const v=zf(e);v&&t&&t.pendingBranch&&(E=t.pendingId,t.deps++);const p=e.props?Aa(e.props.timeout):void 0,_=o,w={vnode:e,parent:t,parentComponent:n,namespace:i,container:r,hiddenContainer:s,deps:0,pendingId:Vs++,timeout:typeof p=="number"?p:-1,activeBranch:null,isFallbackMountPending:!1,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(k=!1,A=!1){const{vnode:D,activeBranch:R,pendingBranch:T,pendingId:H,effects:L,parentComponent:W,container:Z,isInFallback:te}=w;let F=!1;if(w.isHydrating)w.isHydrating=!1;else if(!k){F=R&&T.transition&&T.transition.mode==="out-in";let le=!1;F&&(R.transition.afterLeave=()=>{H===w.pendingId&&(h(T,Z,o===_&&!le?m(R):o,0),rr(L),te&&D.ssFallback&&(D.ssFallback.el=null))}),R&&!w.isFallbackMountPending&&(y(R.el)===Z&&(o=m(R),le=!0),d(R,W,w,!0),!F&&te&&D.ssFallback&&Se(()=>D.ssFallback.el=null,w)),F||h(T,Z,o,0)}w.isFallbackMountPending=!1,Sn(w,T),w.pendingBranch=null,w.isInFallback=!1;let q=w.parent,V=!1;for(;q;){if(q.pendingBranch){q.effects.push(...L),V=!0;break}q=q.parent}!V&&!F&&rr(L),w.effects=[],v&&t&&t.pendingBranch&&E===t.pendingId&&(t.deps--,t.deps===0&&!A&&t.resolve()),or(D,"onResolve")},fallback(k){if(!w.pendingBranch)return;const{vnode:A,activeBranch:D,parentComponent:R,container:T,namespace:H}=w;or(A,"onFallback");const L=m(D),W=()=>{w.isFallbackMountPending=!1,w.isInFallback&&(u(null,k,T,L,R,null,H,a,l),Sn(w,k))},Z=k.transition&&k.transition.mode==="out-in";Z&&(w.isFallbackMountPending=!0,D.transition.afterLeave=W),w.isInFallback=!0,d(D,R,null,!0),Z||W()},move(k,A,D){w.activeBranch&&h(w.activeBranch,k,A,D),w.container=k},next(){return w.activeBranch&&m(w.activeBranch)},registerDep(k,A,D){const R=!!w.pendingBranch;R&&w.deps++;const T=k.vnode.el;k.asyncDep.catch(H=>{Ln(H,k,0)}).then(H=>{if(k.isUnmounted||w.isUnmounted||w.pendingId!==k.suspenseId)return;Ws(),k.asyncResolved=!0;const{vnode:L}=k;qs(k,H),T&&(L.el=T);const W=!T&&k.subTree.el;A(k,L,y(T||k.subTree.el),T?null:m(k.subTree),w,i,D),W&&(L.placeholder=null,C(W)),is(k,L.el),R&&--w.deps===0&&w.resolve()})},unmount(k,A){w.isUnmounted=!0,w.activeBranch&&d(w.activeBranch,n,k,A),w.pendingBranch&&d(w.pendingBranch,n,k,A)}};return w}function Wf(e,t,n,r,s,o,i,a,l){const f=t.suspense=Hl(t,r,n,e.parentNode,document.createElement("div"),null,s,o,i,a,!0),c=l(e,f.pendingBranch=t.ssContent,n,f,o,i);return f.deps===0&&f.resolve(!1,!0),c}function qf(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=fi(r?n.default:n),e.ssFallback=r?fi(n.fallback):ye(be)}function fi(e){let t;if(Y(e)){const n=Cn&&e._c;n&&(e._d=!1,Ge()),e=e(),n&&(e._d=!0,t=He,jl())}return G(e)&&(e=xf(e)),e=Fe(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function Nl(e,t){t&&t.pendingBranch?G(e)?t.effects.push(...e):t.effects.push(e):rr(e)}function Sn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,r&&r.subTree===n&&(r.vnode.el=s,is(r,s))}function zf(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const ke=Symbol.for("v-fgt"),rn=Symbol.for("v-txt"),be=Symbol.for("v-cmt"),Jn=Symbol.for("v-stc"),Xn=[];let He=null;function Ge(e=!1){Xn.push(He=e?null:[])}function jl(){Xn.pop(),He=Xn[Xn.length-1]||null}let Cn=1;function Hr(e,t=!1){Cn+=e,e<0&&He&&t&&(He.hasOnce=!0)}function Fl(e){return e.dynamicChildren=Cn>0?He||_n:null,jl(),Cn>0&&He&&He.push(e),e}function Gf(e,t,n,r,s,o){return Fl(Ul(e,t,n,r,s,o,!0))}function ht(e,t,n,r,s){return Fl(ye(e,t,n,r,s,!0))}function sn(e){return e?e.__v_isVNode===!0:!1}function et(e,t){return e.type===t.type&&e.key===t.key}const Bl=({key:e})=>e??null,Rr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?he(e)||pe(e)||Y(e)?{i:Ae,r:e,k:t,f:!!n}:e:null);function Ul(e,t=null,n=null,r=0,s=null,o=e===ke?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Bl(t),ref:t&&Rr(t),scopeId:tl,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Ae};return a?(Io(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=he(n)?8:16),Cn>0&&!i&&He&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&He.push(l),l}const ye=Jf;function Jf(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===ml)&&(e=be),sn(e)){const a=kt(e,t,!0);return n&&Io(a,n),Cn>0&&!o&&He&&(a.shapeFlag&6?He[He.indexOf(e)]=a:He.push(a)),a.patchFlag=-2,a}if(sd(e)&&(e=e.__vccOpts),t){t=Vl(t);let{class:a,style:l}=t;a&&!he(a)&&(t.class=Qr(a)),se(l)&&(ts(l)&&!G(l)&&(l=Te({},l)),t.style=Yr(l))}const i=he(e)?1:$r(e)?128:rl(e)?64:se(e)?4:Y(e)?2:0;return Ul(e,t,n,r,s,i,o,!0)}function Vl(e){return e?ts(e)||Cl(e)?Te({},e):e:null}function kt(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:a,transition:l}=e,f=t?Wl(s||{},t):s,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&Bl(f),ref:t&&t.ref?n&&o?G(o)?o.concat(Rr(t)):[o,Rr(t)]:Rr(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ke?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&kt(e.ssContent),ssFallback:e.ssFallback&&kt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&Rn(c,l.clone(c)),c}function Kl(e=" ",t=0){return ye(rn,null,e,t)}function Qy(e,t){const n=ye(Jn,null,e);return n.staticCount=t,n}function Xf(e="",t=!1){return t?(Ge(),ht(be,null,e)):ye(be,null,e)}function Fe(e){return e==null||typeof e=="boolean"?ye(be):G(e)?ye(ke,null,e.slice()):sn(e)?wt(e):ye(rn,null,String(e))}function wt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:kt(e)}function Io(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(G(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Io(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Cl(t)?t._ctx=Ae:s===3&&Ae&&(Ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Y(t)?(t={default:t,_ctx:Ae},n=32):(t=String(t),r&64?(n=16,t=[Kl(t)]):n=8);e.children=t,e.shapeFlag|=n}function Wl(...e){const t={};for(let n=0;nPe||Ae;let Nr,Ks;{const e=Xr(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Nr=t("__VUE_INSTANCE_SETTERS__",n=>Pe=n),Ks=t("__VUE_SSR_SETTERS__",n=>Pn=n)}const dr=e=>{const t=Pe;return Nr(e),e.scope.on(),()=>{e.scope.off(),Nr(t)}},Ws=()=>{Pe&&Pe.scope.off(),Nr(null)};function ql(e){return e.vnode.shapeFlag&4}let Pn=!1;function ed(e,t=!1,n=!1){t&&Ks(t);const{props:r,children:s}=e.vnode,o=ql(e);If(e,r,o,t),Hf(e,s,n||t);const i=o?td(e,t):void 0;return t&&Ks(!1),i}function td(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_f);const{setup:r}=n;if(r){Pt();const s=e.setupContext=r.length>1?rd(e):null,o=dr(e),i=cr(r,e,0,[e.props,s]),a=Ra(i);if(At(),o(),(a||e.sp)&&!Ct(e)&&Ao(e),a){if(i.then(Ws,Ws),t)return i.then(l=>{qs(e,l)}).catch(l=>{Ln(l,e,0)});e.asyncDep=i}else qs(e,i)}else zl(e)}function qs(e,t,n){Y(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:se(t)&&(e.setupState=Ja(t)),zl(e)}function zl(e,t,n){const r=e.type;e.render||(e.render=r.render||pt);{const s=dr(e);Pt();try{bf(e)}finally{At(),s()}}}const nd={get(e,t){return xe(e,"get",""),e[t]}};function rd(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,nd),slots:e.slots,emit:e.emit,expose:t}}function as(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ja(To(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}})):e.proxy}function zs(e,t=!0){return Y(e)?e.displayName||e.name:e.name||t&&e.__name}function sd(e){return Y(e)&&"__vccOpts"in e}const Re=(e,t)=>Wu(e,t,Pn);function Oe(e,t,n){try{Hr(-1);const r=arguments.length;return r===2?se(t)&&!G(t)?sn(t)?ye(e,null,[t]):ye(e,t):ye(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&sn(n)&&(n=[n]),ye(e,t,n))}finally{Hr(1)}}const od="3.5.38";let Gs;const di=typeof window<"u"&&window.trustedTypes;if(di)try{Gs=di.createPolicy("vue",{createHTML:e=>e})}catch{}const Gl=Gs?e=>Gs.createHTML(e):e=>e,id="http://www.w3.org/2000/svg",ad="http://www.w3.org/1998/Math/MathML",vt=typeof document<"u"?document:null,hi=vt&&vt.createElement("template"),ld={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?vt.createElementNS(id,e):t==="mathml"?vt.createElementNS(ad,e):n?vt.createElement(e,{is:n}):vt.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>vt.createTextNode(e),createComment:e=>vt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>vt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{hi.innerHTML=Gl(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=hi.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},It="transition",jn="animation",ir=Symbol("_vtc"),Jl={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},cd=Te({},sl,Jl),ud=e=>(e.displayName="Transition",e.props=cd,e),fd=ud((e,{slots:t})=>Oe(rf,dd(e),t)),Gt=(e,t=[])=>{G(e)?e.forEach(n=>n(...t)):e&&e(...t)},pi=e=>e?G(e)?e.some(t=>t.length>1):e.length>1:!1;function dd(e){const t={};for(const L in e)L in Jl||(t[L]=e[L]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:f=i,appearToClass:c=a,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:d=`${n}-leave-to`}=e,m=hd(s),y=m&&m[0],C=m&&m[1],{onBeforeEnter:E,onEnter:v,onEnterCancelled:p,onLeave:_,onLeaveCancelled:w,onBeforeAppear:k=E,onAppear:A=v,onAppearCancelled:D=p}=t,R=(L,W,Z,te)=>{L._enterCancelled=te,Jt(L,W?c:a),Jt(L,W?f:i),Z&&Z()},T=(L,W)=>{L._isLeaving=!1,Jt(L,u),Jt(L,d),Jt(L,h),W&&W()},H=L=>(W,Z)=>{const te=L?A:v,F=()=>R(W,L,Z);Gt(te,[W,F]),gi(()=>{Jt(W,L?l:o),_t(W,L?c:a),pi(te)||mi(W,r,y,F)})};return Te(t,{onBeforeEnter(L){Gt(E,[L]),_t(L,o),_t(L,i)},onBeforeAppear(L){Gt(k,[L]),_t(L,l),_t(L,f)},onEnter:H(!1),onAppear:H(!0),onLeave(L,W){L._isLeaving=!0;const Z=()=>T(L,W);_t(L,u),L._enterCancelled?(_t(L,h),bi(L)):(bi(L),_t(L,h)),gi(()=>{L._isLeaving&&(Jt(L,u),_t(L,d),pi(_)||mi(L,r,C,Z))}),Gt(_,[L,Z])},onEnterCancelled(L){R(L,!1,void 0,!0),Gt(p,[L])},onAppearCancelled(L){R(L,!0,void 0,!0),Gt(D,[L])},onLeaveCancelled(L){T(L),Gt(w,[L])}})}function hd(e){if(e==null)return null;if(se(e))return[ws(e.enter),ws(e.leave)];{const t=ws(e);return[t,t]}}function ws(e){return Aa(e)}function _t(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[ir]||(e[ir]=new Set)).add(t)}function Jt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[ir];n&&(n.delete(t),n.size||(e[ir]=void 0))}function gi(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let pd=0;function mi(e,t,n,r){const s=e._endId=++pd,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:i,timeout:a,propCount:l}=gd(e,t);if(!i)return r();const f=i+"end";let c=0;const u=()=>{e.removeEventListener(f,h),o()},h=d=>{d.target===e&&++c>=l&&u()};setTimeout(()=>{c(n[m]||"").split(", "),s=r(`${It}Delay`),o=r(`${It}Duration`),i=yi(s,o),a=r(`${jn}Delay`),l=r(`${jn}Duration`),f=yi(a,l);let c=null,u=0,h=0;t===It?i>0&&(c=It,u=i,h=o.length):t===jn?f>0&&(c=jn,u=f,h=l.length):(u=Math.max(i,f),c=u>0?i>f?It:jn:null,h=c?c===It?o.length:l.length:0);const d=c===It&&/\b(?:transform|all)(?:,|$)/.test(r(`${It}Property`).toString());return{type:c,timeout:u,propCount:h,hasTransform:d}}function yi(e,t){for(;e.length_i(n)+_i(e[r])))}function _i(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function bi(e){return(e?e.ownerDocument:document).body.offsetHeight}function md(e,t,n){const r=e[ir];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const jr=Symbol("_vod"),Xl=Symbol("_vsh"),Zy={name:"show",beforeMount(e,{value:t},{transition:n}){e[jr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Fn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Fn(e,!0),r.enter(e)):r.leave(e,()=>{Fn(e,!1)}):Fn(e,t))},beforeUnmount(e,{value:t}){Fn(e,t)}};function Fn(e,t){e.style.display=t?e[jr]:"none",e[Xl]=!t}const yd=Symbol(""),_d=/(?:^|;)\s*display\s*:/;function bd(e,t,n){const r=e.style,s=he(n);let o=!1;if(n&&!s){if(t)if(he(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&Wn(r,a,"")}else for(const i in t)n[i]==null&&Wn(r,i,"");for(const i in n){i==="display"&&(o=!0);const a=n[i];a!=null?wd(e,i,!he(t)&&t?t[i]:void 0,a)||Wn(r,i,a):Wn(r,i,"")}}else if(s){if(t!==n){const i=r[yd];i&&(n+=";"+i),r.cssText=n,o=_d.test(n)}}else t&&e.removeAttribute("style");jr in e&&(e[jr]=o?r.display:"",e[Xl]&&(r.display="none"))}const vi=/\s*!important$/;function Wn(e,t,n){if(G(n))n.forEach(r=>Wn(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=vd(e,t);vi.test(n)?e.setProperty(Kt(r),n.replace(vi,""),"important"):e[r]=n}}const wi=["Webkit","Moz","ms"],Es={};function vd(e,t){const n=Es[t];if(n)return n;let r=Le(t);if(r!=="filter"&&r in e)return Es[t]=r;r=Gr(r);for(let s=0;sSs||(Rd.then(()=>Ss=0),Ss=Date.now());function Pd(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;const s=n.value;if(G(s)){const o=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{o.call(r),r._stopped=!0};const i=s.slice(),a=[r];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ad=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?md(e,r,i):t==="style"?bd(e,n,r):lr(t)?Wr(t)||Sd(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):xd(e,t,r,i))?(Ti(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Si(e,t,r,i,o,t!=="value")):e._isVueCE&&(kd(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!he(r)))?Ti(e,Le(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Si(e,t,r,i))};function xd(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Pi(t)&&Y(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Pi(t)&&he(n)?!1:t in e}function kd(e,t){const n=e._def.props;if(!n)return!1;const r=Le(t);return Array.isArray(n)?n.some(s=>Le(s)===r):Object.keys(n).some(s=>Le(s)===r)}const Vt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return G(t)?n=>vn(t,n):t};function Od(e){e.target.composing=!0}function Ai(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Je=Symbol("_assign");function xi(e,t,n){return t&&(e=e.trim()),n&&(e=Jr(e)),e}const ki={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Je]=Vt(s);const o=r||s.props&&s.props.type==="number";Tt(e,t?"change":"input",i=>{i.target.composing||e[Je](xi(e.value,n,o))}),(n||o)&&Tt(e,"change",()=>{e.value=xi(e.value,n,o)}),t||(Tt(e,"compositionstart",Od),Tt(e,"compositionend",Ai),Tt(e,"change",Ai))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[Je]=Vt(i),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?Jr(e.value):e.value,l=t??"";if(a===l)return;const f=e.getRootNode();(f instanceof Document||f instanceof ShadowRoot)&&f.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===l)||(e.value=l)}},Md={deep:!0,created(e,t,n){e[Je]=Vt(n),Tt(e,"change",()=>{const r=e._modelValue,s=An(e),o=e.checked,i=e[Je];if(G(r)){const a=mo(r,s),l=a!==-1;if(o&&!l)i(r.concat(s));else if(!o&&l){const f=[...r];f.splice(a,1),i(f)}}else if(Mn(r)){const a=new Set(r);o?a.add(s):a.delete(s),i(a)}else i(Yl(e,o))})},mounted:Oi,beforeUpdate(e,t,n){e[Je]=Vt(n),Oi(e,t,n)}};function Oi(e,{value:t,oldValue:n},r){e._modelValue=t;let s;if(G(t))s=mo(t,r.props.value)>-1;else if(Mn(t))s=t.has(r.props.value);else{if(t===n)return;s=Bt(t,Yl(e,!0))}e.checked!==s&&(e.checked=s)}const Id={created(e,{value:t},n){e.checked=Bt(t,n.props.value),e[Je]=Vt(n),Tt(e,"change",()=>{e[Je](An(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Je]=Vt(r),t!==n&&(e.checked=Bt(t,r.props.value))}},Ld={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=Mn(t);Tt(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Jr(An(i)):An(i));e[Je](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,xt(()=>{e._assigning=!1})}),e[Je]=Vt(r)},mounted(e,{value:t}){Mi(e,t)},beforeUpdate(e,t,n){e[Je]=Vt(n)},updated(e,{value:t}){e._assigning||Mi(e,t)}};function Mi(e,t){const n=e.multiple,r=G(t);if(!(n&&!r&&!Mn(t))){for(let s=0,o=e.options.length;sString(f)===String(a)):i.selected=mo(t,a)>-1}else i.selected=t.has(a);else if(Bt(An(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function An(e){return"_value"in e?e._value:e.value}function Yl(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const e_={created(e,t,n){vr(e,t,n,null,"created")},mounted(e,t,n){vr(e,t,n,null,"mounted")},beforeUpdate(e,t,n,r){vr(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){vr(e,t,n,r,"updated")}};function Dd(e,t){switch(e){case"SELECT":return Ld;case"TEXTAREA":return ki;default:switch(t){case"checkbox":return Md;case"radio":return Id;default:return ki}}}function vr(e,t,n,r,s){const i=Dd(e.tagName,n.props&&n.props.type)[s];i&&i(e,t,n,r)}const $d=["ctrl","shift","alt","meta"],Hd={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>$d.some(n=>e[`${n}Key`]&&!t.includes(n))},t_=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=((s,...o)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=(s=>{if(!("key"in s))return;const o=Kt(s.key);if(t.some(i=>i===o||Nd[i]===o))return e(s)}))},Ql=Te({patchProp:Ad},ld);let Yn,Ii=!1;function jd(){return Yn||(Yn=jf(Ql))}function Fd(){return Yn=Ii?Yn:Ff(Ql),Ii=!0,Yn}const Bd=((...e)=>{const t=jd().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ec(r);if(!s)return;const o=t._component;!Y(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,Zl(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t}),Ud=((...e)=>{const t=Fd().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=ec(r);if(s)return n(s,!0,Zl(s))},t});function Zl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ec(e){return he(e)?document.querySelector(e):e}const Vd=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,Kd=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,Wd=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function qd(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){zd(e);return}return t}function zd(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Gd(e,t={}){if(typeof e!="string")return e;if(e[0]==='"'&&e[e.length-1]==='"'&&e.indexOf("\\")===-1)return e.slice(1,-1);const n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!Wd.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(Vd.test(e)||Kd.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,qd)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const tc=/#/g,nc=/&/g,Jd=/\//g,Xd=/=/g,Yd=/\?/g,ls=/\+/g,Qd=/%5e/gi,Zd=/%60/gi,eh=/%7c/gi,th=/%20/gi,nh=/%2f/gi,rh=/%252f/gi;function rc(e){return encodeURI(""+e).replace(eh,"|")}function Js(e){return rc(typeof e=="string"?e:JSON.stringify(e)).replace(ls,"%2B").replace(th,"+").replace(tc,"%23").replace(nc,"%26").replace(Zd,"`").replace(Qd,"^").replace(Jd,"%2F")}function Ts(e){return Js(e).replace(Xd,"%3D")}function sh(e){return rc(e).replace(tc,"%23").replace(Yd,"%3F").replace(rh,"%2F").replace(nc,"%26").replace(ls,"%2B")}function ar(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function oh(e){return ar(e.replace(nh,"%252F"))}function ih(e){return ar(e.replace(ls," "))}function ah(e){return ar(e.replace(ls," "))}function sc(e=""){const t=Object.create(null);e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const s=ih(r[1]);if(s==="__proto__"||s==="constructor")continue;const o=ah(r[2]||"");t[s]===void 0?t[s]=o:Array.isArray(t[s])?t[s].push(o):t[s]=[t[s],o]}return t}function lh(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${Ts(e)}=${Js(n)}`).join("&"):`${Ts(e)}=${Js(t)}`:Ts(e)}function ch(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>lh(t,e[t])).filter(Boolean).join("&")}const uh=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,fh=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,dh=/^([/\\]\s*){2,}[^/\\]/,hh=/^[\s\0]*(blob|data|javascript|vbscript):$/i,ph=/\/$|\/\?|\/#/,gh=/^\.?\//;function Dn(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?uh.test(e):fh.test(e)||(t.acceptRelative?dh.test(e):!1)}function Xs(e){return!!e&&hh.test(e)}function Ys(e="",t){return t?ph.test(e):e.endsWith("/")}function Fr(e="",t){if(!t)return(Ys(e)?e.slice(0,-1):e)||"/";if(!Ys(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");s!==-1&&(n=e.slice(0,s),r=e.slice(s));const[o,...i]=n.split("?");return((o.endsWith("/")?o.slice(0,-1):o)||"/")+(i.length>0?`?${i.join("?")}`:"")+r}function mh(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(Ys(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");if(s!==-1&&(n=e.slice(0,s),r=e.slice(s),!n))return r;const[o,...i]=n.split("?");return o+"/"+(i.length>0?`?${i.join("?")}`:"")+r}function yh(e,t){if(ic(t)||Dn(e))return e;const n=Fr(t);if(e.startsWith(n)){const r=e[n.length];if(!r||r==="/"||r==="?")return e}return ac(n,e)}function Li(e,t){if(ic(t))return e;const n=Fr(t);if(!e.startsWith(n))return e;const r=e[n.length];return r&&r!=="/"&&r!=="?"?e:"/"+e.slice(n.length).replace(/^\/+/,"")}function oc(e,t){const n=Lo(e),r={...sc(n.search),...t};return n.search=ch(r),bh(n)}function ic(e){return!e||e==="/"}function _h(e){return e&&e!=="/"}function ac(e,...t){let n=e||"";for(const r of t.filter(s=>_h(s)))if(n){const s=r.replace(gh,"");n=mh(n)+s}else n=r;return n}function lc(...e){const t=/\/(?!\/)/,n=e.filter(Boolean),r=[];let s=0;for(const i of n)if(!(!i||i==="/")){for(const[a,l]of i.split(t).entries())if(!(!l||l===".")){if(l===".."){if(r.length===1&&Dn(r[0]))continue;r.pop(),s--;continue}if(a===1&&r[r.length-1]?.endsWith(":/")){r[r.length-1]+="/"+l;continue}r.push(l),s++}}let o=r.join("/");return s>=0?n[0]?.startsWith("/")&&!o.startsWith("/")?o="/"+o:n[0]?.startsWith("./")&&!o.startsWith("./")&&(o="./"+o):o="../".repeat(-1*s)+o,n[n.length-1]?.endsWith("/")&&!o.endsWith("/")&&(o+="/"),o}function cc(e,t){return ar(Fr(e))===ar(Fr(t))}const uc=Symbol.for("ufo:protocolRelative");function Lo(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,u,h=""]=n;return{protocol:u.toLowerCase(),pathname:h,href:u+h,auth:"",host:"",search:"",hash:""}}if(!Dn(e,{acceptRelative:!0}))return Di(e);const[,r="",s,o=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,i="",a=""]=o.match(/([^#/?]*)(.*)?/)||[];r==="file:"&&(a=a.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:l,search:f,hash:c}=Di(a);return{protocol:r.toLowerCase(),auth:s?s.slice(0,Math.max(0,s.length-1)):"",host:i,pathname:l,search:f,hash:c,[uc]:!r}}function Di(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function bh(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",s=e.auth?e.auth+"@":"",o=e.host||"";return(e.protocol||e[uc]?(e.protocol||"")+"//":"")+s+o+t+n+r}class vh extends Error{constructor(t,n){super(t,n),this.name="FetchError",n?.cause&&!this.cause&&(this.cause=n.cause)}}function wh(e){const t=e.error?.message||e.error?.toString()||"",n=e.request?.method||e.options?.method||"GET",r=e.request?.url||String(e.request)||"/",s=`[${n}] ${JSON.stringify(r)}`,o=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${s}: ${o}${t?` ${t}`:""}`,a=new vh(i,e.error?{cause:e.error}:void 0);for(const l of["request","options","response"])Object.defineProperty(a,l,{get(){return e[l]}});for(const[l,f]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(a,l,{get(){return e.response&&e.response[f]}});return a}const Eh=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function $i(e="GET"){return Eh.has(e.toUpperCase())}function Sh(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const Th=new Set(["image/svg","application/xml","application/xhtml","application/html"]),Rh=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Ch(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return Rh.test(t)?"json":t==="text/event-stream"?"stream":Th.has(t)||t.startsWith("text/")?"text":"blob"}function Ph(e,t,n,r){const s=Ah(t?.headers??e?.headers,n?.headers,r);let o;return(n?.query||n?.params||t?.params||t?.query)&&(o={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:o,params:o,headers:s}}function Ah(e,t,n){if(!t)return new n(e);const r=new n(t);if(e)for(const[s,o]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(s,o);return r}async function wr(e,t){if(t)if(Array.isArray(t))for(const n of t)await n(e);else await t(e)}const xh=new Set([408,409,425,429,500,502,503,504]),kh=new Set([101,204,205,304]);function fc(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function s(a){const l=a.error&&a.error.name==="AbortError"&&!a.options.timeout||!1;if(a.options.retry!==!1&&!l){let c;typeof a.options.retry=="number"?c=a.options.retry:c=$i(a.options.method)?0:1;const u=a.response&&a.response.status||500;if(c>0&&(Array.isArray(a.options.retryStatusCodes)?a.options.retryStatusCodes.includes(u):xh.has(u))){const h=typeof a.options.retryDelay=="function"?a.options.retryDelay(a):a.options.retryDelay||0;return h>0&&await new Promise(d=>setTimeout(d,h)),o(a.request,{...a.options,retry:c-1})}}const f=wh(a);throw Error.captureStackTrace&&Error.captureStackTrace(f,o),f}const o=async function(l,f={}){const c={request:l,options:Ph(l,f,e.defaults,n),response:void 0,error:void 0};if(c.options.method&&(c.options.method=c.options.method.toUpperCase()),c.options.onRequest&&(await wr(c,c.options.onRequest),c.options.headers instanceof n||(c.options.headers=new n(c.options.headers||{}))),typeof c.request=="string"&&(c.options.baseURL&&(c.request=yh(c.request,c.options.baseURL)),c.options.query&&(c.request=oc(c.request,c.options.query),delete c.options.query),"query"in c.options&&delete c.options.query,"params"in c.options&&delete c.options.params),c.options.body&&$i(c.options.method))if(Sh(c.options.body)){const d=c.options.headers.get("content-type");typeof c.options.body!="string"&&(c.options.body=d==="application/x-www-form-urlencoded"?new URLSearchParams(c.options.body).toString():JSON.stringify(c.options.body)),d||c.options.headers.set("content-type","application/json"),c.options.headers.has("accept")||c.options.headers.set("accept","application/json")}else("pipeTo"in c.options.body&&typeof c.options.body.pipeTo=="function"||typeof c.options.body.pipe=="function")&&("duplex"in c.options||(c.options.duplex="half"));let u;if(!c.options.signal&&c.options.timeout){const d=new r;u=setTimeout(()=>{const m=new Error("[TimeoutError]: The operation was aborted due to timeout");m.name="TimeoutError",m.code=23,d.abort(m)},c.options.timeout),c.options.signal=d.signal}try{c.response=await t(c.request,c.options)}catch(d){return c.error=d,c.options.onRequestError&&await wr(c,c.options.onRequestError),await s(c)}finally{u&&clearTimeout(u)}if((c.response.body||c.response._bodyInit)&&!kh.has(c.response.status)&&c.options.method!=="HEAD"){const d=(c.options.parseResponse?"json":c.options.responseType)||Ch(c.response.headers.get("content-type")||"");switch(d){case"json":{const m=await c.response.text(),y=c.options.parseResponse||Gd;c.response._data=y(m);break}case"stream":{c.response._data=c.response.body||c.response._bodyInit;break}default:c.response._data=await c.response[d]()}}return c.options.onResponse&&await wr(c,c.options.onResponse),!c.options.ignoreResponseError&&c.response.status>=400&&c.response.status<600?(c.options.onResponseError&&await wr(c,c.options.onResponseError),await s(c)):c.response},i=async function(l,f){return(await o(l,f))._data};return i.raw=o,i.native=(...a)=>t(...a),i.create=(a={},l={})=>fc({...e,...l,defaults:{...e.defaults,...l.defaults,...a}}),i}const Br=(function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")})(),Oh=Br.fetch?(...e)=>Br.fetch(...e):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),Mh=Br.Headers,Ih=Br.AbortController,Lh=fc({fetch:Oh,Headers:Mh,AbortController:Ih}),Dh=Lh,$h=()=>window?.__NUXT__?.config||window?.useNuxtApp?.().payload?.config,Do=()=>$h().app,Hh=()=>Do().baseURL,Nh=()=>Do().buildAssetsDir,$o=(...e)=>lc(dc(),Nh(),...e),dc=(...e)=>{const t=Do(),n=t.cdnURL||t.baseURL;return e.length?lc(n,...e):n};globalThis.__buildAssetsURL=$o,globalThis.__publicAssetsURL=dc;globalThis.$fetch||(globalThis.$fetch=Dh.create({baseURL:Hh()}));"global"in globalThis||(globalThis.global=globalThis);function Qs(e,t={},n){for(const r in e){const s=e[r],o=n?`${n}:${r}`:r;typeof s=="object"&&s!==null?Qs(s,t,o):typeof s=="function"&&(t[o]=s)}return t}const hc=(()=>{if(console.createTask)return console.createTask;const e={run:t=>t()};return()=>e})();function pc(e,t,n,r){for(let s=n;se[s](...t)):e[s](...t);if(o&&typeof o.then=="function")return Promise.resolve(o).then(()=>pc(e,t,s+1,r))}catch(o){return Promise.reject(o)}}function jh(e,t,n){if(e.length>0)return pc(e,t,0,hc(n))}function Fh(e,t,n){if(e.length>0){const r=hc(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}}function Rs(e,t){for(const n of[...e])n(t)}var Bh=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!="function")return()=>{};const r=e;let s;for(;this._deprecatedHooks[e];)s=this._deprecatedHooks[e],e=s.to;if(s&&!n.allowDeprecated){let o=s.message;o||(o=`${r} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(o)||(console.warn(o),this._deprecatedMessages.add(o))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&(this.removeHook(e,t),t=void 0)}}hookOnce(e,t){let n,r=(...s)=>(typeof n=="function"&&n(),n=void 0,r=void 0,t(...s));return n=this.hook(e,r),n}removeHook(e,t){const n=this._hooks[e];if(n){const r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}clearHook(e){this._hooks[e]=void 0}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t=="string"?{to:t}:t;const n=this._hooks[e]||[];this._hooks[e]=void 0;for(const r of n)this.hook(e,r)}deprecateHooks(e){for(const t in e)this.deprecateHook(t,e[t])}addHooks(e){const t=Qs(e),n=Object.keys(t).map(r=>this.hook(r,t[r]));return()=>{for(const r of n)r();n.length=0}}removeHooks(e){const t=Qs(e);for(const n in t)this.removeHook(n,t[n])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(jh,e,t)}callHookParallel(e,...t){return this.callHookWith(Fh,e,t)}callHookWith(e,t,n){const r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&Rs(this._before,r);const s=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return s instanceof Promise?s.finally(()=>{this._after&&r&&Rs(this._after,r)}):(this._after&&r&&Rs(this._after,r),s)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){const t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){const t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function gc(){return new Bh}function Uh(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let s;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?s=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const o=()=>{if(s){const i=s.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=o();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>o(),set:(i,a)=>{a||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,a)=>{r(i),t=i;try{return s?s.run(i,a):a()}finally{n||(t=void 0)}},async callAsync(i,a){t=i;const l=()=>{t=i},f=()=>t===i?l:void 0;Zs.add(f);try{const c=s?s.run(i,a):a();return n||(t=void 0),await c}finally{Zs.delete(f)}}}}function Vh(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=Uh({...e,...r})),t[n]}}}const Ur=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},Hi="__unctx__",Kh=Ur[Hi]||(Ur[Hi]=Vh()),Wh=(e,t={})=>Kh.get(e,t),Ni="__unctx_async_handlers__",Zs=Ur[Ni]||(Ur[Ni]=new Set);function Qn(e){const t=[];for(const s of Zs){const o=s();o&&t.push(o)}const n=()=>{for(const s of t)s()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(s=>{throw n(),s})),[r,n]}const ji=!1,Fi=!1,qh=!1,Bi={id:"__nuxt-loader"},r_={componentName:"NuxtLink",prefetch:!0,prefetchOn:{visibility:!0}},zh={deep:!1},Gh={},Jh="#__nuxt",mc="nuxt-app",Ui=36e5,Xh="vite:preloadError";function yc(e=mc){return Wh(e,{asyncContext:!1})}const Yh="__nuxt_plugin";function Qh(e){let t=0;const n={_id:e.id||mc||"nuxt-app",_scope:yo(),provide:void 0,versions:{get nuxt(){return"4.4.8"},get vue(){return n.vueApp.version}},payload:Ze({...e.ssrContext?.payload||{},data:Ze({}),state:ot({}),once:new Set,_errors:Ze({})}),static:{data:{}},runWithContext(s){return n._scope.active&&!Zr()?n._scope.run(()=>Vi(n,s)):Vi(n,s)},isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let s=!1;return()=>{if(!s&&(s=!0,t--,t===0))return n.isHydrating=!1,n.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:Ze({}),_state:Ze({}),_payloadRevivers:{},...e};{const s=window.__NUXT__;if(s)for(const o in s)switch(o){case"data":case"state":case"_errors":Object.assign(n.payload[o],s[o]);break;default:n.payload[o]=s[o]}}n.hooks=gc(),n.hook=n.hooks.hook;{const s=n.hooks.callHook;n.hooks.callHook=(o,...i)=>Promise.resolve().then(()=>s(o,...i))}n.callHook=n.hooks.callHook,n.provide=(s,o)=>{const i="$"+s;Er(n,i,o),Er(n.vueApp.config.globalProperties,i,o)},Er(n.vueApp,"$nuxt",n),Er(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener(Xh,o=>{n.callHook("app:chunkError",{error:o.payload}),o.payload?.message?.includes("Unable to preload CSS")&&o.preventDefault()}),window.useNuxtApp||=ve;const s=n.hook("app:error",(...o)=>{console.error("[nuxt] error caught during app initialization",...o)});n.hook("app:mounted",s)}const r=n.payload.config;return n.provide("config",r),n}function Zh(e,t){t.hooks&&e.hooks.addHooks(t.hooks)}async function ep(e,t){if(typeof t=="function"){const{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n=="object")for(const r in n)e.provide(r,n[r])}}async function tp(e,t){const n=new Set,r=[],s=[];let o,i=0;async function a(l){const f=l.dependsOn?.filter(c=>t.some(u=>u._name===c)&&!n.has(c))??[];if(f.length>0)r.push([new Set(f),l]);else{const c=ep(e,l).then(async()=>{l._name&&(n.add(l._name),await Promise.all(r.map(async([u,h])=>{u.has(l._name)&&(u.delete(l._name),u.size===0&&(i++,await a(h)))})))}).catch(u=>{if(!l.parallel&&!e.payload.error)throw u;o||=u});l.parallel?s.push(c):await c}}for(const l of t)Zh(e,l);for(const l of t)await a(l);if(await Promise.all(s),i)for(let l=0;l{}),e,{[Yh]:!0,_name:t})}const np=Ye;function Vi(e,t,n){const r=()=>t();return yc(e._id).set(e),e.vueApp.runWithContext(r)}function rp(e){let t;return ns()&&(t=an()?.appContext.app.$nuxt),t||=yc(e).tryUse(),t||null}function ve(e){const t=rp(e);if(!t)throw new Error("[nuxt] instance unavailable");return t}function Ho(e){return ve().$config}function Er(e,t,n){Object.defineProperty(e,t,{get:()=>n})}function Cs(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function eo(e,t,n=".",r){if(!Cs(t))return eo(e,{},n,r);const s={...t};for(const o of Object.keys(e)){if(o==="__proto__"||o==="constructor")continue;const i=e[o];i!=null&&(r&&r(s,o,i,n)||(Array.isArray(i)&&Array.isArray(s[o])?s[o]=[...i,...s[o]]:Cs(i)&&Cs(s[o])?s[o]=eo(i,s[o],(n?`${n}.`:"")+o.toString(),r):s[o]=i))}return s}function sp(e){return(...t)=>t.reduce((n,r)=>eo(n,r,"",e),{})}const _c=sp();function op(e,t){try{return t in e}catch{return!1}}class Ki extends Error{static __h3_error__=!0;statusCode=500;fatal=!1;unhandled=!1;statusMessage;data;cause;constructor(t,n={}){super(t,n),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:to(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=bc(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}function ip(e){if(typeof e=="string")return new Ki(e);if(ap(e))return e;const t=new Ki(e.message??e.statusMessage??"",{cause:e.cause||e});if(op(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=to(e.statusCode,t.statusCode):e.status&&(t.statusCode=to(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;bc(t.statusMessage)!==n&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function ap(e){return e?.constructor?.__h3_error__===!0}const lp=/[^\u0009\u0020-\u007E]/g;function bc(e=""){return e.replace(lp,"")}function to(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const vc=Symbol("layout-meta"),on=Symbol("route");import.meta.url.replace(/\/app\/.*$/,"/");const Ve=()=>ve()?.$router,No=()=>ns()?Ce(on,ve()._route):ve()._route;const cp=()=>{try{if(ve()._processingMiddleware)return!0}catch{return!1}return!1},s_=(e,t)=>{e||="/";const n=typeof e=="string"?e:"path"in e?up(e):Ve().resolve(e).href;if(t?.open){const{protocol:f}=new URL(n,window.location.href);if(f&&Xs(f))throw new Error(`Cannot navigate to a URL with '${f}' protocol.`);const{target:c="_blank",windowFeatures:u={}}=t.open,h=[];for(const[d,m]of Object.entries(u))m!==void 0&&h.push(`${d.toLowerCase()}=${m}`);return open(n,c,h.join(", ")),Promise.resolve()}const r=Dn(n,{acceptRelative:!0}),s=t?.external||r;if(s){if(!t?.external)throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const{protocol:f}=new URL(n,window.location.href);if(f&&Xs(f))throw new Error(`Cannot navigate to a URL with '${f}' protocol.`)}const o=cp();if(!s&&o){if(t?.replace){if(typeof e=="string"){const{pathname:f,search:c,hash:u}=Lo(e);return{path:f,...c&&{query:sc(c)},...u&&{hash:u},replace:!0}}return{...e,replace:!0}}return e}const i=Ve(),a=ve();if(s)return a._scope.stop(),t?.replace?location.replace(n):location.href=n,o?a.isHydrating?new Promise(()=>{}):!1:Promise.resolve();const l=typeof e=="string"?fp(e):e;return t?.replace?i.replace(l):i.push(l)};function up(e){return oc(e.path||"",e.query||{})+(e.hash||"")}function fp(e){const t=Lo(e);return sh(oh(t.pathname))+t.search+t.hash}const wc="__nuxt_error",cs=()=>Xa(ve().payload,"error"),Zt=e=>{const t=Ft(e);try{const n=cs();ve().hooks.callHook("app:error",t),n.value||=t}catch{throw t}return t},dp=async(e={})=>{const t=ve(),n=cs();t.callHook("app:error:cleared",e),e.redirect&&await Ve().replace(e.redirect),n.value=void 0},Ec=e=>!!e&&typeof e=="object"&&wc in e,Ft=e=>{typeof e!="string"&&e.statusText&&(e.message??=e.statusText);const t=ip(e);return Object.defineProperty(t,wc,{value:!0,configurable:!1,writable:!1}),Object.defineProperty(t,"status",{get:()=>t.statusCode,configurable:!0}),Object.defineProperty(t,"statusText",{get:()=>t.statusMessage,configurable:!0}),t};let Sc;const xn=e=>Sc=e,Tc=Symbol();function no(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Zn||(Zn={}));function hp(){const e=yo(!0),t=e.run(()=>nt({}));let n=[],r=[];const s=To({install(o){xn(s),s._a=o,o.provide(Tc,s),o.config.globalProperties.$pinia=s,r.forEach(i=>n.push(i)),r=[]},use(o){return this._a?n.push(o):r.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const Rc=()=>{};function Wi(e,t,n,r=Rc){e.add(t);const s=()=>{e.delete(t)&&r()};return!n&&Zr()&&Ia(s),s}function dn(e,...t){e.forEach(n=>{n(...t)})}const pp=e=>e(),qi=Symbol(),Ps=Symbol();function ro(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];no(s)&&no(r)&&e.hasOwnProperty(n)&&!pe(r)&&!gt(r)?e[n]=ro(s,r):e[n]=r}return e}const gp=Symbol();function mp(e){return!no(e)||!Object.prototype.hasOwnProperty.call(e,gp)}const{assign:Dt}=Object;function yp(e){return!!(pe(e)&&e.effect)}function _p(e,t,n,r){const{state:s,actions:o,getters:i}=t,a=n.state.value[e];let l;function f(){a||(n.state.value[e]=s?s():{});const c=Bu(n.state.value[e]);return Dt(c,o,Object.keys(i||{}).reduce((u,h)=>(u[h]=To(Re(()=>{xn(n);const d=n._s.get(e);return i[h].call(d,d)})),u),{}))}return l=Cc(e,f,t,n,r,!0),l}function Cc(e,t,n={},r,s,o){let i;const a=Dt({actions:{}},n),l={deep:!0};let f,c,u=new Set,h=new Set,d;const m=r.state.value[e];!o&&!m&&(r.state.value[e]={});let y;function C(D){let R;f=c=!1,typeof D=="function"?(D(r.state.value[e]),R={type:Zn.patchFunction,storeId:e,events:d}):(ro(r.state.value[e],D),R={type:Zn.patchObject,payload:D,storeId:e,events:d});const T=y=Symbol();xt().then(()=>{y===T&&(f=!0)}),c=!0,dn(u,R,r.state.value[e])}const E=o?function(){const{state:R}=n,T=R?R():{};this.$patch(H=>{Dt(H,T)})}:Rc;function v(){i.stop(),u.clear(),h.clear(),r._s.delete(e)}const p=(D,R="")=>{if(qi in D)return D[Ps]=R,D;const T=function(){xn(r);const H=Array.from(arguments),L=new Set,W=new Set;function Z(q){L.add(q)}function te(q){W.add(q)}dn(h,{args:H,name:T[Ps],store:w,after:Z,onError:te});let F;try{F=D.apply(this&&this.$id===e?this:w,H)}catch(q){throw dn(W,q),q}return F instanceof Promise?F.then(q=>(dn(L,q),q)).catch(q=>(dn(W,q),Promise.reject(q))):(dn(L,F),F)};return T[qi]=!0,T[Ps]=R,T},_={_p:r,$id:e,$onAction:Wi.bind(null,h),$patch:C,$reset:E,$subscribe(D,R={}){const T=Wi(u,D,R.detached,()=>H()),H=i.run(()=>Rt(()=>r.state.value[e],L=>{(R.flush==="sync"?c:f)&&D({storeId:e,type:Zn.direct,events:d},L)},Dt({},l,R)));return T},$dispose:v},w=ot(_);r._s.set(e,w);const A=(r._a&&r._a.runWithContext||pp)(()=>r._e.run(()=>(i=yo()).run(()=>t({action:p}))));for(const D in A){const R=A[D];if(pe(R)&&!yp(R)||gt(R))o||(m&&mp(R)&&(pe(R)?R.value=m[D]:ro(R,m[D])),r.state.value[e][D]=R);else if(typeof R=="function"){const T=p(R,D);A[D]=T,a.actions[D]=R}}return Dt(w,A),Dt(ne(w),A),Object.defineProperty(w,"$state",{get:()=>r.state.value[e],set:D=>{C(R=>{Dt(R,D)})}}),r._p.forEach(D=>{Dt(w,i.run(()=>D({store:w,app:r._a,pinia:r,options:a})))}),m&&o&&n.hydrate&&n.hydrate(w.$state,m),f=!0,c=!0,w}function bp(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function o(i,a){const l=ns();return i=i||(l?Ce(Tc,null):null),i&&xn(i),i=Sc,i._s.has(e)||(s?Cc(e,t,r,i):_p(e,r,i)),i._s.get(e)}return o.$id=e,o}const vp=-1,wp=-2,Ep=-3,Sp=-4,Tp=-5,Rp=-6,Cp=-7,Pc=2**32-1,so=Pc-1;function Pp(e){return!(!Number.isInteger(e)||e<0||e>so)}function Ap(e){return!(!Number.isInteger(e)||e<0||e>Pc)}function xp(e){return Uint8Array.fromBase64(e).buffer}function kp(e){return Uint8Array.from(Buffer.from(e,"base64")).buffer}function Op(e){const t=atob(e),n=t.length,r=new Uint8Array(n);for(let s=0;s=f)throw new Error("Invalid input");c[h]=o(l[u+1])}c.length=f}else{const f=new Array(l.length);r[i]=f;for(let c=0;c`${r}:${String(s)}`).join(",")}`}function Vr(e,t,n){typeof e==="function"&&(!n||n!=="titleTemplate"&&!(n[0]==="o"&&n[1]==="n"))&&(e=e());const s=t?t(n,e):e;if(Array.isArray(s))return s.map(o=>Vr(o,t));if(s?.constructor===Object){const o={};for(const i of Object.keys(s))o[i]=Vr(s[i],t,i);return o}return s}function qp(e,t){const n=e==="style"?new Map:new Set;function r(s){if(s==null||s===void 0)return;const o=String(s).trim();if(o)if(e==="style"){const[i,...a]=o.split(":").map(l=>l?l.trim():"");i&&a.length&&n.set(i,a.join(":"))}else o.split(" ").filter(Boolean).forEach(i=>n.add(i))}return typeof t=="string"?e==="style"?t.split(";").forEach(r):r(t):Array.isArray(t)?t.forEach(s=>r(s)):t&&typeof t=="object"&&Object.entries(t).forEach(([s,o])=>{o&&o!=="false"&&(e==="style"?n.set(String(s).trim(),String(o)):r(s))}),n}function kc(e,t){if(e.props=e.props||{},!t)return e;if(e.tag==="templateParams")return e.props=t,e;const n=oo.has(e.tag)||e.tag==="htmlAttrs"||e.tag==="bodyAttrs";return Object.entries(t).forEach(([r,s])=>{if(r==="__proto__"||r==="constructor"||r==="prototype")return;if(s===null){e.props[r]=null;return}if(r==="class"||r==="style"){e.props[r]=qp(r,s);return}if(Bp.has(r)){if((r==="textContent"||r==="innerHTML")&&typeof s=="object"){let f=t.type;if(t.type||(f="application/json"),!f?.endsWith("json")&&f!=="speculationrules")return;t.type=f,e.props.type=f,e[r]=JSON.stringify(s)}else e[r]=s;return}const o=r.startsWith("data-"),i=n&&!o?r.toLowerCase():r,a=String(s),l=e.tag==="meta"&&i==="content";a==="true"||a===""?e.props[i]=o||l?a:!0:!s&&o&&a==="false"?e.props[i]="false":s!==void 0&&(e.props[i]=s)}),e}function zp(e,t){const n=typeof t=="object"&&typeof t!="function"?t:{[e==="script"||e==="noscript"||e==="style"?"innerHTML":"textContent"]:t},r=kc({tag:e,props:{}},n);return r.key&&Hp.has(r.tag)&&(r.props["data-hid"]=r._h=r.key),r.tag==="script"&&typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),Array.isArray(r.props.content)?r.props.content.map(s=>({...r,props:{...r.props,content:s}})):r}function Gp(e,t){if(!e)return[];typeof e=="function"&&(e=e());const n=(s,o)=>{for(let i=0;i{if(o!==void 0)for(const i of Array.isArray(o)?o:[o])r.push(zp(s,i))}),r.flat()}const zi=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,Gi={base:-10,title:10},Jp={critical:-8,high:-1,low:2},Ji={meta:{"content-security-policy":-30,charset:-20,viewport:-15},link:{preconnect:20,stylesheet:60,preload:70,modulepreload:70,prefetch:90,"dns-prefetch":90,prerender:90},script:{async:30,defer:80,sync:50},style:{imported:40,sync:60}},Xp=/@import/,Bn=e=>e===""||e===!0;function Yp(e,t){if(typeof t.tagPriority=="number")return t.tagPriority;let n=100;const r=Jp[t.tagPriority]||0,s=e.resolvedOptions.disableCapoSorting?{link:{},script:{},style:{}}:Ji;if(t.tag in Gi)n=Gi[t.tag];else if(t.tag==="meta"){const o=t.props["http-equiv"]==="content-security-policy"?"content-security-policy":t.props.charset?"charset":t.props.name==="viewport"?"viewport":null;o&&(n=Ji.meta[o])}else if(t.tag==="link"&&t.props.rel)n=s.link[t.props.rel];else if(t.tag==="script"){const o=String(t.props.type);Bn(t.props.async)?n=s.script.async:t.props.src&&!Bn(t.props.defer)&&!Bn(t.props.async)&&o!=="module"&&!o.endsWith("json")||t.innerHTML&&!o.endsWith("json")?n=s.script.sync:(Bn(t.props.defer)&&t.props.src&&!Bn(t.props.async)||o==="module")&&(n=s.script.defer)}else t.tag==="style"&&(n=t.innerHTML&&Xp.test(t.innerHTML)?s.style.imported:s.style.sync);return(n||100)+r}function Xi(e,t){const n=typeof t=="function"?t(e):t,r=n.key||String(e.plugins.size+1);e.plugins.get(r)||(e.plugins.set(r,n),e.hooks.addHooks(n.hooks||{}))}function Qp(e={}){const t=gc();t.addHooks(e.hooks||{});const n=!e.document,r=new Map,s=new Map,o=new Set,i={_entryCount:1,plugins:s,dirty:!1,resolvedOptions:e,hooks:t,ssr:n,entries:r,headEntries(){return[...r.values()]},use:a=>Xi(i,a),push(a,l){const f={...l||{}};delete f.head;const c=f._index??i._entryCount++,u={_i:c,input:a,options:f},h={_poll(d=!1){i.dirty=!0,!d&&o.add(c),t.callHook("entries:updated",i)},dispose(){r.delete(c)&&i.invalidate()},patch(d){(!f.mode||f.mode==="server"&&n||f.mode==="client"&&!n)&&(u.input=d,r.set(c,u),h._poll())}};return h.patch(a),h},async resolveTags(){const a={tagMap:new Map,tags:[],entries:[...i.entries.values()]};for(await t.callHook("entries:resolve",a);o.size;){const h=o.values().next().value;o.delete(h);const d=r.get(h);if(d){const m={tags:Gp(d.input,e.propResolvers||[]).map(y=>Object.assign(y,d.options)),entry:d};await t.callHook("entries:normalize",m),d._tags=m.tags.map((y,C)=>(y._w=Yp(i,y),y._p=(d._i<<10)+C,y._d=io(y),y._d||(y._h=xc(y)),y))}}let l=!1;a.entries.flatMap(h=>(h._tags||[]).map(d=>({...d,props:{...d.props}}))).sort(zi).reduce((h,d)=>{const m=d._d||d._h;if(!h.has(m))return h.set(m,d);const y=h.get(m);if((d?.tagDuplicateStrategy||(Up.has(d.tag)?"merge":null)||(d.key&&d.key===y.key?"merge":null))==="merge"){const E={...y.props};Object.entries(d.props).forEach(([v,p])=>E[v]=v==="style"?new Map([...y.props.style||new Map,...p]):v==="class"?new Set([...y.props.class||new Set,...p]):p),h.set(m,{...d,props:E})}else d._p>>10===y._p>>10&&d.tag==="meta"&&Ac(m)?(h.set(m,Object.assign([...Array.isArray(y)?y:[y],d],d)),l=!0):(d._w===y._w?d._p>y._p:d?._wXi(i,a)),i.hooks.callHook("init",i),e.init?.forEach(a=>a&&i.push(a)),i}const Zp=(e,t)=>pe(t)?ft(t):t,Oc="usehead";function eg(e){return{install(n){n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(Oc,e)}}.install}function tg(){if(ns()){const e=Ce(Oc);if(e)return e}throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.")}function o_(e,t={}){const n=t.head||tg();return n.ssr?n.push(e||{},t):ng(n,e,t)}function ng(e,t,n={}){const r=nt(!1);let s;return Qu(()=>{const i=r.value?{}:Vr(t,Zp);s?s.patch(i):s=e.push(i,n)}),an()&&(fr(()=>{s.dispose()}),ul(()=>{r.value=!0}),cl(()=>{r.value=!1})),s}const rg=(e,t)=>[],Mc=e=>_c({},...rg("",typeof e=="string"?e.toLowerCase():e).map(t=>t.data).reverse()),sg=Mc;let Cr;function og(){let e;return e=$fetch($o(`builds/meta/${Ho().app.buildId}.json`),{responseType:"json"}).then(t=>{if(!t||typeof t!="object"||!Array.isArray(t.prerendered))throw new Error("[nuxt] Received malformed app manifest. Ensure that `builds/meta/*.json` is served as JSON by your hosting/proxy and not rewritten to an HTML fallback.");return t}),Cr=e,e.catch(t=>{Cr===e&&(Cr=void 0),console.error("[nuxt] Error fetching app manifest.",t)}),e}function Ic(){return Cr||og()}function Lc(e){const t=typeof e=="string"?e:e.path;try{return sg(t.toLowerCase())}catch(n){return console.error("[nuxt] Error matching route rules.",n),{}}}async function Yi(e,t={}){return null}async function ig(e){return null}let Xt=null;async function ag(){if(Xt)return Xt;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await lg(e.textContent||""),n=e.dataset.src?await ig(e.dataset.src):void 0;return Xt={...t,...n,...window.__NUXT__},Xt.config?.public&&(Xt.config.public=ot(Xt.config.public)),Xt}async function lg(e){return await Dp(e,ve()._payloadRevivers)}function Dc(e,t){ve()._payloadRevivers[e]=t}const cg=np(()=>{Dc("skipHydrate",e=>{})});function Qi(e){try{return JSON.parse(e)}catch{return e}}const ug=[["NuxtError",e=>Ft(e)],["EmptyShallowRef",e=>Ut(e==="_"?void 0:e==="0n"?BigInt(0):Qi(e))],["EmptyRef",e=>nt(e==="_"?void 0:e==="0n"?BigInt(0):Qi(e))],["ShallowRef",e=>Ut(e)],["ShallowReactive",e=>Ze(e)],["Ref",e=>nt(e)],["Reactive",e=>ot(e)]],fg=Ye({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const[r,s]of ug)Dc(r,s);Object.assign(e.payload,([t,n]=Qn(()=>e.runWithContext(ag)),t=await t,n(),t)),delete window.__NUXT__}});async function jo(e,t={}){const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!!r.shouldRender)return e._domUpdatePromise||(e._domUpdatePromise=new Promise(async s=>{const o=new Map,i=new Promise(d=>{e.resolveTags().then(m=>{d(m.map(y=>{const C=o.get(y._d)||0,E={tag:y,id:(C?`${y._d}:${C}`:y._d)||y._h,shouldRender:!0};return y._d&&Ac(y._d)&&o.set(y._d,C+1),E}))})});let a=e._dom;if(!a){a={title:n.title,elMap:new Map().set("htmlAttrs",n.documentElement).set("bodyAttrs",n.body)};for(const d of["body","head"]){const m=n[d]?.children;for(const y of m){const C=y.tagName.toLowerCase();if(!oo.has(C))continue;const E=kc({tag:C,props:{}},{innerHTML:y.innerHTML,...y.getAttributeNames().reduce((v,p)=>(v[p]=y.getAttribute(p),v),{})||{}});if(E.key=y.getAttribute("data-hid")||void 0,E._d=io(E)||xc(E),a.elMap.has(E._d)){let v=1,p=E._d;for(;a.elMap.has(p);)p=`${E._d}:${v++}`;a.elMap.set(p,y)}else a.elMap.set(E._d,y)}}}a.pendingSideEffects={...a.sideEffects},a.sideEffects={};function l(d,m,y){const C=`${d}:${m}`;a.sideEffects[C]=y,delete a.pendingSideEffects[C]}function f({id:d,$el:m,tag:y}){const C=y.tag.endsWith("Attrs");a.elMap.set(d,m),C||(y.textContent&&y.textContent!==m.textContent&&(m.textContent=y.textContent),y.innerHTML&&y.innerHTML!==m.innerHTML&&(m.innerHTML=y.innerHTML),l(d,"el",()=>{m?.remove(),a.elMap.delete(d)}));for(const E in y.props){if(!Object.prototype.hasOwnProperty.call(y.props,E))continue;const v=y.props[E];if(E.startsWith("on")&&typeof v=="function"){const _=m?.dataset;if(_&&_[`${E}fired`]){const w=E.slice(0,-5);v.call(m,new Event(w.substring(2)))}m.getAttribute(`data-${E}`)!==""&&((y.tag==="bodyAttrs"?n.defaultView:m).addEventListener(E.substring(2),v.bind(m)),m.setAttribute(`data-${E}`,""));continue}const p=`attr:${E}`;if(E==="class"){if(!v)continue;for(const _ of v)C&&l(d,`${p}:${_}`,()=>m.classList.remove(_)),!m.classList.contains(_)&&m.classList.add(_)}else if(E==="style"){if(!v)continue;for(const[_,w]of v)l(d,`${p}:${_}`,()=>{m.style.removeProperty(_)}),m.style.setProperty(_,w)}else v!==!1&&v!==null&&(m.getAttribute(E)!==v&&m.setAttribute(E,v===!0?"":String(v)),C&&l(d,p,()=>m.removeAttribute(E)))}}const c=[],u={bodyClose:void 0,bodyOpen:void 0,head:void 0},h=await i;for(const d of h){const{tag:m,shouldRender:y,id:C}=d;if(y){if(m.tag==="title"){n.title=m.textContent,l("title","",()=>n.title=a.title);continue}d.$el=d.$el||a.elMap.get(C),d.$el?f(d):oo.has(m.tag)&&c.push(d)}}for(const d of c){const m=d.tag.tagPosition||"head";d.$el=n.createElement(d.tag.tag),f(d),u[m]=u[m]||n.createDocumentFragment(),u[m].appendChild(d.$el)}for(const d of h)await e.hooks.callHook("dom:renderTag",d,n,l);u.head&&n.head.appendChild(u.head),u.bodyOpen&&n.body.insertBefore(u.bodyOpen,n.body.firstChild),u.bodyClose&&n.body.appendChild(u.bodyClose);for(const d in a.pendingSideEffects)a.pendingSideEffects[d]();e._dom=a,await e.hooks.callHook("dom:rendered",{renders:h}),s()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1})),e._domUpdatePromise}function dg(e={}){const t=e.domOptions?.render||jo;e.document=e.document||(typeof window<"u"?document:void 0);const n=e.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML||!1;return Qp({...e,plugins:[...e.plugins||[],{key:"client",hooks:{"entries:updated":t}}],init:[n?JSON.parse(n):!1,...e.init||[]]})}function hg(e,t){let n=0;return()=>{const r=++n;t(()=>{n===r&&e()})}}function pg(e={}){const t=dg({domOptions:{render:hg(()=>jo(t),n=>setTimeout(n,0))},...e});return t.install=eg(t),t}const gg={disableDefaults:!0},mg=Ye({name:"nuxt:head",enforce:"pre",setup(e){const t=pg(gg);e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await jo(t)};t.hooks.hook("dom:beforeRender",o=>{o.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r);const s=t.push.bind(t);t.push=((o,i)=>{const a=s(o,i),l=a.dispose.bind(a);return a.dispose=()=>{const f=e["~transitionPromise"];f?f.then(l):l()},a})}}});const pn=typeof document<"u";function $c(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function yg(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&$c(e.default)}const oe=Object.assign;function As(e,t){const n={};for(const r in t){const s=t[r];n[r]=st(s)?s.map(e):e(s)}return n}const er=()=>{},st=Array.isArray;function Zi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Hc=Symbol("");function kn(e,t){return oe(new Error,{type:e,[Hc]:!0},t)}function bt(e,t){return e instanceof Error&&Hc in e&&(t==null||!!(e.type&t))}const _g=Symbol(""),ea=Symbol(""),Fo=Symbol(""),Bo=Symbol(""),ao=Symbol("");function Nc(e){return Ce(Bo)}const bg={trailing:!0};function vg(e,t=25,n={}){if(n={...bg,...n},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let r,s,o=[],i,a;const l=(u,h)=>(i=wg(e,u,h),i.finally(()=>{if(i=null,n.trailing&&a&&!s){const d=l(u,a);return a=null,d}}),i),f=function(...u){return n.trailing&&(a=u),i||new Promise(h=>{const d=!s&&n.leading;clearTimeout(s),s=setTimeout(()=>{s=null;const m=n.leading?r:l(this,u);a=null;for(const y of o)y(m);o=[]},t),d?(r=l(this,u),h(r)):o.push(h)})},c=u=>{u&&(clearTimeout(u),s=null)};return f.isPending=()=>!!s,f.cancel=()=>{c(s),o=[],a=null},f.flush=()=>{if(c(s),!a||i)return;const u=a;return a=null,l(this,u)},f}async function wg(e,t,n){return await e.apply(t,n)}const jc=/#/g,Eg=/&/g,Sg=/\//g,Tg=/=/g,Rg=/\?/g,Fc=/\+/g,Cg=/%5B/g,Pg=/%5D/g,Bc=/%5E/g,Ag=/%60/g,Uc=/%7B/g,xg=/%7C/g,Vc=/%7D/g,kg=/%20/g;function Uo(e){return e==null?"":encodeURI(""+e).replace(xg,"|").replace(Cg,"[").replace(Pg,"]")}function Og(e){return Uo(e).replace(Uc,"{").replace(Vc,"}").replace(Bc,"^")}function lo(e){return Uo(e).replace(Fc,"%2B").replace(kg,"+").replace(jc,"%23").replace(Eg,"%26").replace(Ag,"`").replace(Uc,"{").replace(Vc,"}").replace(Bc,"^")}function Mg(e){return lo(e).replace(Tg,"%3D")}function Ig(e){return Uo(e).replace(jc,"%23").replace(Rg,"%3F")}function Lg(e){return Ig(e).replace(Sg,"%2F")}function Kr(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Dg=/\/$/,$g=e=>e.replace(Dg,"");function xs(e,t,n="/"){let r,s={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return l=a>=0&&l>a?-1:l,l>=0&&(r=t.slice(0,l),o=t.slice(l,a>0?a:t.length),s=e(o.slice(1))),a>=0&&(r=r||t.slice(0,a),i=t.slice(a,t.length)),r=Fg(r??t,n),{fullPath:r+o+i,path:r,query:s,hash:Kr(i)}}function Hg(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ta(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ng(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&On(t.matched[r],n.matched[s])&&Kc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function On(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Kc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!jg(e[n],t[n]))return!1;return!0}function jg(e,t){return st(e)?na(e,t):st(t)?na(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function na(e,t){return st(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Fg(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,a;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const qe={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};function Bg(e){if(!e)if(pn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),$g(e)}const Ug=/^[^#]+#/;function Vg(e,t){return e.replace(Ug,"#")+t}function Kg(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const us=()=>({left:window.scrollX,top:window.scrollY});function Wg(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=Kg(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function ra(e,t){return(history.state?history.state.position-t:-1)+e}const co=new Map;function qg(e,t){co.set(e,t)}function zg(e){const t=co.get(e);return co.delete(e),t}function Gg(e){return typeof e=="string"||e&&typeof e=="object"}function Wc(e){return typeof e=="string"||typeof e=="symbol"}function Jg(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&lo(s)):[r&&lo(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Xg(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=st(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}function Un(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ht(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const f=h=>{h===!1?l(kn(4,{from:n,to:t})):h instanceof Error?l(h):Gg(h)?l(kn(2,{from:t,to:h})):(i&&r.enterCallbacks[s]===i&&typeof h=="function"&&i.push(h),a())},c=o(()=>e.call(r&&r.instances[s],t,n,f));let u=Promise.resolve(c);e.length<3&&(u=u.then(f)),u.catch(h=>l(h))})}function ks(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if($c(l)){const f=(l.__vccOpts||l)[t];f&&o.push(Ht(f,n,r,i,a,s))}else{let f=l();o.push(()=>f.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${a}" at "${i.path}"`);const u=yg(c)?c.default:c;i.mods[a]=c,i.components[a]=u;const h=(u.__vccOpts||u)[t];return h&&Ht(h,n,r,i,a,s)()}))}}return o}function Yg(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;iOn(f,a))?r.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(f=>On(f,l))||s.push(l))}return[n,r,s]}let Qg=()=>location.protocol+"//"+location.host;function qc(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,a=s.slice(i);return a[0]!=="/"&&(a="/"+a),ta(a,"")}return ta(n,e)+r+s}function Zg(e,t,n,r){let s=[],o=[],i=null;const a=({state:h})=>{const d=qc(e,location),m=n.value,y=t.value;let C=0;if(h){if(n.value=d,t.value=h,i&&i===m){i=null;return}C=y?h.position-y.position:0}else r(d);s.forEach(E=>{E(n.value,m,{delta:C,type:"pop",direction:C?C>0?"forward":"back":""})})};function l(){i=n.value}function f(h){s.push(h);const d=()=>{const m=s.indexOf(h);m>-1&&s.splice(m,1)};return o.push(d),d}function c(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(oe({},h.state,{scroll:us()}),"")}}function u(){for(const h of o)h();o=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:l,listen:f,destroy:u}}function oa(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?us():null}}function em(e){const{history:t,location:n}=window,r={value:qc(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(l,f,c){const u=e.indexOf("#"),h=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+l:Qg()+e+l;try{t[c?"replaceState":"pushState"](f,"",h),s.value=f}catch(d){console.error(d),n[c?"replace":"assign"](h)}}function i(l,f){o(l,oe({},t.state,oa(s.value.back,l,s.value.forward,!0),f,{position:s.value.position}),!0),r.value=l}function a(l,f){const c=oe({},s.value,t.state,{forward:l,scroll:us()});o(c.current,c,!0),o(l,oe({},oa(r.value,l,null),{position:c.position+1},f),!1),r.value=l}return{location:r,state:s,push:a,replace:i}}function tm(e){e=Bg(e);const t=em(e),n=Zg(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=oe({location:"",base:e,go:r,createHref:Vg.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}const nm={type:0,value:""},rm=/[a-zA-Z0-9_]/;function sm(e){if(!e)return[[]];if(e==="/")return[[nm]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(d){throw new Error(`ERR (${n})/"${f}": ${d}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let a=0,l,f="",c="";function u(){f&&(n===0?o.push({type:0,value:f}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:f,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),f="")}function h(){f+=l}for(;at.length?t.length===1&&t[0]===80?1:-1:0}function zc(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const cm={strict:!1,end:!0,sensitive:!1};function um(e,t,n){const r=am(sm(e.path),n),s=oe(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function fm(e,t){const n=[],r=new Map;t=Zi(cm,t);function s(u){return r.get(u)}function o(u,h,d){const m=!d,y=ca(u);y.aliasOf=d&&d.record;const C=Zi(t,u),E=[y];if("alias"in u){const _=typeof u.alias=="string"?[u.alias]:u.alias;for(const w of _)E.push(ca(oe({},y,{components:d?d.record.components:y.components,path:w,aliasOf:d?d.record:y})))}let v,p;for(const _ of E){const{path:w}=_;if(h&&w[0]!=="/"){const k=h.record.path,A=k[k.length-1]==="/"?"":"/";_.path=h.record.path+(w&&A+w)}if(v=um(_,h,C),d?d.alias.push(v):(p=p||v,p!==v&&p.alias.push(v),m&&u.name&&!ua(v)&&i(u.name)),Gc(v)&&l(v),y.children){const k=y.children;for(let A=0;A{i(p)}:er}function i(u){if(Wc(u)){const h=r.get(u);h&&(r.delete(u),n.splice(n.indexOf(h),1),h.children.forEach(i),h.alias.forEach(i))}else{const h=n.indexOf(u);h>-1&&(n.splice(h,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function a(){return n}function l(u){const h=pm(u,n);n.splice(h,0,u),u.record.name&&!ua(u)&&r.set(u.record.name,u)}function f(u,h){let d,m={},y,C;if("name"in u&&u.name){if(d=r.get(u.name),!d)throw kn(1,{location:u});C=d.record.name,m=oe(la(h.params,d.keys.filter(p=>!p.optional).concat(d.parent?d.parent.keys.filter(p=>p.optional):[]).map(p=>p.name)),u.params&&la(u.params,d.keys.map(p=>p.name))),y=d.stringify(m)}else if(u.path!=null)y=u.path,d=n.find(p=>p.re.test(y)),d&&(m=d.parse(y),C=d.record.name,d.keys.forEach(p=>{p.optional&&!m[p.name]&&delete m[p.name]}));else{if(d=h.name?r.get(h.name):n.find(p=>p.re.test(h.path)),!d)throw kn(1,{location:u,currentLocation:h});C=d.record.name,m=oe({},h.params,u.params),y=d.stringify(m)}const E=[];let v=d;for(;v;)E.unshift(v.record),v=v.parent;return{name:C,path:y,params:m,matched:E,meta:hm(E)}}e.forEach(u=>o(u));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:f,removeRoute:i,clearRoutes:c,getRoutes:a,getRecordMatcher:s}}function la(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function ca(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:dm(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function dm(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function ua(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function hm(e){return e.reduce((t,n)=>oe(t,n.meta),{})}function pm(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;zc(e,t[o])<0?r=o:n=o+1}const s=gm(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function gm(e){let t=e;for(;t=t.parent;)if(Gc(t)&&zc(e,t)===0)return t}function Gc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function fa(e){const t=Ce(Fo),n=Ce(Bo),r=Re(()=>{const l=ae(e.to);return t.resolve(l)}),s=Re(()=>{const{matched:l}=r.value,{length:f}=l,c=l[f-1],u=n.matched;if(!c||!u.length)return-1;const h=u.findIndex(On.bind(null,c));if(h>-1)return h;const d=da(l[f-2]);return f>1&&da(c)===d&&u[u.length-1].path!==d?u.findIndex(On.bind(null,l[f-2])):h}),o=Re(()=>s.value>-1&&bm(n.params,r.value.params)),i=Re(()=>s.value>-1&&s.value===n.matched.length-1&&Kc(n.params,r.value.params));function a(l={}){if(_m(l)){const f=t[ae(e.replace)?"replace":"push"](ae(e.to)).catch(er);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:r,href:Re(()=>r.value.href),isActive:o,isExactActive:i,navigate:a}}function mm(e){return e.length===1?e[0]:e}const ym=Wt({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:fa,setup(e,{slots:t}){const n=ot(fa(e)),{options:r}=Ce(Fo),s=Re(()=>({[ha(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[ha(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&mm(t.default(n));return e.custom?o:Oe("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}});function _m(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function bm(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!st(s)||s.length!==r.length||r.some((o,i)=>o.valueOf()!==s[i].valueOf()))return!1}return!0}function da(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ha=(e,t,n)=>e??t??n,vm=Wt({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ce(ao),s=Re(()=>e.route||r.value),o=Ce(ea,0),i=Re(()=>{let f=ae(o);const{matched:c}=s.value;let u;for(;(u=c[f])&&!u.components;)f++;return f}),a=Re(()=>s.value.matched[i.value]);jt(ea,Re(()=>i.value+1)),jt(_g,a),jt(ao,s);const l=nt();return Rt(()=>[l.value,a.value,e.name],([f,c,u],[h,d,m])=>{c&&(c.instances[u]=f,d&&d!==c&&f&&f===h&&(c.leaveGuards.size||(c.leaveGuards=d.leaveGuards),c.updateGuards.size||(c.updateGuards=d.updateGuards))),f&&c&&(!d||!On(c,d)||!h)&&(c.enterCallbacks[u]||[]).forEach(y=>y(f))},{flush:"post"}),()=>{const f=s.value,c=e.name,u=a.value,h=u&&u.components[c];if(!h)return pa(n.default,{Component:h,route:f});const d=u.props[c],m=d?d===!0?f.params:typeof d=="function"?d(f):d:null,C=Oe(h,oe({},m,t,{onVnodeUnmounted:E=>{E.component.isUnmounted&&(u.instances[c]=null)},ref:l}));return pa(n.default,{Component:C,route:f})||C}}});function pa(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Jc=vm;function wm(e){const t=fm(e.routes,e),n=e.parseQuery||Jg,r=e.stringifyQuery||sa,s=e.history,o=Un(),i=Un(),a=Un(),l=Ut(qe);let f=qe;pn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=As.bind(null,x=>""+x),u=As.bind(null,Lg),h=As.bind(null,Kr);function d(x,K){let B,J;return Wc(x)?(B=t.getRecordMatcher(x),J=K):J=x,t.addRoute(J,B)}function m(x){const K=t.getRecordMatcher(x);K&&t.removeRoute(K)}function y(){return t.getRoutes().map(x=>x.record)}function C(x){return!!t.getRecordMatcher(x)}function E(x,K){if(K=oe({},K||l.value),typeof x=="string"){const b=xs(n,x,K.path),S=t.resolve({path:b.path},K),M=s.createHref(b.fullPath);return oe(b,S,{params:h(S.params),redirectedFrom:void 0,href:M})}let B;if(x.path!=null)B=oe({},x,{path:xs(n,x.path,K.path).path});else{const b=oe({},x.params);for(const S in b)b[S]==null&&delete b[S];B=oe({},x,{params:u(b)}),K.params=u(K.params)}const J=t.resolve(B,K),ee=x.hash||"";J.params=c(h(J.params));const ge=Hg(r,oe({},x,{hash:Og(ee),path:J.path})),g=s.createHref(ge);return oe({fullPath:ge,hash:ee,query:r===sa?Xg(x.query):x.query||{}},J,{redirectedFrom:void 0,href:g})}function v(x){return typeof x=="string"?xs(n,x,l.value.path):oe({},x)}function p(x,K){if(f!==x)return kn(8,{from:K,to:x})}function _(x){return A(x)}function w(x){return _(oe(v(x),{replace:!0}))}function k(x,K){const B=x.matched[x.matched.length-1];if(B&&B.redirect){const{redirect:J}=B;let ee=typeof J=="function"?J(x,K):J;return typeof ee=="string"&&(ee=ee.includes("?")||ee.includes("#")?ee=v(ee):{path:ee},ee.params={}),oe({query:x.query,hash:x.hash,params:ee.path!=null?{}:x.params},ee)}}function A(x,K){const B=f=E(x),J=l.value,ee=x.state,ge=x.force,g=x.replace===!0,b=k(B,J);if(b)return A(oe(v(b),{state:typeof b=="object"?oe({},ee,b.state):ee,force:ge,replace:g}),K||B);const S=B;S.redirectedFrom=K;let M;return!ge&&Ng(r,J,B)&&(M=kn(16,{to:S,from:J}),it(J,J,!0,!1)),(M?Promise.resolve(M):T(S,J)).catch(P=>bt(P)?bt(P,2)?P:Mt(P):V(P,S,J)).then(P=>{if(P){if(bt(P,2))return A(oe({replace:g},v(P.to),{state:typeof P.to=="object"?oe({},ee,P.to.state):ee,force:ge}),K||S)}else P=L(S,J,!0,g,ee);return H(S,J,P),P})}function D(x,K){const B=p(x,K);return B?Promise.reject(B):Promise.resolve()}function R(x){const K=cn.values().next().value;return K&&typeof K.runWithContext=="function"?K.runWithContext(x):x()}function T(x,K){let B;const[J,ee,ge]=Yg(x,K);B=ks(J.reverse(),"beforeRouteLeave",x,K);for(const b of J)b.leaveGuards.forEach(S=>{B.push(Ht(S,x,K))});const g=D.bind(null,x,K);return B.push(g),Ke(B).then(()=>{B=[];for(const b of o.list())B.push(Ht(b,x,K));return B.push(g),Ke(B)}).then(()=>{B=ks(ee,"beforeRouteUpdate",x,K);for(const b of ee)b.updateGuards.forEach(S=>{B.push(Ht(S,x,K))});return B.push(g),Ke(B)}).then(()=>{B=[];for(const b of ge)if(b.beforeEnter)if(st(b.beforeEnter))for(const S of b.beforeEnter)B.push(Ht(S,x,K));else B.push(Ht(b.beforeEnter,x,K));return B.push(g),Ke(B)}).then(()=>(x.matched.forEach(b=>b.enterCallbacks={}),B=ks(ge,"beforeRouteEnter",x,K,R),B.push(g),Ke(B))).then(()=>{B=[];for(const b of i.list())B.push(Ht(b,x,K));return B.push(g),Ke(B)}).catch(b=>bt(b,8)?b:Promise.reject(b))}function H(x,K,B){a.list().forEach(J=>R(()=>J(x,K,B)))}function L(x,K,B,J,ee){const ge=p(x,K);if(ge)return ge;const g=K===qe,b=pn?history.state:{};B&&(J||g?s.replace(x.fullPath,oe({scroll:g&&b&&b.scroll},ee)):s.push(x.fullPath,ee)),l.value=x,it(x,K,B,g),Mt()}let W;function Z(){W||(W=s.listen((x,K,B)=>{if(!qt.listening)return;const J=E(x),ee=k(J,qt.currentRoute.value);if(ee){A(oe(ee,{replace:!0,force:!0}),J).catch(er);return}f=J;const ge=l.value;pn&&qg(ra(ge.fullPath,B.delta),us()),T(J,ge).catch(g=>bt(g,12)?g:bt(g,2)?(A(oe(v(g.to),{force:!0}),J).then(b=>{bt(b,20)&&!B.delta&&B.type==="pop"&&s.go(-1,!1)}).catch(er),Promise.reject()):(B.delta&&s.go(-B.delta,!1),V(g,J,ge))).then(g=>{g=g||L(J,ge,!1),g&&(B.delta&&!bt(g,8)?s.go(-B.delta,!1):B.type==="pop"&&bt(g,20)&&s.go(-1,!1)),H(J,ge,g)}).catch(er)}))}let te=Un(),F=Un(),q;function V(x,K,B){Mt(x);const J=F.list();return J.length?J.forEach(ee=>ee(x,K,B)):console.error(x),Promise.reject(x)}function le(){return q&&l.value!==qe?Promise.resolve():new Promise((x,K)=>{te.add([x,K])})}function Mt(x){return q||(q=!x,Z(),te.list().forEach(([K,B])=>x?B(x):K()),te.reset()),x}function it(x,K,B,J){const{scrollBehavior:ee}=e;if(!pn||!ee)return Promise.resolve();const ge=!B&&zg(ra(x.fullPath,0))||(J||!B)&&history.state&&history.state.scroll||null;return xt().then(()=>ee(x,K,ge)).then(g=>g&&Wg(g)).catch(g=>V(g,x,K))}const De=x=>s.go(x);let ln;const cn=new Set,qt={currentRoute:l,listening:!0,addRoute:d,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:C,getRoutes:y,resolve:E,options:e,push:_,replace:w,go:De,back:()=>De(-1),forward:()=>De(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:F.add,isReady:le,install(x){x.component("RouterLink",ym),x.component("RouterView",Jc),x.config.globalProperties.$router=qt,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>ae(l)}),pn&&!ln&&l.value===qe&&(ln=!0,_(s.location).catch(J=>{}));const K={};for(const J in qe)Object.defineProperty(K,J,{get:()=>l.value[J],enumerable:!0});x.provide(Fo,qt),x.provide(Bo,Ze(K)),x.provide(ao,l);const B=x.unmount;cn.add(x),x.unmount=function(){cn.delete(x),cn.size<1&&(f=qe,W&&W(),W=null,l.value=qe,ln=!1,q=!1),B()}}};function Ke(x){return x.reduce((K,B)=>K.then(()=>R(B)),Promise.resolve())}return qt}const Em=/(:\w+)\([^)]+\)/g,Sm=/(:\w+)[?+*]/g,Tm=/:\w+/g,Rm=(e,t)=>t.path.replace(Em,"$1").replace(Sm,"$1").replace(Tm,n=>e.params[n.slice(1)]?.toString()||""),uo=(e,t)=>{const n=e.route.matched.find(s=>s.components?.default===e.Component.type),r=t??n?.meta.key??(n&&Rm(e.route,n));return typeof r=="function"?r(e.route):r},Cm=(e,t)=>({default:()=>e?Oe(ff,e===!0?{}:e,t):t});function Xc(e){return Array.isArray(e)?e:[e]}const Pm="modulepreload",Am=function(e,t){return new URL(e,t).href},ga={},me=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let f=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(h=>({status:"fulfilled",value:h}),h=>({status:"rejected",reason:h}))))};const i=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");s=f(n.map(c=>{if(c=Am(c,r),c in ga)return;ga[c]=!0;const u=c.endsWith(".css"),h=u?'[rel="stylesheet"]':"";if(r)for(let m=i.length-1;m>=0;m--){const y=i[m];if(y.href===c&&(!u||y.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${h}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":Pm,u||(d.as="script"),d.crossOrigin="",d.href=c,l&&d.setAttribute("nonce",l),document.head.appendChild(d),u)return new Promise((m,y)=>{d.addEventListener("load",m),d.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&o(a.reason);return t().catch(o)})},xm={title:"后台账号"},km={title:"应用服务配置"},Om={title:"应用管理"},Mm={title:"通话翻译配置"},Im={title:"公码管理"},Lm={title:"数据概览"},Dm={title:"生产管理"},$m={title:"环境节点"},Hm={title:"厂家管理"},Nm={title:"全局环境配置"},jm={title:"MCP配置"},Fm={title:"会议模板"},Bm={title:"产品管理"},Um={title:"第三方服务配置"},Vm={title:"统计日志"},Km={title:"系统配置"},Wm={title:"用户查询"},qm={layout:"auth"},Os=[{name:"accounts",path:"/accounts",meta:xm||{},component:()=>me(()=>import("./Dm32cczg.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url)},{name:"appconfig",path:"/appconfig",meta:km||{},component:()=>me(()=>import("./6VNdSi_V.js"),__vite__mapDeps([5,1,2,3,6]),import.meta.url)},{name:"apps",path:"/apps",meta:Om||{},component:()=>me(()=>import("./BYskkv1s.js"),__vite__mapDeps([7,1,2,3,8]),import.meta.url)},{name:"calltranslate",path:"/calltranslate",meta:Mm||{},component:()=>me(()=>import("./B_WQdNTA.js"),__vite__mapDeps([9,1,2,3,10]),import.meta.url)},{name:"code",path:"/code",meta:Im||{},component:()=>me(()=>import("./y51pRzN1.js"),__vite__mapDeps([11,1,2,3]),import.meta.url)},{name:"dashboard",path:"/dashboard",meta:Lm||{},component:()=>me(()=>import("./DQJ7bpDC.js"),__vite__mapDeps([12,1,2,13]),import.meta.url)},{name:"device",path:"/device",meta:Dm||{},component:()=>me(()=>import("./C_DpaApf.js"),__vite__mapDeps([14,1,2,3]),import.meta.url)},{name:"environments",path:"/environments",meta:$m||{},component:()=>me(()=>import("./CEy0BeiT.js"),__vite__mapDeps([15,1,2,3]),import.meta.url)},{name:"factory",path:"/factory",meta:Hm||{},component:()=>me(()=>import("./C1a5GrA3.js"),__vite__mapDeps([16,1,2,3]),import.meta.url)},{name:"globalconfig",path:"/globalconfig",meta:Nm||{},component:()=>me(()=>import("./C4pFFOT7.js"),__vite__mapDeps([17,1,2,3]),import.meta.url)},{name:"mcpconfig",path:"/mcpconfig",meta:jm||{},component:()=>me(()=>import("./C1U0GWax.js"),__vite__mapDeps([18,1,2,3]),import.meta.url)},{name:"meettemplates",path:"/meettemplates",meta:Fm||{},component:()=>me(()=>import("./CtB1c492.js"),__vite__mapDeps([19,1,2,3]),import.meta.url)},{name:"product",path:"/product",meta:Bm||{},component:()=>me(()=>import("./-beHFMDW.js"),__vite__mapDeps([20,1,2,3]),import.meta.url)},{name:"serviceconfig",path:"/serviceconfig",meta:Um||{},component:()=>me(()=>import("./B2Vd1HRg.js"),__vite__mapDeps([21,1,2,3,22]),import.meta.url)},{name:"statlog",path:"/statlog",meta:Vm||{},component:()=>me(()=>import("./CHwWlLZM.js"),__vite__mapDeps([23,1,2,3,24]),import.meta.url)},{name:"systemconfig",path:"/systemconfig",meta:Km||{},component:()=>me(()=>import("./CgB4v6_d.js"),__vite__mapDeps([25,3,2,1,26]),import.meta.url)},{name:"users",path:"/users",meta:Wm||{},component:()=>me(()=>import("./BjeKh_cp.js"),__vite__mapDeps([27,1,2,3]),import.meta.url)},{name:"index",path:"/",meta:qm||{},component:()=>me(()=>import("./DA87FDpn.js"),__vite__mapDeps([28,29]),import.meta.url)}],Yc=(e,t)=>({default:()=>e?Oe(fd,e===!0?{}:e,t):t.default?.()}),zm=/(:\w+)\([^)]+\)/g,Gm=/(:\w+)[?+*]/g,Jm=/:\w+/g;function ma(e){const t=e?.meta.key??e.path.replace(zm,"$1").replace(Gm,"$1").replace(Jm,n=>e.params[n.slice(1)]?.toString()||"");return typeof t=="function"?t(e):t}function Xm(e,t){return e===t||t===qe?!1:ma(e)!==ma(t)?!0:!e.matched.every((r,s)=>r.components&&r.components.default===t.matched[s]?.components?.default)}function ya(e){return Array.isArray(e)?e:[e]}function Qc(e){const t=[];for(const n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?ya(n.onAfterLeave):void 0,onBeforeLeave:n.onBeforeLeave?ya(n.onBeforeLeave):void 0});return _c(...t)}const Ym={scrollBehavior(e,t,n){const r=ve(),s=Ve().options?.scrollBehaviorType??"auto";return e.path.replace(/\/$/,"")===t.path.replace(/\/$/,"")?t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:Zc(e.hash),behavior:s}:!1:(typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1?!1:t===qe?_a(e,t,n,s):new Promise(i=>{const a=()=>{requestAnimationFrame(()=>i(_a(e,t,n,s)))};r.hooks.hookOnce("page:loading:end",()=>{const l=r["~transitionPromise"];l?l.then(a):a()})})}};function Zc(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function _a(e,t,n,r){return n||(e.hash?{el:e.hash,top:Zc(e.hash),behavior:Xm(e,t)?r:"instant"}:{left:0,top:0})}const Qm={hashMode:!1,scrollBehaviorType:"auto"},Lt={...Qm,...Ym},Zm=async(e,t)=>{let n,r;if(!e.meta?.validate)return;const s=([n,r]=Qn(()=>Promise.resolve(e.meta.validate(e))),n=await n,r(),n);if(s===!0)return;const o=Ft({fatal:!0,status:s&&(s.status||s.statusCode)||404,statusText:s&&(s.statusText||s.statusMessage)||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}});return typeof window<"u"&&window.history.pushState({},"",t.fullPath),o},ey=e=>{const t=Lc({path:e.path});if(t.redirect){const n=t.redirect.includes("#")?t.redirect:t.redirect+e.hash;return Dn(n,{acceptRelative:!0})?(window.location.href=n,!1):n}},ty=[Zm,ey],fo={};function ny(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const f=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(f);return c[0]!=="/"&&(c="/"+c),Li(c,"")}const a=Li(r,e),l=!n||cc(a,n)?a:n;return l+(l.includes("?")?"":s)+o}const ry=Ye({name:"nuxt:router",enforce:"pre",async setup(e){let t,n,r=Ho().app.baseURL;const s=Lt.history?.(r)??tm(r),o=Lt.routes?([t,n]=Qn(()=>Lt.routes(Os)),t=await t,n(),t??Os):Os;let i;const a=wm({...Lt,scrollBehavior:(E,v,p)=>{if(v===qe){i=p;return}if(Lt.scrollBehavior){if(a.options.scrollBehavior=Lt.scrollBehavior,"scrollRestoration"in window.history){const _=a.beforeEach(()=>{_(),window.history.scrollRestoration="manual"})}return Lt.scrollBehavior(E,qe,i||p)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(a);const l=Ut(a.currentRoute.value);a.afterEach((E,v)=>{l.value=v}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>l.value});const f=ny(r,window.location,e.payload.path),c=Ut(a.currentRoute.value),u=()=>{c.value=a.currentRoute.value};a.afterEach((E,v)=>{const p=E.matched.at(-1)?.components?.default,_=v.matched.at(-1)?.components?.default;if(p===_){u();return}E.matched.lengthw.components?.default===v.matched[k]?.components?.default)&&u()});const h={sync:u};for(const E in c.value)Object.defineProperty(h,E,{get:()=>c.value[E],enumerable:!0});e._route=Ze(h),e._middleware||={global:[],named:{}};const d=cs();a.afterEach(async(E,v,p)=>{delete e._processingMiddleware,!e.isHydrating&&d.value&&await e.runWithContext(dp),p&&await e.callHook("page:loading:end")});try{[t,n]=Qn(()=>a.isReady()),await t,n()}catch(E){[t,n]=Qn(()=>e.runWithContext(()=>Zt(E))),await t,n()}const m=f!==a.currentRoute.value.fullPath?a.resolve(f):a.currentRoute.value,y=e.isHydrating&&e.payload.prerenderedAt&&e.payload.path&&f!==e.payload.path&&cc(a.currentRoute.value.path,e.payload.path);u();const C=e.payload.state._layout;return a.beforeEach(async(E,v)=>{await e.callHook("page:loading:start"),E.meta=ot(E.meta),e.isHydrating&&C&&!mt(E.meta.layout)&&(E.meta.layout=C),e._processingMiddleware=!0;{const p=new Set([...ty,...e._middleware.global]);for(const w of E.matched){const k=w.meta.middleware;if(k)for(const A of Xc(k))p.add(A)}const _=Lc({path:E.path});if(_.appMiddleware)for(const w in _.appMiddleware)_.appMiddleware[w]?p.add(w):p.delete(w);for(const w of p){const k=typeof w=="string"?e._middleware.named[w]||await fo[w]?.().then(A=>A.default||A):w;if(!k)throw new Error(`Unknown route middleware: '${w}'.`);try{const A=await e.runWithContext(()=>k(E,v));if(!e.payload.serverRendered&&e.isHydrating&&(A===!1||A instanceof Error)){const D=A||Ft({status:404,statusText:`Page Not Found: ${f}`});return await e.runWithContext(()=>Zt(D)),!1}if(A===!0)continue;if(A===!1)return A;if(A)return Ec(A)&&A.fatal&&await e.runWithContext(()=>Zt(A)),A}catch(A){const D=Ft(A);return D.fatal&&await e.runWithContext(()=>Zt(D)),D}}}}),a.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),a.afterEach(E=>{if(E.matched.length===0&&!d.value)return e.runWithContext(()=>Zt(Ft({status:404,fatal:!1,statusText:`Page not found: ${E.fullPath}`,data:{path:E.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{if("name"in m&&(m.name=void 0),y){const E=a.resolve(e.payload.path);"name"in E&&(E.name=void 0),await a.replace({...E,force:!0}),e.hooks.hookOnce("app:suspense:resolve",async()=>{await a.replace({...m,force:!0})})}else await a.replace({...m,force:!0});a.options.scrollBehavior=Lt.scrollBehavior}catch(E){await e.runWithContext(()=>Zt(E))}}),{provide:{router:a}}}}),ba=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),i_=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),Vo=e=>{const t=ve();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{ba(()=>e())}):ba(()=>e())},sy=Ye({name:"nuxt:payload",setup(e){const t=new Set;Ve().beforeResolve(async(n,r)=>{if(n.path===r.path)return;const s=await Yi(n.path);if(s){for(const o of t)delete e.static.data[o];for(const o in s.data)o in e.static.data||t.add(o),e.static.data[o]=s.data[o]}}),Vo(()=>{e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await Yi().catch(()=>{console.warn("[nuxt] Error preloading payload for",n)})}),navigator.connection?.effectiveType!=="slow-2g"&&setTimeout(Ic,1e3)})}}),oy=Ye(()=>{const e=Ve();Vo(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),iy=Ye(e=>{let t;async function n(){let r;try{r=await Ic()}catch(s){const o=s;if(!("status"in o&&(o.status===404||o.status===403)))throw o}t&&clearTimeout(t),t=setTimeout(n,Ui);try{const s=await $fetch($o("builds/latest.json")+`?${Date.now()}`);s.id!==r?.id&&(e.hooks.callHook("app:manifest:update",s),t&&clearTimeout(t))}catch{}}Vo(()=>{t=setTimeout(n,Ui)})});function ay(e={}){const t=e.path||window.location.pathname,n=new URL(t,window.location.href);if(n.host!==window.location.host)throw new Error(`Cannot navigate to a URL with a different host: '${t}'.`);if(n.protocol&&Xs(n.protocol))throw new Error(`Cannot navigate to a URL with '${n.protocol}' protocol.`);let r={};try{r=JSON.parse(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||r?.path!==t||r?.expires{r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const i=ac(n.app.baseURL,o.fullPath);ay({path:i,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}});function cy(e){return typeof e=="string"?`'${e}'`:new uy().serialize(e)}const uy=(function(){class e{#e=new Map;compare(n,r){const s=typeof n,o=typeof r;return s==="string"&&o==="string"?n.localeCompare(r):s==="number"&&o==="number"?n-r:String.prototype.localeCompare.call(this.serialize(n,!0),this.serialize(r,!0))}serialize(n,r){if(n===null)return"null";switch(typeof n){case"string":return r?n:`'${n}'`;case"bigint":return`${n}n`;case"object":return this.$object(n);case"function":return this.$function(n)}return String(n)}serializeObject(n){const r=Object.prototype.toString.call(n);if(r!=="[object Object]")return this.serializeBuiltInType(r.length<10?`unknown:${r}`:r.slice(8,-1),n);const s=n.constructor,o=s===Object||s===void 0?"":s.name;if(o!==""&&globalThis[o]===s)return this.serializeBuiltInType(o,n);if(typeof n.toJSON=="function"){const i=n.toJSON();return o+(i!==null&&typeof i=="object"?this.$object(i):`(${this.serialize(i)})`)}return this.serializeObjectEntries(o,Object.entries(n))}serializeBuiltInType(n,r){const s=this["$"+n];if(s)return s.call(this,r);if(typeof r?.entries=="function")return this.serializeObjectEntries(n,r.entries());throw new Error(`Cannot serialize ${n}`)}serializeObjectEntries(n,r){const s=Array.from(r).sort((i,a)=>this.compare(i[0],a[0]));let o=`${n}{`;for(let i=0;ithis.compare(r,s)))}`}$Map(n){return this.serializeObjectEntries("Map",n.entries())}}for(const t of["Error","RegExp","URL"])e.prototype["$"+t]=function(n){return`${t}(${n})`};for(const t of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join(",")}]`};for(const t of["BigInt64Array","BigUint64Array"])e.prototype["$"+t]=function(n){return`${t}[${n.join("n,")}${n.length>0?"n":""}]`};return e})(),fy=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],dy=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],hy="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",Yt=[];class py{_data=new yn;_hash=new yn([...fy]);_nDataBytes=0;_minBufferSize=0;finalize(t){t&&this._append(t);const n=this._nDataBytes*8,r=this._data.sigBytes*8;return this._data.words[r>>>5]|=128<<24-r%32,this._data.words[(r+64>>>9<<4)+14]=Math.floor(n/4294967296),this._data.words[(r+64>>>9<<4)+15]=n,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(t,n){const r=this._hash.words;let s=r[0],o=r[1],i=r[2],a=r[3],l=r[4],f=r[5],c=r[6],u=r[7];for(let h=0;h<64;h++){if(h<16)Yt[h]=t[n+h]|0;else{const p=Yt[h-15],_=(p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3,w=Yt[h-2],k=(w<<15|w>>>17)^(w<<13|w>>>19)^w>>>10;Yt[h]=_+Yt[h-7]+k+Yt[h-16]}const d=l&f^~l&c,m=s&o^s&i^o&i,y=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),C=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),E=u+C+d+dy[h]+Yt[h],v=y+m;u=c,c=f,f=l,l=a+E|0,a=i,i=o,o=s,s=E+v|0}r[0]=r[0]+s|0,r[1]=r[1]+o|0,r[2]=r[2]+i|0,r[3]=r[3]+a|0,r[4]=r[4]+l|0,r[5]=r[5]+f|0,r[6]=r[6]+c|0,r[7]=r[7]+u|0}_append(t){typeof t=="string"&&(t=yn.fromUtf8(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes}_process(t){let n,r=this._data.sigBytes/64;t?r=Math.ceil(r):r=Math.max((r|0)-this._minBufferSize,0);const s=r*16,o=Math.min(s*4,this._data.sigBytes);if(s){for(let i=0;i>>2]|=(n.charCodeAt(o)&255)<<24-o%4*8;return new yn(s,r)}toBase64(){const t=[];for(let n=0;n>>2]>>>24-n%4*8&255,s=this.words[n+1>>>2]>>>24-(n+1)%4*8&255,o=this.words[n+2>>>2]>>>24-(n+2)%4*8&255,i=r<<16|s<<8|o;for(let a=0;a<4&&n*8+a*6>>6*(3-a)&63))}return t.join("")}concat(t){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let n=0;n>>2]>>>24-n%4*8&255;this.words[this.sigBytes+n>>>2]|=r<<24-(this.sigBytes+n)%4*8}else for(let n=0;n>>2]=t.words[n>>>2];this.sigBytes+=t.sigBytes}}function gy(e){return new py().finalize(e).toBase64()}function gn(e){return gy(cy(e))}const my=Symbol.for("nuxt:client-only");function eu(e){return Object.defineProperty(function(){throw new Error(`[nuxt] \`${e.name}\` is a compiler macro and cannot be called at runtime.`)},"__nuxt_factory",{enumerable:!1,get:()=>e.factory})}const tu=eu({name:"createUseAsyncData",factory(e={}){function t(...n){const r=typeof n[n.length-1]=="string"?n.pop():void 0;_y(n[0],n[1])&&n.unshift(r);let[s,o,i={}]=n,a=!1;const l=pe(s)||typeof s=="function",f=l?Re(()=>ft(s)):{value:s};if(!f.value||typeof f.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a non-empty string.");if(typeof o!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const c=typeof e=="function",u=ve(),h=c?e(i):e;if(!c)for(const p in h)h[p]!==void 0&&i[p]===void 0&&(i[p]=h[p]);if(i.server??=!0,i.default??=vy,i.getCachedData??=ru,i.lazy??=!1,i.immediate??=!0,i.deep??=zh.deep,i.dedupe??="cancel",c)for(const p in h)h[p]!==void 0&&(i[p]=h[p]);u._asyncData[f.value];function d(){const p={cause:"initial",dedupe:i.dedupe},_=u._asyncData[f.value];return _?._init?u._asyncDataPromises[f.value]&&(p.cachedData=_._initialCachedData):(p.cachedData=i.getCachedData(f.value,u,{cause:"initial"}),u._asyncData[f.value]=va(u,f.value,o,i,p.cachedData),u._asyncData[f.value]._initialCachedData=p.cachedData),()=>u._asyncData[f.value].execute(p)}const m=d(),y=u._asyncData[f.value];y._deps++;const C=i.server!==!1&&u.payload.serverRendered;{let p=function(T){const H=u._asyncData[T];H?._deps&&(H._deps--,H._deps===0&&H?._off())};const _=an();if(_&&C&&i.immediate&&!_.sp&&(_.sp=[]),_&&!_._nuxtOnBeforeMountCbs){_._nuxtOnBeforeMountCbs=[];const T=_._nuxtOnBeforeMountCbs;dl(()=>{T.forEach(H=>{H()}),T.splice(0,T.length)}),ss(()=>T.splice(0,T.length))}const w=_&&(_._nuxtClientOnly||Ce(my,!1));C&&u.isHydrating&&(y.error.value||y.data.value!==void 0)?y.status.value=y.error.value?"error":"success":_&&(!w&&u.payload.serverRendered&&u.isHydrating||i.lazy)&&i.immediate?_._nuxtOnBeforeMountCbs.push(m):i.immediate&&y.status.value!=="success"&&m();const k=Zr(),A=()=>{},D=l?Rt(f,(T,H)=>{if((T||H)&&T!==H){a=!0;const L=u._asyncData[H]?.data.value!==void 0,W=u._asyncDataPromises[H]!==void 0,Z={cause:"initial",dedupe:i.dedupe};if(!u._asyncData[T]?._init){let F;H&&L?F=u._asyncData[H].data.value:(F=i.getCachedData(T,u,{cause:"initial"}),Z.cachedData=F),u._asyncData[T]=va(u,T,o,i,F)}u._asyncData[T]._deps++,H&&p(H),i._keyTriggersExecute!==!1&&(i.immediate||L||W)&&u._asyncData[T].execute(Z),rr(()=>{a=!1})}},{flush:"sync"}):A,R=i.watch?Rt(i.watch,()=>{a||(u._asyncData[f.value]?._execute.isPending()&&rr(()=>{u._asyncData[f.value]?._execute.flush()}),u._asyncData[f.value]?._execute({cause:"watch",dedupe:i.dedupe}))}):A;k&&Ia(()=>{D(),R(),p(f.value)})}const E={data:Sr(()=>u._asyncData[f.value]?.data),pending:Sr(()=>u._asyncData[f.value]?.pending),status:Sr(()=>u._asyncData[f.value]?.status),error:Sr(()=>u._asyncData[f.value]?.error),refresh:(...p)=>u._asyncData[f.value]?._init?u._asyncData[f.value].execute(...p):d()(),execute:(...p)=>E.refresh(...p),clear:()=>{const p=u._asyncData[f.value];if(p?._abortController)try{p._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{p._abortController=void 0}nu(u,f.value)}},v=Promise.resolve(u._asyncDataPromises[f.value]).then(()=>E);return Object.assign(v,E),Object.defineProperties(v,{then:{enumerable:!0,value:v.then.bind(v)},catch:{enumerable:!0,value:v.catch.bind(v)},finally:{enumerable:!0,value:v.finally.bind(v)}}),v}return t}}),yy=tu.__nuxt_factory();tu.__nuxt_factory({lazy:!0,_functionName:"useLazyAsyncData"});function Sr(e){return Re({get(){return e()?.value},set(t){const n=e();n&&(n.value=t)}})}function _y(e,t){return!(typeof e=="string"||typeof e=="object"&&e!==null||typeof e=="function"&&typeof t=="function")}function nu(e,t){t in e.payload.data&&(e.payload.data[t]=void 0),t in e.payload._errors&&(e.payload._errors[t]=void 0),e._asyncData[t]&&(e._asyncData[t].data.value=ae(e._asyncData[t]._default()),e._asyncData[t].error.value=void 0,e._asyncData[t].status.value="idle",e._asyncData[t]._initialCachedData=void 0),t in e._asyncDataPromises&&(e._asyncDataPromises[t]=void 0)}function by(e,t){const n={};for(const r of t)n[r]=e[r];return n}function va(e,t,n,r,s){e.payload._errors[t]??=void 0;const o=r.getCachedData!==ru,i=n,a=r.deep?nt:Ut,l=s!==void 0,f=e.hook("app:data:refresh",async u=>{(!u||u.includes(t))&&await c.execute({cause:"refresh:hook"})}),c={data:a(l?s:r.default()),pending:Re(()=>c.status.value==="pending"),error:Xa(e.payload._errors,t),status:Ut("idle"),execute:(...u)=>{const[h,d=void 0]=u,m=h&&d===void 0&&typeof h=="object"?h:{};if(e._asyncDataPromises[t]&&(m.dedupe??r.dedupe)==="defer")return e._asyncDataPromises[t];{const E="cachedData"in m?m.cachedData:r.getCachedData(t,e,{cause:m.cause??"refresh:manual"});if(E!==void 0)return e.payload.data[t]=c.data.value=E,c.error.value=void 0,c.status.value="success",Promise.resolve(E)}c._abortController&&c._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),c._abortController=new AbortController,c.status.value="pending";const y=new AbortController,C=new Promise((E,v)=>{try{const p=m.timeout??r.timeout,_=wy([c._abortController?.signal,m?.signal],y.signal,p);if(_.aborted){const w=_.reason;v(w instanceof Error?w:new DOMException(String(w??"Aborted"),"AbortError"));return}return _.addEventListener("abort",()=>{const w=_.reason;v(w instanceof Error?w:new DOMException(String(w??"Aborted"),"AbortError"))},{once:!0,signal:y.signal}),Promise.resolve(i(e,{signal:_})).then(E,v)}catch(p){v(p)}}).then(async E=>{if(e._asyncDataPromises[t]!==C)return;let v=E;r.transform&&(v=await r.transform(E)),r.pick&&(v=by(v,r.pick)),e.payload.data[t]=v,c.data.value=v,c.error.value=void 0,c.status.value="success"}).catch(E=>{if(e._asyncDataPromises[t]!==C||c._abortController?.signal.aborted)return e._asyncDataPromises[t];if(typeof DOMException<"u"&&E instanceof DOMException&&E.name==="AbortError")return c.status.value="idle",e._asyncDataPromises[t];c.error.value=Ft(E),c.data.value=ae(r.default()),c.status.value="error"}).finally(()=>{y.abort(),e._asyncDataPromises[t]===C&&delete e._asyncDataPromises[t]});return e._asyncDataPromises[t]=C,e._asyncDataPromises[t]},_execute:vg((...u)=>c.execute(...u),0,{leading:!0}),_default:r.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{f(),e._asyncData[t]?._init&&(e._asyncData[t]._init=!1),o||xt(()=>{e._asyncData[t]?._init||(nu(e,t),c.execute=()=>Promise.resolve())})}};return c}const vy=()=>{},ru=(e,t,n)=>{if(t.isHydrating)return t.payload.data[e];if(n.cause!=="refresh:manual"&&n.cause!=="refresh:hook")return t.static.data[e]};function wy(e,t,n){const r=e.filter(i=>!!i);if(typeof n=="number"&&n>=0){const i=AbortSignal.timeout?.(n);i&&r.push(i)}if(AbortSignal.any)return AbortSignal.any(r);const s=new AbortController;for(const i of r)if(i.aborted){const a=i.reason??new DOMException("Aborted","AbortError");try{s.abort(a)}catch{s.abort()}return s.signal}const o=()=>{const a=r.find(l=>l.aborted)?.reason??new DOMException("Aborted","AbortError");try{s.abort(a)}catch{s.abort()}};for(const i of r)i.addEventListener?.("abort",o,{once:!0,signal:t});return s.signal}function Ey(e){const t=[ft(e.method)?.toUpperCase()||"GET",ft(e.baseURL)];for(const n of[e.query||e.params]){const r=ft(n);if(!r)continue;const s={};for(const[o,i]of Object.entries(r))s[ft(o)]=ft(i);t.push(s)}if(e.body){const n=ft(e.body);if(!n)t.push(gn(n));else if(n instanceof ArrayBuffer)t.push(gn(Object.fromEntries([...new Uint8Array(n).entries()].map(([r,s])=>[r,s.toString()]))));else if(n instanceof FormData){const r=[];for(const s of n.entries()){const[o,i]=s;r.push([o,i instanceof File?`${i.name}:${i.size}:${i.lastModified}`:i])}t.push(gn(r))}else if(go(n))t.push(gn(ot(n)));else try{t.push(gn(n))}catch{console.warn("[useFetch] Failed to hash body",n)}}return t}const su=eu({name:"createUseFetch",factory(e={}){function t(n,r,s){const[o={},i]=typeof r=="string"?[{},r]:[r,s],a=typeof e=="function"?e(o):e,{server:l,lazy:f,default:c,transform:u,pick:h,watch:d,immediate:m,getCachedData:y,deep:C,dedupe:E,timeout:v,...p}={...typeof e=="function"?{}:a,...o,...typeof e=="function"?a:{}},_=Re(()=>ft(n)),w=Re(()=>ft(p.key)||"$f"+gn([i,typeof _.value=="string"?_.value:"",...Ey(p)]));if(!p.baseURL&&typeof _.value=="string"&&_.value[0]==="/"&&_.value[1]==="/")throw new Error('[nuxt] [useFetch] the request URL must not start with "//".');const k=ot({...Gh,...p,cache:typeof p.cache=="boolean"?void 0:p.cache}),A={server:l,lazy:f,default:c,transform:u,pick:h,immediate:m,getCachedData:y,deep:C,dedupe:E,timeout:v,watch:d===!1?[]:[...d||[],k]};return d===!1&&(A._keyTriggersExecute=!1),yy(w,(R,{signal:T})=>(p.$fetch||globalThis.$fetch)(_.value,{signal:T,...k}),A)}return t}});su.__nuxt_factory();su.__nuxt_factory({lazy:!0,_functionName:"useLazyFetch"});function Sy(e){if(e?.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Ty(e,t=Ve()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||=new Set,t._routePreloaded.has(n)))return;const s=t._preloadPromises||=[];if(s.length>4)return Promise.all(s).then(()=>Ty(e,t));t._routePreloaded.add(n);for(const o of r){const i=o.components?.default;if(typeof i!="function")continue;const a=Promise.resolve(i()).catch(()=>{}).finally(()=>s.splice(s.indexOf(a),1));s.push(a)}await Promise.all(s)}const Ry=Ye({name:"pinia",setup(e){const t=hp();return e.vueApp.use(t),xn(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}},hooks:{"app:rendered"(){const e=ve();e.payload.pinia=ne(e.$pinia).state.value,xn(void 0)}}}),Cy=Ye({name:"nuxt:global-components"}),Nt={auth:Ir(()=>me(()=>import("./B_rTis4D.js"),[],import.meta.url).then(e=>e.default||e)),default:Ir(()=>me(()=>import("./B3ocY-Ie.js"),__vite__mapDeps([30,31,3,2,32]),import.meta.url).then(e=>e.default||e))},Py=Ye({name:"nuxt:prefetch",setup(e){const t=Ve();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{const r=n?.meta?.layout;r&&typeof Nt[r]=="function"&&await Nt[r]()})}),e.hooks.hook("link:prefetch",n=>{if(Dn(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=Xc(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof fo[i]=="function"&&fo[i]();typeof s=="string"&&s in Nt&&Sy(Nt[s])})}}),Ay={1:"超管",2:"管理员",3:"代理",4:"运营"},Ko="auth_state";function Tr(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}function Ms(e){localStorage.setItem(Ko,JSON.stringify(e))}function xy(){try{const e=localStorage.getItem(Ko);return e?JSON.parse(e):null}catch{return null}}const ky=bp("auth",{state:()=>({token:"",account:"",identity:0,access:[],apps:[],regions:[],products:[],appbinds:[],currentAppId:0,siteTitle:""}),getters:{isSuperAdmin(){return this.identity===1},isAdmin(){return this.identity===1||this.identity===2},identityLabel(){return Ay[this.identity]??""},isLoggedIn(){return!!this.token}},actions:{setLoginData(e){this.token=e.token,this.account=e.account,this.identity=e.identity,this.access=Tr(e.access),this.apps=Tr(e.apps),this.regions=Tr(e.regions),this.products=Tr(e.products),this.appbinds=e.appbinds??[],this.appbinds.length>0&&!this.currentAppId&&(this.currentAppId=this.appbinds[0].id),Ms({token:this.token,account:this.account,identity:this.identity,access:this.access,apps:this.apps,regions:this.regions,products:this.products,appbinds:this.appbinds,currentAppId:this.currentAppId,siteTitle:this.siteTitle})},setCurrentApp(e){this.currentAppId=e,Ms({token:this.token,account:this.account,identity:this.identity,access:this.access,apps:this.apps,regions:this.regions,products:this.products,appbinds:this.appbinds,currentAppId:this.currentAppId,siteTitle:this.siteTitle})},setSiteTitle(e){this.siteTitle=e,Ms({token:this.token,account:this.account,identity:this.identity,access:this.access,apps:this.apps,regions:this.regions,products:this.products,appbinds:this.appbinds,currentAppId:this.currentAppId,siteTitle:this.siteTitle})},logout(){this.token="",this.account="",this.identity=0,this.access=[],this.apps=[],this.regions=[],this.products=[],this.appbinds=[],this.currentAppId=0,this.siteTitle="",localStorage.removeItem(Ko)},restore(){const e=xy();e&&(this.token=e.token??"",this.account=e.account??"",this.identity=e.identity??0,this.access=e.access??[],this.apps=e.apps??[],this.regions=e.regions??[],this.products=e.products??[],this.appbinds=e.appbinds??[],this.currentAppId=e.currentAppId??0,this.siteTitle=e.siteTitle??"")},hasAccess(e){return this.identity===1?!0:this.access.includes(e)}}}),Oy=Ye(()=>{ky().restore()}),My=[cg,fg,mg,ry,sy,oy,iy,ly,Ry,Cy,Py,Oy],ou=(e="RouteProvider")=>Wt({name:e,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){const n=t.renderKey,r=t.route,s={};for(const o in t.route)Object.defineProperty(s,o,{get:()=>n===t.renderKey?t.route[o]:r[o],enumerable:!0});return jt(on,Ze(s)),()=>t.vnode?Oe(t.vnode,{ref:t.vnodeRef}):t.vnode}}),Iy=ou(),wa=new WeakMap,Ly=Wt({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=ve(),o=nt(),i=Ce(on,null);let a;r({pageRef:o});const l=Ce(vc,null);let f;const c=s.deferHydration();let u=!1,h=!1,d=0;if(s.isHydrating){const y=s.hooks.hookOnce("app:error",c),C=Ve().beforeEach(()=>{y(),C()})}e.pageKey&&Rt(()=>e.pageKey,(y,C)=>{y!==C&&s.callHook("page:loading:start")});let m=!1;{const y=Ve().beforeResolve(()=>{m=!1});fr(()=>{y(),c()})}return()=>Oe(Jc,{name:e.name,route:e.route,...t},{default:y=>{const C=Dy(i,y.route,y.Component),E=i&&i.matched.length===y.route.matched.length;if(!y.Component){if(f&&!E&&!Is(f))return f;c();return}if(f&&l&&!Is(f)&&!l.isCurrent(y.route))return f;if(C&&i&&(!l||l?.isCurrent(i)))return(E||f)&&!Is(f)?f:null;const v=uo(y,e.pageKey),p=$y(i,y.route,y.Component);!s.isHydrating&&a===v&&!p&&xt(()=>{m||(m=!0,s.callHook("page:loading:end"))}),u&&a!==v&&h&&d++,a=v;const _=!!(e.transition??y.route.meta.pageTransition??Fi),w=_&&Qc([e.transition,y.route.meta.pageTransition,Fi,{onAfterLeave(){s["~transitionFinish"]?.(),delete s["~transitionFinish"],delete s["~transitionPromise"],s.callHook("page:transition:finish",y.Component)}}]),k=e.keepalive??y.route.meta.keepalive??qh;return f=Yc(_&&w,Cm(k,Oe(Mo,{key:d,suspensible:!0,onPending:()=>{u=!0,_&&!s["~transitionPromise"]&&(s["~transitionPromise"]=new Promise(A=>{s["~transitionFinish"]=A})),s.callHook("page:start",y.Component)},onResolve:async()=>{u=!1,h=!0;try{await xt(),s._route.sync?.(),await s.callHook("page:finish",y.Component),!m&&!p&&(m=!0,await s.callHook("page:loading:end"))}finally{c()}}},{default:()=>{const A={key:v||void 0,vnode:n.default?Hy(n.default,y):y.Component,route:y.route,renderKey:v||void 0,trackRootNodes:_,vnodeRef:o};if(!k)return Oe(Iy,A);const D=y.Component.type,R=D;let T=wa.get(R);return T||(T=ou(D.name||D.__name),wa.set(R,T)),Oe(T,A)}}))).default(),f}})}});function Dy(e,t,n){if(!e)return!1;const r=t.matched.findIndex(i=>i.components?.default===n?.type);if(r===-1)return!1;const s=t.matched.slice(0,r).filter(i=>i.components?.default);if(!s.length)return!1;const o=e.matched.filter(i=>i.components?.default);return s.some((i,a)=>i.components?.default!==o[a]?.components?.default)||n&&uo({route:t,Component:n})!==uo({route:e,Component:n})}function $y(e,t,n){return e?t.matched.findIndex(s=>s.components?.default===n?.type)Oe(Nt[e.name],e.layoutProps,t.slots)}}),jy={name:{type:[String,Boolean,Object],default:null},fallback:{type:[String,Object],default:null}},Fy=Wt({name:"NuxtLayout",inheritAttrs:!1,props:jy,setup(e,t){const n=ve(),r=Ce(on),o=!r||r===No()?Nc():r,i=Re(()=>{let c=ae(e.name)??o?.meta.layout??iu(o?.path).appLayout??"default";return c&&!(c in Nt)&&e.fallback&&(c=ae(e.fallback)),c}),a=Ut();t.expose({layoutRef:a});const l=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",l),u=Ve().beforeEach(()=>{c(),u()})}let f;return()=>{const u=!!i.value&&i.value in Nt&&!!(o?.meta.layoutTransition??ji),h=u&&Qc([o?.meta.layoutTransition,ji,{onBeforeLeave(){n["~transitionPromise"]=new Promise(m=>{n["~transitionFinish"]=m})},onAfterLeave(){n["~transitionFinish"]?.(),delete n["~transitionFinish"],delete n["~transitionPromise"]}}]),d=f;return f=i.value,Yc(h,{default:()=>Oe(Mo,{suspensible:!0,onResolve:async()=>{await xt(l)}},{default:()=>Oe(By,{layoutProps:Wl(t.attrs,o.meta.layoutProps??{},{ref:a}),key:i.value||void 0,name:i.value,shouldProvide:!e.name,isRenderingNewLayout:m=>m!==d&&m===i.value,hasTransition:u},t.slots)})}).default()}}}),By=Wt({name:"NuxtLayoutProvider",inheritAttrs:!1,props:{name:{type:[String,Boolean]},layoutProps:{type:Object},hasTransition:{type:Boolean},shouldProvide:{type:Boolean},isRenderingNewLayout:{type:Function,required:!0}},setup(e,t){const n=e.name;e.shouldProvide&&jt(vc,{isCurrent:o=>n===!1||n===(o.meta.layout??iu(o.path).appLayout??"default")});const r=Ce(on);if(r&&r===No()){const o=Nc(),i={};for(const a in o){const l=a;Object.defineProperty(i,l,{enumerable:!0,get:()=>e.isRenderingNewLayout(e.name)?o[l]:r[l]})}jt(on,Ze(i))}return()=>!n||typeof n=="string"&&!(n in Nt)?t.slots.default?.():Oe(Ny,{key:n,layoutProps:e.layoutProps,name:n},t.slots)}}),Uy=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Vy={};function Ky(e,t){const n=Ly,r=Fy;return Ge(),ht(r,null,{default:Co(()=>[ye(n)]),_:1})}const Wy=Uy(Vy,[["render",Ky]]),qy={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error,r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),a=void 0,c=s?Ir(()=>me(()=>import("./uI9fc-sC.js"),__vite__mapDeps([33,31,34,35]),import.meta.url)):Ir(()=>me(()=>import("./C_4yneL9.js"),__vite__mapDeps([36,34,37]),import.meta.url));return(u,h)=>(Ge(),ht(ae(c),mu(Vl({status:ae(r),statusText:ae(o),statusCode:ae(r),statusMessage:ae(o),description:ae(i),stack:ae(a)})),null,16))}},zy={key:0},Ea={__name:"nuxt-root",setup(e){const t=()=>null,n=ve(),r=n.deferHydration();if(n.isHydrating){const c=n.hooks.hookOnce("app:error",r),u=Ve().beforeEach(()=>{c(),u()})}const s=!1;jt(on,No()),n.hooks.callHookWith(c=>c.map(u=>u()),"vue:setup",[]);const o=cs(),i=!1,a=/bot\b|chrome-lighthouse|facebookexternalhit|google\b/i;function l(c,u,h){const d=n.vueApp.config.errorHandler;if(d&&!d.__nuxt_default)try{d(c,u,h)}catch(m){console.error("[nuxt] Error in `app.config.errorHandler`",m)}}pl((c,u,h)=>{if(n.hooks.callHook("vue:error",c,u,h)?.catch(d=>console.error("[nuxt] Error in `vue:error` hook",d)),a.test(navigator.userAgent))return n.hooks.callHook("app:error",c),console.error(`[nuxt] Not rendering error page for bot with user agent \`${navigator.userAgent}\`:`,c),!1;if(Ec(c)&&(c.fatal||c.unhandled))return n.runWithContext(()=>Zt(c)),l(c,u,h),!1});const f=!1;return(c,u)=>(Ge(),ht(Mo,{onResolve:ae(r)},{default:Co(()=>[ae(i)?(Ge(),Gf("div",zy)):ae(o)?(Ge(),ht(ae(qy),{key:1,error:ae(o)},null,8,["error"])):ae(f)?(Ge(),ht(ae(t),{key:2,context:ae(f)},null,8,["context"])):ae(s)?(Ge(),ht(yf(ae(s)),{key:3})):(Ge(),ht(ae(Wy),{key:4}))]),_:1},8,["onResolve"]))}};let Sa;{let e;Sa=async function(){if(e)return e;const n=!!(window.__NUXT__?.serverRendered??document.getElementById("__NUXT_DATA__")?.dataset.ssr==="true"),r=n?Ud(Ea):Bd(Ea),s=Qh({vueApp:r});async function o(i){await s.callHook("app:error",i),s.payload.error||=Ft(i)}o.__nuxt_default=!0,r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)}),!n&&Bi.id&&s.hook("app:suspense:resolve",()=>{document.getElementById(Bi.id)?.remove()});try{await tp(s,My)}catch(i){o(i)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(Jh),await s.hooks.callHook("app:mounted",r),await xt()}catch(i){o(i)}return r},e=Sa().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{Dn as $,Re as A,e_ as B,ky as C,t_ as D,xt as E,ke as F,Yr as G,Qy as H,n_ as I,ht as J,fr as K,Yy as L,ae as M,Vo as N,ba as O,i_ as P,Oe as Q,Jy as R,sc as S,fd as T,fp as U,Ut as V,up as W,Ty as X,s_ as Y,ac as Z,Uy as _,Ul as a,Xs as a0,Ho as a1,mh as a2,Fr as a3,r_ as a4,Xa as a5,pe as a6,ye as b,Gf as c,Kl as d,ve as e,Oc as f,Wt as g,ns as h,Ce as i,xo as j,Gy as k,Xf as l,ki as m,Qr as n,Ge as o,Ld as p,Md as q,Xy as r,nt as s,vu as t,o_ as u,Zy as v,Co as w,ot as x,No as y,Ve as z}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CgB4v6_d.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CgB4v6_d.js new file mode 100644 index 00000000..cb00343f --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CgB4v6_d.js @@ -0,0 +1 @@ +import{g as de,j as re,c as o,H as Z,a as e,F as k,r as w,t as i,d as y,G as K,k as r,q as O,l as c,m as C,p as ce,B as z,s as S,x as N,A as j,o as a,n as x,D as P,_ as ue}from"./CfpW9SkI.js";import{u as pe}from"./CMwGY1Mu.js";import{u as ve}from"./DSu8q42f.js";import"./DL330dAC.js";const me={class:"flex gap-4",style:{"align-items":"flex-start"}},xe={style:{width:"208px","flex-shrink":"0"}},be={class:"flex flex-col gap-1.5"},ye=["onClick"],fe={width:"17",height:"17",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},he=["d"],ge={class:"flex-1 min-w-0"},_e={class:"text-sm font-medium text-slate-700"},ke={class:"text-[11px] text-slate-400 truncate"},we={key:0,class:"dot-on",title:"已启用"},Ce={class:"flex-1 min-w-0"},Se={key:0},qe={class:"rounded-xl px-4 py-3 mb-4 flex items-center gap-3",style:{background:"linear-gradient(135deg,#ecfdf5,#f0fdfa)",border:"1px solid #a7f3d0"}},Me={style:{width:"36px",height:"36px","border-radius":"10px",background:"#10b981",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},Te={style:{width:"19px",height:"19px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Ae={class:"flex-1"},Ke={class:"text-sm font-semibold text-emerald-800"},Ie={class:"grid grid-cols-4 gap-3 mb-4"},Ve=["onClick"],je={class:"flex items-center justify-between"},Pe={key:0,class:"text-[10px] text-emerald-500 font-semibold"},$e={key:1,class:"text-[10px] text-slate-300 font-semibold"},De={class:"text-sm font-semibold text-slate-700 mt-2"},Ue={class:"text-[11px] text-slate-400 mb-2.5"},Le=["onClick"],Be=["checked","onClick"],Oe={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},ze={class:"flex items-center justify-between mb-5"},Ne={class:"flex items-center gap-3"},Re={class:"text-base font-semibold text-slate-800"},Ee={class:"text-xs text-slate-400 mt-0.5"},Ge={class:"flex items-center gap-2"},He={class:"flex items-center gap-2 mr-1"},Fe={class:"grid grid-cols-2 gap-x-5 gap-y-4"},Je={class:"label py-1"},Qe={class:"label-text text-sm"},Ze={key:0,class:"text-rose-500 ml-0.5"},We={key:1,class:"lock-tag ml-1.5"},Xe={class:"relative"},Ye=["onUpdate:modelValue","type","placeholder"],et=["onClick"],tt={key:0,class:"text-[11px] text-slate-400 mt-1"},st={key:1},lt={class:"rounded-xl px-4 py-3 mb-4 flex items-center gap-3",style:{background:"#fffbeb",border:"1px solid #fde68a"}},ot={style:{width:"36px",height:"36px","border-radius":"10px",background:"#f59e0b",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},at={style:{width:"19px",height:"19px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},nt={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},it={class:"flex items-center justify-between mb-5"},dt={class:"flex items-center gap-2"},rt={class:"flex items-center gap-2 mr-1"},ct={class:"grid grid-cols-2 gap-x-5 gap-y-4"},ut={class:"form-control"},pt={class:"form-control"},vt={class:"form-control"},mt=["value"],xt={class:"form-control"},bt={class:"form-control"},yt={class:"form-control"},ft={class:"relative"},ht=["type"],gt={class:"form-control col-span-2"},_t={class:"flex items-end gap-3"},kt={class:"form-control flex-1"},wt={key:2},Ct={class:"rounded-xl px-4 py-3 mb-4 flex items-center gap-3",style:{background:"#f0fdfa",border:"1px solid #99f6e4"}},St={style:{width:"36px",height:"36px","border-radius":"10px",background:"#14b8a6",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},qt={style:{width:"19px",height:"19px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Mt={class:"badge badge-sm text-white",style:{background:"#14b8a6",border:"none"}},Tt={class:"grid grid-cols-4 gap-3 mb-4"},At=["onClick"],Kt={class:"flex items-center justify-between"},It={key:0,class:"text-[10px] text-emerald-500 font-semibold"},Vt={key:1,class:"text-[10px] text-slate-300 font-semibold"},jt={class:"text-sm font-semibold text-slate-700 mt-2"},Pt={class:"text-[11px] text-slate-400 mb-2.5"},$t=["onClick"],Dt=["checked","onClick"],Ut={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},Lt={class:"flex items-center justify-between mb-5"},Bt={class:"flex items-center gap-3"},Ot={class:"text-base font-semibold text-slate-800"},zt={class:"text-xs text-slate-400 mt-0.5"},Nt={class:"flex items-center gap-2"},Rt={class:"flex items-center gap-2 mr-1"},Et={class:"grid grid-cols-2 gap-x-5 gap-y-4"},Gt={class:"label py-1"},Ht={class:"label-text text-sm"},Ft={key:0,class:"text-rose-500 ml-0.5"},Jt={key:1,class:"lock-tag ml-1.5"},Qt={class:"relative"},Zt=["onUpdate:modelValue","type","placeholder"],Wt=["onClick"],Xt={key:0,class:"text-[11px] text-slate-400 mt-1"},W="6",Yt=de({__name:"systemconfig",setup(es){const{success:q,info:M,error:R}=pe(),{webApi:E}=ve(),X=[{id:"storage",label:"对象存储",desc:"固件 / 头像 / 文件",color:"#6366f1",icon:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8"},{id:"mail",label:"邮件服务",desc:"生产通知 / 厂家发信",color:"#f59e0b",icon:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},{id:"translate",label:"翻译服务",desc:"后台文案多语言同步",color:"#14b8a6",icon:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"}],T=S("storage"),n=N({enable:!0,host:"smtp.exmail.qq.com",port:"465",secure:"SSL",user:"noreply@yunyan.com",pass:"",_showPass:!1,fromName:"云岩科技",cc:"ops@yunyan.com",testTo:""}),Y=["SSL","STARTTLS","不加密"];function ee(){if(!n.testTo){M("请先填测试收件邮箱");return}M(`正在向 ${n.testTo} 发送测试邮件…(演示)`),setTimeout(()=>q(`测试邮件已发送至 ${n.testTo}`),600)}function te(l){return l==="storage"?!0:l==="mail"?n.enable:l==="translate"?G.value?.enable??!1:!1}const I=N([{id:"volc",name:"火山引擎翻译",short:"火山",tag:"Volcengine MT",color:"#1664ff",enable:!0,fields:[{key:"region",label:"Region",value:"cn-beijing",mono:!0,required:!0},{key:"accessKey",label:"AccessKey",value:"AKLTZjJmODdk****",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"}]},{id:"aliyun",name:"阿里云翻译",short:"阿里",tag:"Aliyun MT",color:"#ff6a00",enable:!0,fields:[{key:"region",label:"Region",value:"cn-hangzhou",mono:!0,required:!0},{key:"accessKeyId",label:"AccessKey ID",value:"LTAI5txxxxxxxx",mono:!0,encrypted:!0,required:!0},{key:"accessKeySecret",label:"AccessKey Secret",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"},{key:"scene",label:"翻译场景",value:"general",mono:!0,hint:"general / social / ecommerce / tech"}]},{id:"google",name:"Google 翻译",short:"G",tag:"Cloud Translation",color:"#ea4335",enable:!1,fields:[{key:"project",label:"Project ID",value:"",mono:!0,required:!0},{key:"apiKey",label:"API Key",value:"",mono:!0,encrypted:!0,required:!0}]},{id:"deepl",name:"DeepL",short:"DL",tag:"DeepL API",color:"#0f2b46",enable:!1,fields:[{key:"authKey",label:"Auth Key",value:"",mono:!0,encrypted:!0,required:!0},{key:"plan",label:"套餐",value:"free",mono:!0,hint:"free / pro"}]}]),f=S("volc"),h=S("volc"),p=j(()=>I.find(l=>l.id===h.value)),G=j(()=>I.find(l=>l.id===f.value));function $(l){const s=I.find(t=>t.id===l);s&&(f.value=l,h.value=l,s.enable=!0,q(`已将「${s.name}」设为默认翻译服务,后台多语言同步将走该服务`))}function se(){M(`正在测试 ${p.value.name} …(演示)`),setTimeout(()=>q(`${p.value.name} 连接正常,可调用翻译`),600)}const A=N([{id:"aliyun",name:"阿里云 OSS",short:"OSS",tag:"Aliyun",color:"#ff6a00",enable:!1,fields:[{key:"endpoint",label:"Endpoint",value:"",placeholder:"oss-cn-shanghai.aliyuncs.com",mono:!0,required:!0},{key:"bucket",label:"Bucket",value:"",placeholder:"yunyan-firmware",mono:!0,required:!0},{key:"access_key_id",label:"AccessKey ID",value:"",mono:!0,encrypted:!0,required:!0},{key:"access_key_secret",label:"AccessKey Secret",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"},{key:"domain",label:"自定义域名 (CDN)",value:"",placeholder:"cdn.yunyan.com",wide:!0,hint:"可选,配置后文件下载 URL 走该域名"}]},{id:"tencent",name:"腾讯云 COS",short:"COS",tag:"Tencent",color:"#00a4ff",enable:!0,fields:[{key:"region",label:"Region",value:"ap-guangzhou",mono:!0,required:!0},{key:"appid",label:"AppId",value:"1253517901",mono:!0,required:!0},{key:"bucket",label:"Bucket",value:"yunyan-1253517901",mono:!0,required:!0},{key:"secretId",label:"SecretId",value:"AKIDxxxxxxxx",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"},{key:"domain",label:"自定义域名 (CDN)",value:"",wide:!0,hint:"可选"}]},{id:"qiniu",name:"七牛云 Kodo",short:"KODO",tag:"Qiniu",color:"#00aaff",enable:!1,fields:[{key:"zone",label:"存储区域",value:"",mono:!0,required:!0},{key:"bucket",label:"Bucket",value:"",mono:!0,required:!0},{key:"accessKey",label:"AccessKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"domain",label:"加速域名",value:"",wide:!0}]},{id:"minio",name:"MinIO",short:"S3",tag:"S3 兼容",color:"#c72e49",enable:!1,fields:[{key:"endpoint",label:"Endpoint",value:"",mono:!0,required:!0,placeholder:"minio.内网:9000"},{key:"bucket",label:"Bucket",value:"",mono:!0,required:!0},{key:"accessKey",label:"AccessKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"useSSL",label:"使用 HTTPS",value:"false",mono:!0}]}]),b=S("aliyun"),g=S("aliyun"),v=j(()=>A.find(l=>l.id===g.value)),le=j(()=>A.find(l=>l.id===b.value)),H={aliyun:{svcId:"storage_aliyun_oss",provider:"aliyun_oss"},tencent:{svcId:"storage_tencent_cos",provider:"tencent_cos"},qiniu:{svcId:"storage_qiniu_kodo",provider:"qiniu_kodo"},minio:{svcId:"storage_minio",provider:"minio"}},F={},V={};for(const[l,s]of Object.entries(H))F[s.provider]=l,V[l]=s.svcId;const D=S(new Set);async function oe(){try{const s=(await E("getsvcconfigs",{app_name:""}))?.items||[];let t="";for(const d of s){if(!String(d.categories||"").split(",").map(m=>m.trim()).includes(W))continue;const u=F[d.provider],_=A.find(m=>m.id===u);if(_){D.value.add(d.id),V[u]=d.id,_.enable=!!d.enable,_.enable&&!t&&(t=u);for(const m of d.fields||[]){const B=_.fields.find(ie=>ie.key===m.key);B&&(B.value=m.encrypted?"":m.def_value||"",m.encrypted&&m.def_value==="[encrypted]"&&(B.hint="已配置(留空保留原密文)"))}}}t&&(b.value=t)}catch(l){M("对象存储配置读取失败(console 接口不可用?):"+(l?.message??l))}}re(oe);async function J(l){const s=H[l.id];if(!s)return R("未知的存储厂商: "+l.id),!1;const t=V[l.id]||s.svcId,d={id:t,name:l.name,provider:s.provider,categories:W,description:`${l.tag} · 对象存储`,enable:l.enable,app_name:"",fields:l.fields.map((u,_)=>({key:u.key,description:u.label,type:"",encrypted:!!u.encrypted,def_value:u.value||"",sort:_}))},Q=D.value.has(t)?"updatesvcconfig":"addsvcconfig";try{return await E(Q,d),D.value.add(t),V[l.id]=t,!0}catch(u){return R(u?.message??"保存失败"),!1}}function ae(){U(g.value)}async function U(l){const s=A.find(t=>t.id===l);s&&(b.value=l,g.value=l,s.enable=!0,await J(s)&&q(`已将「${s.name}」设为默认对象存储并保存,固件 / 头像上传将指向该存储桶`))}function ne(){M(`连接测试暂未接后端:保存后到「产品 → 版本管理」上传一个固件即可验证 ${v.value.name} 是否可写`)}async function L(){const l=v.value;await J(l)&&q(`「${l.name}」配置已保存${l.enable?"并启用":""}`)}return(l,s)=>(a(),o("div",null,[s[39]||(s[39]=Z('
对象存储已接后端·对象存储配置已落库(存 svc_config,与「第三方服务配置 → 存储」共用同一份),启用的「阿里云 OSS」即固件 / 头像上传所用存储。邮件 / 翻译两项仍为演示。

系统配置

平台级服务配置:① 对象存储(固件 / 头像等文件,默认阿里云 OSS);② 邮件服务(生产环节给厂家发通知邮件);③ 翻译服务(后台配置多语言同步)。

',2)),e("div",me,[e("div",xe,[e("div",be,[(a(),o(k,null,w(X,t=>e("div",{key:t.id,class:x(["cat-item",{active:T.value===t.id}]),onClick:d=>T.value=t.id},[e("div",{class:"cat-icon",style:K({background:t.color})},[(a(),o("svg",fe,[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:t.icon},null,8,he)]))],4),e("div",ge,[e("div",_e,i(t.label),1),e("div",ke,i(t.desc),1)]),te(t.id)?(a(),o("span",we)):c("",!0)],10,ye)),64))])]),e("div",Ce,[T.value==="storage"?(a(),o("div",Se,[e("div",qe,[e("div",Me,[(a(),o("svg",Te,[...s[13]||(s[13]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"},null,-1)])]))]),e("div",Ae,[e("div",Ke,"设备固件上传当前指向:"+i(le.value.name),1),s[14]||(s[14]=e("div",{class:"text-[11px] text-emerald-600 mt-0.5"},"固件包、用户头像等文件均上传至此存储桶。切换默认存储不影响历史文件 URL。",-1))]),s[15]||(s[15]=e("span",{class:"badge badge-success badge-sm text-white"},"运行中",-1))]),s[19]||(s[19]=e("div",{class:"flex items-center justify-between mb-2"},[e("span",{class:"text-xs font-semibold text-slate-500"},[y("选择默认对象存储 "),e("span",{class:"text-slate-400 font-normal"},"(固件 / 头像等文件上传指向此服务)")])],-1)),e("div",Ie,[(a(!0),o(k,null,w(A,t=>(a(),o("div",{key:t.id,class:x(["provider-card",{active:g.value===t.id,"is-default":t.id===b.value}]),onClick:d=>g.value=t.id},[e("div",je,[e("div",{class:"provider-logo",style:K({background:t.color})},i(t.short),5),t.enable?(a(),o("span",Pe,"已配置")):(a(),o("span",$e,"未配置"))]),e("div",De,i(t.name),1),e("div",Ue,i(t.tag),1),e("label",{class:x(["default-pick",{on:t.id===b.value}]),onClick:P(d=>U(t.id),["stop"])},[e("input",{type:"radio",class:"radio radio-xs radio-primary",checked:t.id===b.value,onClick:P(d=>U(t.id),["stop"])},null,8,Be),e("span",null,i(t.id===b.value?"默认使用":"设为默认"),1)],10,Le)],10,Ve))),128))]),e("div",Oe,[e("div",ze,[e("div",Ne,[e("div",{class:"provider-logo",style:K({background:v.value.color,width:"44px",height:"44px",fontSize:"15px"})},i(v.value.short),5),e("div",null,[e("h3",Re,i(v.value.name),1),e("p",Ee,i(v.value.tag)+" · 对象存储",1)])]),e("div",Ge,[e("label",He,[s[16]||(s[16]=e("span",{class:"text-xs text-slate-500"},"启用",-1)),r(e("input",{"onUpdate:modelValue":s[0]||(s[0]=t=>v.value.enable=t),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[O,v.value.enable]])]),e("button",{class:"btn btn-outline btn-sm",onClick:ne},"测试连接"),g.value!==b.value?(a(),o("button",{key:0,class:"btn btn-ghost btn-sm text-indigo-600",onClick:ae},"设为默认存储")):c("",!0),e("button",{class:"btn btn-primary btn-sm text-white",onClick:L},"保存")])]),s[17]||(s[17]=e("div",{class:"divider text-xs text-slate-400 my-3"},"连接配置",-1)),e("div",Fe,[(a(!0),o(k,null,w(v.value.fields,t=>(a(),o("div",{key:t.key,class:x(["form-control",{"col-span-2":t.wide}])},[e("label",Je,[e("span",Qe,[y(i(t.label),1),t.required?(a(),o("span",Ze,"*")):c("",!0),t.encrypted?(a(),o("span",We,"🔒 加密存储")):c("",!0)])]),e("div",Xe,[r(e("input",{"onUpdate:modelValue":d=>t.value=d,type:t.encrypted&&!t._show?"password":"text",class:x(["input input-bordered input-sm w-full",{"font-mono":t.mono,"pr-14":t.encrypted}]),placeholder:t.placeholder},null,10,Ye),[[z,t.value]]),t.encrypted?(a(),o("button",{key:0,type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:d=>t._show=!t._show},i(t._show?"隐藏":"显示"),9,et)):c("",!0)]),t.hint?(a(),o("span",tt,i(t.hint),1)):c("",!0)],2))),128))]),s[18]||(s[18]=Z('
上传规则
固件包路径前缀
/firmware/
头像路径前缀
/userAvatar/
签名 URL 有效期
3600 s
',2))])])):T.value==="mail"?(a(),o("div",st,[e("div",lt,[e("div",ot,[(a(),o("svg",at,[...s[20]||(s[20]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},null,-1)])]))]),s[21]||(s[21]=e("div",{class:"flex-1"},[e("div",{class:"text-sm font-semibold text-amber-800"},"生产环节邮件通知"),e("div",{class:"text-[11px] text-amber-600 mt-0.5"},"用于给目标厂家发送授权信息、公码批次、设备出货等通知邮件;账号告警也走此通道。")],-1))]),e("div",nt,[e("div",it,[s[23]||(s[23]=e("div",{class:"flex items-center gap-3"},[e("div",{class:"provider-logo",style:{background:"#f59e0b",width:"44px",height:"44px",fontSize:"13px"}},"SMTP"),e("div",null,[e("h3",{class:"text-base font-semibold text-slate-800"},"邮件服务"),e("p",{class:"text-xs text-slate-400 mt-0.5"},"SMTP 发信")])],-1)),e("div",dt,[e("label",rt,[s[22]||(s[22]=e("span",{class:"text-xs text-slate-500"},"启用",-1)),r(e("input",{"onUpdate:modelValue":s[1]||(s[1]=t=>n.enable=t),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[O,n.enable]])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:L},"保存")])]),s[32]||(s[32]=e("div",{class:"divider text-xs text-slate-400 my-3"},"发信配置",-1)),e("div",ct,[e("div",ut,[s[24]||(s[24]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[y("SMTP 主机 "),e("span",{class:"text-rose-500"},"*")])],-1)),r(e("input",{"onUpdate:modelValue":s[2]||(s[2]=t=>n.host=t),class:"input input-bordered input-sm font-mono",placeholder:"smtp.exmail.qq.com"},null,512),[[C,n.host]])]),e("div",pt,[s[25]||(s[25]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[y("端口 "),e("span",{class:"text-rose-500"},"*")])],-1)),r(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>n.port=t),class:"input input-bordered input-sm font-mono",placeholder:"465"},null,512),[[C,n.port]])]),e("div",vt,[s[26]||(s[26]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"加密方式")],-1)),r(e("select",{"onUpdate:modelValue":s[4]||(s[4]=t=>n.secure=t),class:"select select-bordered select-sm"},[(a(),o(k,null,w(Y,t=>e("option",{key:t,value:t},i(t),9,mt)),64))],512),[[ce,n.secure]])]),e("div",xt,[s[27]||(s[27]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"发件人显示名")],-1)),r(e("input",{"onUpdate:modelValue":s[5]||(s[5]=t=>n.fromName=t),class:"input input-bordered input-sm",placeholder:"云岩科技"},null,512),[[C,n.fromName]])]),e("div",bt,[s[28]||(s[28]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[y("发信账号 "),e("span",{class:"text-rose-500"},"*")])],-1)),r(e("input",{"onUpdate:modelValue":s[6]||(s[6]=t=>n.user=t),class:"input input-bordered input-sm font-mono",placeholder:"noreply@yunyan.com"},null,512),[[C,n.user]])]),e("div",yt,[s[29]||(s[29]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[y("授权码 / 密码 "),e("span",{class:"lock-tag ml-1.5"},"🔒 加密存储")])],-1)),e("div",ft,[r(e("input",{"onUpdate:modelValue":s[7]||(s[7]=t=>n.pass=t),type:n._showPass?"text":"password",class:"input input-bordered input-sm w-full font-mono pr-14",placeholder:"留空保留原密文"},null,8,ht),[[z,n.pass]]),e("button",{type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:s[8]||(s[8]=t=>n._showPass=!n._showPass)},i(n._showPass?"隐藏":"显示"),1)])]),e("div",gt,[s[30]||(s[30]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"默认抄送 (CC)")],-1)),r(e("input",{"onUpdate:modelValue":s[9]||(s[9]=t=>n.cc=t),class:"input input-bordered input-sm font-mono",placeholder:"多个邮箱用逗号分隔,可留空"},null,512),[[C,n.cc]])])]),s[33]||(s[33]=e("div",{class:"divider text-xs text-slate-400 my-4"},"测试发信",-1)),e("div",_t,[e("div",kt,[s[31]||(s[31]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"测试收件邮箱")],-1)),r(e("input",{"onUpdate:modelValue":s[10]||(s[10]=t=>n.testTo=t),class:"input input-bordered input-sm font-mono",placeholder:"填一个邮箱,发送一封测试邮件验证配置"},null,512),[[C,n.testTo]])]),e("button",{class:"btn btn-outline btn-sm",onClick:ee},"发送测试")])])])):T.value==="translate"?(a(),o("div",wt,[e("div",Ct,[e("div",St,[(a(),o("svg",qt,[...s[34]||(s[34]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"},null,-1)])]))]),s[35]||(s[35]=e("div",{class:"flex-1"},[e("div",{class:"text-sm font-semibold text-teal-800"},"后台配置多语言同步"),e("div",{class:"text-[11px] text-teal-600 mt-0.5"},"应用文案、通知 / 邮件模板、公告等后台配置内容,按目标语种自动翻译,保证多语言版本一致。")],-1)),e("span",Mt,"默认 "+i(G.value.name),1)]),s[38]||(s[38]=e("div",{class:"flex items-center justify-between mb-2"},[e("span",{class:"text-xs font-semibold text-slate-500"},[y("选择默认翻译服务 "),e("span",{class:"text-slate-400 font-normal"},"(后台多语言同步走此服务)")])],-1)),e("div",Tt,[(a(!0),o(k,null,w(I,t=>(a(),o("div",{key:t.id,class:x(["provider-card",{active:h.value===t.id,"is-default":t.id===f.value}]),onClick:d=>h.value=t.id},[e("div",Kt,[e("div",{class:"provider-logo",style:K({background:t.color})},i(t.short),5),t.enable?(a(),o("span",It,"已配置")):(a(),o("span",Vt,"未配置"))]),e("div",jt,i(t.name),1),e("div",Pt,i(t.tag),1),e("label",{class:x(["default-pick",{on:t.id===f.value}]),onClick:P(d=>$(t.id),["stop"])},[e("input",{type:"radio",class:"radio radio-xs radio-primary",checked:t.id===f.value,onClick:P(d=>$(t.id),["stop"])},null,8,Dt),e("span",null,i(t.id===f.value?"默认使用":"设为默认"),1)],10,$t)],10,At))),128))]),e("div",Ut,[e("div",Lt,[e("div",Bt,[e("div",{class:"provider-logo",style:K({background:p.value.color,width:"44px",height:"44px",fontSize:"13px"})},i(p.value.short),5),e("div",null,[e("h3",Ot,i(p.value.name),1),e("p",zt,i(p.value.tag)+" · 机器翻译",1)])]),e("div",Nt,[e("label",Rt,[s[36]||(s[36]=e("span",{class:"text-xs text-slate-500"},"启用",-1)),r(e("input",{"onUpdate:modelValue":s[11]||(s[11]=t=>p.value.enable=t),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[O,p.value.enable]])]),e("button",{class:"btn btn-outline btn-sm",onClick:se},"测试连接"),h.value!==f.value?(a(),o("button",{key:0,class:"btn btn-ghost btn-sm text-indigo-600",onClick:s[12]||(s[12]=t=>$(h.value))},"设为默认")):c("",!0),e("button",{class:"btn btn-primary btn-sm text-white",onClick:L},"保存")])]),s[37]||(s[37]=e("div",{class:"divider text-xs text-slate-400 my-3"},"连接配置",-1)),e("div",Et,[(a(!0),o(k,null,w(p.value.fields,t=>(a(),o("div",{key:t.key,class:x(["form-control",{"col-span-2":t.wide}])},[e("label",Gt,[e("span",Ht,[y(i(t.label),1),t.required?(a(),o("span",Ft,"*")):c("",!0),t.encrypted?(a(),o("span",Jt,"🔒 加密存储")):c("",!0)])]),e("div",Qt,[r(e("input",{"onUpdate:modelValue":d=>t.value=d,type:t.encrypted&&!t._show?"password":"text",class:x(["input input-bordered input-sm w-full",{"font-mono":t.mono,"pr-14":t.encrypted}]),placeholder:t.placeholder},null,10,Zt),[[z,t.value]]),t.encrypted?(a(),o("button",{key:0,type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:d=>t._show=!t._show},i(t._show?"隐藏":"显示"),9,Wt)):c("",!0)]),t.hint?(a(),o("span",Xt,i(t.hint),1)):c("",!0)],2))),128))])])])):c("",!0)])])]))}}),as=ue(Yt,[["__scopeId","data-v-af95cc3b"]]);export{as as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CtB1c492.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CtB1c492.js new file mode 100644 index 00000000..817ae9f8 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CtB1c492.js @@ -0,0 +1 @@ +import{g as q,j as H,c as a,k as i,v as j,a as t,F as p,r as f,p as z,m as u,t as r,D as I,H as G,s as m,x as J,A as k,o as d}from"./CfpW9SkI.js";import{u as K}from"./DSu8q42f.js";import{u as P}from"./CMwGY1Mu.js";import"./DL330dAC.js";const Q={class:"flex items-center justify-between mb-5"},W={class:"flex items-center gap-3 mb-4 flex-wrap"},X=["value"],Y=["value"],Z={class:"bg-white rounded-xl shadow-sm border border-slate-100"},tt={class:"overflow-x-auto"},et={class:"table table-zebra"},st={key:0},lt={key:1},ot={class:"bg-slate-100/80"},nt={colspan:"7",class:"py-2"},at={class:"font-semibold text-slate-600 text-sm"},it={class:"text-xs text-slate-400 ml-2"},dt={class:"font-mono text-sm text-slate-400"},rt={class:"font-medium"},ut={class:"font-mono text-sm"},mt={class:"badge badge-outline badge-sm"},pt={class:"text-sm"},bt={class:"text-sm"},ct={key:1,class:"text-slate-300"},ft={class:"text-right"},vt={class:"inline-flex gap-1"},gt=["onClick"],xt=["onClick"],yt={class:"flex items-center gap-3 mb-5"},wt={class:"text-lg font-semibold text-slate-800"},kt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},ht={class:"grid grid-cols-2 gap-4"},_t={class:"form-control mb-4"},Vt={class:"form-control mb-4"},Ut={class:"form-control mb-4"},Ct={class:"form-control mb-4"},Lt={class:"form-control mb-4"},Ft={class:"form-control mb-4"},St={class:"form-control mb-4"},$t={class:"form-control mb-4"},At={class:"form-control mb-6"},Dt={class:"flex gap-3"},Et=["disabled"],Tt=q({__name:"meettemplates",setup(jt){const{webApi:v}=K(),{success:S,error:g}=P(),x=m("list"),b=m([]),h=m(!1),_=m(!1),c=m(!1),y=m("zh"),w=m(""),V=m(""),o=J({id:0,title:"",tid:"",language:"",ttype:"",tags:"",icon:"",description:"",outline:"",template:""});function $(l){return(l||"").split(",").map(e=>e.trim()).filter(Boolean)}function A(l){return(l||"").split("-")[0].trim().toLowerCase()}const B=k(()=>{const l=new Set;return b.value.forEach(e=>{e.language&&l.add(e.language)}),Array.from(l).sort()}),M=k(()=>{const l=new Set;return b.value.forEach(e=>{e.tid&&l.add(e.tid)}),Array.from(l).sort()}),D=k(()=>{const l=V.value.trim().toLowerCase();return b.value.filter(e=>!(y.value&&A(e.language)!==A(y.value)||w.value&&(e.tid||"")!==w.value||l&&(e.title||"").toLowerCase().indexOf(l)<0))}),O=k(()=>{const l={};return D.value.forEach(s=>{const n=s.tid||"";(l[n]=l[n]||[]).push(s)}),Object.keys(l).sort((s,n)=>s===""?-1:n===""?1:s({key:s,label:s||"无 tid",items:l[s]}))});async function U(){h.value=!0;try{const l=await v("getmeettemplates",{});b.value=l?.templates??[]}catch(l){g(l?.message??"加载失败"),b.value=[]}finally{h.value=!1}}function C(){x.value="list",U()}function L(l){o.id=l.id||0,o.title=l.title||"",o.tid=l.tid||"",o.language=l.language||"",o.ttype=l.ttype||"",o.tags=l.tags||"",o.icon=l.icon||"",o.description=l.description||"",o.outline=l.outline||"",o.template=l.template||""}async function E(l){if(x.value="form",l&&l.id){c.value=!0,L(l);try{const e=await v("getmeettemplate",{id:l.id});e&&L(e)}catch(e){g(e?.message??"加载详情失败")}}else c.value=!1,L({})}async function T(){_.value=!0;try{const l={title:o.title.trim(),tid:o.tid.trim(),language:o.language.trim(),ttype:o.ttype.trim(),tags:o.tags.trim(),icon:o.icon.trim(),description:o.description.trim(),outline:o.outline,template:o.template};c.value&&(l.id=Number(o.id)),await v(c.value?"updatemeettemplate":"addmeettemplate",l),S("保存成功"),C()}catch(l){g(l?.message??"保存失败")}finally{_.value=!1}}function N(l){window.confirm(`确定删除模板 "${l.title||""}" 吗?`)&&v("delmeettemplate",{ids:[l.id]}).then(()=>{S("删除成功"),U()}).catch(e=>g(e?.message??"删除失败"))}return H(U),(l,e)=>(d(),a("div",null,[i(t("div",null,[t("div",Q,[e[15]||(e[15]=t("div",null,[t("h2",{class:"text-lg font-semibold text-slate-800"},"会议模板"),t("p",{class:"text-xs text-slate-400 mt-1"},"会议纪要公共模板(source=public),所有应用共享。修改后各服务约 10 分钟内自动同步。")],-1)),t("button",{class:"btn btn-primary btn-sm text-white",onClick:e[0]||(e[0]=s=>E())},"+ 新增模板")]),t("div",W,[e[18]||(e[18]=t("span",{class:"text-sm text-slate-500"},"语言",-1)),i(t("select",{"onUpdate:modelValue":e[1]||(e[1]=s=>y.value=s),class:"select select-bordered select-sm"},[e[16]||(e[16]=t("option",{value:""},"全部语言",-1)),(d(!0),a(p,null,f(B.value,s=>(d(),a("option",{key:s,value:s},r(s),9,X))),128))],512),[[z,y.value]]),e[19]||(e[19]=t("span",{class:"text-sm text-slate-500"},"分组(tid)",-1)),i(t("select",{"onUpdate:modelValue":e[2]||(e[2]=s=>w.value=s),class:"select select-bordered select-sm"},[e[17]||(e[17]=t("option",{value:""},"全部分组",-1)),(d(!0),a(p,null,f(M.value,s=>(d(),a("option",{key:s,value:s},r(s),9,Y))),128))],512),[[z,w.value]]),i(t("input",{"onUpdate:modelValue":e[3]||(e[3]=s=>V.value=s),class:"input input-bordered input-sm w-48",placeholder:"按标题搜索"},null,512),[[u,V.value]])]),t("div",Z,[t("div",tt,[t("table",et,[e[22]||(e[22]=t("thead",null,[t("tr",null,[t("th",null,"ID"),t("th",null,"标题"),t("th",null,"模板标识(tid)"),t("th",null,"语言"),t("th",null,"类型"),t("th",null,"标签"),t("th",{class:"text-right"},"操作")])],-1)),t("tbody",null,[h.value?(d(),a("tr",st,[...e[20]||(e[20]=[t("td",{colspan:"7",class:"text-center py-8"},[t("span",{class:"loading loading-spinner loading-sm"})],-1)])])):D.value.length?(d(!0),a(p,{key:2},f(O.value,s=>(d(),a(p,{key:s.key},[t("tr",ot,[t("td",nt,[t("span",at,"▸ "+r(s.label),1),t("span",it,r(s.items.length)+" 个版本",1)])]),(d(!0),a(p,null,f(s.items,n=>(d(),a("tr",{key:n.id,class:"hover"},[t("td",dt,r(n.id||""),1),t("td",rt,r(n.title||""),1),t("td",ut,r(n.tid||""),1),t("td",null,[t("span",mt,r(n.language||"-"),1)]),t("td",pt,r(n.ttype||""),1),t("td",bt,[$(n.tags).length?(d(!0),a(p,{key:0},f($(n.tags),(F,R)=>(d(),a("span",{key:R,class:"badge badge-ghost badge-sm mr-1"},r(F),1))),128)):(d(),a("span",ct,"-"))]),t("td",ft,[t("div",vt,[t("button",{class:"btn btn-ghost btn-xs",onClick:F=>E(n)},"编辑",8,gt),t("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:F=>N(n)},"删除",8,xt)])])]))),128))],64))),128)):(d(),a("tr",lt,[...e[21]||(e[21]=[t("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无模板",-1)])]))])])])])],512),[[j,x.value==="list"]]),i(t("div",null,[t("div",yt,[t("button",{class:"btn btn-ghost btn-sm",onClick:e[4]||(e[4]=s=>C())},"← 返回列表"),t("h2",wt,r(c.value?"编辑模板":"新增模板"),1)]),t("div",kt,[t("form",{onSubmit:I(T,["prevent"])},[t("div",ht,[t("div",_t,[e[23]||(e[23]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"标题 *")],-1)),i(t("input",{"onUpdate:modelValue":e[5]||(e[5]=s=>o.title=s),type:"text",class:"input input-bordered w-full",required:""},null,512),[[u,o.title]])]),t("div",Vt,[e[24]||(e[24]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"模板标识 (tid)")],-1)),i(t("input",{"onUpdate:modelValue":e[6]||(e[6]=s=>o.tid=s),type:"text",class:"input input-bordered w-full",placeholder:"同一 tid 可有多语言版本"},null,512),[[u,o.tid]])]),t("div",Ut,[e[25]||(e[25]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"语言")],-1)),i(t("input",{"onUpdate:modelValue":e[7]||(e[7]=s=>o.language=s),type:"text",class:"input input-bordered w-full",placeholder:"如 zh / en",list:"langlist"},null,512),[[u,o.language]]),e[26]||(e[26]=G('',1))]),t("div",Ct,[e[27]||(e[27]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"类型 (ttype)")],-1)),i(t("input",{"onUpdate:modelValue":e[8]||(e[8]=s=>o.ttype=s),type:"text",class:"input input-bordered w-full",placeholder:"如 meeting / interview"},null,512),[[u,o.ttype]])]),t("div",Lt,[e[28]||(e[28]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"标签 (tags)")],-1)),i(t("input",{"onUpdate:modelValue":e[9]||(e[9]=s=>o.tags=s),type:"text",class:"input input-bordered w-full",placeholder:"逗号分隔"},null,512),[[u,o.tags]])]),t("div",Ft,[e[29]||(e[29]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"图标 (icon)")],-1)),i(t("input",{"onUpdate:modelValue":e[10]||(e[10]=s=>o.icon=s),type:"text",class:"input input-bordered w-full",placeholder:"图标 URL 或名称"},null,512),[[u,o.icon]])])]),t("div",St,[e[30]||(e[30]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"描述")],-1)),i(t("input",{"onUpdate:modelValue":e[11]||(e[11]=s=>o.description=s),type:"text",class:"input input-bordered w-full"},null,512),[[u,o.description]])]),t("div",$t,[e[31]||(e[31]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"大纲 (outline)")],-1)),i(t("textarea",{"onUpdate:modelValue":e[12]||(e[12]=s=>o.outline=s),class:"textarea textarea-bordered w-full font-mono text-sm",rows:"4"},null,512),[[u,o.outline]])]),t("div",At,[e[32]||(e[32]=t("label",{class:"label"},[t("span",{class:"label-text font-medium"},"模板内容 (template)")],-1)),i(t("textarea",{"onUpdate:modelValue":e[13]||(e[13]=s=>o.template=s),class:"textarea textarea-bordered w-full font-mono text-sm",rows:"10"},null,512),[[u,o.template]])]),t("div",Dt,[t("button",{type:"button",class:"btn btn-ghost",onClick:e[14]||(e[14]=s=>C())},"取消"),t("button",{type:"submit",class:"btn btn-primary text-white",disabled:_.value},"保存",8,Et)])],32)])],512),[[j,x.value==="form"]])]))}});export{Tt as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Cx-e2Cok.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Cx-e2Cok.js deleted file mode 100644 index 50c7eb9e..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Cx-e2Cok.js +++ /dev/null @@ -1 +0,0 @@ -import{g as wt,C as xt,j as Dt,c as o,a,k as L,p as R,F as _,r as v,t as r,A as m,x as K,s as p,o as l,G as A,n as Q,l as X,_ as Ct}from"./CTAruH_8.js";import{u as At}from"./9B2ftqmN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const Mt={class:"panel p-4 mb-5"},St={class:"flex flex-wrap items-end gap-3"},Nt={class:"form-control"},Bt=["value"],Lt={class:"form-control"},Rt=["value"],Vt={class:"form-control"},qt=["value"],zt={class:"grid grid-cols-2 md:grid-cols-4 gap-3 mb-8"},Ot={class:"body"},Ht={class:"lbl"},Tt={class:"val"},It={class:"today-wrap mb-8"},Gt={class:"sec-title hero",style:{"margin-bottom":"16px"}},Ut={class:"tag",style:{color:"#0369a1",background:"#dbeafe"}},Pt={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},jt={class:"today-card-top"},Yt={class:"lbl"},Wt={class:"val"},Jt={class:"foot"},Zt={key:0,class:"delta up"},$t={class:"grid grid-cols-1 xl:grid-cols-2 gap-6"},Kt={class:"panel-head"},Qt=["stroke"],Xt=["d"],te={class:"font-semibold text-slate-700 text-sm"},ee={key:0,class:"ml-auto text-xs text-slate-400"},se={key:1,class:"ml-auto flex items-center gap-1"},ae=["onClick"],ne={class:"px-5 py-4"},oe={class:"grid grid-cols-2 sm:grid-cols-3 gap-2.5"},le={class:"stat-label"},re={class:"stat-val"},ie={key:0,style:{height:"170px","margin-top":"1rem"}},ce=wt({__name:"dashboard",setup(de){const k=xt(),{webApi:V,consoleApi:tt}=At(),q=[["cn","中国"],["us","美国"],["ea","东亚"],["sea","东南亚"],["sa","南亚"],["me","中东"],["eu","欧洲"],["ru","俄罗斯"],["af","非洲"],["sam","南美"],["nam","北美"],["oc","大洋洲"],["br","巴西"],["in","印度"]],et={new_user_count:["👥","#EEF2FF","#6366F1"],active_user_count:["🟢","#ECFDF5","#10B981"],bind_device_count:["📱","#E0F2FE","#0EA5E9"],qr_active_count:["🔳","#FCE7F3","#EC4899"],order_paid_count:["🧾","#FEF3C7","#F59E0B"],order_paid_amount:["💰","#FEE2E2","#EF4444"],pay_user_count:["⭐","#FFF7ED","#F97316"],meet_second:["🎙️","#CFFAFE","#22D3EE"],trade_second:["🌐","#F3E8FF","#8B5CF6"]},z=[["new_user_count","累计用户",!1],["bind_device_count","累计绑定设备",!1],["qr_active_count","累计二维码激活",!1],["order_paid_count","累计支付订单",!1],["order_paid_amount","累计支付金额",!0],["meet_second","累计会议时长",!1],["trade_second","累计翻译时长",!1]],O=[["new_user_count","新增用户",!1],["active_user_count","活跃用户",!1],["qr_active_count","二维码激活",!1],["order_paid_count","支付订单",!1],["order_paid_amount","支付金额",!0],["pay_user_count","付费用户",!1],["meet_second","会议时长",!1,!0],["trade_second","翻译时长",!1,!0]],E=[{key:"user",title:"用户增长",color:"#6366F1",tint:"#EEF2FF",icon:"M17 20h5v-2a4 4 0 00-3-3.87M9 20H4v-2a4 4 0 013-3.87m6-1.13a4 4 0 10-4-4 4 4 0 004 4z",stats:[["new_user_count","新增用户"],["active_user_count","活跃用户"],["login_user_count","登录用户"],["login_count","登录次数"]],lines:[["new_user_count","新增用户","#6366F1"],["active_user_count","活跃用户","#34D399"]]},{key:"device",title:"设备激活绑定",color:"#0EA5E9",tint:"#E0F2FE",icon:"M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z",stats:[["active_device_count","已激活"],["bind_device_count","已绑定"]],lines:[["active_device_count","已激活","#0EA5E9"],["bind_device_count","已绑定","#818CF8"]]},{key:"qrcode",title:"二维码激活",color:"#EC4899",tint:"#FCE7F3",icon:"M12 4v1m6 11h2m-6 0h-1v4m-6-4H5m14 0h-2m-6-7H5m0 0V5m0 4v6m14-6V5h-4M5 5h4M5 19h4m6 0h4v-4M4 4h6v6H4V4zm10 0h6v6h-6V4zM4 14h6v6H4v-6z",stats:[["qr_active_count","二维码激活次数"]],lines:[["qr_active_count","二维码激活","#EC4899"]]},{key:"order",title:"订单支付",color:"#F59E0B",tint:"#FEF3C7",icon:"M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z",stats:[["order_create_count","创建订单"],["order_paid_count","支付订单"],["order_failed_count","失败订单"],["pay_user_count","付费用户"],["order_paid_amount","支付金额",!0],["order_create_amount","创建金额",!0]],lines:[["order_paid_count","支付订单","#F59E0B"],["order_create_count","创建订单","#FCD34D"]]},{key:"meeting",title:"会议",color:"#22D3EE",tint:"#CFFAFE",icon:"M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z",stats:[["meet_count","会议次数"],["meet_second","会议时长",!1,!0],["grant_meet_second","发放会议时长",!1,!0]],lines:[["meet_count","会议次数","#22D3EE"],["meet_second","会议时长(秒)","#0EA5E9"]]},{key:"translate",title:"翻译",color:"#8B5CF6",tint:"#F3E8FF",icon:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129",stats:[["trade_count","翻译次数"],["trade_second","翻译时长",!1,!0],["trade_words","翻译字数"],["grant_trade_second","发放翻译时长",!1,!0]],lines:[["trade_count","翻译次数","#8B5CF6"],["trade_second","翻译时长(秒)","#A78BFA"]]}],f=m(()=>k.identity===3),st=m(()=>k.apps),H=m(()=>k.regions),T=m(()=>k.products.map(t=>parseInt(t)).filter(t=>!isNaN(t))),I=["new_user_count","active_user_count","qr_active_count"],at=m(()=>f.value?z.filter(t=>!I.includes(t[0])):z),nt=m(()=>f.value?O.filter(t=>!I.includes(t[0])):O),G=m(()=>f.value?E.filter(t=>t.key!=="user"&&t.key!=="qrcode"):E),ot=[[7,"7天"],[30,"30天"],[90,"90天"],[0,"全部"]],i=K({app:"",region:"",product:""}),F=p([]),M=p([]),lt=m(()=>f.value&&H.value.length?q.filter(t=>H.value.includes(t[0])).map(t=>({value:t[0],label:t[1]})):q.map(t=>({value:t[0],label:t[1]}))),U=p({}),P=p({}),S=p({}),j=p({}),Y=p("实时"),N=p({}),w=K({});E.forEach(t=>{w[t.key]=30});function x(t){const e=t.getFullYear(),s=("0"+(t.getMonth()+1)).slice(-2),n=("0"+t.getDate()).slice(-2);return parseInt(e+s+n)}function rt(t){if(!t)return{start:0,end:0};const e=new Date,s=new Date;return s.setDate(s.getDate()-(t-1)),{start:x(s),end:x(e)}}function it(t,e){return t=Number(t)||0,e?"¥"+(t/100).toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2}):t.toLocaleString()}function ct(t){t=Math.max(0,Math.floor(Number(t)||0));const e=Math.floor(t/3600),s=Math.floor(t%3600/60),n=t%60;return e>0?e+"时"+s+"分":s>0?s+"分"+n+"秒":n+"秒"}function B(t,e,s){return s?ct(t):it(t,e)}function dt(t){const e=String(t);return e.length===8?e.slice(4,6)+"-"+e.slice(6,8):e}function ut(t,e){return t=Number(t)||0,e=Number(e)||0,e===0?t>0?null:0:(t-e)/e*100}function g(t){return et[t]||["📊","#f1f5f9","#94a3b8"]}function _t(t){const e=t[0]==="bind_device_count"||t[0]==="active_device_count"?P.value:U.value,s=t[0]==="meet_second"||t[0]==="trade_second";return B(e[t[0]],t[2],s)}function vt(t){return B(S.value[t[0]],t[2],!!t[3])}function b(t){const e=ut(S.value[t[0]],j.value[t[0]]);if(e===null)return{type:"new",arrow:"",abs:""};const s=e>0?"up":e<0?"down":"flat",n=e>0?"▲":e<0?"▼":"—";return{type:s,arrow:n,abs:Math.abs(e).toFixed(1)}}function mt(t,e){return B((N.value[t.key]||{})[e[0]],e[2],e[3])}function D(){const t={};return i.app!==""&&(t.app_id=i.app),i.region!==""&&(t.region=i.region),i.product!==""&&(t.product_id=parseInt(String(i.product))),t}function W(){const t={};return i.product!==""&&(t.product_id=parseInt(String(i.product))),t}async function y(t,e){try{return{code:0,data:await V(t,e)??{}}}catch{return null}}async function pt(){const t=await y("getstatssummary",D());U.value=t&&t.code===0&&t.data?t.data:{};const e=await y("getstatssummary",W());P.value=e&&e.code===0&&e.data?e.data:{}}async function ft(){const t=x(new Date),e=new Date;e.setDate(e.getDate()-1);const s=x(e),n=D();n.start_day=t,n.end_day=t;const d=D();d.start_day=s,d.end_day=s;const u=await y("getstatssummary",n);S.value=u&&u.code===0&&u.data?u.data:{};const c=await y("getstatssummary",d);j.value=c&&c.code===0&&c.data?c.data:{};const C=new Date,Et=("0"+(C.getMonth()+1)).slice(-2),Ft=("0"+C.getDate()).slice(-2);Y.value=Et+"-"+Ft+" 实时"}async function J(t){let e;if(t.key==="device")e=W();else{const c=rt(w[t.key]);e=D(),e.start_day=c.start,e.end_day=c.end}const s=await y("getstatssummary",e),n=s&&s.code===0&&s.data?s.data:{};if(N.value={...N.value,[t.key]:n},t.key==="device")return;const d=await y("getstatstrend",e),u=d&&d.code===0?d.data||[]:[];bt(t,u)}function yt(t,e){w[t]=e;const s=E.find(n=>n.key===t);s&&J(s)}function Z(){pt(),ft(),G.value.forEach(t=>J(t))}const $={},h={};function gt(t,e){e&&($[t]=e)}function bt(t,e){const s=window.Chart,n=$[t.key];if(!s||!n)return;const d=e.map(c=>dt(c.stat_day)),u=t.lines.map(c=>({label:c[1],data:e.map(C=>Number(C[c[0]])||0),borderColor:c[2],backgroundColor:c[2]+"22",tension:.35,fill:!0,pointRadius:0,borderWidth:2}));if(h[t.key]){h[t.key].data.labels=d,h[t.key].data.datasets=u,h[t.key].update();return}h[t.key]=new s(n,{type:"line",data:{labels:d,datasets:u},options:{responsive:!0,maintainAspectRatio:!1,plugins:{legend:{position:"bottom",labels:{boxWidth:10,padding:12,font:{size:11}}}},scales:{x:{ticks:{maxTicksLimit:8,font:{size:10},color:"#94a3b8"},grid:{display:!1}},y:{beginAtZero:!0,ticks:{precision:0,maxTicksLimit:5,font:{size:10},color:"#94a3b8"},grid:{color:"#f1f5f9"}}},interaction:{mode:"index",intersect:!1}}})}async function ht(){if(f.value)F.value=st.value.map(t=>({value:t,label:t}));else try{const t=await tt("apps/list",{}),e=Array.isArray(t)?t:[];F.value=e.map(s=>({value:s.name||"",label:s.name||"应用#"+s.id}))}catch{F.value=[]}try{const t=await V("getproducts",{});let e=t&&t.products?t.products:[];f.value&&T.value.length&&(e=e.filter(s=>T.value.includes(s.id))),M.value=e.map(s=>({value:s.id,label:(s.devicename||"产品#"+s.id)+" (#"+s.id+")"}))}catch{M.value=[]}}function kt(){return new Promise(t=>{if(window.Chart)return t();const e=document.createElement("script");e.src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js",e.onload=()=>t(),e.onerror=()=>t(),document.head.appendChild(e)})}return Dt(async()=>{await kt(),await ht(),Z()}),(t,e)=>(l(),o("div",null,[a("div",Mt,[a("div",St,[a("div",Nt,[e[4]||(e[4]=a("label",{class:"label py-1"},[a("span",{class:"label-text text-xs text-slate-500"},"应用")],-1)),L(a("select",{"onUpdate:modelValue":e[0]||(e[0]=s=>i.app=s),class:"select select-bordered select-sm w-40"},[e[3]||(e[3]=a("option",{value:""},"全部应用",-1)),(l(!0),o(_,null,v(F.value,s=>(l(),o("option",{key:s.value,value:s.value},r(s.label),9,Bt))),128))],512),[[R,i.app]])]),a("div",Lt,[e[6]||(e[6]=a("label",{class:"label py-1"},[a("span",{class:"label-text text-xs text-slate-500"},"区域")],-1)),L(a("select",{"onUpdate:modelValue":e[1]||(e[1]=s=>i.region=s),class:"select select-bordered select-sm w-32"},[e[5]||(e[5]=a("option",{value:""},"全部区域",-1)),(l(!0),o(_,null,v(lt.value,s=>(l(),o("option",{key:s.value,value:s.value},r(s.label),9,Rt))),128))],512),[[R,i.region]])]),a("div",Vt,[e[8]||(e[8]=a("label",{class:"label py-1"},[a("span",{class:"label-text text-xs text-slate-500"},"产品")],-1)),L(a("select",{"onUpdate:modelValue":e[2]||(e[2]=s=>i.product=s),class:"select select-bordered select-sm w-48"},[e[7]||(e[7]=a("option",{value:""},"全部产品",-1)),(l(!0),o(_,null,v(M.value,s=>(l(),o("option",{key:s.value,value:s.value},r(s.label),9,qt))),128))],512),[[R,i.product]])]),a("button",{class:"btn btn-primary btn-sm text-white",onClick:Z},"查询"),e[9]||(e[9]=a("span",{class:"text-xs text-slate-400 ml-auto self-center"},"顶部为全量总览;各版面右上角可单独选时间周期",-1))])]),e[14]||(e[14]=a("div",{class:"sec-title muted"},[a("span",{class:"bar",style:{background:"#cbd5e1"}}),a("h2",null,"累计数据"),a("span",{class:"sub"},"全量累计 · 随筛选条件变化")],-1)),a("div",zt,[(l(!0),o(_,null,v(at.value,s=>(l(),o("div",{key:s[0],class:"cum-card"},[a("span",{class:"ico",style:A({background:g(s[0])[1]})},r(g(s[0])[0]),5),a("div",Ot,[a("div",Ht,r(s[1]),1),a("div",Tt,r(_t(s)),1)])]))),128))]),a("div",It,[a("div",Gt,[e[10]||(e[10]=a("span",{class:"bar",style:{background:"linear-gradient(180deg,#0EA5E9,#22D3EE)"}},null,-1)),e[11]||(e[11]=a("h2",null,"今日数据",-1)),a("span",Ut,r(Y.value),1),e[12]||(e[12]=a("span",{class:"sub"},"今日 0 点至现在 · 含较昨日同比(设备类无日期维度,仅见累计)",-1))]),a("div",Pt,[(l(!0),o(_,null,v(nt.value,s=>(l(),o("div",{key:s[0],class:"today-card"},[a("span",{class:"accent",style:A({background:g(s[0])[2]})},null,4),a("div",jt,[a("span",Yt,r(s[1]),1),a("span",{class:"ico",style:A({background:g(s[0])[1]})},r(g(s[0])[0]),5)]),a("div",Wt,r(vt(s)),1),a("div",Jt,[b(s).type==="new"?(l(),o("span",Zt,"新")):b(s).type!=="none"?(l(),o("span",{key:1,class:Q(["delta",b(s).type])},r(b(s).arrow)+" "+r(b(s).abs)+"%",3)):X("",!0),e[13]||(e[13]=a("span",null,"较昨日",-1))])]))),128))])]),e[15]||(e[15]=a("div",{class:"sec-title"},[a("span",{class:"bar",style:{background:"linear-gradient(180deg,#10B981,#22D3EE)"}}),a("h2",null,"趋势分析"),a("span",{class:"sub"},"各版面右上角可独立选择时间周期")],-1)),a("div",$t,[(l(!0),o(_,null,v(G.value,s=>(l(),o("div",{key:s.key,class:"panel"},[a("div",Kt,[a("span",{class:"panel-dot",style:A({background:s.tint})},[(l(),o("svg",{width:"17",height:"17",fill:"none",viewBox:"0 0 24 24",stroke:s.color},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:s.icon},null,8,Xt)],8,Qt))],4),a("span",te,r(s.title),1),s.key==="device"?(l(),o("span",ee,"当前累计 · 无日期维度")):(l(),o("div",se,[(l(),o(_,null,v(ot,n=>a("button",{key:n[0],class:Q(["tbtn",{"tbtn-on":n[0]===w[s.key]}]),onClick:d=>yt(s.key,Number(n[0]))},r(n[1]),11,ae)),64))]))]),a("div",ne,[a("div",oe,[(l(!0),o(_,null,v(s.stats,n=>(l(),o("div",{key:n[0],class:"stat-box"},[a("div",le,r(n[1]),1),a("div",re,r(mt(s,n)),1)]))),128))]),s.key!=="device"?(l(),o("div",ie,[a("canvas",{ref_for:!0,ref:n=>gt(s.key,n)},null,512)])):X("",!0)])]))),128))])]))}}),pe=Ct(ce,[["__scopeId","data-v-7dbe8712"]]);export{pe as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/D9HxoMhB.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/D9HxoMhB.js deleted file mode 100644 index 3a8be188..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/D9HxoMhB.js +++ /dev/null @@ -1 +0,0 @@ -import{u}from"./yUUyh6cG.js";import{A as e}from"./CTAruH_8.js";function r(){const n=u("app:loading",()=>0),o=e(()=>n.value>0);function a(){n.value++}function t(){n.value=Math.max(0,n.value-1)}return{count:n,loading:o,begin:a,end:t}}export{r as u}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CnuHOwQV.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DA87FDpn.js similarity index 95% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CnuHOwQV.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DA87FDpn.js index 346f6347..473023ca 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CnuHOwQV.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DA87FDpn.js @@ -1 +1 @@ -import{g as h,C as x,z as w,j as y,c as r,a as e,t as d,l as b,D as _,k as v,m as g,n as k,x as M,s as u,o as p,_ as z}from"./CTAruH_8.js";const A={class:"login-bg flex items-center justify-center px-4"},B={class:"login-card"},C={class:"text-center"},S={style:{"font-size":"22px","font-weight":"700",color:"#0F172A",margin:"0 0 4px"}},T={key:0,class:"login-error show"},V={style:{width:"16px",height:"16px","flex-shrink":"0"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},j={style:{"margin-bottom":"16px"}},D={style:{"margin-bottom":"24px"}},q=h({__name:"index",setup(L){const a=x(),c=w(),o=M({account:"",password:""}),l=u(!1),n=u(""),m=u("Admin");y(async()=>{if(a.restore(),a.token){c.push("/dashboard");return}try{const t=(await $fetch("/web/api/api_getsiteinfo",{method:"POST",body:{}}))?.data?.sitename;t&&(m.value=t+" Admin",a.setSiteTitle(t))}catch{}});async function f(){l.value=!0,n.value="";try{const s=await $fetch("/web/api/api_login",{method:"POST",body:{account:o.account,password:o.password}});s.code===0&&s.data?(a.setLoginData(s.data),c.push("/dashboard")):n.value=s.msg||"登录失败"}catch{n.value="网络错误,请检查连接"}finally{l.value=!1}}return(s,t)=>(p(),r("div",A,[e("div",B,[e("div",C,[t[2]||(t[2]=e("div",{class:"logo-icon"},[e("svg",{class:"h-7 w-7 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})])],-1)),e("h1",S,d(m.value),1),t[3]||(t[3]=e("p",{style:{"font-size":"13px",color:"#94A3B8",margin:"0 0 32px"}},"管理控制台",-1))]),n.value?(p(),r("div",T,[(p(),r("svg",V,[...t[4]||(t[4]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)])])),e("span",null,d(n.value),1)])):b("",!0),e("form",{onSubmit:_(f,["prevent"])},[e("div",j,[t[5]||(t[5]=e("label",{class:"login-label"},"账号",-1)),v(e("input",{"onUpdate:modelValue":t[0]||(t[0]=i=>o.account=i),type:"text",class:"login-input",placeholder:"请输入管理员账号",autocomplete:"username",required:""},null,512),[[g,o.account]])]),e("div",D,[t[6]||(t[6]=e("label",{class:"login-label"},"密码",-1)),v(e("input",{"onUpdate:modelValue":t[1]||(t[1]=i=>o.password=i),type:"password",class:"login-input",placeholder:"请输入密码",autocomplete:"current-password",required:""},null,512),[[g,o.password]])]),e("button",{type:"submit",class:k(["login-btn",{loading:l.value}])},d(l.value?"登录中...":"登 录"),3)],32),t[7]||(t[7]=e("p",{style:{"text-align":"center","font-size":"11px",color:"#94A3B8","margin-top":"24px"}}," © 2025 Admin Console · v1.0.1 ",-1))])]))}}),O=z(q,[["__scopeId","data-v-3a3bca03"]]);export{O as default}; +import{g as h,C as x,z as w,j as y,c as r,a as e,t as d,l as b,D as _,k as v,m as g,n as k,x as M,s as u,o as p,_ as z}from"./CfpW9SkI.js";const A={class:"login-bg flex items-center justify-center px-4"},B={class:"login-card"},C={class:"text-center"},S={style:{"font-size":"22px","font-weight":"700",color:"#0F172A",margin:"0 0 4px"}},T={key:0,class:"login-error show"},V={style:{width:"16px",height:"16px","flex-shrink":"0"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},j={style:{"margin-bottom":"16px"}},D={style:{"margin-bottom":"24px"}},q=h({__name:"index",setup(L){const a=x(),c=w(),o=M({account:"",password:""}),l=u(!1),n=u(""),m=u("Admin");y(async()=>{if(a.restore(),a.token){c.push("/dashboard");return}try{const t=(await $fetch("/web/api/api_getsiteinfo",{method:"POST",body:{}}))?.data?.sitename;t&&(m.value=t+" Admin",a.setSiteTitle(t))}catch{}});async function f(){l.value=!0,n.value="";try{const s=await $fetch("/web/api/api_login",{method:"POST",body:{account:o.account,password:o.password}});s.code===0&&s.data?(a.setLoginData(s.data),c.push("/dashboard")):n.value=s.msg||"登录失败"}catch{n.value="网络错误,请检查连接"}finally{l.value=!1}}return(s,t)=>(p(),r("div",A,[e("div",B,[e("div",C,[t[2]||(t[2]=e("div",{class:"logo-icon"},[e("svg",{class:"h-7 w-7 text-white",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})])],-1)),e("h1",S,d(m.value),1),t[3]||(t[3]=e("p",{style:{"font-size":"13px",color:"#94A3B8",margin:"0 0 32px"}},"管理控制台",-1))]),n.value?(p(),r("div",T,[(p(),r("svg",V,[...t[4]||(t[4]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"},null,-1)])])),e("span",null,d(n.value),1)])):b("",!0),e("form",{onSubmit:_(f,["prevent"])},[e("div",j,[t[5]||(t[5]=e("label",{class:"login-label"},"账号",-1)),v(e("input",{"onUpdate:modelValue":t[0]||(t[0]=i=>o.account=i),type:"text",class:"login-input",placeholder:"请输入管理员账号",autocomplete:"username",required:""},null,512),[[g,o.account]])]),e("div",D,[t[6]||(t[6]=e("label",{class:"login-label"},"密码",-1)),v(e("input",{"onUpdate:modelValue":t[1]||(t[1]=i=>o.password=i),type:"password",class:"login-input",placeholder:"请输入密码",autocomplete:"current-password",required:""},null,512),[[g,o.password]])]),e("button",{type:"submit",class:k(["login-btn",{loading:l.value}])},d(l.value?"登录中...":"登 录"),3)],32),t[7]||(t[7]=e("p",{style:{"text-align":"center","font-size":"11px",color:"#94A3B8","margin-top":"24px"}}," © 2025 Admin Console · v1.0.1 ",-1))])]))}}),O=z(q,[["__scopeId","data-v-3a3bca03"]]);export{O as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DL330dAC.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DL330dAC.js new file mode 100644 index 00000000..747371d6 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DL330dAC.js @@ -0,0 +1 @@ +import{e as f,a5 as p,a6 as c,A as r}from"./CfpW9SkI.js";const l="$s";function y(...t){const a=typeof t[t.length-1]=="string"?t.pop():void 0;typeof t[0]!="string"&&t.unshift(a);const[n,e]=t;if(!n||typeof n!="string")throw new TypeError("[nuxt] [useState] key must be a string: "+n);if(e!==void 0&&typeof e!="function")throw new Error("[nuxt] [useState] init must be a function: "+e);const i=l+n,u=f(),s=p(u.payload.state,i);if(e&&(u._state[i]??={_default:e}),s.value===void 0&&e){const o=e();if(c(o))return u.payload.state[i]=o,o;s.value=o}return s}function v(){const t=y("app:loading",()=>0),a=r(()=>t.value>0);function n(){t.value++}function e(){t.value=Math.max(0,t.value-1)}return{count:t,loading:a,begin:n,end:e}}export{y as a,v as u}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DNKl-FHZ.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DNKl-FHZ.js deleted file mode 100644 index 8622f04f..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DNKl-FHZ.js +++ /dev/null @@ -1 +0,0 @@ -import{g as oe,j as ie,c as a,l as x,a as e,k as d,p as m,F as r,r as u,v as F,t as i,q as G,n as N,d as de,s as c,x as ce,A as re,o,D as $,_ as ue}from"./CTAruH_8.js";import{u as ve}from"./9B2ftqmN.js";import{u as be}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const me={key:0,class:"mb-4 rounded-lg px-4 py-3 text-sm",style:{background:"#fffbeb",border:"1px solid #fde68a",color:"#92400e"}},pe={class:"flex items-center justify-between mb-5"},xe={class:"flex items-center gap-3"},fe=["value"],_e={class:"editor-panel"},ge={class:"flex items-center justify-between mb-4"},ye={class:"font-semibold text-slate-800 text-sm"},ke={class:"grid grid-cols-3 gap-4 mb-4"},he={class:"form-control"},Se=["value"],Te={class:"form-control"},Ce=["value"],we={class:"form-control"},Ae={class:"flex gap-3 mb-4"},Ve={key:0,class:"grid grid-cols-3 gap-4"},Me={class:"form-control"},je={key:0,value:""},Re=["value"],Ue={class:"form-control"},Ne={key:0,value:""},$e=["value"],Oe={class:"form-control"},Pe={key:0,value:""},ze=["value"],Be={key:1,class:"form-control max-w-xs"},De={key:0,value:""},Ee=["value"],Le={class:"flex items-center justify-between pt-4 border-t border-slate-100 mt-4"},Ie={class:"flex items-center gap-2 text-sm"},Fe={class:"grid grid-cols-1 gap-4",style:{"grid-template-columns":"repeat(auto-fill,minmax(360px,1fr))"}},Ge={key:0,class:"col-span-full text-center py-20 text-slate-300"},qe=["onClick"],He={class:"flex items-center justify-between"},Je={class:"flex items-center gap-2"},Ke={class:"lang-badge"},Qe={class:"text-slate-400 font-bold text-lg"},We={class:"lang-badge"},Xe={class:"flex items-center gap-2"},Ye={key:0,class:"mode-badge mode-pipeline"},Ze={key:1,class:"mode-badge mode-e2e"},et={key:2,class:"badge badge-success badge-xs"},tt={key:3,class:"badge badge-ghost badge-xs"},st=["onClick"],lt={key:0,class:"flex flex-wrap items-center gap-2 mt-3"},nt={class:"svc-pill",style:{background:"#1664ff"}},at={class:"svc-pill",style:{background:"#059669"}},ot={class:"svc-pill",style:{background:"#7c3aed"}},it={key:1,class:"flex items-center gap-2 mt-3"},dt={class:"svc-pill",style:{background:"#f97316"}},ct={class:"sync-overlay"},rt={class:"sync-box"},ut={class:"flex items-start gap-3 mb-4"},vt={style:{width:"42px",height:"42px",background:"linear-gradient(135deg,#4f46e5,#7c3aed)","border-radius":"13px",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},bt={style:{width:"20px",height:"20px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},mt={class:"text-xs text-slate-400 mt-1"},pt={class:"flex items-center justify-between mb-1"},xt={class:"flex gap-2"},ft={class:"sync-region-grid"},_t=["onClick"],gt=["checked","onClick"],q=1,H=2,J=3,K=4,yt=oe({__name:"calltranslate",setup(kt){const j=[{c:"zh",n:"中文"},{c:"en",n:"英文"},{c:"ja",n:"日语"},{c:"ko",n:"韩语"},{c:"fr",n:"法语"},{c:"de",n:"德语"},{c:"es",n:"西班牙语"},{c:"pt",n:"葡萄牙语"},{c:"ru",n:"俄语"},{c:"ar",n:"阿拉伯语"},{c:"th",n:"泰语"},{c:"vi",n:"越南语"},{c:"id",n:"印尼语"},{c:"ms",n:"马来语"},{c:"hi",n:"印地语"}];function h(l){const t=j.find(s=>s.c===l);return t?t.n:l||""}const f=[{value:1,label:"中国"},{value:2,label:"美国"},{value:3,label:"东亚"},{value:4,label:"东南亚"},{value:5,label:"南亚"},{value:6,label:"中东"},{value:7,label:"欧洲"},{value:8,label:"俄罗斯"},{value:9,label:"非洲"},{value:10,label:"南美"},{value:11,label:"北美"},{value:12,label:"大洋洲"},{value:13,label:"巴西"},{value:14,label:"印度"}];function Q(l){const t=f.find(s=>s.value===l);return t?t.label:"区域"+l}const{webApi:_}=ve(),{success:S,error:T}=be(),R=c(!0),C=c([]),g=c([]),y=c(f.length?f[0].value:1),w=c(!1),p=c(null),O=c(0),n=ce({src:"zh",dst:"en",bidir:!1,mode:0,asr:"",mt:"",tts:"",ast:"",enable:!0});async function W(){try{const l=await _("getsvcconfigs",{});C.value=l?.items??[]}catch{R.value=!1,C.value=[]}}async function A(){try{const l=await _("getcalltranslatepairs",{region:y.value});g.value=l?.items??[]}catch{R.value=!1,g.value=[]}}function v(l){return C.value.filter(t=>t.enable&&(t.categories||"").split(",").map(Number).indexOf(l)>=0)}function V(l){const t=C.value.find(s=>s.id===l);return t?t.name:l||"未配置"}function P(l){n.src=l?.src_lang||"zh",n.dst=l?.dst_lang||"en",n.bidir=!!l?.bidir,n.mode=l?.mode!=null?l.mode:0,n.asr=l?.asr_svc_id||"",n.mt=l?.mt_svc_id||"",n.tts=l?.tts_svc_id||"",n.ast=l?.ast_svc_id||"",n.enable=l?l.enable!==!1:!0}function X(){p.value=null,P(null),w.value=!0}function Y(l){const t=g.value.find(s=>s.id===l)||null;p.value=t,P(t),w.value=!0}function M(){w.value=!1,p.value=null}function Z(){const l=n.mode;return{id:p.value?p.value.id:0,region:y.value,src_lang:n.src,dst_lang:n.dst,bidir:n.bidir,mode:l,asr_svc_id:l===0&&n.asr||"",mt_svc_id:l===0&&n.mt||"",tts_svc_id:l===0&&n.tts||"",ast_svc_id:l===1&&n.ast||"",enable:n.enable}}async function z(){const l=Z();if(!l.src_lang||!l.dst_lang)return T("源语言和目标语言必填"),!1;try{const t=await _("savecalltranslatepair",l);return O.value=t?.id??0,await A(),!0}catch(t){return T(t?.message??"保存失败"),!1}}function ee(l){window.confirm("确定删除这条语言对配置?")&&_("delcalltranslatepair",{ids:[l]}).then(()=>{S("已删除"),A()}).catch(t=>T(t?.message??"删除失败"))}const U=c(!1),B=c(""),b=c([]),D=re(()=>f.filter(l=>l.value!==y.value));function te(){const l=n.mode===0?"三段式拼接":"端到端 AST";B.value="将「"+h(n.src)+" → "+h(n.dst)+"」("+l+(n.bidir?",双向":"")+" )的服务编排同步到其他区域。",b.value=[],U.value=!0}function E(l){const t=b.value.indexOf(l);t>=0?b.value.splice(t,1):b.value.push(l)}function L(l){b.value=l?D.value.map(t=>t.value):[]}function I(){U.value=!1}async function se(){I(),await z()&&(M(),S("保存成功"))}async function le(){const l=[...b.value];if(I(),!!await z()){if(M(),!l.length){S("保存成功");return}try{const k=(await _("synccalltranslatepairs",{pair_ids:[O.value],target_regions:l}))?.synced??0,ne=l.map(ae=>Q(ae));S("已保存并同步到:"+ne.join("、")+"("+k+" 个)")}catch(s){T(s?.message??"同步失败")}}}return ie(async()=>{await Promise.all([W(),A()])}),(l,t)=>(o(),a("div",null,[R.value?x("",!0):(o(),a("div",me," ⚠ 「通话翻译配置」的后端接口尚未迁移到当前 console 服务,功能暂不可用。 ")),e("div",pe,[t[14]||(t[14]=e("div",null,[e("h2",{class:"text-lg font-semibold text-slate-800"},"通话翻译配置"),e("p",{class:"text-xs text-slate-400 mt-1"},"按区域和语言对配置翻译服务。支持三段式(ASR→MT→TTS)和端到端 AST 两种模式。")],-1)),e("div",xe,[t[13]||(t[13]=e("span",{class:"text-sm text-slate-500"},"区域",-1)),d(e("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>y.value=s),class:"select select-bordered select-sm",onChange:A},[(o(),a(r,null,u(f,s=>e("option",{key:s.value,value:s.value},i(s.label),9,fe)),64))],544),[[m,y.value,void 0,{number:!0}]]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:X},"+ 新增语言对")])]),d(e("div",_e,[e("div",ge,[e("h3",ye,i(p.value?"编辑语言对":"新增语言对"),1),e("button",{class:"btn btn-ghost btn-xs",onClick:M},"✕ 关闭")]),e("div",ke,[e("div",he,[t[15]||(t[15]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"源语言 *")],-1)),d(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>n.src=s),class:"select select-bordered select-sm"},[(o(),a(r,null,u(j,s=>e("option",{key:s.c,value:s.c},i(s.n),9,Se)),64))],512),[[m,n.src]])]),e("div",Te,[t[16]||(t[16]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"目标语言 *")],-1)),d(e("select",{"onUpdate:modelValue":t[2]||(t[2]=s=>n.dst=s),class:"select select-bordered select-sm"},[(o(),a(r,null,u(j,s=>e("option",{key:s.c,value:s.c},i(s.n),9,Ce)),64))],512),[[m,n.dst]])]),e("div",we,[t[17]||(t[17]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"双向")],-1)),d(e("input",{"onUpdate:modelValue":t[3]||(t[3]=s=>n.bidir=s),type:"checkbox",class:"toggle toggle-primary mt-1"},null,512),[[G,n.bidir]])])]),e("div",Ae,[e("div",{class:N(["mtab",{on:n.mode===0}]),onClick:t[4]||(t[4]=s=>n.mode=0)},[...t[18]||(t[18]=[e("div",null,[e("div",{class:"font-bold text-sm"},"🧩 三段式拼接"),e("div",{class:"text-xs text-slate-400 mt-0.5"},"ASR → MT → TTS")],-1)])],2),e("div",{class:N(["mtab",{on:n.mode===1}]),onClick:t[5]||(t[5]=s=>n.mode=1)},[...t[19]||(t[19]=[e("div",null,[e("div",{class:"font-bold text-sm"},"⚡ 端到端 AST"),e("div",{class:"text-xs text-slate-400 mt-0.5"},"单服务直接完成语音翻译")],-1)])],2)]),e("div",null,[n.mode===0?(o(),a("div",Ve,[e("div",Me,[t[20]||(t[20]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"语音识别(ASR)")],-1)),d(e("select",{"onUpdate:modelValue":t[6]||(t[6]=s=>n.asr=s),class:"select select-bordered select-sm"},[v(q).length?x("",!0):(o(),a("option",je,"(无可用服务)")),(o(!0),a(r,null,u(v(q),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,Re))),128))],512),[[m,n.asr]])]),e("div",Ue,[t[21]||(t[21]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"机器翻译(MT)")],-1)),d(e("select",{"onUpdate:modelValue":t[7]||(t[7]=s=>n.mt=s),class:"select select-bordered select-sm"},[v(J).length?x("",!0):(o(),a("option",Ne,"(无可用服务)")),(o(!0),a(r,null,u(v(J),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,$e))),128))],512),[[m,n.mt]])]),e("div",Oe,[t[22]||(t[22]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"语音合成(TTS)")],-1)),d(e("select",{"onUpdate:modelValue":t[8]||(t[8]=s=>n.tts=s),class:"select select-bordered select-sm"},[v(H).length?x("",!0):(o(),a("option",Pe,"(无可用服务)")),(o(!0),a(r,null,u(v(H),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,ze))),128))],512),[[m,n.tts]])])])):(o(),a("div",Be,[t[23]||(t[23]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-xs"},"端到端语音翻译服务(AST)")],-1)),d(e("select",{"onUpdate:modelValue":t[9]||(t[9]=s=>n.ast=s),class:"select select-bordered select-sm"},[v(K).length?x("",!0):(o(),a("option",De,"(无可用服务)")),(o(!0),a(r,null,u(v(K),s=>(o(),a("option",{key:s.id,value:s.id},i(s.name),9,Ee))),128))],512),[[m,n.ast]])]))]),e("div",Le,[e("label",Ie,[d(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>n.enable=s),type:"checkbox",class:"checkbox checkbox-sm checkbox-primary"},null,512),[[G,n.enable]]),t[24]||(t[24]=de(" 启用 ",-1))]),e("div",{class:"flex gap-2"},[e("button",{class:"btn btn-ghost btn-sm",onClick:M},"取消"),e("button",{class:"btn btn-primary btn-sm text-white",onClick:te},"保存")])])],512),[[F,w.value]]),e("div",Fe,[g.value.length?x("",!0):(o(),a("div",Ge,[...t[25]||(t[25]=[e("div",{class:"text-5xl mb-3"},"🌐",-1),e("p",{class:"text-sm"},"当前区域暂无语言对配置",-1)])])),(o(!0),a(r,null,u(g.value,s=>(o(),a("div",{key:s.id,class:"pair-card",onClick:k=>Y(s.id)},[e("div",He,[e("div",Je,[e("span",Ke,i(h(s.src_lang)),1),e("span",Qe,i(s.bidir?"⇄":"→"),1),e("span",We,i(h(s.dst_lang)),1)]),e("div",Xe,[s.mode===0?(o(),a("span",Ye,"三段式拼接")):(o(),a("span",Ze,"端到端 AST")),s.enable?(o(),a("span",et,"启用")):(o(),a("span",tt,"停用")),e("button",{class:"btn btn-ghost btn-xs text-error",onClick:$(k=>ee(s.id),["stop"])},"删除",8,st)])]),s.mode===0?(o(),a("div",lt,[e("span",nt,"ASR: "+i(V(s.asr_svc_id)),1),t[26]||(t[26]=e("span",{class:"text-slate-300 text-sm"},"→",-1)),e("span",at,"MT: "+i(V(s.mt_svc_id)),1),t[27]||(t[27]=e("span",{class:"text-slate-300 text-sm"},"→",-1)),e("span",ot,"TTS: "+i(V(s.tts_svc_id)),1)])):(o(),a("div",it,[e("span",dt,"AST: "+i(V(s.ast_svc_id)),1)]))],8,qe))),128))]),d(e("div",ct,[e("div",rt,[e("div",ut,[e("div",vt,[(o(),a("svg",bt,[...t[28]||(t[28]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"},null,-1)])]))]),e("div",null,[t[29]||(t[29]=e("h3",{class:"text-base font-semibold text-slate-800"},"同步到其他区域",-1)),e("p",mt,i(B.value),1)])]),t[31]||(t[31]=e("div",{class:"text-xs px-3 py-2 rounded-lg mb-3",style:{background:"#f0fdf4",border:"1px solid #bbf7d0",color:"#15803d"}}," ✦ 同步内容:服务组合(模式 + 各段服务)将被复制到目标区域。 ",-1)),e("div",pt,[t[30]||(t[30]=e("span",{class:"text-xs font-semibold text-slate-500"},"选择目标区域",-1)),e("div",xt,[e("button",{class:"btn btn-ghost btn-xs",onClick:t[11]||(t[11]=s=>L(!0))},"全选"),e("button",{class:"btn btn-ghost btn-xs",onClick:t[12]||(t[12]=s=>L(!1))},"清空")])]),e("div",ft,[(o(!0),a(r,null,u(D.value,s=>(o(),a("label",{key:s.value,class:N(["sync-region-item",{checked:b.value.includes(s.value)}]),onClick:$(k=>E(s.value),["prevent"])},[e("input",{type:"checkbox",class:"checkbox checkbox-xs checkbox-primary",checked:b.value.includes(s.value),onClick:$(k=>E(s.value),["stop"])},null,8,gt),e("span",null,i(s.label),1)],10,_t))),128))]),t[32]||(t[32]=e("p",{class:"text-[11px] text-slate-400 mb-5"},"⚠ 目标区域相同语言对已存在则覆盖,否则新建。",-1)),e("div",{class:"flex gap-3 justify-end"},[e("button",{class:"btn btn-ghost",onClick:se},"仅保存当前区域"),e("button",{class:"btn btn-primary text-white",onClick:le},"保存并同步")])])],512),[[F,U.value]])]))}}),At=ue(yt,[["__scopeId","data-v-51f11136"]]);export{At as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DQJ7bpDC.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DQJ7bpDC.js new file mode 100644 index 00000000..73b8d427 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DQJ7bpDC.js @@ -0,0 +1 @@ +import{g as wt,C as xt,j as Dt,c as o,a,k as L,p as R,F as _,r as v,t as r,A as m,x as K,s as p,o as l,G as A,n as Q,l as X,_ as Ct}from"./CfpW9SkI.js";import{u as At}from"./DSu8q42f.js";import"./DL330dAC.js";const Mt={class:"panel p-4 mb-5"},St={class:"flex flex-wrap items-end gap-3"},Nt={class:"form-control"},Bt=["value"],Lt={class:"form-control"},Rt=["value"],Vt={class:"form-control"},qt=["value"],zt={class:"grid grid-cols-2 md:grid-cols-4 gap-3 mb-8"},Ot={class:"body"},Ht={class:"lbl"},Tt={class:"val"},It={class:"today-wrap mb-8"},Gt={class:"sec-title hero",style:{"margin-bottom":"16px"}},Ut={class:"tag",style:{color:"#0369a1",background:"#dbeafe"}},Pt={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},jt={class:"today-card-top"},Yt={class:"lbl"},Wt={class:"val"},Jt={class:"foot"},Zt={key:0,class:"delta up"},$t={class:"grid grid-cols-1 xl:grid-cols-2 gap-6"},Kt={class:"panel-head"},Qt=["stroke"],Xt=["d"],te={class:"font-semibold text-slate-700 text-sm"},ee={key:0,class:"ml-auto text-xs text-slate-400"},se={key:1,class:"ml-auto flex items-center gap-1"},ae=["onClick"],ne={class:"px-5 py-4"},oe={class:"grid grid-cols-2 sm:grid-cols-3 gap-2.5"},le={class:"stat-label"},re={class:"stat-val"},ie={key:0,style:{height:"170px","margin-top":"1rem"}},ce=wt({__name:"dashboard",setup(de){const k=xt(),{webApi:V,consoleApi:tt}=At(),q=[["cn","中国"],["us","美国"],["ea","东亚"],["sea","东南亚"],["sa","南亚"],["me","中东"],["eu","欧洲"],["ru","俄罗斯"],["af","非洲"],["sam","南美"],["nam","北美"],["oc","大洋洲"],["br","巴西"],["in","印度"]],et={new_user_count:["👥","#EEF2FF","#6366F1"],active_user_count:["🟢","#ECFDF5","#10B981"],bind_device_count:["📱","#E0F2FE","#0EA5E9"],qr_active_count:["🔳","#FCE7F3","#EC4899"],order_paid_count:["🧾","#FEF3C7","#F59E0B"],order_paid_amount:["💰","#FEE2E2","#EF4444"],pay_user_count:["⭐","#FFF7ED","#F97316"],meet_second:["🎙️","#CFFAFE","#22D3EE"],trade_second:["🌐","#F3E8FF","#8B5CF6"]},z=[["new_user_count","累计用户",!1],["bind_device_count","累计绑定设备",!1],["qr_active_count","累计二维码激活",!1],["order_paid_count","累计支付订单",!1],["order_paid_amount","累计支付金额",!0],["meet_second","累计会议时长",!1],["trade_second","累计翻译时长",!1]],O=[["new_user_count","新增用户",!1],["active_user_count","活跃用户",!1],["qr_active_count","二维码激活",!1],["order_paid_count","支付订单",!1],["order_paid_amount","支付金额",!0],["pay_user_count","付费用户",!1],["meet_second","会议时长",!1,!0],["trade_second","翻译时长",!1,!0]],E=[{key:"user",title:"用户增长",color:"#6366F1",tint:"#EEF2FF",icon:"M17 20h5v-2a4 4 0 00-3-3.87M9 20H4v-2a4 4 0 013-3.87m6-1.13a4 4 0 10-4-4 4 4 0 004 4z",stats:[["new_user_count","新增用户"],["active_user_count","活跃用户"],["login_user_count","登录用户"],["login_count","登录次数"]],lines:[["new_user_count","新增用户","#6366F1"],["active_user_count","活跃用户","#34D399"]]},{key:"device",title:"设备激活绑定",color:"#0EA5E9",tint:"#E0F2FE",icon:"M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z",stats:[["active_device_count","已激活"],["bind_device_count","已绑定"]],lines:[["active_device_count","已激活","#0EA5E9"],["bind_device_count","已绑定","#818CF8"]]},{key:"qrcode",title:"二维码激活",color:"#EC4899",tint:"#FCE7F3",icon:"M12 4v1m6 11h2m-6 0h-1v4m-6-4H5m14 0h-2m-6-7H5m0 0V5m0 4v6m14-6V5h-4M5 5h4M5 19h4m6 0h4v-4M4 4h6v6H4V4zm10 0h6v6h-6V4zM4 14h6v6H4v-6z",stats:[["qr_active_count","二维码激活次数"]],lines:[["qr_active_count","二维码激活","#EC4899"]]},{key:"order",title:"订单支付",color:"#F59E0B",tint:"#FEF3C7",icon:"M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z",stats:[["order_create_count","创建订单"],["order_paid_count","支付订单"],["order_failed_count","失败订单"],["pay_user_count","付费用户"],["order_paid_amount","支付金额",!0],["order_create_amount","创建金额",!0]],lines:[["order_paid_count","支付订单","#F59E0B"],["order_create_count","创建订单","#FCD34D"]]},{key:"meeting",title:"会议",color:"#22D3EE",tint:"#CFFAFE",icon:"M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z",stats:[["meet_count","会议次数"],["meet_second","会议时长",!1,!0],["grant_meet_second","发放会议时长",!1,!0]],lines:[["meet_count","会议次数","#22D3EE"],["meet_second","会议时长(秒)","#0EA5E9"]]},{key:"translate",title:"翻译",color:"#8B5CF6",tint:"#F3E8FF",icon:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129",stats:[["trade_count","翻译次数"],["trade_second","翻译时长",!1,!0],["trade_words","翻译字数"],["grant_trade_second","发放翻译时长",!1,!0]],lines:[["trade_count","翻译次数","#8B5CF6"],["trade_second","翻译时长(秒)","#A78BFA"]]}],f=m(()=>k.identity===3),st=m(()=>k.apps),H=m(()=>k.regions),T=m(()=>k.products.map(t=>parseInt(t)).filter(t=>!isNaN(t))),I=["new_user_count","active_user_count","qr_active_count"],at=m(()=>f.value?z.filter(t=>!I.includes(t[0])):z),nt=m(()=>f.value?O.filter(t=>!I.includes(t[0])):O),G=m(()=>f.value?E.filter(t=>t.key!=="user"&&t.key!=="qrcode"):E),ot=[[7,"7天"],[30,"30天"],[90,"90天"],[0,"全部"]],i=K({app:"",region:"",product:""}),F=p([]),M=p([]),lt=m(()=>f.value&&H.value.length?q.filter(t=>H.value.includes(t[0])).map(t=>({value:t[0],label:t[1]})):q.map(t=>({value:t[0],label:t[1]}))),U=p({}),P=p({}),S=p({}),j=p({}),Y=p("实时"),N=p({}),w=K({});E.forEach(t=>{w[t.key]=30});function x(t){const e=t.getFullYear(),s=("0"+(t.getMonth()+1)).slice(-2),n=("0"+t.getDate()).slice(-2);return parseInt(e+s+n)}function rt(t){if(!t)return{start:0,end:0};const e=new Date,s=new Date;return s.setDate(s.getDate()-(t-1)),{start:x(s),end:x(e)}}function it(t,e){return t=Number(t)||0,e?"¥"+(t/100).toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2}):t.toLocaleString()}function ct(t){t=Math.max(0,Math.floor(Number(t)||0));const e=Math.floor(t/3600),s=Math.floor(t%3600/60),n=t%60;return e>0?e+"时"+s+"分":s>0?s+"分"+n+"秒":n+"秒"}function B(t,e,s){return s?ct(t):it(t,e)}function dt(t){const e=String(t);return e.length===8?e.slice(4,6)+"-"+e.slice(6,8):e}function ut(t,e){return t=Number(t)||0,e=Number(e)||0,e===0?t>0?null:0:(t-e)/e*100}function g(t){return et[t]||["📊","#f1f5f9","#94a3b8"]}function _t(t){const e=t[0]==="bind_device_count"||t[0]==="active_device_count"?P.value:U.value,s=t[0]==="meet_second"||t[0]==="trade_second";return B(e[t[0]],t[2],s)}function vt(t){return B(S.value[t[0]],t[2],!!t[3])}function b(t){const e=ut(S.value[t[0]],j.value[t[0]]);if(e===null)return{type:"new",arrow:"",abs:""};const s=e>0?"up":e<0?"down":"flat",n=e>0?"▲":e<0?"▼":"—";return{type:s,arrow:n,abs:Math.abs(e).toFixed(1)}}function mt(t,e){return B((N.value[t.key]||{})[e[0]],e[2],e[3])}function D(){const t={};return i.app!==""&&(t.app_id=i.app),i.region!==""&&(t.region=i.region),i.product!==""&&(t.product_id=parseInt(String(i.product))),t}function W(){const t={};return i.product!==""&&(t.product_id=parseInt(String(i.product))),t}async function y(t,e){try{return{code:0,data:await V(t,e)??{}}}catch{return null}}async function pt(){const t=await y("getstatssummary",D());U.value=t&&t.code===0&&t.data?t.data:{};const e=await y("getstatssummary",W());P.value=e&&e.code===0&&e.data?e.data:{}}async function ft(){const t=x(new Date),e=new Date;e.setDate(e.getDate()-1);const s=x(e),n=D();n.start_day=t,n.end_day=t;const d=D();d.start_day=s,d.end_day=s;const u=await y("getstatssummary",n);S.value=u&&u.code===0&&u.data?u.data:{};const c=await y("getstatssummary",d);j.value=c&&c.code===0&&c.data?c.data:{};const C=new Date,Et=("0"+(C.getMonth()+1)).slice(-2),Ft=("0"+C.getDate()).slice(-2);Y.value=Et+"-"+Ft+" 实时"}async function J(t){let e;if(t.key==="device")e=W();else{const c=rt(w[t.key]);e=D(),e.start_day=c.start,e.end_day=c.end}const s=await y("getstatssummary",e),n=s&&s.code===0&&s.data?s.data:{};if(N.value={...N.value,[t.key]:n},t.key==="device")return;const d=await y("getstatstrend",e),u=d&&d.code===0?d.data||[]:[];bt(t,u)}function yt(t,e){w[t]=e;const s=E.find(n=>n.key===t);s&&J(s)}function Z(){pt(),ft(),G.value.forEach(t=>J(t))}const $={},h={};function gt(t,e){e&&($[t]=e)}function bt(t,e){const s=window.Chart,n=$[t.key];if(!s||!n)return;const d=e.map(c=>dt(c.stat_day)),u=t.lines.map(c=>({label:c[1],data:e.map(C=>Number(C[c[0]])||0),borderColor:c[2],backgroundColor:c[2]+"22",tension:.35,fill:!0,pointRadius:0,borderWidth:2}));if(h[t.key]){h[t.key].data.labels=d,h[t.key].data.datasets=u,h[t.key].update();return}h[t.key]=new s(n,{type:"line",data:{labels:d,datasets:u},options:{responsive:!0,maintainAspectRatio:!1,plugins:{legend:{position:"bottom",labels:{boxWidth:10,padding:12,font:{size:11}}}},scales:{x:{ticks:{maxTicksLimit:8,font:{size:10},color:"#94a3b8"},grid:{display:!1}},y:{beginAtZero:!0,ticks:{precision:0,maxTicksLimit:5,font:{size:10},color:"#94a3b8"},grid:{color:"#f1f5f9"}}},interaction:{mode:"index",intersect:!1}}})}async function ht(){if(f.value)F.value=st.value.map(t=>({value:t,label:t}));else try{const t=await tt("apps/list",{}),e=Array.isArray(t)?t:[];F.value=e.map(s=>({value:s.name||"",label:s.name||"应用#"+s.id}))}catch{F.value=[]}try{const t=await V("getproducts",{});let e=t&&t.products?t.products:[];f.value&&T.value.length&&(e=e.filter(s=>T.value.includes(s.id))),M.value=e.map(s=>({value:s.id,label:(s.devicename||"产品#"+s.id)+" (#"+s.id+")"}))}catch{M.value=[]}}function kt(){return new Promise(t=>{if(window.Chart)return t();const e=document.createElement("script");e.src="https://cdn.jsdelivr.net/npm/chart.js@4.4.0/dist/chart.umd.min.js",e.onload=()=>t(),e.onerror=()=>t(),document.head.appendChild(e)})}return Dt(async()=>{await kt(),await ht(),Z()}),(t,e)=>(l(),o("div",null,[a("div",Mt,[a("div",St,[a("div",Nt,[e[4]||(e[4]=a("label",{class:"label py-1"},[a("span",{class:"label-text text-xs text-slate-500"},"应用")],-1)),L(a("select",{"onUpdate:modelValue":e[0]||(e[0]=s=>i.app=s),class:"select select-bordered select-sm w-40"},[e[3]||(e[3]=a("option",{value:""},"全部应用",-1)),(l(!0),o(_,null,v(F.value,s=>(l(),o("option",{key:s.value,value:s.value},r(s.label),9,Bt))),128))],512),[[R,i.app]])]),a("div",Lt,[e[6]||(e[6]=a("label",{class:"label py-1"},[a("span",{class:"label-text text-xs text-slate-500"},"区域")],-1)),L(a("select",{"onUpdate:modelValue":e[1]||(e[1]=s=>i.region=s),class:"select select-bordered select-sm w-32"},[e[5]||(e[5]=a("option",{value:""},"全部区域",-1)),(l(!0),o(_,null,v(lt.value,s=>(l(),o("option",{key:s.value,value:s.value},r(s.label),9,Rt))),128))],512),[[R,i.region]])]),a("div",Vt,[e[8]||(e[8]=a("label",{class:"label py-1"},[a("span",{class:"label-text text-xs text-slate-500"},"产品")],-1)),L(a("select",{"onUpdate:modelValue":e[2]||(e[2]=s=>i.product=s),class:"select select-bordered select-sm w-48"},[e[7]||(e[7]=a("option",{value:""},"全部产品",-1)),(l(!0),o(_,null,v(M.value,s=>(l(),o("option",{key:s.value,value:s.value},r(s.label),9,qt))),128))],512),[[R,i.product]])]),a("button",{class:"btn btn-primary btn-sm text-white",onClick:Z},"查询"),e[9]||(e[9]=a("span",{class:"text-xs text-slate-400 ml-auto self-center"},"顶部为全量总览;各版面右上角可单独选时间周期",-1))])]),e[14]||(e[14]=a("div",{class:"sec-title muted"},[a("span",{class:"bar",style:{background:"#cbd5e1"}}),a("h2",null,"累计数据"),a("span",{class:"sub"},"全量累计 · 随筛选条件变化")],-1)),a("div",zt,[(l(!0),o(_,null,v(at.value,s=>(l(),o("div",{key:s[0],class:"cum-card"},[a("span",{class:"ico",style:A({background:g(s[0])[1]})},r(g(s[0])[0]),5),a("div",Ot,[a("div",Ht,r(s[1]),1),a("div",Tt,r(_t(s)),1)])]))),128))]),a("div",It,[a("div",Gt,[e[10]||(e[10]=a("span",{class:"bar",style:{background:"linear-gradient(180deg,#0EA5E9,#22D3EE)"}},null,-1)),e[11]||(e[11]=a("h2",null,"今日数据",-1)),a("span",Ut,r(Y.value),1),e[12]||(e[12]=a("span",{class:"sub"},"今日 0 点至现在 · 含较昨日同比(设备类无日期维度,仅见累计)",-1))]),a("div",Pt,[(l(!0),o(_,null,v(nt.value,s=>(l(),o("div",{key:s[0],class:"today-card"},[a("span",{class:"accent",style:A({background:g(s[0])[2]})},null,4),a("div",jt,[a("span",Yt,r(s[1]),1),a("span",{class:"ico",style:A({background:g(s[0])[1]})},r(g(s[0])[0]),5)]),a("div",Wt,r(vt(s)),1),a("div",Jt,[b(s).type==="new"?(l(),o("span",Zt,"新")):b(s).type!=="none"?(l(),o("span",{key:1,class:Q(["delta",b(s).type])},r(b(s).arrow)+" "+r(b(s).abs)+"%",3)):X("",!0),e[13]||(e[13]=a("span",null,"较昨日",-1))])]))),128))])]),e[15]||(e[15]=a("div",{class:"sec-title"},[a("span",{class:"bar",style:{background:"linear-gradient(180deg,#10B981,#22D3EE)"}}),a("h2",null,"趋势分析"),a("span",{class:"sub"},"各版面右上角可独立选择时间周期")],-1)),a("div",$t,[(l(!0),o(_,null,v(G.value,s=>(l(),o("div",{key:s.key,class:"panel"},[a("div",Kt,[a("span",{class:"panel-dot",style:A({background:s.tint})},[(l(),o("svg",{width:"17",height:"17",fill:"none",viewBox:"0 0 24 24",stroke:s.color},[a("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:s.icon},null,8,Xt)],8,Qt))],4),a("span",te,r(s.title),1),s.key==="device"?(l(),o("span",ee,"当前累计 · 无日期维度")):(l(),o("div",se,[(l(),o(_,null,v(ot,n=>a("button",{key:n[0],class:Q(["tbtn",{"tbtn-on":n[0]===w[s.key]}]),onClick:d=>yt(s.key,Number(n[0]))},r(n[1]),11,ae)),64))]))]),a("div",ne,[a("div",oe,[(l(!0),o(_,null,v(s.stats,n=>(l(),o("div",{key:n[0],class:"stat-box"},[a("div",le,r(n[1]),1),a("div",re,r(mt(s,n)),1)]))),128))]),s.key!=="device"?(l(),o("div",ie,[a("canvas",{ref_for:!0,ref:n=>gt(s.key,n)},null,512)])):X("",!0)])]))),128))])]))}}),me=Ct(ce,[["__scopeId","data-v-7dbe8712"]]);export{me as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DSu8q42f.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DSu8q42f.js new file mode 100644 index 00000000..5ca6fd87 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DSu8q42f.js @@ -0,0 +1 @@ +import{C as w,z as d}from"./CfpW9SkI.js";import{u as h}from"./DL330dAC.js";async function f(o,i,a){const e=w(),u=d(),s={"Content-Type":"application/json"};e.token&&(s.Authorization=e.token),a&&Object.assign(s,a);const t=await fetch(o,{method:"POST",headers:s,body:JSON.stringify(i)});if(!t.ok)throw new Error(`HTTP error: ${t.status}`);const n=await t.json();if(n.code===18)throw e.logout(),u.push("/"),new Error(n.msg||"Unauthorized");if(n.code!==0)throw new Error(n.msg||"Unknown error");return n.data}const y=/^(get|list|load|query|fetch|search|count|stat|export|check)/i;function g(o){return!y.test(o)}function k(){const o=w(),{begin:i,end:a}=h();async function e(t,n){const r={};if(o.currentAppId&&(r["X-App-Id"]=String(o.currentAppId)),!g(t))return f(`/web/api/api_${t}`,n??{},r);i();try{return await f(`/web/api/api_${t}`,n??{},r)}finally{a()}}async function u(t,n){return f(`/console/api/${t}`,n??{})}async function s(t,n){const r=t.type||"application/octet-stream",c=await e("getcostoken",{path:n,filename:t.name,content_type:r}),p=c.upload_url||c.url||"";if(!p)throw new Error("未获取到上传地址:请确认已在【第三方服务配置→存储】配置并启用「阿里云 OSS」");const l=await fetch(p,{method:"PUT",headers:{"Content-Type":r},body:t});if(!l.ok)throw new Error(`Upload failed: ${l.status}`);return c.url||p.split("?")[0]}return{webApi:e,consoleApi:u,uploadFile:s}}export{k as u}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Dm32cczg.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Dm32cczg.js new file mode 100644 index 00000000..3c0bbe94 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Dm32cczg.js @@ -0,0 +1 @@ +import{g as ot,j as at,o as n,c as o,k as r,v as A,a as s,l as D,F as y,r as k,t as p,n as it,m as w,p as H,d as m,q as M,s as b,x as B,_ as dt}from"./CfpW9SkI.js";import{u as ut}from"./DSu8q42f.js";import{u as rt}from"./CMwGY1Mu.js";import"./DL330dAC.js";const pt={class:"flex items-center justify-between mb-4"},ct={class:"bg-white rounded-xl shadow-sm border border-slate-100 overflow-hidden"},mt={class:"table table-sm"},bt={key:0},xt={key:1},vt={class:"font-mono"},ft={class:"font-medium"},yt={key:0,class:"text-green-600 text-xs"},gt={key:1,class:"text-slate-400 text-xs"},kt={key:0,class:"text-xs text-slate-500"},wt={key:1,class:"text-xs text-slate-300"},_t={key:1,class:"text-xs text-slate-300"},ht={key:2,class:"text-[11px] text-emerald-600 mt-0.5"},Ct={class:"text-xs text-slate-500"},Vt={class:"flex gap-1 justify-end"},Ut=["onClick"],It=["onClick"],St=["onClick"],Et=["onClick"],$t={class:"flex items-center gap-3 mb-5"},Nt={class:"text-lg font-semibold text-slate-800"},jt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},At={class:"grid grid-cols-2 gap-3"},Mt=["disabled"],Pt={class:"col-span-2"},Tt={class:"mt-4 border-t border-slate-100 pt-4"},Lt={class:"mb-3"},Ot={class:"flex flex-wrap gap-2"},Dt=["value"],Bt={class:"mb-3"},Gt={class:"flex flex-wrap gap-2"},Rt=["value"],Ft={key:1,class:"text-xs text-slate-300"},qt={class:"mb-3"},zt={class:"flex flex-wrap gap-2"},Ht=["value"],Jt={class:"max-h-56 overflow-y-auto pr-1 border border-slate-100 rounded-lg p-2"},Kt={key:0,class:"text-xs text-slate-300"},Qt={key:1,class:"text-xs text-slate-300"},Wt={class:"text-[11px] font-semibold text-slate-500 mb-1 sticky top-0 bg-white py-0.5"},Xt={class:"flex flex-wrap gap-2"},Yt=["value"],Zt={class:"flex gap-3 justify-end mt-6"},ts=["disabled"],ss={class:"modal-box max-w-md"},es={class:"text-xs text-slate-400 mb-3"},ls={class:"font-medium text-slate-600"},ns={class:"text-emerald-600"},os={class:"grid grid-cols-3 gap-3"},as={class:"modal-action"},is=ot({__name:"accounts",setup(ds){const{webApi:G,consoleApi:v}=ut(),{success:h,error:g,warn:J}=rt(),K={1:"超管",2:"管理员",3:"代理",4:"运营"},Q={1:"badge-error",2:"badge-primary",3:"badge-warning",4:"badge-info"},W=[["dashboard","仪表盘"],["factory","厂家管理"],["product","产品管理"],["device","生产管理"],["code","公码管理"],["user","用户查询"],["apps","应用注册"]],X=[["cn","中国"],["us","美国"],["ea","东亚"],["sea","东南亚"],["sa","南亚"],["me","中东"],["eu","欧洲"],["ru","俄罗斯"],["af","非洲"],["sam","南美"],["nam","北美"],["oc","大洋洲"],["br","巴西"],["in","印度"]],C=b("list"),V=b([]),U=b([]),P=b(!1),I=b(!1),f=b(0),a=B({username:"",password:"",identity:2,enabled:"1",remark:""}),d=B({access:[],apps:[],regions:[],products:[]}),_=b([]),T=b(!1);function x(l){return(l||"").split(",").map(t=>t.trim()).filter(t=>t)}function S(l){return l.join(",")}function R(l){const t=[];return l.apps&&t.push("应用:"+x(l.apps).length),l.regions&&t.push("区域:"+x(l.regions).length),l.products&&t.push("产品:"+x(l.products).length),l.access&&t.push("页面:"+x(l.access).length),t}async function E(){P.value=!0;try{try{U.value=await v("apps/list",{})??[]}catch{U.value=[]}const l=await v("accounts/list",{});V.value=l??[]}catch(l){g(l?.message??"获取账号列表失败"),V.value=[]}finally{P.value=!1}}async function Y(){T.value=!0,_.value=[];try{const[l,t]=await Promise.all([G("getfactorys",{}),G("getproducts",{})]),e=l?.factorys??[],i=t?.products??[],$={};e.forEach(c=>{$[c.id]=c.factory||"厂家#"+c.id});const N={};i.forEach(c=>{const j=String(c.factoryid||0);(N[j]=N[j]||[]).push(c)});const nt=Object.keys(N).sort((c,j)=>(parseInt(c)||0)-(parseInt(j)||0));_.value=nt.map(c=>({fid:c,label:$[c]||(parseInt(c)?"厂家#"+c:"未分组"),products:N[c]??[]}))}catch{_.value=[]}finally{T.value=!1}}function F(l){f.value=l?l.id:0,a.username=l&&l.username||"",a.password="",a.identity=l?l.identity:2,a.enabled=l&&!l.enabled?"0":"1",a.remark=l&&l.remark||"",d.access=x(l?.access),d.apps=x(l?.apps),d.regions=x(l?.regions),d.products=x(l?.products),Y(),C.value="form"}function L(){C.value="list",E()}async function Z(){const l=a.identity,t={identity:l,enabled:a.enabled==="1",remark:a.remark.trim(),access:"",apps:"",regions:"",products:""};(l===3||l===4)&&(t.access=S(d.access),t.apps=S(d.apps),t.regions=S(d.regions),t.products=S(d.products)),I.value=!0;try{if(f.value)t.id=f.value,await v("accounts/update",t);else{if(t.username=a.username.trim(),t.password=a.password,!t.username||!t.password){g("用户名和密码必填"),I.value=!1;return}await v("accounts/add",t)}h("已保存"),L()}catch(e){g(e?.message??"保存失败")}finally{I.value=!1}}async function tt(l,t){const e=window.prompt("为账号【"+t+"】设置新密码:");if(e)try{await v("accounts/resetpwd",{id:l,password:e}),h("密码已重置")}catch(i){g(i?.message??"失败")}}function st(l,t){window.confirm("确认删除账号【"+t+"】?该操作不可恢复。")&&v("accounts/del",{id:l}).then(()=>{h("已删除"),E()}).catch(e=>g(e?.message??"失败"))}const O=b(null),q=b(0),u=B({name:"",cur:"",vipday:0,trademin:0,meetmin:0});function et(l){q.value=l.id,u.name=l.username||"#"+l.id,u.cur="VIP"+(l.balance_vipday||0)+"天 · 翻译"+(l.balance_trademin||0)+"分 · 会议"+(l.balance_meetmin||0)+"分",u.vipday=0,u.trademin=0,u.meetmin=0,O.value?.showModal()}function z(){O.value?.close()}async function lt(){const l=Number(u.vipday)||0,t=Number(u.trademin)||0,e=Number(u.meetmin)||0;if(!l&&!t&&!e){J("请至少填写一项");return}try{await v("accounts/topup",{account_id:q.value,vipday:l,trademin:t,meetmin:e}),h("余额已更新"),z(),E()}catch(i){g(i?.message??"操作失败")}}return at(E),(l,t)=>(n(),o("div",null,[r(s("div",null,[s("div",pt,[t[18]||(t[18]=s("div",null,[s("h2",{class:"text-lg font-bold text-slate-700"},"后台账号"),s("p",{class:"text-xs text-slate-400 mt-0.5"},"超管 / 管理员 / 代理 / 运营。代理·运营可绑定应用·区域·产品,登录后仪表盘按绑定限制。")],-1)),s("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=e=>F())},"+ 新建账号")]),s("div",ct,[s("table",mt,[t[21]||(t[21]=s("thead",null,[s("tr",{class:"text-slate-500"},[s("th",null,"ID"),s("th",null,"用户名"),s("th",null,"角色"),s("th",null,"状态"),s("th",null,"绑定作用域"),s("th",null,"备注"),s("th",{class:"text-right"},"操作")])],-1)),s("tbody",null,[P.value?(n(),o("tr",bt,[...t[19]||(t[19]=[s("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"加载中...",-1)])])):V.value.length?D("",!0):(n(),o("tr",xt,[...t[20]||(t[20]=[s("td",{colspan:"7",class:"text-center text-slate-400 py-8"},"暂无账号(引导超管不在此列)",-1)])])),(n(!0),o(y,null,k(V.value,e=>(n(),o("tr",{key:e.id},[s("td",vt,p(e.id),1),s("td",ft,p(e.username||""),1),s("td",null,[s("span",{class:it(["badge badge-sm",Q[e.identity]||""])},p(K[e.identity]||e.identity),3)]),s("td",null,[e.enabled?(n(),o("span",yt,"启用")):(n(),o("span",gt,"停用"))]),s("td",null,[e.identity===3||e.identity===4?(n(),o(y,{key:0},[R(e).length?(n(),o("span",kt,p(R(e).join(" · ")),1)):(n(),o("span",wt,"未绑定(不限)"))],64)):(n(),o("span",_t,"全部权限")),e.identity===3?(n(),o("div",ht," 余额 VIP"+p(e.balance_vipday||0)+"天 · 翻译"+p(e.balance_trademin||0)+"分 · 会议"+p(e.balance_meetmin||0)+"分 ",1)):D("",!0)]),s("td",Ct,p(e.remark||""),1),s("td",null,[s("div",Vt,[e.identity===3?(n(),o("button",{key:0,class:"btn btn-ghost btn-xs text-emerald-600",onClick:i=>et(e)},"充值",8,Ut)):D("",!0),s("button",{class:"btn btn-ghost btn-xs",onClick:i=>F(e)},"编辑",8,It),s("button",{class:"btn btn-ghost btn-xs text-amber-600",onClick:i=>tt(e.id,e.username)},"改密",8,St),s("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:i=>st(e.id,e.username)},"删除",8,Et)])])]))),128))])])])],512),[[A,C.value==="list"]]),r(s("div",null,[s("div",$t,[s("button",{class:"btn btn-ghost btn-sm",onClick:t[1]||(t[1]=e=>L())},"← 返回列表"),s("h2",Nt,p(f.value?"编辑账号 #"+f.value:"新建账号"),1)]),s("div",jt,[s("div",At,[s("div",null,[t[22]||(t[22]=s("label",{class:"text-xs text-slate-500"},"用户名",-1)),r(s("input",{"onUpdate:modelValue":t[2]||(t[2]=e=>a.username=e),disabled:!!f.value,class:"input input-bordered input-sm w-full",placeholder:"登录用户名"},null,8,Mt),[[w,a.username]])]),r(s("div",null,[t[23]||(t[23]=s("label",{class:"text-xs text-slate-500"},"密码",-1)),r(s("input",{"onUpdate:modelValue":t[3]||(t[3]=e=>a.password=e),type:"password",class:"input input-bordered input-sm w-full",placeholder:"登录密码"},null,512),[[w,a.password]])],512),[[A,!f.value]]),s("div",null,[t[25]||(t[25]=s("label",{class:"text-xs text-slate-500"},"角色",-1)),r(s("select",{"onUpdate:modelValue":t[4]||(t[4]=e=>a.identity=e),class:"select select-bordered select-sm w-full"},[...t[24]||(t[24]=[s("option",{value:2},"管理员(除账号管理外全部)",-1),s("option",{value:3},"代理(外部,按绑定限制)",-1),s("option",{value:4},"运营(内部,按绑定限制)",-1),s("option",{value:1},"超管(全部权限)",-1)])],512),[[H,a.identity,void 0,{number:!0}]])]),s("div",null,[t[27]||(t[27]=s("label",{class:"text-xs text-slate-500"},"状态",-1)),r(s("select",{"onUpdate:modelValue":t[5]||(t[5]=e=>a.enabled=e),class:"select select-bordered select-sm w-full"},[...t[26]||(t[26]=[s("option",{value:"1"},"启用",-1),s("option",{value:"0"},"停用",-1)])],512),[[H,a.enabled]])]),s("div",Pt,[t[28]||(t[28]=s("label",{class:"text-xs text-slate-500"},"备注",-1)),r(s("input",{"onUpdate:modelValue":t[6]||(t[6]=e=>a.remark=e),class:"input input-bordered input-sm w-full",placeholder:"可选"},null,512),[[w,a.remark]])])]),r(s("div",Tt,[t[33]||(t[33]=s("div",{class:"text-sm font-semibold text-slate-600 mb-2"},[m("作用域绑定 "),s("span",{class:"text-xs text-slate-400 font-normal"},"(代理/运营生效;勾选可访问页面,并限制仪表盘数据范围)")],-1)),s("div",Lt,[t[29]||(t[29]=s("div",{class:"text-xs text-slate-500 mb-1.5"},"可访问页面",-1)),s("div",Ot,[(n(),o(y,null,k(W,e=>s("label",{key:e[0],class:"chk"},[r(s("input",{"onUpdate:modelValue":t[7]||(t[7]=i=>d.access=i),type:"checkbox",value:e[0]},null,8,Dt),[[M,d.access]]),m(p(e[1]),1)])),64))])]),s("div",Bt,[t[30]||(t[30]=s("div",{class:"text-xs text-slate-500 mb-1.5"},[m("绑定应用 "),s("span",{class:"text-slate-300"},"(仪表盘只显示这些应用数据;不勾=不限)")],-1)),s("div",Gt,[U.value.length?(n(!0),o(y,{key:0},k(U.value,e=>(n(),o("label",{key:e.id,class:"chk"},[r(s("input",{"onUpdate:modelValue":t[8]||(t[8]=i=>d.apps=i),type:"checkbox",value:e.name},null,8,Rt),[[M,d.apps]]),m(p(e.name||"应用#"+e.id),1)]))),128)):(n(),o("span",Ft,"无注册应用"))])]),s("div",qt,[t[31]||(t[31]=s("div",{class:"text-xs text-slate-500 mb-1.5"},[m("绑定区域 "),s("span",{class:"text-slate-300"},"(不勾=不限)")],-1)),s("div",zt,[(n(),o(y,null,k(X,e=>s("label",{key:e[0],class:"chk"},[r(s("input",{"onUpdate:modelValue":t[9]||(t[9]=i=>d.regions=i),type:"checkbox",value:e[0]},null,8,Ht),[[M,d.regions]]),m(p(e[1]),1)])),64))])]),s("div",null,[t[32]||(t[32]=s("div",{class:"text-xs text-slate-500 mb-1.5"},[m("绑定产品 "),s("span",{class:"text-slate-300"},"(按厂家分组;仪表盘只显示这些产品数据;不勾=不限)")],-1)),s("div",Jt,[T.value?(n(),o("span",Kt,"加载产品中...")):_.value.length?(n(!0),o(y,{key:2},k(_.value,e=>(n(),o("div",{key:e.fid,class:"mb-2 last:mb-0"},[s("div",Wt,"🏭 "+p(e.label),1),s("div",Xt,[(n(!0),o(y,null,k(e.products,i=>(n(),o("label",{key:i.id,class:"chk"},[r(s("input",{"onUpdate:modelValue":t[10]||(t[10]=$=>d.products=$),type:"checkbox",value:String(i.id)},null,8,Yt),[[M,d.products]]),m(p((i.devicename||"产品")+" #"+i.id),1)]))),128))])]))),128)):(n(),o("span",Qt,"无产品"))])])],512),[[A,a.identity===3||a.identity===4]]),s("div",Zt,[s("button",{class:"btn btn-ghost btn-sm",onClick:t[11]||(t[11]=e=>L())},"取消"),s("button",{class:"btn btn-primary btn-sm text-white",disabled:I.value,onClick:t[12]||(t[12]=e=>Z())},"保存",8,ts)])])],512),[[A,C.value==="form"]]),s("dialog",{ref_key:"topupModal",ref:O,class:"modal"},[s("div",ss,[t[39]||(t[39]=s("h3",{class:"font-bold text-lg mb-1"},"充值 / 调整资源点",-1)),s("p",es,[t[34]||(t[34]=m("代理:",-1)),s("span",ls,p(u.name),1),t[35]||(t[35]=m("。填增量(可填负数下调),当前余额:",-1)),s("span",ns,p(u.cur),1)]),s("div",os,[s("div",null,[t[36]||(t[36]=s("label",{class:"text-xs text-slate-500"},"VIP天数",-1)),r(s("input",{"onUpdate:modelValue":t[13]||(t[13]=e=>u.vipday=e),type:"number",class:"input input-bordered input-sm w-full"},null,512),[[w,u.vipday,void 0,{number:!0}]])]),s("div",null,[t[37]||(t[37]=s("label",{class:"text-xs text-slate-500"},"翻译分钟",-1)),r(s("input",{"onUpdate:modelValue":t[14]||(t[14]=e=>u.trademin=e),type:"number",class:"input input-bordered input-sm w-full"},null,512),[[w,u.trademin,void 0,{number:!0}]])]),s("div",null,[t[38]||(t[38]=s("label",{class:"text-xs text-slate-500"},"会议分钟",-1)),r(s("input",{"onUpdate:modelValue":t[15]||(t[15]=e=>u.meetmin=e),type:"number",class:"input input-bordered input-sm w-full"},null,512),[[w,u.meetmin,void 0,{number:!0}]])])]),s("div",as,[s("button",{class:"btn btn-ghost btn-sm",onClick:t[16]||(t[16]=e=>z())},"取消"),s("button",{class:"btn btn-primary btn-sm text-white",onClick:t[17]||(t[17]=e=>lt())},"确认")])]),t[40]||(t[40]=s("form",{method:"dialog",class:"modal-backdrop"},[s("button",null,"close")],-1))],512)]))}}),ms=dt(is,[["__scopeId","data-v-eb25cf37"]]);export{ms as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/EIJPD_ga.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/EIJPD_ga.js deleted file mode 100644 index 51ae5439..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/EIJPD_ga.js +++ /dev/null @@ -1 +0,0 @@ -import{g as F,c as l,H as L,a as e,F as g,r as k,t as n,d as x,G as S,k as d,q as P,l as u,m as _,p as J,B as U,s as q,x as $,A as T,o,n as m,D as A,_ as Q}from"./CTAruH_8.js";import{u as Z}from"./lLLegusN.js";import"./yUUyh6cG.js";const W={class:"flex gap-4",style:{"align-items":"flex-start"}},X={style:{width:"208px","flex-shrink":"0"}},Y={class:"flex flex-col gap-1.5"},ee=["onClick"],te={width:"17",height:"17",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},se=["d"],le={class:"flex-1 min-w-0"},oe={class:"text-sm font-medium text-slate-700"},ae={class:"text-[11px] text-slate-400 truncate"},ne={key:0,class:"dot-on",title:"已启用"},ie={class:"flex-1 min-w-0"},de={key:0},re={class:"rounded-xl px-4 py-3 mb-4 flex items-center gap-3",style:{background:"linear-gradient(135deg,#ecfdf5,#f0fdfa)",border:"1px solid #a7f3d0"}},ue={style:{width:"36px",height:"36px","border-radius":"10px",background:"#10b981",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},ce={style:{width:"19px",height:"19px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},pe={class:"flex-1"},me={class:"text-sm font-semibold text-emerald-800"},xe={class:"grid grid-cols-4 gap-3 mb-4"},ve=["onClick"],be={class:"flex items-center justify-between"},ye={key:0,class:"text-[10px] text-emerald-500 font-semibold"},he={key:1,class:"text-[10px] text-slate-300 font-semibold"},fe={class:"text-sm font-semibold text-slate-700 mt-2"},ge={class:"text-[11px] text-slate-400 mb-2.5"},ke=["onClick"],_e=["checked","onClick"],we={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},Ce={class:"flex items-center justify-between mb-5"},Se={class:"flex items-center gap-3"},qe={class:"text-base font-semibold text-slate-800"},Ke={class:"text-xs text-slate-400 mt-0.5"},Me={class:"flex items-center gap-2"},Te={class:"flex items-center gap-2 mr-1"},Ae={class:"grid grid-cols-2 gap-x-5 gap-y-4"},Ve={class:"label py-1"},Ie={class:"label-text text-sm"},je={key:0,class:"text-rose-500 ml-0.5"},Pe={key:1,class:"lock-tag ml-1.5"},Ue={class:"relative"},$e=["onUpdate:modelValue","type","placeholder"],De=["onClick"],Le={key:0,class:"text-[11px] text-slate-400 mt-1"},Be={key:1},ze={class:"rounded-xl px-4 py-3 mb-4 flex items-center gap-3",style:{background:"#fffbeb",border:"1px solid #fde68a"}},Oe={style:{width:"36px",height:"36px","border-radius":"10px",background:"#f59e0b",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},Ne={style:{width:"19px",height:"19px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},Re={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},Ee={class:"flex items-center justify-between mb-5"},He={class:"flex items-center gap-2"},Ge={class:"flex items-center gap-2 mr-1"},Fe={class:"grid grid-cols-2 gap-x-5 gap-y-4"},Je={class:"form-control"},Qe={class:"form-control"},Ze={class:"form-control"},We=["value"],Xe={class:"form-control"},Ye={class:"form-control"},et={class:"form-control"},tt={class:"relative"},st=["type"],lt={class:"form-control col-span-2"},ot={class:"flex items-end gap-3"},at={class:"form-control flex-1"},nt={key:2},it={class:"rounded-xl px-4 py-3 mb-4 flex items-center gap-3",style:{background:"#f0fdfa",border:"1px solid #99f6e4"}},dt={style:{width:"36px",height:"36px","border-radius":"10px",background:"#14b8a6",display:"flex","align-items":"center","justify-content":"center","flex-shrink":"0"}},rt={style:{width:"19px",height:"19px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},ut={class:"badge badge-sm text-white",style:{background:"#14b8a6",border:"none"}},ct={class:"grid grid-cols-4 gap-3 mb-4"},pt=["onClick"],mt={class:"flex items-center justify-between"},xt={key:0,class:"text-[10px] text-emerald-500 font-semibold"},vt={key:1,class:"text-[10px] text-slate-300 font-semibold"},bt={class:"text-sm font-semibold text-slate-700 mt-2"},yt={class:"text-[11px] text-slate-400 mb-2.5"},ht=["onClick"],ft=["checked","onClick"],gt={class:"bg-white rounded-2xl border border-slate-100 shadow-sm p-6"},kt={class:"flex items-center justify-between mb-5"},_t={class:"flex items-center gap-3"},wt={class:"text-base font-semibold text-slate-800"},Ct={class:"text-xs text-slate-400 mt-0.5"},St={class:"flex items-center gap-2"},qt={class:"flex items-center gap-2 mr-1"},Kt={class:"grid grid-cols-2 gap-x-5 gap-y-4"},Mt={class:"label py-1"},Tt={class:"label-text text-sm"},At={key:0,class:"text-rose-500 ml-0.5"},Vt={key:1,class:"lock-tag ml-1.5"},It={class:"relative"},jt=["onUpdate:modelValue","type","placeholder"],Pt=["onClick"],Ut={key:0,class:"text-[11px] text-slate-400 mt-1"},$t=F({__name:"systemconfig",setup(Dt){const{success:v,info:w}=Z(),B=[{id:"storage",label:"对象存储",desc:"固件 / 头像 / 文件",color:"#6366f1",icon:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8"},{id:"mail",label:"邮件服务",desc:"生产通知 / 厂家发信",color:"#f59e0b",icon:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},{id:"translate",label:"翻译服务",desc:"后台文案多语言同步",color:"#14b8a6",icon:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"}],C=q("storage"),a=$({enable:!0,host:"smtp.exmail.qq.com",port:"465",secure:"SSL",user:"noreply@yunyan.com",pass:"",_showPass:!1,fromName:"云岩科技",cc:"ops@yunyan.com",testTo:""}),z=["SSL","STARTTLS","不加密"];function O(){if(!a.testTo){w("请先填测试收件邮箱");return}w(`正在向 ${a.testTo} 发送测试邮件…(演示)`),setTimeout(()=>v(`测试邮件已发送至 ${a.testTo}`),600)}function N(i){return i==="storage"?!0:i==="mail"?a.enable:i==="translate"?D.value?.enable??!1:!1}const K=$([{id:"volc",name:"火山引擎翻译",short:"火山",tag:"Volcengine MT",color:"#1664ff",enable:!0,fields:[{key:"region",label:"Region",value:"cn-beijing",mono:!0,required:!0},{key:"accessKey",label:"AccessKey",value:"AKLTZjJmODdk****",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"}]},{id:"aliyun",name:"阿里云翻译",short:"阿里",tag:"Aliyun MT",color:"#ff6a00",enable:!0,fields:[{key:"region",label:"Region",value:"cn-hangzhou",mono:!0,required:!0},{key:"accessKeyId",label:"AccessKey ID",value:"LTAI5txxxxxxxx",mono:!0,encrypted:!0,required:!0},{key:"accessKeySecret",label:"AccessKey Secret",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"},{key:"scene",label:"翻译场景",value:"general",mono:!0,hint:"general / social / ecommerce / tech"}]},{id:"google",name:"Google 翻译",short:"G",tag:"Cloud Translation",color:"#ea4335",enable:!1,fields:[{key:"project",label:"Project ID",value:"",mono:!0,required:!0},{key:"apiKey",label:"API Key",value:"",mono:!0,encrypted:!0,required:!0}]},{id:"deepl",name:"DeepL",short:"DL",tag:"DeepL API",color:"#0f2b46",enable:!1,fields:[{key:"authKey",label:"Auth Key",value:"",mono:!0,encrypted:!0,required:!0},{key:"plan",label:"套餐",value:"free",mono:!0,hint:"free / pro"}]}]),b=q("volc"),h=q("volc"),c=T(()=>K.find(i=>i.id===h.value)),D=T(()=>K.find(i=>i.id===b.value));function V(i){const s=K.find(t=>t.id===i);s&&(b.value=i,h.value=i,s.enable=!0,v(`已将「${s.name}」设为默认翻译服务,后台多语言同步将走该服务`))}function R(){w(`正在测试 ${c.value.name} …(演示)`),setTimeout(()=>v(`${c.value.name} 连接正常,可调用翻译`),600)}const M=$([{id:"aliyun",name:"阿里云 OSS",short:"OSS",tag:"Aliyun",color:"#ff6a00",enable:!0,fields:[{key:"region",label:"Region",value:"oss-cn-shanghai",placeholder:"oss-cn-shanghai",mono:!0,required:!0},{key:"endpoint",label:"Endpoint",value:"oss-cn-shanghai.aliyuncs.com",mono:!0,required:!0},{key:"bucket",label:"Bucket",value:"yunyan-firmware",mono:!0,required:!0},{key:"accessKeyId",label:"AccessKey ID",value:"LTAI5txxxxxxxx",mono:!0,encrypted:!0,required:!0},{key:"accessKeySecret",label:"AccessKey Secret",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"},{key:"domain",label:"自定义域名 (CDN)",value:"https://cdn.yunyan.com",wide:!0,hint:"可选,配置后文件 URL 走该域名"}]},{id:"tencent",name:"腾讯云 COS",short:"COS",tag:"Tencent",color:"#00a4ff",enable:!0,fields:[{key:"region",label:"Region",value:"ap-guangzhou",mono:!0,required:!0},{key:"appid",label:"AppId",value:"1253517901",mono:!0,required:!0},{key:"bucket",label:"Bucket",value:"yunyan-1253517901",mono:!0,required:!0},{key:"secretId",label:"SecretId",value:"AKIDxxxxxxxx",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0,hint:"留空保留原密文"},{key:"domain",label:"自定义域名 (CDN)",value:"",wide:!0,hint:"可选"}]},{id:"qiniu",name:"七牛云 Kodo",short:"KODO",tag:"Qiniu",color:"#00aaff",enable:!1,fields:[{key:"zone",label:"存储区域",value:"",mono:!0,required:!0},{key:"bucket",label:"Bucket",value:"",mono:!0,required:!0},{key:"accessKey",label:"AccessKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"domain",label:"加速域名",value:"",wide:!0}]},{id:"minio",name:"MinIO",short:"S3",tag:"S3 兼容",color:"#c72e49",enable:!1,fields:[{key:"endpoint",label:"Endpoint",value:"",mono:!0,required:!0,placeholder:"minio.内网:9000"},{key:"bucket",label:"Bucket",value:"",mono:!0,required:!0},{key:"accessKey",label:"AccessKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"secretKey",label:"SecretKey",value:"",mono:!0,encrypted:!0,required:!0},{key:"useSSL",label:"使用 HTTPS",value:"false",mono:!0}]}]),y=q("aliyun"),f=q("aliyun"),p=T(()=>M.find(i=>i.id===f.value)),E=T(()=>M.find(i=>i.id===y.value));function H(){I(f.value)}function I(i){const s=M.find(t=>t.id===i);s&&(y.value=i,f.value=i,s.enable=!0,v(`已将「${s.name}」设为默认对象存储,固件 / 头像等文件上传将指向该存储桶`))}function G(){w?w(`正在测试 ${p.value.name} 连接…(演示)`):v("连接测试通过(演示)"),setTimeout(()=>v(`${p.value.name} 连接正常,Bucket 可写`),600)}function j(){v("配置已保存(演示,未落库)")}return(i,s)=>(o(),l("div",null,[s[39]||(s[39]=L('
演示效果·本页为 UI 演示,数据为本地 mock,未连接后端。确认方向后再接 console 接口。

系统配置

平台级服务配置:① 对象存储(固件 / 头像等文件,默认阿里云 OSS);② 邮件服务(生产环节给厂家发通知邮件);③ 翻译服务(后台配置多语言同步)。

',2)),e("div",W,[e("div",X,[e("div",Y,[(o(),l(g,null,k(B,t=>e("div",{key:t.id,class:m(["cat-item",{active:C.value===t.id}]),onClick:r=>C.value=t.id},[e("div",{class:"cat-icon",style:S({background:t.color})},[(o(),l("svg",te,[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:t.icon},null,8,se)]))],4),e("div",le,[e("div",oe,n(t.label),1),e("div",ae,n(t.desc),1)]),N(t.id)?(o(),l("span",ne)):u("",!0)],10,ee)),64))])]),e("div",ie,[C.value==="storage"?(o(),l("div",de,[e("div",re,[e("div",ue,[(o(),l("svg",ce,[...s[13]||(s[13]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"},null,-1)])]))]),e("div",pe,[e("div",me,"设备固件上传当前指向:"+n(E.value.name),1),s[14]||(s[14]=e("div",{class:"text-[11px] text-emerald-600 mt-0.5"},"固件包、用户头像等文件均上传至此存储桶。切换默认存储不影响历史文件 URL。",-1))]),s[15]||(s[15]=e("span",{class:"badge badge-success badge-sm text-white"},"运行中",-1))]),s[19]||(s[19]=e("div",{class:"flex items-center justify-between mb-2"},[e("span",{class:"text-xs font-semibold text-slate-500"},[x("选择默认对象存储 "),e("span",{class:"text-slate-400 font-normal"},"(固件 / 头像等文件上传指向此服务)")])],-1)),e("div",xe,[(o(!0),l(g,null,k(M,t=>(o(),l("div",{key:t.id,class:m(["provider-card",{active:f.value===t.id,"is-default":t.id===y.value}]),onClick:r=>f.value=t.id},[e("div",be,[e("div",{class:"provider-logo",style:S({background:t.color})},n(t.short),5),t.enable?(o(),l("span",ye,"已配置")):(o(),l("span",he,"未配置"))]),e("div",fe,n(t.name),1),e("div",ge,n(t.tag),1),e("label",{class:m(["default-pick",{on:t.id===y.value}]),onClick:A(r=>I(t.id),["stop"])},[e("input",{type:"radio",class:"radio radio-xs radio-primary",checked:t.id===y.value,onClick:A(r=>I(t.id),["stop"])},null,8,_e),e("span",null,n(t.id===y.value?"默认使用":"设为默认"),1)],10,ke)],10,ve))),128))]),e("div",we,[e("div",Ce,[e("div",Se,[e("div",{class:"provider-logo",style:S({background:p.value.color,width:"44px",height:"44px",fontSize:"15px"})},n(p.value.short),5),e("div",null,[e("h3",qe,n(p.value.name),1),e("p",Ke,n(p.value.tag)+" · 对象存储",1)])]),e("div",Me,[e("label",Te,[s[16]||(s[16]=e("span",{class:"text-xs text-slate-500"},"启用",-1)),d(e("input",{"onUpdate:modelValue":s[0]||(s[0]=t=>p.value.enable=t),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[P,p.value.enable]])]),e("button",{class:"btn btn-outline btn-sm",onClick:G},"测试连接"),f.value!==y.value?(o(),l("button",{key:0,class:"btn btn-ghost btn-sm text-indigo-600",onClick:H},"设为默认存储")):u("",!0),e("button",{class:"btn btn-primary btn-sm text-white",onClick:j},"保存")])]),s[17]||(s[17]=e("div",{class:"divider text-xs text-slate-400 my-3"},"连接配置",-1)),e("div",Ae,[(o(!0),l(g,null,k(p.value.fields,t=>(o(),l("div",{key:t.key,class:m(["form-control",{"col-span-2":t.wide}])},[e("label",Ve,[e("span",Ie,[x(n(t.label),1),t.required?(o(),l("span",je,"*")):u("",!0),t.encrypted?(o(),l("span",Pe,"🔒 加密存储")):u("",!0)])]),e("div",Ue,[d(e("input",{"onUpdate:modelValue":r=>t.value=r,type:t.encrypted&&!t._show?"password":"text",class:m(["input input-bordered input-sm w-full",{"font-mono":t.mono,"pr-14":t.encrypted}]),placeholder:t.placeholder},null,10,$e),[[U,t.value]]),t.encrypted?(o(),l("button",{key:0,type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:r=>t._show=!t._show},n(t._show?"隐藏":"显示"),9,De)):u("",!0)]),t.hint?(o(),l("span",Le,n(t.hint),1)):u("",!0)],2))),128))]),s[18]||(s[18]=L('
上传规则
固件包路径前缀
/firmware/
头像路径前缀
/userAvatar/
签名 URL 有效期
3600 s
',2))])])):C.value==="mail"?(o(),l("div",Be,[e("div",ze,[e("div",Oe,[(o(),l("svg",Ne,[...s[20]||(s[20]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},null,-1)])]))]),s[21]||(s[21]=e("div",{class:"flex-1"},[e("div",{class:"text-sm font-semibold text-amber-800"},"生产环节邮件通知"),e("div",{class:"text-[11px] text-amber-600 mt-0.5"},"用于给目标厂家发送授权信息、公码批次、设备出货等通知邮件;账号告警也走此通道。")],-1))]),e("div",Re,[e("div",Ee,[s[23]||(s[23]=e("div",{class:"flex items-center gap-3"},[e("div",{class:"provider-logo",style:{background:"#f59e0b",width:"44px",height:"44px",fontSize:"13px"}},"SMTP"),e("div",null,[e("h3",{class:"text-base font-semibold text-slate-800"},"邮件服务"),e("p",{class:"text-xs text-slate-400 mt-0.5"},"SMTP 发信")])],-1)),e("div",He,[e("label",Ge,[s[22]||(s[22]=e("span",{class:"text-xs text-slate-500"},"启用",-1)),d(e("input",{"onUpdate:modelValue":s[1]||(s[1]=t=>a.enable=t),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[P,a.enable]])]),e("button",{class:"btn btn-primary btn-sm text-white",onClick:j},"保存")])]),s[32]||(s[32]=e("div",{class:"divider text-xs text-slate-400 my-3"},"发信配置",-1)),e("div",Fe,[e("div",Je,[s[24]||(s[24]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[x("SMTP 主机 "),e("span",{class:"text-rose-500"},"*")])],-1)),d(e("input",{"onUpdate:modelValue":s[2]||(s[2]=t=>a.host=t),class:"input input-bordered input-sm font-mono",placeholder:"smtp.exmail.qq.com"},null,512),[[_,a.host]])]),e("div",Qe,[s[25]||(s[25]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[x("端口 "),e("span",{class:"text-rose-500"},"*")])],-1)),d(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>a.port=t),class:"input input-bordered input-sm font-mono",placeholder:"465"},null,512),[[_,a.port]])]),e("div",Ze,[s[26]||(s[26]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"加密方式")],-1)),d(e("select",{"onUpdate:modelValue":s[4]||(s[4]=t=>a.secure=t),class:"select select-bordered select-sm"},[(o(),l(g,null,k(z,t=>e("option",{key:t,value:t},n(t),9,We)),64))],512),[[J,a.secure]])]),e("div",Xe,[s[27]||(s[27]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"发件人显示名")],-1)),d(e("input",{"onUpdate:modelValue":s[5]||(s[5]=t=>a.fromName=t),class:"input input-bordered input-sm",placeholder:"云岩科技"},null,512),[[_,a.fromName]])]),e("div",Ye,[s[28]||(s[28]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[x("发信账号 "),e("span",{class:"text-rose-500"},"*")])],-1)),d(e("input",{"onUpdate:modelValue":s[6]||(s[6]=t=>a.user=t),class:"input input-bordered input-sm font-mono",placeholder:"noreply@yunyan.com"},null,512),[[_,a.user]])]),e("div",et,[s[29]||(s[29]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},[x("授权码 / 密码 "),e("span",{class:"lock-tag ml-1.5"},"🔒 加密存储")])],-1)),e("div",tt,[d(e("input",{"onUpdate:modelValue":s[7]||(s[7]=t=>a.pass=t),type:a._showPass?"text":"password",class:"input input-bordered input-sm w-full font-mono pr-14",placeholder:"留空保留原密文"},null,8,st),[[U,a.pass]]),e("button",{type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:s[8]||(s[8]=t=>a._showPass=!a._showPass)},n(a._showPass?"隐藏":"显示"),1)])]),e("div",lt,[s[30]||(s[30]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"默认抄送 (CC)")],-1)),d(e("input",{"onUpdate:modelValue":s[9]||(s[9]=t=>a.cc=t),class:"input input-bordered input-sm font-mono",placeholder:"多个邮箱用逗号分隔,可留空"},null,512),[[_,a.cc]])])]),s[33]||(s[33]=e("div",{class:"divider text-xs text-slate-400 my-4"},"测试发信",-1)),e("div",ot,[e("div",at,[s[31]||(s[31]=e("label",{class:"label py-1"},[e("span",{class:"label-text text-sm"},"测试收件邮箱")],-1)),d(e("input",{"onUpdate:modelValue":s[10]||(s[10]=t=>a.testTo=t),class:"input input-bordered input-sm font-mono",placeholder:"填一个邮箱,发送一封测试邮件验证配置"},null,512),[[_,a.testTo]])]),e("button",{class:"btn btn-outline btn-sm",onClick:O},"发送测试")])])])):C.value==="translate"?(o(),l("div",nt,[e("div",it,[e("div",dt,[(o(),l("svg",rt,[...s[34]||(s[34]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"},null,-1)])]))]),s[35]||(s[35]=e("div",{class:"flex-1"},[e("div",{class:"text-sm font-semibold text-teal-800"},"后台配置多语言同步"),e("div",{class:"text-[11px] text-teal-600 mt-0.5"},"应用文案、通知 / 邮件模板、公告等后台配置内容,按目标语种自动翻译,保证多语言版本一致。")],-1)),e("span",ut,"默认 "+n(D.value.name),1)]),s[38]||(s[38]=e("div",{class:"flex items-center justify-between mb-2"},[e("span",{class:"text-xs font-semibold text-slate-500"},[x("选择默认翻译服务 "),e("span",{class:"text-slate-400 font-normal"},"(后台多语言同步走此服务)")])],-1)),e("div",ct,[(o(!0),l(g,null,k(K,t=>(o(),l("div",{key:t.id,class:m(["provider-card",{active:h.value===t.id,"is-default":t.id===b.value}]),onClick:r=>h.value=t.id},[e("div",mt,[e("div",{class:"provider-logo",style:S({background:t.color})},n(t.short),5),t.enable?(o(),l("span",xt,"已配置")):(o(),l("span",vt,"未配置"))]),e("div",bt,n(t.name),1),e("div",yt,n(t.tag),1),e("label",{class:m(["default-pick",{on:t.id===b.value}]),onClick:A(r=>V(t.id),["stop"])},[e("input",{type:"radio",class:"radio radio-xs radio-primary",checked:t.id===b.value,onClick:A(r=>V(t.id),["stop"])},null,8,ft),e("span",null,n(t.id===b.value?"默认使用":"设为默认"),1)],10,ht)],10,pt))),128))]),e("div",gt,[e("div",kt,[e("div",_t,[e("div",{class:"provider-logo",style:S({background:c.value.color,width:"44px",height:"44px",fontSize:"13px"})},n(c.value.short),5),e("div",null,[e("h3",wt,n(c.value.name),1),e("p",Ct,n(c.value.tag)+" · 机器翻译",1)])]),e("div",St,[e("label",qt,[s[36]||(s[36]=e("span",{class:"text-xs text-slate-500"},"启用",-1)),d(e("input",{"onUpdate:modelValue":s[11]||(s[11]=t=>c.value.enable=t),type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,512),[[P,c.value.enable]])]),e("button",{class:"btn btn-outline btn-sm",onClick:R},"测试连接"),h.value!==b.value?(o(),l("button",{key:0,class:"btn btn-ghost btn-sm text-indigo-600",onClick:s[12]||(s[12]=t=>V(h.value))},"设为默认")):u("",!0),e("button",{class:"btn btn-primary btn-sm text-white",onClick:j},"保存")])]),s[37]||(s[37]=e("div",{class:"divider text-xs text-slate-400 my-3"},"连接配置",-1)),e("div",Kt,[(o(!0),l(g,null,k(c.value.fields,t=>(o(),l("div",{key:t.key,class:m(["form-control",{"col-span-2":t.wide}])},[e("label",Mt,[e("span",Tt,[x(n(t.label),1),t.required?(o(),l("span",At,"*")):u("",!0),t.encrypted?(o(),l("span",Vt,"🔒 加密存储")):u("",!0)])]),e("div",It,[d(e("input",{"onUpdate:modelValue":r=>t.value=r,type:t.encrypted&&!t._show?"password":"text",class:m(["input input-bordered input-sm w-full",{"font-mono":t.mono,"pr-14":t.encrypted}]),placeholder:t.placeholder},null,10,jt),[[U,t.value]]),t.encrypted?(o(),l("button",{key:0,type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-xs text-slate-400 hover:text-slate-700",onClick:r=>t._show=!t._show},n(t._show?"隐藏":"显示"),9,Pt)):u("",!0)]),t.hint?(o(),l("span",Ut,n(t.hint),1)):u("",!0)],2))),128))])])])):u("",!0)])])]))}}),Ot=Q($t,[["__scopeId","data-v-96602b99"]]);export{Ot as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/FZLr1rN5.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/FZLr1rN5.js deleted file mode 100644 index 036bfa24..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/FZLr1rN5.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as j}from"./CnkSDgVO.js";import{u as B}from"./lLLegusN.js";import{g as f,o as a,c as o,F as h,r as _,n as T,a as t,t as n,M as r,J as k,w as z,l as x,T as E,_ as S,C as N,z as F,y as $,j as D,d as I,H as O,b as M,L as R,A as u}from"./CTAruH_8.js";import{u as G}from"./D9HxoMhB.js";import"./yUUyh6cG.js";const J={class:"toast toast-bottom toast-end z-50"},P=f({__name:"AppToast",setup(g){const{toasts:s}=B();function d(i){switch(i){case"success":return"alert-success";case"error":return"alert-error";case"warning":return"alert-warning";default:return"alert-info"}}return(i,b)=>(a(),o("div",J,[(a(!0),o(h,null,_(r(s),c=>(a(),o("div",{key:c.id,class:T(["alert",d(c.type)])},[t("span",null,n(c.msg),1)],2))),128))]))}}),U=Object.assign(P,{__name:"AppToast"}),W={key:0,class:"fixed inset-0 z-[100] flex items-center justify-center bg-black/30 backdrop-blur-[1px]","aria-busy":"true",role:"alert"},q=f({__name:"AppLoading",setup(g){const{loading:s}=G();return(d,i)=>(a(),k(E,{name:"fade"},{default:z(()=>[r(s)?(a(),o("div",W,[...i[0]||(i[0]=[t("div",{class:"flex flex-col items-center gap-3 rounded-2xl bg-white px-10 py-7 shadow-xl"},[t("span",{class:"loading loading-spinner loading-lg text-primary"}),t("span",{class:"text-sm text-slate-600"},"处理中,请稍候…")],-1)])])):x("",!0)]),_:1}))}}),K=Object.assign(S(q,[["__scopeId","data-v-c1ace0c2"]]),{__name:"AppLoading"}),Q={class:"flex min-h-screen"},X={class:"fixed top-0 left-0 bottom-0 z-30 overflow-y-auto flex flex-col",style:{width:"256px",background:"#1E293B"}},Y={style:{padding:"20px 20px 16px","border-bottom":"1px solid rgba(255,255,255,0.06)"}},Z={style:{display:"flex","align-items":"center",gap:"12px"}},tt={style:{width:"40px",height:"40px",background:"linear-gradient(135deg,#4F46E5,#7C3AED)","border-radius":"12px",display:"flex","align-items":"center","justify-content":"center","box-shadow":"0 6px 20px rgba(79,70,229,0.35)","flex-shrink":"0"}},et={style:{width:"22px",height:"22px",color:"#fff"},fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},st={style:{color:"#fff","font-weight":"700","font-size":"15px","letter-spacing":"-0.02em"}},at={style:{padding:"12px 0",flex:"1"}},ot={class:"icon",width:"18",height:"18",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},nt=["d"],it={style:{"margin-top":"auto",padding:"14px 18px","border-top":"1px solid rgba(255,255,255,0.06)"}},lt={style:{display:"flex","align-items":"center",gap:"10px"}},rt={style:{width:"32px",height:"32px","border-radius":"9px",background:"linear-gradient(135deg,#4F46E5,#7C3AED)",color:"#fff",display:"flex","align-items":"center","justify-content":"center","font-weight":"700","flex-shrink":"0"}},dt={style:{"min-width":"0"}},ct={style:{color:"#E2E8F0","font-size":"13px","font-weight":"600","line-height":"1.2",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"}},pt={style:{color:"#64748B","font-size":"11px","margin-top":"2px"}},ht={class:"flex-1",style:{"margin-left":"256px"}},mt={class:"bg-white shadow-sm sticky top-0 z-20 h-16 flex items-center justify-between px-6"},ut={class:"flex items-center gap-2 text-sm"},vt={class:"text-slate-700 font-medium"},_t={class:"flex items-center gap-2"},xt={class:"dropdown dropdown-end"},ft={tabindex:"0",class:"flex items-center gap-2 cursor-pointer hover:bg-slate-50 rounded-lg px-3 py-1.5"},gt={class:"avatar placeholder"},bt={class:"bg-indigo-600 text-white rounded-full w-8"},wt={class:"text-sm"},yt={class:"text-sm text-slate-700 leading-tight"},Mt={class:"text-[10px] text-slate-400"},kt={class:"p-6"},Lt=f({__name:"default",setup(g){const s=N(),d=F(),i=$();function b(){s.logout(),d.push("/")}const c=u(()=>({1:"超级管理员",2:"管理员",3:"代理",4:"运营"})[s.identity]??""),V=u(()=>({1:"超管",2:"管理员",3:"代理",4:"运营"})[s.identity]??""),w=u(()=>(s.account||"A").charAt(0).toUpperCase()),y=[{label:"数据概览",items:[{id:"dashboard",label:"仪表盘",to:"/dashboard",icon:"M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"}]},{label:"生产管理",items:[{id:"factory",label:"厂家管理",to:"/factory",icon:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"},{id:"product",label:"产品管理",to:"/product",icon:"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4"},{id:"code",label:"公码管理",to:"/code",icon:"M4 4h6v6H4V4zm10 0h6v6h-6V4zM4 14h6v6H4v-6zm10 2h2m-2 4h6m-4-4v4m4-8h2m-2 0v4"},{id:"device",label:"生产管理",to:"/device",icon:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z"}]},{label:"用户管理",items:[{id:"user",label:"用户查询",to:"/users",icon:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"}]},{label:"服务配置",items:[{id:"globalconfig",label:"全局环境配置",to:"/globalconfig",icon:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"},{id:"mcpconfig",label:"MCP配置",to:"/mcpconfig",icon:"M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-3-4h.01M16 16h.01"},{id:"meettemplate",label:"会议模板",to:"/meettemplates",icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},{id:"svcconfig",label:"第三方服务配置",to:"/serviceconfig",icon:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z M15 12a3 3 0 11-6 0 3 3 0 016 0z"},{id:"calltranslate",label:"通话翻译配置",to:"/calltranslate",icon:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"}]},{label:"SaaS 管理",items:[{id:"apps",label:"应用管理",to:"/apps",icon:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"},{id:"environments",label:"环境节点",to:"/environments",icon:"M5 3h14a2 2 0 012 2v4a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2zM5 13h14a2 2 0 012 2v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4a2 2 0 012-2zM7 7h.01M7 17h.01"}]},{label:"系统管理",items:[{id:"systemconfig",label:"系统配置",to:"/systemconfig",icon:"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4"},{id:"statlog",label:"统计日志",to:"/statlog",icon:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"},{id:"admin",label:"后台账号",to:"/accounts",icon:"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"}]}];function A(l){return l.items.some(e=>s.hasAccess(e.id))}const C=u(()=>{if(i.meta?.title)return i.meta.title;for(const l of y){const e=l.items.find(v=>i.path.startsWith(v.to));if(e)return e.label}return"Console"});return D(()=>{s.token||d.push("/")}),(l,e)=>{const v=j,H=U,L=K;return a(),o("div",Q,[t("aside",X,[t("div",Y,[t("div",Z,[t("div",tt,[(a(),o("svg",et,[...e[0]||(e[0]=[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"},null,-1)])]))]),t("div",null,[t("div",st,n(r(s).siteTitle||"Admin"),1),e[1]||(e[1]=t("div",{style:{color:"#64748B","font-size":"11px","font-weight":"500"}},"Admin Console · v1.0.1",-1))])])]),t("nav",at,[(a(),o(h,null,_(y,m=>(a(),o(h,null,[A(m)?(a(),o("div",{key:m.label,class:"group-title"},n(m.label),1)):x("",!0),(a(!0),o(h,null,_(m.items,p=>(a(),o(h,null,[r(s).hasAccess(p.id)?(a(),k(v,{key:p.id,to:p.to,class:"sidebar-link","active-class":"active"},{default:z(()=>[(a(),o("svg",ot,[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:p.icon},null,8,nt)])),I(" "+n(p.label),1)]),_:2},1032,["to"])):x("",!0)],64))),256))],64))),64))]),t("div",it,[t("div",lt,[t("div",rt,n(w.value),1),t("div",dt,[t("div",ct,n(r(s).account||"-"),1),t("div",pt,n(c.value),1)])])])]),t("main",ht,[t("header",mt,[t("div",ut,[e[2]||(e[2]=t("span",{class:"text-slate-400"},"首页",-1)),e[3]||(e[3]=t("span",{class:"text-slate-300"},"/",-1)),t("span",vt,n(C.value),1)]),t("div",_t,[e[4]||(e[4]=O('',1)),t("div",xt,[t("div",ft,[t("div",gt,[t("div",bt,[t("span",wt,n(w.value),1)])]),t("div",null,[t("div",yt,n(r(s).account),1),t("div",Mt,n(V.value),1)])]),t("ul",{tabindex:"0",class:"dropdown-content z-[1] menu p-2 shadow-lg bg-white rounded-lg w-44 border"},[t("li",null,[t("a",{class:"text-sm text-red-500 cursor-pointer",onClick:b},"退出登录")])])])])]),M(H),M(L),t("div",kt,[R(l.$slots,"default")])])])}}});export{Lt as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/GZxzc1Rc.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/GZxzc1Rc.js deleted file mode 100644 index f487e011..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/GZxzc1Rc.js +++ /dev/null @@ -1 +0,0 @@ -import{g as ue,x as A,j as ce,c as o,k as i,v as L,a as e,l as g,F as h,r as C,t as r,D as H,m as v,p as S,d as O,q as Q,s as m,A as me,o as a,n as be}from"./CTAruH_8.js";import{u as pe}from"./9B2ftqmN.js";import{u as ve}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const fe={class:"flex items-center justify-between mb-5"},ge={class:"bg-white rounded-xl shadow-sm border border-slate-100"},xe={class:"overflow-x-auto"},ye={class:"table table-zebra text-sm"},we={key:0},ke={key:1},he={class:"font-mono text-sm"},_e=["src"],Ve={key:1,class:"w-10 h-10 rounded bg-slate-100 flex items-center justify-center text-slate-300"},Ce={class:"font-medium"},Ue={class:"badge badge-outline badge-sm"},Ee={class:"text-sm"},Ie={key:0},Ne={key:1,class:"text-slate-300"},De={class:"text-xs text-slate-500"},$e={class:"flex gap-1"},Le=["onClick"],Se=["onClick"],Be=["onClick"],Fe={class:"flex items-center gap-3 mb-5"},Me={class:"text-lg font-semibold text-slate-800"},Te={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-3xl"},je={class:"form-control mb-4"},ze={class:"grid grid-cols-2 gap-4 mb-4"},Ae={class:"form-control"},Oe=["value"],Pe={class:"form-control"},qe=["value"],Je={class:"grid grid-cols-2 gap-4 mb-4"},Ke={class:"form-control"},Ye={class:"form-control"},He={class:"grid grid-cols-2 gap-4 mb-4"},Qe={class:"form-control"},Re={class:"mb-4"},Ge={class:"grid grid-cols-3 gap-4"},We={class:"form-control"},Xe={class:"form-control"},Ze={class:"form-control"},et={class:"form-control mb-4"},tt={class:"flex items-start gap-4"},st={class:"flex-1"},lt={class:"flex items-center gap-2"},nt=["disabled"],ot={key:0,class:"loading loading-spinner loading-xs"},at={key:0},it=["src"],dt={class:"grid grid-cols-3 gap-4 mb-4"},rt={class:"form-control"},ut={class:"form-control"},ct={class:"form-control"},mt={class:"grid grid-cols-3 gap-3 mb-6"},bt=["onUpdate:modelValue"],pt={class:"text-sm"},vt={class:"flex gap-3"},ft=["disabled"],gt={key:0,class:"loading loading-spinner loading-xs"},xt={class:"flex items-center gap-3 mb-5"},yt={class:"text-lg font-semibold text-slate-800"},wt={key:0,class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4 mb-5"},kt={class:"flex items-center gap-6 text-sm flex-wrap"},ht={class:"font-mono"},_t={class:"badge badge-primary badge-sm"},Vt={class:"text-xs"},Ct={class:"text-xs max-w-md truncate"},Ut={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-5 mb-5"},Et={class:"grid grid-cols-2 gap-4 mb-3"},It={class:"form-control"},Nt={class:"form-control"},Dt={class:"form-control mb-3"},$t={class:"flex items-center gap-3"},Lt={class:"flex items-center gap-2 cursor-pointer"},St=["disabled"],Bt={key:0,class:"loading loading-spinner loading-xs"},Ft={class:"bg-white rounded-xl shadow-sm border border-slate-100"},Mt={class:"overflow-x-auto"},Tt={class:"table table-zebra text-sm"},jt={key:0},zt={key:0,class:"badge badge-success badge-xs ml-1"},At={class:"text-sm"},Ot={class:"text-xs text-slate-400 max-w-xs truncate"},Pt={class:"flex gap-1"},qt={key:0,class:"text-xs text-slate-400"},Jt=["onClick"],Kt=["onClick"],Xt=ue({__name:"product",setup(Yt){const{webApi:p,uploadFile:P}=pe(),{success:x,error:f,warn:B}=ve(),R={0:"未知",1:"经典蓝牙",2:"BLE双端",3:"BLE单端",4:"录音笔",5:"智能眼镜",6:"激活码卡片"},G={0:"未知",1:"经典蓝牙耳机",2:"BLE双端",3:"BLE单端",4:"智能录音笔",5:"智能眼镜",6:"激活码卡片"},y=[{key:"iscanbindagain",label:"可重复绑定奖励"},{key:"iscontinuouschat",label:"连续对话"},{key:"eqenable",label:"EQ 均衡器"},{key:"keyenable",label:"按键控制"},{key:"workmodeenable",label:"工作模式"},{key:"callmodeenable",label:"通话模式"},{key:"ledenable",label:"LED 灯"},{key:"finddeviceenable",label:"查找设备"},{key:"noisereductionenable",label:"降噪"},{key:"shutdownenable",label:"定时关机"},{key:"showcasebattery",label:"充电盒电量"},{key:"wakeupenable",label:"唤醒控制"},{key:"broadcastpeertranslate",label:"播报对方翻译"},{key:"hideaiassistant",label:"隐藏AI助手"}],w=m("list"),U=m([]),q=m({}),F=m([]),M=m(!1),E=m(!1),_=m(!1);function W(){const l={};return y.forEach(t=>{l[t.key]=!1}),l}const n=A({id:0,devicename:"",factoryid:0,devicetype:0,scanuuid:"",devicecodecount:1,productimage:"",channel:"official",bindrewardvpitime:0,bindrewardtranslate:0,bindrewardmeeting:0,toggles:W()}),c=A({platform_id:"",platform_key:"",tui:""});function J(l){return l?Number(l).toString(16).toUpperCase():""}function X(l){return y.filter(t=>!!l[t.key]).length}async function T(){M.value=!0;try{const l=await p("getfactorys",{}),t={};(l?.factorys??[]).forEach(b=>{t[b.id]=b.factory}),q.value=t;const s=await p("getproducts",{});U.value=s?.products??[]}catch(l){f(l?.message??"获取产品列表失败"),U.value=[]}finally{M.value=!1}}async function Z(){try{const l=await p("getfactorys",{});F.value=l?.factorys??[]}catch{F.value=[]}}function I(){w.value="list",T()}function K(l){if(Z(),l){_.value=!0,n.id=l.id,n.devicename=l.devicename||"",n.factoryid=l.factoryid||0,n.devicetype=l.devicetype||0,n.scanuuid=l.scanuuid||"",n.devicecodecount=l.devicecodecount===2?2:1,n.productimage=l.productimage||"",n.channel=l.channel||"official",n.bindrewardvpitime=l.bindrewardvpitime||0,n.bindrewardtranslate=l.bindrewardtranslate||0,n.bindrewardmeeting=l.bindrewardmeeting||0;let t={};try{t=l.channelextra?JSON.parse(l.channelextra):{}}catch{t={}}c.platform_id=t.platform_id||"",c.platform_key=t.platform_key||"",c.tui=t.tui||"",y.forEach(s=>{n.toggles[s.key]=!!l[s.key]})}else _.value=!1,n.id=0,n.devicename="",n.factoryid=0,n.devicetype=0,n.scanuuid="",n.devicecodecount=1,n.productimage="",n.channel="official",n.bindrewardvpitime=0,n.bindrewardtranslate=0,n.bindrewardmeeting=0,c.platform_id="",c.platform_key="",c.tui="",y.forEach(t=>{n.toggles[t.key]=!1});w.value="form"}async function ee(){E.value=!0;try{let l="";n.channel==="mobile"&&(l=JSON.stringify({platform_id:c.platform_id||"",platform_key:c.platform_key||"",tui:c.tui||""}));const t={devicename:n.devicename,factoryid:Number(n.factoryid)||0,devicetype:Number(n.devicetype)||0,scanuuid:n.scanuuid,devicecodecount:Number(n.devicecodecount)||1,productimage:n.productimage,channel:n.channel,channelextra:l,bindrewardvpitime:Number(n.bindrewardvpitime)||0,bindrewardtranslate:Number(n.bindrewardtranslate)||0,bindrewardmeeting:Number(n.bindrewardmeeting)||0};y.forEach(s=>{t[s.key]=n.toggles[s.key]}),_.value&&(t.id=Number(n.id)),await p(_.value?"updateproduct":"addproduct",{product:t}),x("保存成功"),I()}catch(l){f(l?.message??"保存失败")}finally{E.value=!1}}function te(l){window.confirm(`确定删除产品 "${l.devicename}" 吗?`)&&p("delproduct",{id:l.id}).then(()=>{x("已删除"),T()}).catch(t=>f(t?.message??"删除失败"))}const j=m(null),N=m(!1);function se(l){j.value=l.target.files?.[0]??null}async function le(){if(!j.value){B("请先选择图片");return}N.value=!0;try{const l=n.id?`products/${n.id}/images/`:"products/images/",t=await P(j.value,l);n.productimage=t,x("上传成功")}catch(l){f(l?.message??"上传失败")}finally{N.value=!1}}const d=m(null),V=m([]),D=m(!1),u=A({version:"",desc:"",isuse:!1}),k=m(null),ne=me(()=>!!u.version.trim()&&!!k.value);function z(l){return!!d.value?.versionid&&l.id===d.value.versionid}async function oe(l){w.value="version",d.value=null,V.value=[],u.version="",u.desc="",u.isuse=!1,k.value=null;try{const t=await p("getproduct",{id:l.id});d.value=t?.product??l}catch{d.value=l}await $(l.id)}async function $(l){try{const t=await p("getproductversions",{pid:l});V.value=t?.versions??[]}catch{V.value=[]}}function ae(l){k.value=l.target.files?.[0]??null}async function Y(l){if(!d.value)return f("产品信息未加载"),!1;const t={...d.value,versionid:l.id};try{await p("updateproduct",{product:t});const s=await p("getproduct",{id:t.id});return d.value=s?.product??t,!0}catch(s){return f(s?.message??"切换失败"),!1}}function ie(l){window.confirm(`确定将版本 "${l.version}" 设为当前使用版本?`)&&Y(l).then(t=>{t&&(x("切换成功"),d.value&&$(d.value.id))})}async function de(){const l=d.value?.id;if(!l){f("产品ID不存在");return}if(!u.version.trim()){B("请输入版本号");return}if(!k.value){B("请选择固件文件");return}D.value=!0;try{const t=await P(k.value,`products/${l}/`),s=await p("addproductversion",{version:{productid:l,version:u.version.trim(),description:u.desc,updatepackageaddress:t},isuse:!1});x("添加成功"),u.isuse&&s?.version&&await Y(s.version),u.version="",u.desc="",u.isuse=!1,k.value=null,await $(l)}catch(t){f(t?.message??"添加失败")}finally{D.value=!1}}function re(l){if(d.value?.versionid===l.id){f("不能删除当前使用中的版本");return}window.confirm("删除此版本?")&&p("delproductversion",{id:l.id}).then(()=>{x("已删除"),d.value&&$(d.value.id)}).catch(t=>f(t?.message??"删除失败"))}return ce(T),(l,t)=>(a(),o("div",null,[i(e("div",null,[e("div",fe,[t[20]||(t[20]=e("h2",{class:"text-lg font-semibold text-slate-800"},"产品列表",-1)),e("button",{class:"btn btn-primary btn-sm text-white",onClick:t[0]||(t[0]=s=>K())},"+ 新增产品")]),e("div",ge,[e("div",xe,[e("table",ye,[t[24]||(t[24]=e("thead",null,[e("tr",null,[e("th",null,"ID"),e("th",null,"图片"),e("th",null,"名称"),e("th",null,"工厂"),e("th",null,"类型"),e("th",null,"版本"),e("th",null,"功能"),e("th",null,"操作")])],-1)),e("tbody",null,[M.value?(a(),o("tr",we,[...t[21]||(t[21]=[e("td",{colspan:"8",class:"text-center py-8"},[e("span",{class:"loading loading-spinner loading-sm"})],-1)])])):U.value.length?g("",!0):(a(),o("tr",ke,[...t[22]||(t[22]=[e("td",{colspan:"8",class:"text-center text-slate-400 py-8"},"暂无数据",-1)])])),(a(!0),o(h,null,C(U.value,s=>(a(),o("tr",{key:s.id},[e("td",he,r(J(s.id)),1),e("td",null,[s.productimage?(a(),o("img",{key:0,src:s.productimage,class:"w-10 h-10 rounded object-cover"},null,8,_e)):(a(),o("div",Ve,[...t[23]||(t[23]=[e("svg",{class:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})],-1)])]))]),e("td",Ce,r(s.devicename),1),e("td",null,r(q.value[s.factoryid]||""),1),e("td",null,[e("span",Ue,r(R[s.devicetype]||s.devicetype),1)]),e("td",Ee,[s.version?(a(),o("span",Ie,r(s.version),1)):(a(),o("span",Ne,"-"))]),e("td",null,[e("span",De,r(X(s))+"/14",1)]),e("td",null,[e("div",$e,[e("button",{class:"btn btn-ghost btn-xs",onClick:b=>K(s)},"编辑",8,Le),e("button",{class:"btn btn-ghost btn-xs text-indigo-600",onClick:b=>oe(s)},"版本",8,Se),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:b=>te(s)},"删除",8,Be)])])]))),128))])])])])],512),[[L,w.value==="list"]]),i(e("div",null,[e("div",Fe,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[1]||(t[1]=s=>I())},"← 返回列表"),e("h2",Me,r(_.value?"编辑产品":"新增产品"),1)]),e("div",Te,[e("form",{onSubmit:H(ee,["prevent"])},[t[43]||(t[43]=e("h3",{class:"text-sm font-semibold text-slate-500 mb-3"},"基本信息",-1)),e("div",je,[t[25]||(t[25]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"产品名称 *")],-1)),i(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>n.devicename=s),type:"text",class:"input input-bordered w-full",required:""},null,512),[[v,n.devicename]])]),e("div",ze,[e("div",Ae,[t[27]||(t[27]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"所属工厂")],-1)),i(e("select",{"onUpdate:modelValue":t[3]||(t[3]=s=>n.factoryid=s),class:"select select-bordered w-full"},[t[26]||(t[26]=e("option",{value:0},"请选择",-1)),(a(!0),o(h,null,C(F.value,s=>(a(),o("option",{key:s.id,value:s.id},r(s.factory),9,Oe))),128))],512),[[S,n.factoryid,void 0,{number:!0}]])]),e("div",Pe,[t[28]||(t[28]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"设备类型")],-1)),i(e("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>n.devicetype=s),class:"select select-bordered w-full"},[(a(),o(h,null,C(G,(s,b)=>e("option",{key:b,value:Number(b)},r(s),9,qe)),64))],512),[[S,n.devicetype,void 0,{number:!0}]])])]),e("div",Je,[e("div",Ke,[t[29]||(t[29]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"扫描UUID")],-1)),i(e("input",{"onUpdate:modelValue":t[5]||(t[5]=s=>n.scanuuid=s),type:"text",class:"input input-bordered w-full"},null,512),[[v,n.scanuuid]])]),e("div",Ye,[t[31]||(t[31]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"设备码数量(每副)")],-1)),i(e("select",{"onUpdate:modelValue":t[6]||(t[6]=s=>n.devicecodecount=s),class:"select select-bordered w-full"},[...t[30]||(t[30]=[e("option",{value:1},"单份 (1个/副)",-1),e("option",{value:2},"双份 (2个/副)",-1)])],512),[[S,n.devicecodecount,void 0,{number:!0}]])])]),e("div",He,[e("div",Qe,[t[33]||(t[33]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"渠道方")],-1)),i(e("select",{"onUpdate:modelValue":t[7]||(t[7]=s=>n.channel=s),class:"select select-bordered w-full"},[...t[32]||(t[32]=[e("option",{value:"official"},"官方",-1),e("option",{value:"mobile"},"移动",-1)])],512),[[S,n.channel]])])]),i(e("div",Re,[e("div",Ge,[e("div",We,[t[34]||(t[34]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"移动平台ID")],-1)),i(e("input",{"onUpdate:modelValue":t[8]||(t[8]=s=>c.platform_id=s),type:"text",class:"input input-bordered w-full",placeholder:"移动平台分配的 ID"},null,512),[[v,c.platform_id]])]),e("div",Xe,[t[35]||(t[35]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"移动平台KEY")],-1)),i(e("input",{"onUpdate:modelValue":t[9]||(t[9]=s=>c.platform_key=s),type:"text",class:"input input-bordered w-full",placeholder:"移动平台分配的 KEY"},null,512),[[v,c.platform_key]])]),e("div",Ze,[t[36]||(t[36]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"TUI(8位)")],-1)),i(e("input",{"onUpdate:modelValue":t[10]||(t[10]=s=>c.tui=s),type:"text",maxlength:"8",class:"input input-bordered w-full",placeholder:"CMEI 前缀,如 11113396"},null,512),[[v,c.tui]])])])],512),[[L,n.channel==="mobile"]]),e("div",et,[t[38]||(t[38]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"产品图片")],-1)),e("div",tt,[e("div",st,[i(e("input",{"onUpdate:modelValue":t[11]||(t[11]=s=>n.productimage=s),type:"text",class:"input input-bordered w-full input-sm mb-2",placeholder:"图片URL(可手动输入或上传)"},null,512),[[v,n.productimage]]),e("div",lt,[e("input",{type:"file",accept:"image/*",class:"file-input file-input-bordered file-input-sm flex-1",onChange:se},null,32),e("button",{type:"button",class:"btn btn-outline btn-sm btn-primary",disabled:N.value,onClick:le},[N.value?(a(),o("span",ot)):g("",!0),t[37]||(t[37]=O("上传 ",-1))],8,nt)])]),n.productimage?(a(),o("div",at,[e("img",{src:n.productimage,class:"w-20 h-20 object-cover rounded-lg border"},null,8,it)])):g("",!0)])]),t[44]||(t[44]=e("div",{class:"divider text-sm text-slate-400"},"绑定奖励设置",-1)),e("div",dt,[e("div",rt,[t[39]||(t[39]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"VIP时长(天)")],-1)),i(e("input",{"onUpdate:modelValue":t[12]||(t[12]=s=>n.bindrewardvpitime=s),type:"number",min:"0",class:"input input-bordered w-full"},null,512),[[v,n.bindrewardvpitime,void 0,{number:!0}]])]),e("div",ut,[t[40]||(t[40]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"翻译时长(分钟)")],-1)),i(e("input",{"onUpdate:modelValue":t[13]||(t[13]=s=>n.bindrewardtranslate=s),type:"number",min:"0",class:"input input-bordered w-full"},null,512),[[v,n.bindrewardtranslate,void 0,{number:!0}]])]),e("div",ct,[t[41]||(t[41]=e("label",{class:"label"},[e("span",{class:"label-text font-medium"},"会议时长(分钟)")],-1)),i(e("input",{"onUpdate:modelValue":t[14]||(t[14]=s=>n.bindrewardmeeting=s),type:"number",min:"0",class:"input input-bordered w-full"},null,512),[[v,n.bindrewardmeeting,void 0,{number:!0}]])])]),t[45]||(t[45]=e("div",{class:"divider text-sm text-slate-400"},"功能开关",-1)),e("div",mt,[(a(),o(h,null,C(y,s=>e("label",{key:s.key,class:"flex items-center gap-2 cursor-pointer"},[i(e("input",{"onUpdate:modelValue":b=>n.toggles[s.key]=b,type:"checkbox",class:"toggle toggle-primary toggle-sm"},null,8,bt),[[Q,n.toggles[s.key]]]),e("span",pt,r(s.label),1)])),64))]),e("div",vt,[e("button",{type:"button",class:"btn btn-ghost",onClick:t[15]||(t[15]=s=>I())},"取消"),e("button",{type:"submit",class:"btn btn-primary text-white",disabled:E.value},[E.value?(a(),o("span",gt)):g("",!0),t[42]||(t[42]=O("保存 ",-1))],8,ft)])],32)])],512),[[L,w.value==="form"]]),i(e("div",null,[e("div",xt,[e("button",{class:"btn btn-ghost btn-sm",onClick:t[16]||(t[16]=s=>I())},"← 返回产品列表"),e("h2",yt,"版本管理 - "+r(d.value?.devicename||""),1)]),d.value?(a(),o("div",wt,[e("div",kt,[t[46]||(t[46]=e("span",{class:"text-slate-400"},"产品ID:",-1)),e("span",ht,r(J(d.value.id)),1),t[47]||(t[47]=e("span",{class:"text-slate-400"},"当前版本:",-1)),e("span",_t,r(d.value.version||"无"),1),t[48]||(t[48]=e("span",{class:"text-slate-400"},"版本ID:",-1)),e("span",Vt,r(d.value.versionid||"无"),1),t[49]||(t[49]=e("span",{class:"text-slate-400"},"更新包:",-1)),e("span",Ct,r(d.value.updatepackageaddress||"无"),1)])])):g("",!0),e("div",Ut,[t[55]||(t[55]=e("h3",{class:"text-sm font-semibold text-slate-700 mb-3"},"添加新版本",-1)),e("form",{onSubmit:H(de,["prevent"])},[e("div",Et,[e("div",It,[t[50]||(t[50]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"版本号 *")],-1)),i(e("input",{"onUpdate:modelValue":t[17]||(t[17]=s=>u.version=s),type:"text",class:"input input-bordered input-sm w-full",placeholder:"如 1.2.0"},null,512),[[v,u.version]])]),e("div",Nt,[t[51]||(t[51]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"描述")],-1)),i(e("input",{"onUpdate:modelValue":t[18]||(t[18]=s=>u.desc=s),type:"text",class:"input input-bordered input-sm w-full",placeholder:"版本描述"},null,512),[[v,u.desc]])])]),e("div",Dt,[t[52]||(t[52]=e("label",{class:"label"},[e("span",{class:"label-text text-xs"},"OTA 更新包 *")],-1)),e("input",{type:"file",class:"file-input file-input-bordered file-input-sm w-full",accept:".bin,.hex,.zip,.gz,.tar,.ota,.ufw,.fot",onChange:ae},null,32)]),e("div",$t,[e("label",Lt,[i(e("input",{"onUpdate:modelValue":t[19]||(t[19]=s=>u.isuse=s),type:"checkbox",class:"checkbox checkbox-primary checkbox-sm"},null,512),[[Q,u.isuse]]),t[53]||(t[53]=e("span",{class:"text-sm"},"设为当前使用版本",-1))]),e("button",{type:"submit",class:"btn btn-primary btn-sm text-white ml-auto",disabled:!ne.value||D.value},[D.value?(a(),o("span",Bt)):g("",!0),t[54]||(t[54]=O("添加版本 ",-1))],8,St)])],32)]),e("div",Ft,[e("div",Mt,[e("table",Tt,[t[57]||(t[57]=e("thead",null,[e("tr",null,[e("th",null,"ID"),e("th",null,"版本号"),e("th",null,"描述"),e("th",null,"更新包地址"),e("th",null,"操作")])],-1)),e("tbody",null,[V.value.length?g("",!0):(a(),o("tr",jt,[...t[56]||(t[56]=[e("td",{colspan:"5",class:"text-center text-slate-400 py-8"},"暂无版本",-1)])])),(a(!0),o(h,null,C(V.value,s=>(a(),o("tr",{key:s.id},[e("td",null,r(s.id),1),e("td",null,[e("span",{class:be(["badge badge-sm",z(s)?"badge-primary":"badge-outline"])},r(s.version),3),z(s)?(a(),o("span",zt,"当前")):g("",!0)]),e("td",At,r(s.description||""),1),e("td",Ot,r(s.updatepackageaddress||""),1),e("td",null,[e("div",Pt,[z(s)?(a(),o("span",qt,"使用中")):(a(),o(h,{key:1},[e("button",{class:"btn btn-ghost btn-xs text-indigo-600",onClick:b=>ie(s)},"设为当前",8,Jt),e("button",{class:"btn btn-ghost btn-xs text-red-500",onClick:b=>re(s)},"删除",8,Kt)],64))])])]))),128))])])])])],512),[[L,w.value==="version"]])]))}});export{Xt as default}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CnkSDgVO.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/R6fio73R.js similarity index 98% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CnkSDgVO.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/R6fio73R.js index 97e3c29f..640966cc 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CnkSDgVO.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/R6fio73R.js @@ -1 +1 @@ -import{g as j,z as L,e as q,j as E,N,O as U,K as H,P as I,Q as P,R as _,S as F,U as V,V as z,s as D,W as O,X as W,M as f,Y as M,A as x,Z as $,$ as B,a0 as Q,a1 as G,a2 as K,a3 as X,a4 as Y}from"./CTAruH_8.js";const Z=(...t)=>t.find(r=>r!==void 0);function T(t){let r=t.replace(/[\u0000-\u001F\s]+/g,"");for(;r.toLowerCase().startsWith("view-source:");)r=r.slice(12);const c=r.indexOf(":");return c>0&&Q(r.slice(0,c+1))?null:t}function J(t){const r=t.componentName||"NuxtLink";function c(e){return typeof e=="string"&&e.startsWith("#")}function w(e,s,d){const a=d??t.trailingSlash;if(!e||a!=="append"&&a!=="remove")return e;if(typeof e=="string")return C(e,a);const i="path"in e&&e.path!==void 0?e.path:s(e).path;return{...e,name:void 0,path:C(i,a)}}function k(e){const s=L(),d=G(),a=x(()=>!!f(e.target)&&f(e.target)!=="_self"),i=x(()=>{const o=f(e.to)||f(e.href)||"";return typeof o=="string"&&B(o,{acceptRelative:!0})}),R=_("RouterLink"),y=typeof R!="string"?R.useLink:void 0,v=x(()=>{if(f(e.external))return!0;const o=f(e.to)||f(e.href)||"";return typeof o=="object"?!1:o===""||i.value}),l=x(()=>{const o=f(e.to)||f(e.href)||"";return v.value?o:w(o,s.resolve,f(e.trailingSlash))}),b=v.value?void 0:y?.({...e,to:l,viewTransition:f(e.viewTransition)}),m=x(()=>{const o=f(e.trailingSlash)??t.trailingSlash;if(!l.value||i.value||c(l.value)){const h=l.value;return typeof h=="string"?T(h):h}if(v.value){const h=typeof l.value=="object"&&"path"in l.value?O(l.value):l.value,p=typeof h=="object"?s.resolve(h).href:h,u=typeof p=="string"?T(p):p;return u===null?null:C(u,o)}return typeof l.value=="object"?s.resolve(l.value)?.href??null:C($(d.app.baseURL,l.value),o)});return{to:l,hasTarget:a,isAbsoluteUrl:i,isExternal:v,href:m,isActive:b?.isActive??x(()=>l.value===s.currentRoute.value.path),isExactActive:b?.isExactActive??x(()=>l.value===s.currentRoute.value.path),route:b?.route??x(()=>s.resolve(l.value)),async navigate(o){m.value!==null&&await M(m.value,{replace:f(e.replace),external:v.value||a.value})}}}return j({name:r,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:k,setup(e,{slots:s}){const d=L(),{to:a,href:i,navigate:R,isExternal:y,hasTarget:v,isAbsoluteUrl:l}=k(e),b=z(!1),m=D(null),o=u=>{m.value=e.custom?u?.$el?.nextElementSibling:u?.$el};function h(u){return!b.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===u:e.prefetchOn?.[u]??t.prefetchOn?.[u])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!ae()}async function p(u=q()){if(b.value||i.value===null)return;b.value=!0;const g=typeof a.value=="string"?a.value:y.value?O(a.value):d.resolve(a.value).fullPath,n=y.value?new URL(g,window.location.href).href:g;await Promise.all([u.hooks.callHook("link:prefetch",n)?.catch(()=>{}),!y.value&&!v.value&&W(a.value,d).catch(()=>{})])}if(h("visibility")){const u=q();let g,n=null;E(()=>{const S=ee();N(()=>{g=U(()=>{m?.value?.tagName&&(n=S.observe(m.value,async()=>{n?.(),n=null,await p(u)}))})})}),H(()=>{g&&I(g),n?.(),n=null})}return()=>{if(!y.value&&!v.value&&!c(a.value)){const n={ref:o,to:a.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(h("interaction")&&(n.onPointerenter=p.bind(null,void 0),n.onFocus=p.bind(null,void 0)),b.value&&(n.class=e.prefetchedClass||t.prefetchedClass),n.rel=e.rel||void 0),P(_("RouterLink"),n,s.default)}const u=e.target||null,g=Z(e.noRel?"":e.rel,t.externalRelAttribute,l.value||v.value?"noopener noreferrer":"")||null;return e.custom?s.default?s.default({href:i.value,navigate:R,prefetch:p,get route(){if(!i.value)return;const n=new URL(i.value,window.location.href);return{path:n.pathname,fullPath:n.pathname,get query(){return F(n.search)},hash:n.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:i.value}},rel:g,target:u,isExternal:y.value||v.value,isActive:!1,isExactActive:!1}):null:P("a",{ref:m,href:i.value||null,rel:g,target:u,onClick:async n=>{if(!(y.value||v.value)){n.preventDefault();try{const S=V(i.value??"");return await(e.replace?d.replace(S):d.push(S))}finally{if(c(a.value)){const S=a.value.slice(1);let A=S;try{A=decodeURIComponent(S)}catch{}document.getElementById(A)?.focus()}}}}},s.default?.())}}})}const le=J(Y);function C(t,r){const c=r==="append"?K:X;return B(t)&&!t.startsWith("http")?t:c(t,!0)}function ee(){const t=q();if(t._observer)return t._observer;let r=null;const c=new Map,w=(e,s)=>(r||=new IntersectionObserver(d=>{for(const a of d){const i=c.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&i&&i()}}),c.set(e,s),r.observe(e),()=>{c.delete(e),r?.unobserve(e),c.size===0&&(r?.disconnect(),r=null)});return t._observer={observe:w}}const te=/2g/;function ae(){const t=navigator.connection;return!!(t&&(t.saveData||te.test(t.effectiveType)))}export{le as _}; +import{g as j,z as L,e as q,j as E,N,O as U,K as H,P as I,Q as P,R as _,S as F,U as V,V as z,s as D,W as O,X as W,M as f,Y as M,A as x,Z as $,$ as B,a0 as Q,a1 as G,a2 as K,a3 as X,a4 as Y}from"./CfpW9SkI.js";const Z=(...t)=>t.find(r=>r!==void 0);function T(t){let r=t.replace(/[\u0000-\u001F\s]+/g,"");for(;r.toLowerCase().startsWith("view-source:");)r=r.slice(12);const c=r.indexOf(":");return c>0&&Q(r.slice(0,c+1))?null:t}function J(t){const r=t.componentName||"NuxtLink";function c(e){return typeof e=="string"&&e.startsWith("#")}function w(e,s,d){const a=d??t.trailingSlash;if(!e||a!=="append"&&a!=="remove")return e;if(typeof e=="string")return C(e,a);const i="path"in e&&e.path!==void 0?e.path:s(e).path;return{...e,name:void 0,path:C(i,a)}}function k(e){const s=L(),d=G(),a=x(()=>!!f(e.target)&&f(e.target)!=="_self"),i=x(()=>{const o=f(e.to)||f(e.href)||"";return typeof o=="string"&&B(o,{acceptRelative:!0})}),R=_("RouterLink"),y=typeof R!="string"?R.useLink:void 0,v=x(()=>{if(f(e.external))return!0;const o=f(e.to)||f(e.href)||"";return typeof o=="object"?!1:o===""||i.value}),l=x(()=>{const o=f(e.to)||f(e.href)||"";return v.value?o:w(o,s.resolve,f(e.trailingSlash))}),b=v.value?void 0:y?.({...e,to:l,viewTransition:f(e.viewTransition)}),m=x(()=>{const o=f(e.trailingSlash)??t.trailingSlash;if(!l.value||i.value||c(l.value)){const h=l.value;return typeof h=="string"?T(h):h}if(v.value){const h=typeof l.value=="object"&&"path"in l.value?O(l.value):l.value,p=typeof h=="object"?s.resolve(h).href:h,u=typeof p=="string"?T(p):p;return u===null?null:C(u,o)}return typeof l.value=="object"?s.resolve(l.value)?.href??null:C($(d.app.baseURL,l.value),o)});return{to:l,hasTarget:a,isAbsoluteUrl:i,isExternal:v,href:m,isActive:b?.isActive??x(()=>l.value===s.currentRoute.value.path),isExactActive:b?.isExactActive??x(()=>l.value===s.currentRoute.value.path),route:b?.route??x(()=>s.resolve(l.value)),async navigate(o){m.value!==null&&await M(m.value,{replace:f(e.replace),external:v.value||a.value})}}}return j({name:r,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:k,setup(e,{slots:s}){const d=L(),{to:a,href:i,navigate:R,isExternal:y,hasTarget:v,isAbsoluteUrl:l}=k(e),b=z(!1),m=D(null),o=u=>{m.value=e.custom?u?.$el?.nextElementSibling:u?.$el};function h(u){return!b.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===u:e.prefetchOn?.[u]??t.prefetchOn?.[u])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!ae()}async function p(u=q()){if(b.value||i.value===null)return;b.value=!0;const g=typeof a.value=="string"?a.value:y.value?O(a.value):d.resolve(a.value).fullPath,n=y.value?new URL(g,window.location.href).href:g;await Promise.all([u.hooks.callHook("link:prefetch",n)?.catch(()=>{}),!y.value&&!v.value&&W(a.value,d).catch(()=>{})])}if(h("visibility")){const u=q();let g,n=null;E(()=>{const S=ee();N(()=>{g=U(()=>{m?.value?.tagName&&(n=S.observe(m.value,async()=>{n?.(),n=null,await p(u)}))})})}),H(()=>{g&&I(g),n?.(),n=null})}return()=>{if(!y.value&&!v.value&&!c(a.value)){const n={ref:o,to:a.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(h("interaction")&&(n.onPointerenter=p.bind(null,void 0),n.onFocus=p.bind(null,void 0)),b.value&&(n.class=e.prefetchedClass||t.prefetchedClass),n.rel=e.rel||void 0),P(_("RouterLink"),n,s.default)}const u=e.target||null,g=Z(e.noRel?"":e.rel,t.externalRelAttribute,l.value||v.value?"noopener noreferrer":"")||null;return e.custom?s.default?s.default({href:i.value,navigate:R,prefetch:p,get route(){if(!i.value)return;const n=new URL(i.value,window.location.href);return{path:n.pathname,fullPath:n.pathname,get query(){return F(n.search)},hash:n.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:i.value}},rel:g,target:u,isExternal:y.value||v.value,isActive:!1,isExactActive:!1}):null:P("a",{ref:m,href:i.value||null,rel:g,target:u,onClick:async n=>{if(!(y.value||v.value)){n.preventDefault();try{const S=V(i.value??"");return await(e.replace?d.replace(S):d.push(S))}finally{if(c(a.value)){const S=a.value.slice(1);let A=S;try{A=decodeURIComponent(S)}catch{}document.getElementById(A)?.focus()}}}}},s.default?.())}}})}const le=J(Y);function C(t,r){const c=r==="append"?K:X;return B(t)&&!t.startsWith("http")?t:c(t,!0)}function ee(){const t=q();if(t._observer)return t._observer;let r=null;const c=new Map,w=(e,s)=>(r||=new IntersectionObserver(d=>{for(const a of d){const i=c.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&i&&i()}}),c.set(e,s),r.observe(e),()=>{c.delete(e),r?.unobserve(e),c.size===0&&(r?.disconnect(),r=null)});return t._observer={observe:w}}const te=/2g/;function ae(){const t=navigator.connection;return!!(t&&(t.saveData||te.test(t.effectiveType)))}export{le as _}; diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/UoJ1COMF.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/UoJ1COMF.js deleted file mode 100644 index 97911f6e..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/UoJ1COMF.js +++ /dev/null @@ -1 +0,0 @@ -import{g as W,j as X,c as i,a as t,k as a,p as U,F as Q,r as N,v as T,t as l,l as Z,D as tt,m as b,q as et,s as d,x as E,o as u}from"./CTAruH_8.js";import{u as st}from"./9B2ftqmN.js";import{u as ot}from"./lLLegusN.js";import"./D9HxoMhB.js";import"./yUUyh6cG.js";const nt={class:"space-y-6"},lt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-4"},at={class:"flex items-end gap-3 flex-wrap"},rt={class:"form-control"},it=["value"],dt={class:"form-control"},ut=["disabled"],ct={class:"bg-white rounded-xl shadow-sm border border-slate-100"},mt={class:"overflow-x-auto"},bt={class:"table table-zebra"},pt={key:0},vt={key:1},ft={colspan:"9",class:"text-center text-slate-400 py-8"},xt={class:"font-mono text-base font-bold text-indigo-700"},gt={class:"text-sm"},wt={class:"text-sm"},yt={class:"text-sm text-slate-500"},ht={class:"text-sm"},kt={class:"text-sm"},_t={class:"text-sm"},Ct={key:0,class:"badge badge-success badge-sm text-white"},Vt={key:1,class:"badge badge-ghost badge-sm"},Mt={class:"flex gap-1"},Dt=["onClick"],Ft=["onClick"],Ut=["onClick"],Qt=["onClick"],Nt={class:"flex items-center gap-3 mb-5"},Tt={class:"text-lg font-semibold text-slate-800"},qt={class:"bg-white rounded-xl shadow-sm border border-slate-100 p-6 max-w-2xl"},Lt={class:"form-control mb-4"},St=["value"],Et={class:"form-control mb-4"},$t={class:"grid grid-cols-3 gap-3 mb-4"},jt={class:"form-control"},Rt={class:"form-control"},It={class:"form-control"},Bt={class:"grid grid-cols-2 gap-3 mb-4"},Pt={class:"form-control"},zt={class:"form-control"},At={class:"form-control mb-6"},Ht={class:"label cursor-pointer justify-start gap-3"},Yt={class:"modal-box max-w-md"},Gt={class:"flex flex-col items-center gap-4"},Jt={class:"text-center"},Kt={class:"font-mono text-2xl font-bold text-indigo-700 tracking-widest"},Ot="https://cdn.jsdelivr.net/gh/davidshimjs/qrcodejs/qrcode.min.js",oe=W({__name:"code",setup(Wt){const{webApi:c}=st(),{success:g,error:p,warn:w}=ot(),y=d("list"),C=d(!1),v=d(!1),m=d(0),V=d(-1),h=d([]),M=d([]),k=d([]),D=E({}),n=E({code:"",productid:0,remark:"",bindrewardvpitime:0,bindrewardtranslate:0,bindrewardmeeting:0,maxuses:0,expire:"",disabled:!1});function $(o){return o?new Date(o*1e3).toLocaleString():"永久"}function j(o){if(!o)return"";const e=new Date(o*1e3),s=r=>r<10?"0"+r:""+r;return e.getFullYear()+"-"+s(e.getMonth()+1)+"-"+s(e.getDate())+"T"+s(e.getHours())+":"+s(e.getMinutes())}function R(o){return o?Math.floor(new Date(o).getTime()/1e3):0}function I(o){return D[o.factoryid]||(o.factoryid?"厂家#"+o.factoryid:"-")}function B(o){const e=k.value.find(s=>s.id===o.productid);return e?e.devicename||"#"+o.productid:o.productid?"#"+o.productid:"-"}function _(){y.value="list",f()}function P(){_()}async function f(){C.value=!0;try{const o=await c("getfactorypubliccodes",{factoryid:m.value,status:V.value});h.value=o?.codes??[]}catch(o){p(o?.message??"获取公码列表失败"),h.value=[]}finally{C.value=!1}}function q(o){if(!m.value){w("请先选择厂家");return}o?(v.value=!0,n.code=o.code,n.productid=o.productid||0,n.remark=o.remark||"",n.bindrewardvpitime=o.bindrewardvpitime||0,n.bindrewardtranslate=o.bindrewardtranslate||0,n.bindrewardmeeting=o.bindrewardmeeting||0,n.maxuses=o.maxuses||0,n.expire=j(o.expiretime),n.disabled=o.status===1):(v.value=!1,n.code="",n.productid=0,n.remark="",n.bindrewardvpitime=0,n.bindrewardtranslate=0,n.bindrewardmeeting=0,n.maxuses=0,n.expire="",n.disabled=!1),y.value="form"}async function z(){const o={productid:Number(n.productid)||0,remark:n.remark,maxuses:Number(n.maxuses)||0,expiretime:R(n.expire),bindrewardvpitime:Number(n.bindrewardvpitime)||0,bindrewardtranslate:Number(n.bindrewardtranslate)||0,bindrewardmeeting:Number(n.bindrewardmeeting)||0};try{if(v.value)o.code=n.code,o.status=n.disabled?1:0,await c("updatefactorypubliccode",o),g("保存成功");else{o.factoryid=m.value;const e=await c("createfactorypubliccode",o);g("新公码已生成:"+(e?.code?.code||""))}_()}catch(e){p(e?.message??"保存失败")}}async function A(o){const e=o.status===0?1:0;try{await c("updatefactorypubliccode",{code:o.code,productid:o.productid||0,remark:o.remark||"",status:e,maxuses:o.maxuses||0,expiretime:o.expiretime||0,bindrewardvpitime:o.bindrewardvpitime||0,bindrewardtranslate:o.bindrewardtranslate||0,bindrewardmeeting:o.bindrewardmeeting||0}),g(e===1?"已停用":"已启用"),f()}catch(s){p(s?.message??"操作失败")}}function H(o){window.confirm(`确定删除公码 "${o}" 吗?删除后该码无法再被领取(已领取记录保留)`)&&c("delfactorypubliccode",{code:o}).then(()=>{g("删除成功"),f()}).catch(e=>p(e?.message??"删除失败"))}const L=d(null),F=d(null),x=d("");function Y(){return new Promise((o,e)=>{const s=window;if(s.QRCode){o(s.QRCode);return}const r=document.createElement("script");r.src=Ot,r.onload=()=>o(s.QRCode),r.onerror=()=>e(new Error("二维码库加载失败")),document.head.appendChild(r)})}async function G(o){x.value=o,L.value?.showModal();let e;try{e=await Y()}catch{p("二维码库加载失败");return}const s=F.value;!s||!e||(s.innerHTML="",new e(s,{text:o,width:240,height:240,colorDark:"#1E293B",colorLight:"#FFFFFF",correctLevel:e.CorrectLevel.H}))}function S(){const o=F.value;if(!o)return"";const e=o.querySelector("canvas");if(e)return e.toDataURL("image/png");const s=o.querySelector("img");return s?s.src:""}function J(){const o=S();if(!o){w("二维码尚未生成");return}const e=document.createElement("a");e.href=o,e.download="publiccode_"+x.value+".png",document.body.appendChild(e),e.click(),document.body.removeChild(e)}function K(){const o=S();if(!o){w("二维码尚未生成");return}const e=window.open("","_blank");if(!e){w("浏览器拦截了打印窗口");return}e.document.write(""+x.value+'

'+x.value+"

新用户扫码领取奖励

\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-BlBS367g.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-DMzzARF9.js similarity index 98% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-BlBS367g.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-DMzzARF9.js index e0a46bed..23b9cb34 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-BlBS367g.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-DMzzARF9.js @@ -1,12 +1,11 @@ import { defineComponent, ref, reactive, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderStyle, ssrRenderList, ssrInterpolate, ssrRenderClass, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual } from "vue/server-renderer"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; import { _ as _export_sfc } from "../server.mjs"; import "./auth-QFkCoU1C.js"; import "pinia"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -158,4 +157,4 @@ const accounts = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e export { accounts as default }; -//# sourceMappingURL=accounts-BlBS367g.js.map +//# sourceMappingURL=accounts-DMzzARF9.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-BlBS367g.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-DMzzARF9.js.map similarity index 79% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-BlBS367g.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-DMzzARF9.js.map index 85aa1b30..a5064d25 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-BlBS367g.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-DMzzARF9.js.map @@ -1 +1 @@ -{"version":3,"file":"accounts-BlBS367g.js","sources":["../../../../../../../app/pages/accounts.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderClass","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"accounts-DMzzARF9.js","sources":["../../../../../../../app/pages/accounts.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderClass","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-DMzzARF9.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-DMzzARF9.js.map.json new file mode 100644 index 00000000..47359ce9 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/accounts-DMzzARF9.js.map.json @@ -0,0 +1 @@ +{"file":"accounts-DMzzARF9.js","mappings":"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","names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderClass","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual"],"sources":["../../../../../../../app/pages/accounts.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-b7qb0UVr.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-DgyZbLy-.js similarity index 98% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-b7qb0UVr.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-DgyZbLy-.js index 136c0a5b..30f31b38 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-b7qb0UVr.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-DgyZbLy-.js @@ -1,12 +1,11 @@ import { defineComponent, computed, reactive, ref, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderStyle, ssrInterpolate, ssrIncludeBooleanAttr, ssrRenderAttr, ssrLooseContain, ssrLooseEqual, ssrRenderList, ssrRenderClass, ssrRenderDynamicModel } from "vue/server-renderer"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; import { a as useRoute, b as useRouter, _ as _export_sfc } from "../server.mjs"; import "./auth-QFkCoU1C.js"; import "pinia"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -184,4 +183,4 @@ const appconfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v- export { appconfig as default }; -//# sourceMappingURL=appconfig-b7qb0UVr.js.map +//# sourceMappingURL=appconfig-DgyZbLy-.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-b7qb0UVr.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-DgyZbLy-.js.map similarity index 77% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-b7qb0UVr.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-DgyZbLy-.js.map index b977e771..77d70597 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-b7qb0UVr.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-DgyZbLy-.js.map @@ -1 +1 @@ -{"version":3,"file":"appconfig-b7qb0UVr.js","sources":["../../../../../../../app/pages/appconfig.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrInterpolate","_ssrRenderStyle","_ssrIncludeBooleanAttr","_ssrRenderAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrRenderDynamicModel"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"appconfig-DgyZbLy-.js","sources":["../../../../../../../app/pages/appconfig.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrInterpolate","_ssrRenderStyle","_ssrIncludeBooleanAttr","_ssrRenderAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrRenderDynamicModel"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-DgyZbLy-.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-DgyZbLy-.js.map.json new file mode 100644 index 00000000..05064660 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-DgyZbLy-.js.map.json @@ -0,0 +1 @@ +{"file":"appconfig-DgyZbLy-.js","mappings":"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","names":["_ssrInterpolate","_ssrRenderStyle","_ssrIncludeBooleanAttr","_ssrRenderAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrRenderDynamicModel"],"sources":["../../../../../../../app/pages/appconfig.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-b7qb0UVr.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-b7qb0UVr.js.map.json deleted file mode 100644 index 97560cf4..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/appconfig-b7qb0UVr.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"appconfig-b7qb0UVr.js","mappings":"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","names":["_ssrInterpolate","_ssrRenderStyle","_ssrIncludeBooleanAttr","_ssrRenderAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrRenderDynamicModel"],"sources":["../../../../../../../app/pages/appconfig.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-DkgvJNjV.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-DkgvJNjV.js deleted file mode 100644 index 28ee5775..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-DkgvJNjV.js +++ /dev/null @@ -1,268 +0,0 @@ -import { defineComponent, ref, reactive, computed, useSSRContext } from "vue"; -import { ssrRenderAttrs, ssrRenderStyle, ssrRenderList, ssrRenderClass, ssrInterpolate, ssrIncludeBooleanAttr, ssrRenderAttr, ssrLooseContain, ssrLooseEqual } from "vue/server-renderer"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; -import { u as useAuthStore } from "./auth-QFkCoU1C.js"; -import { b as useRouter, _ as _export_sfc } from "../server.mjs"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; -import "pinia"; -import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; -import "#internal/nuxt/paths"; -import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; -import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/unctx@2.5.0/node_modules/unctx/dist/index.mjs"; -import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/@nuxt+nitro-server@4.4.8_@babel+plugin-syntax-typescript@7.29.7_@babel+core@7.29.7__db0_5045ebd3802f96c9dd021f3300fcdf4c/node_modules/@nuxt/nitro-server/dist/runtime/h3-compat.mjs"; -import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/defu@6.1.7/node_modules/defu/dist/defu.mjs"; -import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ufo@1.6.4/node_modules/ufo/dist/index.mjs"; -import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/perfect-debounce@2.1.0/node_modules/perfect-debounce/dist/index.mjs"; -import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/index.mjs"; -import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/klona@2.0.6/node_modules/klona/dist/index.mjs"; -const ORPHAN_KEY = "__orphan__"; -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "apps", - __ssrInlineRender: true, - setup(__props) { - useApi(); - useToast(); - useAuthStore(); - useRouter(); - const view = ref("list"); - const products = ref([]); - const apps2 = ref([]); - const envs = ref([]); - const loading = ref(false); - const envSavingId = ref(0); - const expanded = reactive({}); - const regionOptions = ["中国", "美国", "东亚", "东南亚", "南亚", "中东", "欧洲", "俄罗斯", "非洲", "南美", "北美", "大洋洲", "巴西", "印度"]; - const groups = computed(() => { - const byName = /* @__PURE__ */ new Map(); - for (const d of apps2.value) { - const name = d.app_name || ""; - if (!byName.has(name)) byName.set(name, []); - byName.get(name).push(d); - } - const known = new Set(products.value.map((p) => p.name)); - const res = products.value.map((p) => ({ key: p.name, product: p, deployments: byName.get(p.name) || [] })); - const orphan = []; - for (const [name, ds] of byName) { - if (name === "" || !known.has(name)) orphan.push(...ds); - } - if (orphan.length) res.push({ key: ORPHAN_KEY, product: null, deployments: orphan }); - return res; - }); - function isExpanded(key) { - return expanded[key] !== false; - } - function dbName(dsn) { - const m = (dsn || "").match(/\/([^/?]+)\?/); - return m ? m[1] : "-"; - } - const pIsEditing = ref(false); - const pForm = reactive({ id: 0, name: "", image_name: "", remark: "", enabled: true }); - const dIsEditing = ref(false); - const dMode = ref("existing"); - const dForm = reactive({ id: 0, app_name: "", name: "", region: "", env_id: 0, base_url: "", service_dsn: "", deploy_dir: "", image_name: "", image_tag: "", remark: "", enabled: true }); - const availableRegions = computed(() => { - const used = new Set( - apps2.value.filter((d) => d.app_name === dForm.app_name && d.id !== dForm.id).map((d) => d.region).filter(Boolean) - ); - return regionOptions.filter((r) => !used.has(r)); - }); - const testPassed = ref(false); - const testing = ref(false); - const testResult = reactive({ show: false, apiOk: false, apiMsg: "", dbOk: false, dbMsg: "" }); - ref(null); - const az = reactive({ - appId: 0, - appLabel: "", - start: "", - end: "", - resultShow: false, - resultClass: "", - mode: "", - steps: [], - curIndex: 0, - curTotal: 0, - curName: "", - pct: 0, - errMsg: "", - report: null, - running: false, - btnText: "开始分析" - }); - ref(null); - ref(null); - const up = reactive({ - id: 0, - label: "", - envName: "", - deployDir: "", - tag: "", - log: "", - show: false, - running: false, - ok: false, - canRun: false, - btnText: "开始升级" - }); - return (_ctx, _push, _parent, _attrs) => { - _push(`

应用管理

应用 是一个产品(如 Voitrans);其下挂多条 部署(各区域一份)。 卡片 = 应用;卡片内表格 = 该应用的区域部署。

`); - if (loading.value) { - _push(`
`); - } else if (!groups.value.length) { - _push(`
暂无应用,先「添加应用」
`); - } else { - _push(`
`); - ssrRenderList(groups.value, (g) => { - _push(`
${ssrInterpolate(g.product ? (g.product.name || "?").charAt(0).toUpperCase() : "?")}
应用${ssrInterpolate(g.product ? g.product.name : "未分组部署")}`); - if (g.product) { - _push(`${ssrInterpolate(g.product.enabled ? "启用" : "停用")}`); - } else { - _push(``); - } - if (g.product && g.product.image_name) { - _push(`🐳 ${ssrInterpolate(g.product.image_name)}`); - } else { - _push(``); - } - _push(`${ssrInterpolate(g.deployments.length)} 个部署

${ssrInterpolate(g.product ? g.product.remark || "—" : "未填所属应用名、或应用已删除的历史部署;编辑部署可归位到某个应用")}

`); - if (g.product) { - _push(`
`); - } else { - _push(``); - } - _push(`
`); - if (!g.deployments.length) { - _push(`
该应用暂无部署`); - if (g.product) { - _push(`,点右上「+ 部署」添加`); - } else { - _push(``); - } - _push(`
`); - } else { - _push(`
`); - ssrRenderList(g.deployments, (a) => { - _push(``); - }); - _push(`
部署区域环境状态业务库启用操作
部署${ssrInterpolate(a.name || "部署#" + a.id)}#${ssrInterpolate(a.id)}${ssrInterpolate(a.region || "—")}`); - if (a.status === "pending") { - _push(`待部署`); - } else { - _push(`已接入`); - } - _push(`${ssrInterpolate(dbName(a.service_dsn))}`); - if (a.enabled) { - _push(`是`); - } else { - _push(`否`); - } - _push(`
`); - if (a.status !== "pending") { - _push(``); - } else { - _push(``); - } - _push(`
`); - } - _push(`
`); - }); - _push(`
`); - } - _push(`

${ssrInterpolate(pIsEditing.value ? "编辑应用" : "添加应用")}

账号作用域按应用名绑定,尽量与统计/账号里一致。

${ssrInterpolate(dIsEditing.value ? "编辑部署" : "添加部署")}

`); - if (!dIsEditing.value) { - _push(``); - } else { - _push(``); - } - _push(`

`); - if (dIsEditing.value) { - _push(`编辑该区域部署的配置(镜像 Tag / 部署目录 / 环境节点 等);改好后回列表点「升级」执行远程部署(拉新镜像并重启)。`); - } else if (dMode.value === "existing") { - _push(`把「已经部署好的应用区域」加进来:填地址与业务库 DSN,测试通过后保存。`); - } else { - _push(`选一个「部署目标环境」,先建关联并标记待部署;保存后回列表点「升级」执行远程部署。`); - } - _push(`

已部署的区域不再出现(一个应用每区域一份部署)。
用于读取业务数据(重置设备码时清 userdevice/product_stat)
`); - if (dMode.value === "existing") { - _push(`
用于通知应用业务服务事件(如配置更新)
${ssrInterpolate(testResult.apiOk ? "✓" : "✗")} 应用地址:${ssrInterpolate(testResult.apiMsg)}
${ssrInterpolate(testResult.dbOk ? "✓" : "✗")} 业务库:${ssrInterpolate(testResult.dbMsg)}
`); - } else { - _push(``); - } - _push(`
`); - if (dMode.value === "existing") { - _push(``); - } else { - _push(``); - } - _push(`
`); - if (!dIsEditing.value && dMode.value === "existing") { - _push(`

需先「测试连接」通过(应用地址可达 + 业务库可连)才能保存。

`); - } else { - _push(``); - } - _push(`
`); - }; - } -}); -const _sfc_setup = _sfc_main.setup; -_sfc_main.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/apps.vue"); - return _sfc_setup ? _sfc_setup(props, ctx) : void 0; -}; -const apps = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f8779360"]]); -export { - apps as default -}; -//# sourceMappingURL=apps-DkgvJNjV.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-DkgvJNjV.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-DkgvJNjV.js.map deleted file mode 100644 index 2fd3d4c2..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-DkgvJNjV.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"apps-DkgvJNjV.js","sources":["../../../../../../../app/pages/apps.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["apps","_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrRenderClass","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseEqual","_ssrLooseContain"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-DkgvJNjV.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-DkgvJNjV.js.map.json deleted file mode 100644 index 1d7c2cef..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-DkgvJNjV.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"apps-DkgvJNjV.js","mappings":"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","names":["apps","_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrRenderClass","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseEqual","_ssrLooseContain"],"sources":["../../../../../../../app/pages/apps.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-M35AvXEe.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-M35AvXEe.js new file mode 100644 index 00000000..910422a5 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-M35AvXEe.js @@ -0,0 +1,305 @@ +import { defineComponent, ref, reactive, computed, useSSRContext } from "vue"; +import { ssrRenderAttrs, ssrRenderStyle, ssrRenderList, ssrRenderClass, ssrInterpolate, ssrIncludeBooleanAttr, ssrRenderAttr, ssrLooseContain, ssrLooseEqual } from "vue/server-renderer"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; +import { u as useAuthStore } from "./auth-QFkCoU1C.js"; +import { b as useRouter, _ as _export_sfc } from "../server.mjs"; +import "./useLoading-D4zrSa2m.js"; +import "pinia"; +import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; +import "#internal/nuxt/paths"; +import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; +import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/unctx@2.5.0/node_modules/unctx/dist/index.mjs"; +import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/@nuxt+nitro-server@4.4.8_@babel+plugin-syntax-typescript@7.29.7_@babel+core@7.29.7__db0_5045ebd3802f96c9dd021f3300fcdf4c/node_modules/@nuxt/nitro-server/dist/runtime/h3-compat.mjs"; +import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/defu@6.1.7/node_modules/defu/dist/defu.mjs"; +import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ufo@1.6.4/node_modules/ufo/dist/index.mjs"; +import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/perfect-debounce@2.1.0/node_modules/perfect-debounce/dist/index.mjs"; +import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/index.mjs"; +import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/klona@2.0.6/node_modules/klona/dist/index.mjs"; +const ORPHAN_KEY = "__orphan__"; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "apps", + __ssrInlineRender: true, + setup(__props) { + useApi(); + useToast(); + useAuthStore(); + useRouter(); + const view = ref("list"); + const products = ref([]); + const apps2 = ref([]); + const envs = ref([]); + const loading = ref(false); + const envSavingId = ref(0); + const expanded = reactive({}); + const regionOptions = ["中国", "美国", "东亚", "东南亚", "南亚", "中东", "欧洲", "俄罗斯", "非洲", "南美", "北美", "大洋洲", "巴西", "印度"]; + const groups = computed(() => { + const byName = /* @__PURE__ */ new Map(); + for (const d of apps2.value) { + const name = d.app_name || ""; + if (!byName.has(name)) byName.set(name, []); + byName.get(name).push(d); + } + const known = new Set(products.value.map((p) => p.name)); + const res = products.value.map((p) => ({ key: p.name, product: p, deployments: byName.get(p.name) || [] })); + const orphan = []; + for (const [name, ds] of byName) { + if (name === "" || !known.has(name)) orphan.push(...ds); + } + if (orphan.length) res.push({ key: ORPHAN_KEY, product: null, deployments: orphan }); + return res; + }); + function isExpanded(key) { + return expanded[key] !== false; + } + function dbName(dsn) { + const m = (dsn || "").match(/\/([^/?]+)\?/); + return m ? m[1] : "-"; + } + function isPinnedVer(tag) { + const t = (tag || "").trim(); + return !!t && t !== "latest"; + } + const pIsEditing = ref(false); + const pForm = reactive({ id: 0, name: "", image_name: "", remark: "", enabled: true }); + const dIsEditing = ref(false); + const dMode = ref("existing"); + const dForm = reactive({ id: 0, app_name: "", name: "", region: "", env_id: 0, base_url: "", service_dsn: "", deploy_dir: "", image_name: "", image_tag: "", remark: "", enabled: true }); + const availableRegions = computed(() => { + const used = new Set( + apps2.value.filter((d) => d.app_name === dForm.app_name && d.id !== dForm.id).map((d) => d.region).filter(Boolean) + ); + return regionOptions.filter((r) => !used.has(r)); + }); + const testPassed = ref(false); + const testing = ref(false); + const testResult = reactive({ show: false, apiOk: false, apiMsg: "", dbOk: false, dbMsg: "" }); + ref(null); + const az = reactive({ + appId: 0, + appLabel: "", + start: "", + end: "", + resultShow: false, + resultClass: "", + mode: "", + steps: [], + curIndex: 0, + curTotal: 0, + curName: "", + pct: 0, + errMsg: "", + report: null, + running: false, + btnText: "开始分析" + }); + ref(null); + ref(null); + const up = reactive({ + id: 0, + label: "", + envName: "", + deployDir: "", + tag: "", + tags: [], + // 从仓库拉取的可用版本 + tagMode: "list", + tagsLoading: false, + tagsError: "", + log: "", + show: false, + running: false, + ok: false, + canRun: false, + btnText: "开始升级" + }); + return (_ctx, _push, _parent, _attrs) => { + _push(`

应用管理

应用 是一个产品(如 Voitrans);其下挂多条 部署(各区域一份)。 卡片 = 应用;卡片内表格 = 该应用的区域部署。

`); + if (loading.value) { + _push(`
`); + } else if (!groups.value.length) { + _push(`
暂无应用,先「添加应用」
`); + } else { + _push(`
`); + ssrRenderList(groups.value, (g) => { + _push(`
${ssrInterpolate(g.product ? (g.product.name || "?").charAt(0).toUpperCase() : "?")}
应用${ssrInterpolate(g.product ? g.product.name : "未分组部署")}`); + if (g.product) { + _push(`${ssrInterpolate(g.product.enabled ? "启用" : "停用")}`); + } else { + _push(``); + } + if (g.product && g.product.image_name) { + _push(`🐳 ${ssrInterpolate(g.product.image_name)}`); + } else { + _push(``); + } + _push(`${ssrInterpolate(g.deployments.length)} 个部署

${ssrInterpolate(g.product ? g.product.remark || "—" : "未填所属应用名、或应用已删除的历史部署;编辑部署可归位到某个应用")}

`); + if (g.product) { + _push(`
`); + } else { + _push(``); + } + _push(`
`); + if (!g.deployments.length) { + _push(`
该应用暂无部署`); + if (g.product) { + _push(`,点右上「+ 部署」添加`); + } else { + _push(``); + } + _push(`
`); + } else { + _push(`
`); + ssrRenderList(g.deployments, (a) => { + _push(``); + }); + _push(`
部署区域环境状态当前版本业务库启用操作
部署${ssrInterpolate(a.name || "部署#" + a.id)}#${ssrInterpolate(a.id)}${ssrInterpolate(a.region || "—")}`); + if (a.status === "pending") { + _push(`待部署`); + } else { + _push(`已接入`); + } + _push(``); + if (isPinnedVer(a.image_tag)) { + _push(`${ssrInterpolate(a.image_tag)}`); + } else { + _push(`${ssrInterpolate(a.image_tag || "latest")} ⚠`); + } + _push(`${ssrInterpolate(dbName(a.service_dsn))}`); + if (a.enabled) { + _push(`是`); + } else { + _push(`否`); + } + _push(`
`); + if (a.status !== "pending") { + _push(``); + } else { + _push(``); + } + _push(`
`); + } + _push(`
`); + }); + _push(`
`); + } + _push(`

${ssrInterpolate(pIsEditing.value ? "编辑应用" : "添加应用")}

账号作用域按应用名绑定,尽量与统计/账号里一致。

${ssrInterpolate(dIsEditing.value ? "编辑部署" : "添加部署")}

`); + if (!dIsEditing.value) { + _push(``); + } else { + _push(``); + } + _push(`

`); + if (dIsEditing.value) { + _push(`编辑该区域部署的配置(镜像 Tag / 部署目录 / 环境节点 等);改好后回列表点「升级」执行远程部署(拉新镜像并重启)。`); + } else if (dMode.value === "existing") { + _push(`把「已经部署好的应用区域」加进来:填地址与业务库 DSN,测试通过后保存。`); + } else { + _push(`选一个「部署目标环境」,先建关联并标记待部署;保存后回列表点「升级」执行远程部署。`); + } + _push(`

已部署的区域不再出现(一个应用每区域一份部署)。
用于读取业务数据(重置设备码时清 userdevice/product_stat)
`); + if (dMode.value === "existing") { + _push(`
用于通知应用业务服务事件(如配置更新)
${ssrInterpolate(testResult.apiOk ? "✓" : "✗")} 应用地址:${ssrInterpolate(testResult.apiMsg)}
${ssrInterpolate(testResult.dbOk ? "✓" : "✗")} 业务库:${ssrInterpolate(testResult.dbMsg)}
`); + } else { + _push(``); + } + _push(`
`); + if (dMode.value === "existing") { + _push(``); + } else { + _push(``); + } + _push(`
`); + if (!dIsEditing.value && dMode.value === "existing") { + _push(`

需先「测试连接」通过(应用地址可达 + 业务库可连)才能保存。

`); + } else { + _push(``); + } + _push(`
`); + }; + } +}); +const _sfc_setup = _sfc_main.setup; +_sfc_main.setup = (props, ctx) => { + const ssrContext = useSSRContext(); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/apps.vue"); + return _sfc_setup ? _sfc_setup(props, ctx) : void 0; +}; +const apps = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-955faaec"]]); +export { + apps as default +}; +//# sourceMappingURL=apps-M35AvXEe.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-M35AvXEe.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-M35AvXEe.js.map new file mode 100644 index 00000000..4dcb6f9f --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-M35AvXEe.js.map @@ -0,0 +1 @@ +{"version":3,"file":"apps-M35AvXEe.js","sources":["../../../../../../../app/pages/apps.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["apps","_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrRenderClass","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseEqual","_ssrLooseContain"],"mappings":";;;;;;;;;;;;;;;;;;AA0bA,MAAM,aAAa;;;;;AAZI,WAAA;AACI,aAAA;AACd,iBAAA;AACE,cAAA;AAEf,UAAM,OAAO,IAA2C,MAAM;AAC9D,UAAM,WAAW,IAAe,EAAE;AAClC,UAAMA,QAAO,IAAkB,EAAE;AACjC,UAAM,OAAO,IAAiB,EAAE;AAChC,UAAM,UAAU,IAAI,KAAK;AACzB,UAAM,cAAc,IAAI,CAAC;AACzB,UAAM,WAAW,SAAkC,EAAE;AAGrD,UAAM,gBAAgB,CAAC,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,OAAO,MAAM,IAAI;AAG5G,UAAM,SAAS,SAAS,MAAM;AAC5B,YAAM,6BAAa,IAAA;AACnB,iBAAW,KAAKA,MAAK,OAAO;AAC1B,cAAM,OAAO,EAAE,YAAY;AAC3B,YAAI,CAAC,OAAO,IAAI,IAAI,EAAG,QAAO,IAAI,MAAM,EAAE;AAC1C,eAAO,IAAI,IAAI,EAAG,KAAK,CAAC;AAAA,MAC1B;AACA,YAAM,QAAQ,IAAI,IAAI,SAAS,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACvD,YAAM,MAAM,SAAS,MAAM,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,GAAqB,aAAa,OAAO,IAAI,EAAE,IAAI,KAAK,CAAA,IAAK;AAC5H,YAAM,SAAuB,CAAA;AAC7B,iBAAW,CAAC,MAAM,EAAE,KAAK,QAAQ;AAC/B,YAAI,SAAS,MAAM,CAAC,MAAM,IAAI,IAAI,EAAG,QAAO,KAAK,GAAG,EAAE;AAAA,MACxD;AACA,UAAI,OAAO,OAAQ,KAAI,KAAK,EAAE,KAAK,YAAY,SAAS,MAAM,aAAa,OAAA,CAAQ;AACnF,aAAO;AAAA,IACT,CAAC;AAED,aAAS,WAAW,KAAa;AAC/B,aAAO,SAAS,GAAG,MAAM;AAAA,IAC3B;AAWA,aAAS,OAAO,KAAc;AAC5B,YAAM,KAAK,OAAO,IAAI,MAAM,cAAc;AAC1C,aAAO,IAAI,EAAE,CAAC,IAAI;AAAA,IACpB;AAGA,aAAS,YAAY,KAAc;AACjC,YAAM,KAAK,OAAO,IAAI,KAAA;AACtB,aAAO,CAAC,CAAC,KAAK,MAAM;AAAA,IACtB;AA0BA,UAAM,aAAa,IAAI,KAAK;AAC5B,UAAM,QAAQ,SAAS,EAAE,IAAI,GAAG,MAAM,IAAI,YAAY,IAAI,QAAQ,IAAI,SAAS,MAAM;AAkDrF,UAAM,aAAa,IAAI,KAAK;AAC5B,UAAM,QAAQ,IAA2B,UAAU;AACnD,UAAM,QAAQ,SAAS,EAAE,IAAI,GAAG,UAAU,IAAI,MAAM,IAAI,QAAQ,IAAI,QAAQ,GAAG,UAAU,IAAI,aAAa,IAAI,YAAY,IAAI,YAAY,IAAI,WAAW,IAAI,QAAQ,IAAI,SAAS,KAAA,CAAM;AAUxL,UAAM,mBAAmB,SAAS,MAAM;AACtC,YAAM,OAAO,IAAI;AAAA,QACfA,MAAK,MACF,OAAO,CAAC,MAAM,EAAE,aAAa,MAAM,YAAY,EAAE,OAAO,MAAM,EAAE,EAChE,IAAI,CAAC,MAAM,EAAE,MAAM,EACnB,OAAO,OAAO;AAAA,MAAA;AAEnB,aAAO,cAAc,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;AAAA,IACjD,CAAC;AAED,UAAM,aAAa,IAAI,KAAK;AAC5B,UAAM,UAAU,IAAI,KAAK;AACzB,UAAM,aAAa,SAAS,EAAE,MAAM,OAAO,OAAO,OAAO,QAAQ,IAAI,MAAM,OAAO,OAAO,IAAI;AAkJxE,QAA8B,IAAI;AACvD,UAAM,KAAK,SAAS;AAAA,MAClB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,KAAK;AAAA,MACL,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,MAAM;AAAA,MACN,OAAO,CAAA;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,MACV,SAAS;AAAA,MACT,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,SAAS;AAAA,IAAA,CACV;AA8HoB,QAA8B,IAAI;AACtC,QAAwB,IAAI;AAC7C,UAAM,KAAK,SAAS;AAAA,MAClB,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,KAAK;AAAA,MACL,MAAM,CAAA;AAAA;AAAA,MACN,SAAS;AAAA,MACT,aAAa;AAAA,MACb,WAAW;AAAA,MACX,KAAK;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,QAAQ;AAAA,MACR,SAAS;AAAA,IAAA,CACV;;AA53BgB,YAAA,OAAAC,eAAA,MAAA,CAAA,gCAAAC,eAAA,KAAA,UAAI,SAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,2eAAA;AAaJ,UAAA,QAAA,OAAO;;MACD,WAAA,CAAA,OAAA,MAAO,QAAM;;;;AAIXC,sBAAA,OAAA,QAAL,MAAC;+BAA6DC,eAAA,CAAA,EAAA,QAAA,CAAA,EAAE,QAAA,GAAO,UAAA,CAAA,CAAA,gGAAAC,eAGvD,WAAW,EAAE,GAAG,IAAA,MAAA,GAAA,yBACQD,eAAA,CAAA,EAAA,eAAA,CAAA,EAAE,WAAO,UAAA,CAAA,CAAA,qBAAAC,eAAO,EAAE,WAAW,EAAE,QAAQ,QAAI,KAAS,OAAM,CAAA,EAAI,YAAA,IAAW,GAAA,CAAA,2MAI3FA,eAAA,EAAE,UAAU,EAAE,QAAQ,OAAI,OAAA,CAAA,SAAA;AACxC,cAAA,EAAE,SAAO;kDAAiC,EAAE,QAAQ,UAAO,kBAAA,eAAA,gBAAA,CAAA,CAAA,qBAAAA,eAAuC,EAAE,QAAQ,UAAO,OAAA,IAAA,CAAA,SAAA;AAAA;;;AACnH,cAAA,EAAE,WAAW,EAAE,QAAQ,YAAU;+EAA0B,EAAE,QAAQ,UAAU,CAAA,SAAA;AAAA,UAAA,OAAA;;;2EAC/D,EAAE,YAAY,MAAM,CAAA,sFAG7CA,eAAA,EAAE,UAAW,EAAE,QAAQ,UAAM,MAAA,kCAAA,CAAA,YAAA;AAGzB,cAAA,EAAE,SAAO;;;;;qEAQT,WAAW,EAAE,GAAG,IAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,oBAAA;AACf,cAAA,CAAA,EAAE,YAAY,QAAM;;AACP,gBAAA,EAAE,SAAO;;;;;;;;0BAUZ,EAAE,aAAW,CAAlB,MAAC;AAGyC,oBAAA,+KAAAA,eAAA,EAAE,QAAI,QAAa,EAAE,EAAE,CAAA,+EAChBA,eAAA,EAAE,EAAE,CAAA,mCAEvDA,eAAA,EAAE,UAAM,GAAA,gHAEsF,YAAA,UAAgB,EAAE,EAAE,IAAA,cAAA,EAAA,2BAC5GC,cAAA,SAAO,CAAC,oBADKC,sBAAA,MAAA,QAAA,EAAE,MAAM,oBAAR,EAAE,QACR,CAAC,IAAAC,cADK,EAAE,QACR,CAAC,CAAA,IAAA,cAAA,EAAA,uBAAA;AACGL,4BAAA,KAAA,QAAL,MAAC;8CAAuB,SAAO,EAAE,EAAE,CAAA,mBAF5BI,sBAAA,MAAA,QAAA,EAAE,MAAM,IAARE,gBAAA,EAAE,QAEsB,EAAE,EAAE,IAF5BD,cAAA,EAAE,QAEsB,EAAE,EAAE,CAAA,IAAA,cAAA,EAAA,IAAKH,eAAA,EAAE,IAAI,CAAA,WAAA;AAAA;;AAInD,kBAAA,EAAE,WAAM,WAAA;;;;;;kBAIR,YAAY,EAAE,SAAS,GAAA;AAAyC,sBAAA,4DAAAA,eAAA,EAAE,SAAS,CAAA,SAAA;AAAA,cAAA,OAAA;AACK,sBAAA,qGAAAA,eAAA,EAAE,aAAS,QAAA,CAAA,WAAA;AAAA,cAAA;AAExE,oBAAA,sDAAAA,eAAA,OAAO,EAAE,WAAW,CAAA,CAAA,2BAAA;AAEvC,kBAAA,EAAE,SAAO;;;;;;AAKH,kBAAA,EAAE,WAAM,WAAA;;;;;;;;;;;;;gDAqB/B,KAAA,UAAI,gBAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,kNAAAA,eAGuC,WAAA,QAAU,SAAA,MAAA,CAAA,kSAM1CC,cAAA,SAAA,MAAM,IAAI,CAAA,wWAKVA,cAAA,SAAA,MAAM,UAAU,CAAA,+QAIhBA,cAAA,SAAA,MAAM,MAAM,CAAA,gNAIVC,sBAAA,MAAA,QAAA,MAAM,OAAO,IAAbE,gBAAA,MAAM,SAAO,IAAA,IAAb,MAAM,OAAO,IAAA,aAAA,uYAa1B,KAAA,UAAI,eAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,kNAAAJ,eAGuC,WAAA,QAAU,SAAA,MAAA,CAAA,oIAAA;AAKhD,UAAA,CAAA,WAAA,OAAU;AACG,cAAA,kFAAAD,eAAA,CAAA,MAAA,UAAK,aAAA,eAAA,IAAA,KAAA,CAAA,CAAA,uCAAAA,eAAA,CACL,MAAA,UAAK,WAAA,eAAA,IAAA,KAAA,CAAA,CAAA,qCAAA;AAAA;;;AAEiB,YAAA,aAAAA,eAAA,CAAA,WAAA,QAAU,KAAA,SAAA,6BAAA,CAAA,CAAA,oBAAA;AACvC,UAAA,WAAA,OAAU;;MACL,WAAA,MAAA,UAAK,YAAA;;;;;kPAOhB,SAAO,MAAM,QAAQ,CAAA,+PAIbE,cAAA,SAAA,MAAM,IAAI,CAAA,kaAOTC,sBAAA,MAAA,QAAA,MAAM,MAAM,IAAZE,gBAAA,MAAM,QAAM,EAAA,IAAZD,cAAA,MAAM,QAAM,EAAA,CAAA,IAAA,cAAA,EAAA,uBAAA;AAEPL,oBAAA,iBAAA,QAAL,MAAC;wBAAgCG,cAAA,SAAO,CAAC,CAAA,mBAFzCC,sBAAA,MAAA,QAAA,MAAM,MAAM,IAAAE,gBAAZ,MAAM,QAEkC,CAAC,IAAAD,cAFzC,MAAM,QAEkC,CAAC,CAAA,IAAA,cAAA,qBAAK,CAAC,CAAA,WAAA;AAAA;AAKC,YAAA,2PAAAH,eAAA,MAAA,UAAK,WAAA,OAAA,EAAA,CAAA,uFAE3DC,cAAA,SAAO,CAAC,CAAA,mBADKC,sBAAA,MAAA,QAAA,MAAM,MAAM,IAAAE,gBAAZ,MAAM,QACZ,CAAC,IAAAD,cADK,MAAM,QACZ,CAAC,CAAA,IAAA,cAAA,EAAA,IAAAH,eAAK,MAAA,UAAK,WAAA,YAAA,KAAA,CAAA,mBAAA;AACPF,oBAAA,KAAA,QAAL,MAAC;AAAuB,cAAA,UAAAG,cAAA,SAAO,EAAE,EAAE,CAAA,mBAF5BC,sBAAA,MAAA,QAAA,MAAM,MAAM,IAAZE,gBAAA,MAAM,QAEkB,EAAE,EAAE,IAF5BD,cAAA,MAAM,QAEkB,EAAE,EAAE,CAAA,IAAA,cAAA,EAAA,IAAKH,eAAA,EAAE,IAAI,CAAA,IAAOA,eAAA,EAAE,QAAI,GAAA,CAAA,YAAA;AAAA;kQAS5DC,cAAA,SAAA,MAAM,UAAU,CAAA,8RAIhBA,cAAA,SAAA,MAAM,UAAU,CAAA,2QAIhBA,cAAA,SAAA,MAAM,SAAS,CAAA,6PAAAD,eAMmC,MAAA,UAAK,aAAA,OAAA,EAAA,CAAA,wBACzDC,cAAA,SAAA,MAAM,WAAW,CAAA,qSAAA;AAKnB,UAAA,MAAA,UAAK,YAAA;6LAGDA,cAAA,SAAA,MAAM,QAAQ,CAAA,kOAGnBJ,eAAA,WAAW,OAAI,OAAA,EAAA,SAAA,QAAA,kCACbE,eAAA,WAAW,QAAK,mBAAA,cAAA,CAAA,kCACbA,eAAA,WAAW,QAAK,mBAAA,cAAA,CAAA,qBAAyCC,eAAA,WAAW,QAAK,MAAA,GAAA,CAAA,gBAC/EA,eAAA,WAAW,MAAM,CAAA,qBAEdD,eAAA,WAAW,OAAI,mBAAA,cAAA,CAAA,kCACZA,eAAA,WAAW,OAAI,mBAAA,cAAA,CAAA,qBAAyCC,eAAA,WAAW,OAAI,MAAA,GAAA,CAAA,eAC9EA,eAAA,WAAW,KAAK,CAAA,sBAAA;AAAA;;;AAOX,YAAA,mKAAAC,cAAA,SAAA,MAAM,MAAM,iNAIVC,sBAAA,MAAA,QAAA,MAAM,OAAO,IAAbE,gBAAA,MAAM,SAAO,IAAA,IAAb,MAAM,OAAO,IAAA,aAAA,EAAA,4PAAA;AAOjB,UAAA,MAAA,UAAK,YAAA;AAAkE,cAAA,gDAAAF,sBAAA,QAAA,KAAO,IAAA,cAAA,qCAAuB,QAAA,QAAO,WAAA,MAAA,CAAA,WAAA;AAAA;;;8FACrD,WAAA,SAAc,MAAA,UAAK,cAAA,CAAoB,WAAA,KAAU,IAAA,cAAA,EAAA,oCAAA;AAE9G,UAAA,CAAA,WAAA,SAAc,MAAA,UAAK,YAAA;;;;;+NASWF,eAAA,GAAG,QAAQ,CAAA,ukBAQsBC,cAAA,SAAA,GAAG,KAAK,CAAA,kLACRA,cAAA,SAAA,GAAG,GAAG,CAAA,qGAExBF,eAAA,CAAA,GAAG,aAAW,cAAA,CAAA,CAAA,YAA1DF,eAAA,GAAG,aAAU,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,oBAAA;AAEb,UAAA,GAAG,SAAI,YAAA;;AAGI,YAAA,GAAG,SAAO;uGACuCG,eAAA,GAAG,OAAO,CAAA,KAAQA,eAAA,GAAG,QAAQ,CAAA,IAAOA,eAAA,GAAG,QAAQ,CAAA,YAAA;AAAA;;;AAIxE,cAAA,iEAAAA,eAAA,GAAG,GAAG,CAAA,uEAAAC,cAEM,SAAO,GAAG,GAAG,CAAA,sGAAA;AAE5CH,sBAAA,GAAG,OAAK,CAAlB,IAAI,MAAC;AAAgC,gBAAA,eAAAC,eAAA,MAAM,GAAG,WAAQ,IAAA,mBAAA,gBAAA,CAAA,oBAAA;cACjD,MAAM,GAAG,WAAQ,GAAA;AAAkE,kBAAA,oFAAAC,eAAA,EAAE,CAAA,UAAA;AAAA,UAAA,OAAA;AAC/E,kBAAA,aAAAA,eAAA,EAAE,CAAA,UAAA;AAAA,UAAA;;;;MAKd,WAAA,GAAG,SAAI,SAAA;AAAwC,cAAA,+CAAAA,eAAA,GAAG,MAAM,CAAA,QAAA;AAAA,MAExD,WAAA,GAAG,SAAI,UAAe,GAAG,QAAM;AAG7B,cAAA,mSAAAA,eAAA,GAAG,OAAO,YAAQ,EAAA,CAAA,qCAAAA,eACrB,GAAG,OAAO,UAAM,KAAA,CAAA,iCAAAA,gBACf,GAAG,OAAO,aAAA,QAAA,SAA8B,GAAG,OAAO,WAAO,KAAA,CAAA,mCAAAA,eACxD,GAAG,OAAO,gBAAY,CAAA,CAAA,sDAAAA,eACnB,GAAG,OAAO,gBAAY,CAAA,CAAA,uCAAAA,eACzB,GAAG,OAAO,gBAAY,CAAA,CAAA,0FAAA;AAGZF,sBAAA,GAAG,OAAO,SAAK,CAAA,GAAA,CAAzB,GAAG,MAAC;AACiB,gBAAA,yGAAAE,eAAA,EAAE,IAAI,CAAA,iEACKA,gBAAA,EAAE,UAAM,KAAA,IAAA,CAAA,eAAA;AAAA;;;;;gLAOIE,sBAAA,GAAG,OAAO,IAAA,cAAA,sBAAyBF,eAAA,GAAG,OAAO,CAAA,gVAUlEA,eAAA,GAAG,KAAK,CAAA,mpBASsCD,eAAA,GAAG,UAAO,+BAAA,0BAAA,CAAA,qBAAiEC,eAAA,GAAG,WAAO,uBAAA,sIACrFD,eAAA,GAAG,YAAS,6BAAA,0BAAA,sBAA+DC,eAAA,GAAG,aAAS,wBAAA,CAAA,uQAK1FE,sBAAA,GAAG,OAAO,IAAA,cAAA,EAAA,oBAEtFF,eAAA,GAAG,YAAO,SAAA,UAAA,OAAA,CAAA,iBAAA;AAIN,UAAA,GAAG,YAAO,QAAA;AAC2E,cAAA,4GAAAE,sBAAA,GAAG,WAAW,GAAG,WAAW,IAAA,cAAA,EAAA,oDAAzGA,sBAAA,MAAA,QAAA,GAAG,GAAG,IAANE,gBAAA,GAAG,KAAG,EAAA,IAAND,cAAA,GAAG,KAAG,EAAA,CAAA,IAAA,cAAA,EAAA,IACDH,eAAA,GAAG,cAAW,aAAA,OAAA,CAAA,WAAA;AACpB,YAAA,GAAG,OAAG,CAAK,GAAG,KAAK,SAAS,GAAG,GAAG,GAAA;wCAAI,SAAO,GAAG,GAAG,CAAA,mBAFlDE,sBAAA,MAAA,QAAA,GAAG,GAAG,IAANE,gBAAA,GAAG,KAEyC,GAAG,GAAG,IAFlDD,cAAA,GAAG,KAEyC,GAAG,GAAG,CAAA,IAAA,cAAA,EAAA,IAAKH,eAAA,GAAG,GAAG,CAAA,iBAAA;AAAA;;;;sBACxD,GAAG,MAAI,CAAZ,MAAC;0BAAuBC,cAAA,SAAO,CAAC,CAAA,mBAHhCC,sBAAA,MAAA,QAAA,GAAG,GAAG,IAAAE,gBAAN,GAAG,KAG4B,CAAC,kBAHhC,GAAG,KAG4B,CAAC,CAAA,IAAA,cAAA,EAAA,IAAAJ,eAAK,CAAC,CAAA,GAAAA,eAAM,MAAC,WAAA,eAAA,EAAA,CAAA,WAAA;AAAA;AAEA,cAAA,sEAAAE,sBAAA,GAAG,WAAW,GAAG,WAAW,IAAA,cAAA,EAAA,oCAAA;AAAA,MAAA,OAAA;uBAGrED,cAAA,SAAA,GAAG,GAAG,CAAA,0FAAoGC,sBAAA,GAAG,OAAO,IAAA,cAAA,EAAA,mBAAA;AAAA;AAClI,UAAA,GAAG,WAAS;AAAkD,cAAA,mEAAAF,eAAA,GAAG,SAAS,CAAA,iCAAA;AAAA,MACrE,WAAA,GAAG,QAAG,YAAiB,GAAG,QAAG,IAAA;;;;;AAIhC,YAAA,kCAAAH,eAAA,GAAG,OAAI,OAAA,EAAA,SAAA,QAAA,CAAA,sFAAA;AAEJ,UAAA,GAAG,SAAO;;MACL,WAAA,GAAG,IAAE;;;;;AAEU,YAAA,gDAAAG,eAAA,GAAG,UAAO,SAAA,EAAA,CAAA,qKAE2GA,eAAA,GAAG,OAAG,SAAA,CAAA,6FAI7GE,sBAAA,GAAG,OAAO,IAAA,cAAA,EAAA,qEACRA,sBAAA,GAAG,OAAO,IAAA,cAAA,EAAA,oBAAyBF,eAAA,GAAG,OAAO,CAAA,4FAGnCE,sBAAA,GAAG,OAAO,IAAA,cAAA,EAAA,uDAAA;AAAA;;;;;;;;;;"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-M35AvXEe.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-M35AvXEe.js.map.json new file mode 100644 index 00000000..1718adfe --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-M35AvXEe.js.map.json @@ -0,0 +1 @@ +{"file":"apps-M35AvXEe.js","mappings":"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","names":["apps","_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrRenderClass","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseEqual","_ssrLooseContain"],"sources":["../../../../../../../app/pages/apps.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-B1MkzUEk.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-B1MkzUEk.js new file mode 100644 index 00000000..d4b388ec --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-B1MkzUEk.js @@ -0,0 +1,5 @@ +const apps_vue_vue_type_style_index_0_scoped_955faaec_lang = ".app-card[data-v-955faaec]{background:#fff;border:1px solid #eef2f7;border-radius:14px;box-shadow:0 1px 2px #00000008;overflow:hidden}.app-card.orphan[data-v-955faaec]{border-color:#fde68a}.app-head[data-v-955faaec]{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;background:linear-gradient(90deg,#f5f7ff,#fff);border-left:4px solid #6366f1;transition:background .15s}.app-card.orphan .app-head[data-v-955faaec]{background:linear-gradient(90deg,#fffbeb,#fff);border-left-color:#f59e0b}.app-head[data-v-955faaec]:hover{background:linear-gradient(90deg,#eef2ff,#fff)}.chev[data-v-955faaec]{color:#94a3b8;font-size:12px;width:16px;flex-shrink:0}.app-logo[data-v-955faaec]{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:700;font-size:17px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-logo.orphan-logo[data-v-955faaec]{background:#f59e0b}.app-name[data-v-955faaec]{font-size:15px;font-weight:700;color:#1e293b}.chip-app[data-v-955faaec]{font-size:10px;padding:1px 8px;border-radius:6px;background:#eef2ff;color:#4338ca}.chip-app[data-v-955faaec],.chip-dep[data-v-955faaec]{display:inline-flex;font-weight:700}.chip-dep[data-v-955faaec]{font-size:9px;padding:1px 6px;border-radius:5px;background:#ecfeff;color:#0e7490}.chip-mono[data-v-955faaec]{color:#475569;font-family:SF Mono,Menlo,monospace}.chip-count[data-v-955faaec],.chip-mono[data-v-955faaec]{display:inline-flex;font-size:10px;font-weight:600;padding:1px 7px;border-radius:6px;background:#f1f5f9}.chip-count[data-v-955faaec]{color:#64748b}.app-body[data-v-955faaec]{padding:4px 12px 10px;border-top:1px solid #f1f5f9;background:#fcfcfd}.dep-row td[data-v-955faaec]{vertical-align:middle}"; +export { + apps_vue_vue_type_style_index_0_scoped_955faaec_lang as default +}; +//# sourceMappingURL=apps-styles-1.mjs-B1MkzUEk.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-B1MkzUEk.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-B1MkzUEk.js.map new file mode 100644 index 00000000..7ef39ec4 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-B1MkzUEk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"apps-styles-1.mjs-B1MkzUEk.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-B1MkzUEk.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-B1MkzUEk.js.map.json new file mode 100644 index 00000000..c48922b1 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-B1MkzUEk.js.map.json @@ -0,0 +1 @@ +{"file":"apps-styles-1.mjs-B1MkzUEk.js","mappings":";","names":[],"sources":[],"sourcesContent":[],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-BfSytJy7.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-BfSytJy7.js deleted file mode 100644 index 75fc45ea..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-BfSytJy7.js +++ /dev/null @@ -1,5 +0,0 @@ -const apps_vue_vue_type_style_index_0_scoped_f8779360_lang = ".app-card[data-v-f8779360]{background:#fff;border:1px solid #eef2f7;border-radius:14px;box-shadow:0 1px 2px #00000008;overflow:hidden}.app-card.orphan[data-v-f8779360]{border-color:#fde68a}.app-head[data-v-f8779360]{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;background:linear-gradient(90deg,#f5f7ff,#fff);border-left:4px solid #6366f1;transition:background .15s}.app-card.orphan .app-head[data-v-f8779360]{background:linear-gradient(90deg,#fffbeb,#fff);border-left-color:#f59e0b}.app-head[data-v-f8779360]:hover{background:linear-gradient(90deg,#eef2ff,#fff)}.chev[data-v-f8779360]{color:#94a3b8;font-size:12px;width:16px;flex-shrink:0}.app-logo[data-v-f8779360]{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:700;font-size:17px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-logo.orphan-logo[data-v-f8779360]{background:#f59e0b}.app-name[data-v-f8779360]{font-size:15px;font-weight:700;color:#1e293b}.chip-app[data-v-f8779360]{font-size:10px;padding:1px 8px;border-radius:6px;background:#eef2ff;color:#4338ca}.chip-app[data-v-f8779360],.chip-dep[data-v-f8779360]{display:inline-flex;font-weight:700}.chip-dep[data-v-f8779360]{font-size:9px;padding:1px 6px;border-radius:5px;background:#ecfeff;color:#0e7490}.chip-mono[data-v-f8779360]{color:#475569;font-family:SF Mono,Menlo,monospace}.chip-count[data-v-f8779360],.chip-mono[data-v-f8779360]{display:inline-flex;font-size:10px;font-weight:600;padding:1px 7px;border-radius:6px;background:#f1f5f9}.chip-count[data-v-f8779360]{color:#64748b}.app-body[data-v-f8779360]{padding:4px 12px 10px;border-top:1px solid #f1f5f9;background:#fcfcfd}.dep-row td[data-v-f8779360]{vertical-align:middle}"; -export { - apps_vue_vue_type_style_index_0_scoped_f8779360_lang as default -}; -//# sourceMappingURL=apps-styles-1.mjs-BfSytJy7.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-BfSytJy7.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-BfSytJy7.js.map deleted file mode 100644 index ec673fd6..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-BfSytJy7.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"apps-styles-1.mjs-BfSytJy7.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-BfSytJy7.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-BfSytJy7.js.map.json deleted file mode 100644 index 102cb0f1..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles-1.mjs-BfSytJy7.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"apps-styles-1.mjs-BfSytJy7.js","mappings":";","names":[],"sources":[],"sourcesContent":[],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles._bNp0Sh6.mjs b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles._bNp0Sh6.mjs deleted file mode 100644 index 399f3094..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles._bNp0Sh6.mjs +++ /dev/null @@ -1,4 +0,0 @@ -import style_0 from "./apps-styles-1.mjs-BfSytJy7.js"; -export default [ - style_0 -] \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles.ohrc3N5k.mjs b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles.ohrc3N5k.mjs new file mode 100644 index 00000000..4bbeb602 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/apps-styles.ohrc3N5k.mjs @@ -0,0 +1,4 @@ +import style_0 from "./apps-styles-1.mjs-B1MkzUEk.js"; +export default [ + style_0 +] \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-B1hhAqN7.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-B1hhAqN7.js.map.json deleted file mode 100644 index dc826ec5..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-B1hhAqN7.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"calltranslate-B1hhAqN7.js","mappings":"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","names":["_ssrRenderList","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate","_ssrLooseEqual","_ssrRenderClass","_ssrRenderStyle"],"sources":["../../../../../../../app/pages/calltranslate.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-B1hhAqN7.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-Bavowmkg.js similarity index 98% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-B1hhAqN7.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-Bavowmkg.js index 26116012..a20d076e 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-B1hhAqN7.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-Bavowmkg.js @@ -1,12 +1,11 @@ import { defineComponent, ref, reactive, computed, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderStyle, ssrRenderList, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrInterpolate, ssrRenderClass } from "vue/server-renderer"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; import { _ as _export_sfc } from "../server.mjs"; import "./auth-QFkCoU1C.js"; import "pinia"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -205,4 +204,4 @@ const calltranslate = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "dat export { calltranslate as default }; -//# sourceMappingURL=calltranslate-B1hhAqN7.js.map +//# sourceMappingURL=calltranslate-Bavowmkg.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-B1hhAqN7.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-Bavowmkg.js.map similarity index 77% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-B1hhAqN7.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-Bavowmkg.js.map index 1a8f1f41..768c0fc1 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-B1hhAqN7.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-Bavowmkg.js.map @@ -1 +1 @@ -{"version":3,"file":"calltranslate-B1hhAqN7.js","sources":["../../../../../../../app/pages/calltranslate.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrRenderList","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate","_ssrLooseEqual","_ssrRenderClass","_ssrRenderStyle"],"mappings":";;;;;;;;;;;;;;;;;;;AA8OA,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,UAAU;AAChB,MAAM,WAAW;;;;;AA5BjB,UAAM,QAAQ;AAAA,MACZ,EAAE,GAAG,MAAM,GAAG,KAAA;AAAA,MAAQ,EAAE,GAAG,MAAM,GAAG,KAAA;AAAA,MAAQ,EAAE,GAAG,MAAM,GAAG,KAAA;AAAA,MAAQ,EAAE,GAAG,MAAM,GAAG,KAAA;AAAA,MAChF,EAAE,GAAG,MAAM,GAAG,KAAA;AAAA,MAAQ,EAAE,GAAG,MAAM,GAAG,KAAA;AAAA,MAAQ,EAAE,GAAG,MAAM,GAAG,OAAA;AAAA,MAAU,EAAE,GAAG,MAAM,GAAG,OAAA;AAAA,MAClF,EAAE,GAAG,MAAM,GAAG,KAAA;AAAA,MAAQ,EAAE,GAAG,MAAM,GAAG,OAAA;AAAA,MAAU,EAAE,GAAG,MAAM,GAAG,KAAA;AAAA,MAAQ,EAAE,GAAG,MAAM,GAAG,MAAA;AAAA,MAClF,EAAE,GAAG,MAAM,GAAG,MAAA;AAAA,MAAS,EAAE,GAAG,MAAM,GAAG,MAAA;AAAA,MAAS,EAAE,GAAG,MAAM,GAAG,MAAA;AAAA,IAAM;AAEpE,aAAS,SAAS,GAAoB;AACpC,YAAM,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;AACrC,aAAO,IAAI,EAAE,IAAK,KAAK;AAAA,IACzB;AAGA,UAAM,UAAU;AAAA,MACd,EAAE,OAAO,GAAG,OAAO,KAAA;AAAA,MAAQ,EAAE,OAAO,GAAG,OAAO,KAAA;AAAA,MAAQ,EAAE,OAAO,GAAG,OAAO,KAAA;AAAA,MACzE,EAAE,OAAO,GAAG,OAAO,MAAA;AAAA,MAAS,EAAE,OAAO,GAAG,OAAO,KAAA;AAAA,MAAQ,EAAE,OAAO,GAAG,OAAO,KAAA;AAAA,MAC1E,EAAE,OAAO,GAAG,OAAO,KAAA;AAAA,MAAQ,EAAE,OAAO,GAAG,OAAO,MAAA;AAAA,MAAS,EAAE,OAAO,GAAG,OAAO,KAAA;AAAA,MAC1E,EAAE,OAAO,IAAI,OAAO,KAAA;AAAA,MAAQ,EAAE,OAAO,IAAI,OAAO,KAAA;AAAA,MAAQ,EAAE,OAAO,IAAI,OAAO,MAAA;AAAA,MAC5E,EAAE,OAAO,IAAI,OAAO,KAAA;AAAA,MAAQ,EAAE,OAAO,IAAI,OAAO,KAAA;AAAA,IAAK;AAapC,WAAA;AACQ,aAAA;AAE3B,UAAM,eAAe,IAAI,IAAI;AAC7B,UAAM,UAAU,IAAiB,EAAE;AACnC,UAAM,QAAQ,IAAY,EAAE;AAC5B,UAAM,YAAY,IAAY,QAAQ,SAAS,QAAQ,CAAC,EAAE,QAAQ,CAAC;AAEnE,UAAM,aAAa,IAAI,KAAK;AAC5B,UAAM,cAAc,IAAiB,IAAI;AACvB,QAAY,CAAC;AAE/B,UAAM,KAAK,SAAS;AAAA,MAClB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,KAAK;AAAA,MACL,IAAI;AAAA,MACJ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,QAAQ;AAAA,IAAA,CACT;AAwBD,aAAS,UAAU,KAA0B;AAC3C,aAAO,QAAQ,MAAM;AAAA,QACnB,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,IAAI,MAAM,GAAG,EAAE,IAAI,MAAM,EAAE,QAAQ,GAAG,KAAK;AAAA,MAAA;AAAA,IAEnF;AACA,aAAS,QAAQ,IAAqB;AACpC,YAAM,IAAI,QAAQ,MAAM,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE;AAC/C,aAAO,IAAI,EAAE,OAAQ,MAAM;AAAA,IAC7B;AA2EA,UAAM,WAAW,IAAI,KAAK;AAC1B,UAAM,WAAW,IAAI,EAAE;AACvB,UAAM,cAAc,IAAc,EAAE;AAEpC,UAAM,cAAc,SAAS,MAAM,QAAQ,OAAO,CAAC,MAAM,EAAE,UAAU,UAAU,KAAK,CAAC;;;AAtXrE,UAAA,CAAA,aAAA,OAAY;sFAA4C,EAAA,cAAA,WAAA,UAAA,qBAAA,SAAA,WAAiE,CAAA,qEAAA;AAAA,MAAA,OAAA;;;;AAY3GA,oBAAA,UAAL,MAAC;sCAA6B,SAAO,EAAE,KAAK,CAAA,mBAAAC,sBAAA,MAAA,QADrC,UAAA,KAAS,IAAAC,gBAAT,UAAA,OAC8B,EAAE,KAAK,kBADrC,UAAA,OAC8B,EAAE,KAAK,CAAA,IAAA,cAAA,EAAA,IAAKC,eAAA,EAAE,KAAK,CAAA,WAAA;AAAA;8KAOhE,WAAA,QAAU,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,0JAAAA,eAEiC,YAAA,QAAW,UAAA,OAAA,CAAA,0WAAA;AAOvCH,oBAAA,QAAL,MAAC;sCAAuB,SAAO,EAAE,CAAC,CAAA,mBADlCC,sBAAA,MAAA,QAAA,GAAG,GAAG,IAANC,gBAAA,GAAG,KAC4B,EAAE,CAAC,IADlCE,cAAA,GAAG,KAC4B,EAAE,CAAC,CAAA,IAAA,cAAA,EAAA,IAAKD,eAAA,EAAE,CAAC,CAAA,WAAA;AAAA;;AAMrCH,oBAAA,QAAL,MAAC;sCAAuB,SAAO,EAAE,CAAC,CAAA,mBADlCC,sBAAA,MAAA,QAAA,GAAG,GAAG,IAANC,gBAAA,GAAG,KAC4B,EAAE,CAAC,IADlCE,cAAA,GAAG,KAC4B,EAAE,CAAC,CAAA,IAAA,cAAA,EAAA,IAAKD,eAAA,EAAE,CAAC,CAAA,WAAA;AAAA;AAK3C,YAAA,sLAAAF,sBAAA,MAAA,QAAA,GAAG,KAAK,IAARC,gBAAA,GAAG,OAAK,IAAA,IAAR,GAAG,KAAK,IAAA,aAAA,8IAIMG,eAAA,CAAA,EAAA,IAAA,GAAG,SAAI,EAAA,GAAA,MAAA,CAAA,CAAA,8MAMPA,eAAA,CAAA,EAAA,IAAA,GAAG,SAAI,EAAA,GAAA,MAAA,CAAA,CAAA,0NAAA;AAQ5B,UAAA,GAAG,SAAI,GAAA;;aAIG,UAAU,QAAQ,EAAE,QAAM;AAD1B,gBAAA,mCAAAJ,sBAAA,MAAA,QAAA,GAAG,GAAG,IAANC,gBAAA,GAAG,KAAG,EAAA,IAANE,cAAA,GAAG,KAAG,EAAA,CAAA,IAAA,cAAA,EAAA,mBAAA;AAAA,QAAA,OAAA;;;;sBAED,UAAU,QAAQ,GAAA,CAAvB,MAAC;wCAAsC,SAAO,EAAE,EAAE,CAAA,mBAFlDH,sBAAA,MAAA,QAAA,GAAG,GAAG,IAANC,gBAAA,GAAG,KAE2C,EAAE,EAAE,IAFlDE,cAAA,GAAG,KAE2C,EAAE,EAAE,CAAA,IAAA,cAAA,EAAA,IAAKD,eAAA,EAAE,IAAI,CAAA,WAAA;AAAA;;aAM7D,UAAU,OAAO,EAAE,QAAM;AADzB,gBAAA,mCAAAF,sBAAA,MAAA,QAAA,GAAG,EAAE,IAALC,gBAAA,GAAG,IAAE,EAAA,IAALE,cAAA,GAAG,IAAE,EAAA,CAAA,IAAA,cAAA,EAAA,mBAAA;AAAA,QAAA,OAAA;;;;sBAEA,UAAU,OAAO,GAAA,CAAtB,MAAC;wCAAqC,SAAO,EAAE,EAAE,CAAA,mBAFjDH,sBAAA,MAAA,QAAA,GAAG,EAAE,IAALC,gBAAA,GAAG,IAE0C,EAAE,EAAE,IAFjDE,cAAA,GAAG,IAE0C,EAAE,EAAE,CAAA,IAAA,cAAA,EAAA,IAAKD,eAAA,EAAE,IAAI,CAAA,WAAA;AAAA;;aAM5D,UAAU,QAAQ,EAAE,QAAM;AAD1B,gBAAA,mCAAAF,sBAAA,MAAA,QAAA,GAAG,GAAG,IAANC,gBAAA,GAAG,KAAG,EAAA,IAANE,cAAA,GAAG,KAAG,EAAA,CAAA,IAAA,cAAA,EAAA,mBAAA;AAAA,QAAA,OAAA;;;;sBAED,UAAU,QAAQ,GAAA,CAAvB,MAAC;wCAAsC,SAAO,EAAE,EAAE,CAAA,mBAFlDH,sBAAA,MAAA,QAAA,GAAG,GAAG,IAANC,gBAAA,GAAG,KAE2C,EAAE,EAAE,IAFlDE,cAAA,GAAG,KAE2C,EAAE,EAAE,CAAA,IAAA,cAAA,EAAA,IAAKD,eAAA,EAAE,IAAI,CAAA,WAAA;AAAA;;;;aAO/D,UAAU,QAAQ,EAAE,QAAM;AAD1B,gBAAA,mCAAAF,sBAAA,MAAA,QAAA,GAAG,GAAG,IAANC,gBAAA,GAAG,KAAG,EAAA,IAANE,cAAA,GAAG,KAAG,EAAA,CAAA,IAAA,cAAA,EAAA,mBAAA;AAAA,QAAA,OAAA;;;;sBAED,UAAU,QAAQ,GAAA,CAAvB,MAAC;wCAAsC,SAAO,EAAE,EAAE,CAAA,mBAFlDH,sBAAA,MAAA,QAAA,GAAG,GAAG,IAANC,gBAAA,GAAG,KAE2C,EAAE,EAAE,IAFlDE,cAAA,GAAG,KAE2C,EAAE,EAAE,CAAA,IAAA,cAAA,EAAA,IAAKD,eAAA,EAAE,IAAI,CAAA,WAAA;AAAA;;;AAM9D,YAAA,iLAAAF,sBAAA,MAAA,QAAA,GAAG,MAAM,IAATC,gBAAA,GAAG,QAAM,IAAA,IAAT,GAAG,MAAM,IAAA,aAAA,iWAUK,EAAA,yBAAA,uCAAiE,CAAA,oBAAA;AACvF,UAAA,CAAA,MAAA,MAAM,QAAM;;;;;;AAIPF,oBAAA,MAAA,QAAL,MAAC;AAGqB,cAAA,uMAAAG,eAAA,SAAS,EAAE,QAAQ,CAAA,CAAA,yEACGA,eAAA,EAAE,QAAK,MAAA,GAAA,CAAA,mDAAAA,eAC7B,SAAS,EAAE,QAAQ,CAAA,CAAA,oEAAA;AAGnC,YAAA,EAAE,SAAI,GAAA;;;;;AAEN,YAAA,EAAE,QAAM;;;;;;AAKb,YAAA,EAAE,SAAI,GAAA;oIACQ,EAAA,cAAA,UAAA,CAA0B,CAAA,0BAAAA,eAAS,QAAQ,EAAE,UAAU,CAAA,CAAA,qGAAAG,eAEvD,EAAA,cAAA,WAA0B,CAAA,yBAAAH,eAAQ,QAAQ,EAAE,SAAS,CAAA,CAAA,qGAAAG,eAErD,EAAA,cAAA,WAA0B,CAAA,0BAAAH,eAAS,QAAQ,EAAE,UAAU,CAAA,CAAA,eAAA;AAAA;AAGvD,gBAAA,2FAAAG,eAAA,EAAA,cAAA,WAA0B,0CAAS,QAAQ,EAAE,UAAU,CAAA,CAAA,eAAA;AAAA;;;6EAMvE,SAAA,QAAQ,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,gIAAAA,eAGV,EAAA,SAAA,QAAA,UAAA,QAAA,cAAA,2CAAA,iBAAA,QAAA,WAAA,QAAA,eAAA,UAAA,mBAAA,UAAA,eAAA,IAAA,CAAyK,iDACvK,EAAA,SAAA,QAAA,UAAA,QAAA,SAAA,QAAyC,ydAIJ,SAAA,KAAQ,yFAGP,EAAA,cAAA,WAAA,UAAA,qBAAA,SAAA,WAAiE,CAAA,0bAAA;AAYhGN,oBAAA,YAAA,QAAL,MAAC;+BAGWK,eAAA,CAAA,EAAA,SAAA,YAAA,MAAY,SAAS,EAAE,KAAK,EAAA,GAAA,kBAAA,CAAA,0FAMnCJ,sBAAA,YAAA,MAAY,SAAS,EAAE,KAAK,CAAA,IAAA,aAAA,EAAA,0CAG/BE,eAAA,EAAE,KAAK,CAAA,iBAAA;AAAA;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"calltranslate-Bavowmkg.js","sources":["../../../../../../../app/pages/calltranslate.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrRenderList","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate","_ssrLooseEqual","_ssrRenderClass","_ssrRenderStyle"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-Bavowmkg.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-Bavowmkg.js.map.json new file mode 100644 index 00000000..c53910d4 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/calltranslate-Bavowmkg.js.map.json @@ -0,0 +1 @@ +{"file":"calltranslate-Bavowmkg.js","mappings":"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","names":["_ssrRenderList","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate","_ssrLooseEqual","_ssrRenderClass","_ssrRenderStyle"],"sources":["../../../../../../../app/pages/calltranslate.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-BQgGcfFH.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-BQgGcfFH.js.map.json deleted file mode 100644 index 94fc4601..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-BQgGcfFH.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"code-BQgGcfFH.js","mappings":"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","names":["_ssrRenderAttrs","_mergeProps","_ssrRenderStyle","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate"],"sources":["../../../../../../../app/pages/code.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-BQgGcfFH.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-RXZTcCgt.js similarity index 98% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-BQgGcfFH.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-RXZTcCgt.js index 40bcdee6..cb1a25be 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-BQgGcfFH.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-RXZTcCgt.js @@ -1,12 +1,11 @@ import { defineComponent, ref, reactive, mergeProps, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderStyle, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderList, ssrInterpolate } from "vue/server-renderer"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; import "../server.mjs"; import "./auth-QFkCoU1C.js"; import "pinia"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -97,4 +96,4 @@ _sfc_main.setup = (props, ctx) => { export { _sfc_main as default }; -//# sourceMappingURL=code-BQgGcfFH.js.map +//# sourceMappingURL=code-RXZTcCgt.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-BQgGcfFH.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-RXZTcCgt.js.map similarity index 84% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-BQgGcfFH.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-RXZTcCgt.js.map index 4b058295..cb1f52d3 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-BQgGcfFH.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-RXZTcCgt.js.map @@ -1 +1 @@ -{"version":3,"file":"code-BQgGcfFH.js","sources":["../../../../../../../app/pages/code.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_ssrRenderStyle","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"code-RXZTcCgt.js","sources":["../../../../../../../app/pages/code.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_ssrRenderStyle","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-RXZTcCgt.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-RXZTcCgt.js.map.json new file mode 100644 index 00000000..17d135fb --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/code-RXZTcCgt.js.map.json @@ -0,0 +1 @@ +{"file":"code-RXZTcCgt.js","mappings":"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","names":["_ssrRenderAttrs","_mergeProps","_ssrRenderStyle","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate"],"sources":["../../../../../../../app/pages/code.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-BeG8w5Q7.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-BeG8w5Q7.js.map.json deleted file mode 100644 index 991d5b67..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-BeG8w5Q7.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"dashboard-BeG8w5Q7.js","mappings":";;;;;;;;;;;;;;;;;;;;;;AAyHA,UAAM,OAAO,aAAA;AACkB,WAAA;AAK/B,UAAM,UAA8B;AAAA,MAClC,CAAC,MAAM,IAAI;AAAA,MAAG,CAAC,MAAM,IAAI;AAAA,MAAG,CAAC,MAAM,IAAI;AAAA,MAAG,CAAC,OAAO,KAAK;AAAA,MAAG,CAAC,MAAM,IAAI;AAAA,MACrE,CAAC,MAAM,IAAI;AAAA,MAAG,CAAC,MAAM,IAAI;AAAA,MAAG,CAAC,MAAM,KAAK;AAAA,MAAG,CAAC,MAAM,IAAI;AAAA,MAAG,CAAC,OAAO,IAAI;AAAA,MACrE,CAAC,OAAO,IAAI;AAAA,MAAG,CAAC,MAAM,KAAK;AAAA,MAAG,CAAC,MAAM,IAAI;AAAA,MAAG,CAAC,MAAM,IAAI;AAAA,IAAA;AAIzD,UAAM,aAAuD;AAAA,MAC3D,gBAAgB,CAAC,MAAM,WAAW,SAAS;AAAA,MAC3C,mBAAmB,CAAC,MAAM,WAAW,SAAS;AAAA,MAC9C,mBAAmB,CAAC,MAAM,WAAW,SAAS;AAAA,MAC9C,iBAAiB,CAAC,MAAM,WAAW,SAAS;AAAA,MAC5C,kBAAkB,CAAC,MAAM,WAAW,SAAS;AAAA,MAC7C,mBAAmB,CAAC,MAAM,WAAW,SAAS;AAAA,MAC9C,gBAAgB,CAAC,KAAK,WAAW,SAAS;AAAA,MAC1C,aAAa,CAAC,OAAO,WAAW,SAAS;AAAA,MACzC,cAAc,CAAC,MAAM,WAAW,SAAS;AAAA,IAAA;AAK3C,UAAM,mBAA2B;AAAA,MAC/B,CAAC,kBAAkB,QAAQ,KAAK;AAAA,MAChC,CAAC,qBAAqB,UAAU,KAAK;AAAA,MACrC,CAAC,mBAAmB,WAAW,KAAK;AAAA,MACpC,CAAC,oBAAoB,UAAU,KAAK;AAAA,MACpC,CAAC,qBAAqB,UAAU,IAAI;AAAA,MACpC,CAAC,eAAe,UAAU,KAAK;AAAA,MAC/B,CAAC,gBAAgB,UAAU,KAAK;AAAA,IAAA;AAGlC,UAAM,kBAA0B;AAAA,MAC9B,CAAC,kBAAkB,QAAQ,KAAK;AAAA,MAChC,CAAC,qBAAqB,QAAQ,KAAK;AAAA,MACnC,CAAC,mBAAmB,SAAS,KAAK;AAAA,MAClC,CAAC,oBAAoB,QAAQ,KAAK;AAAA,MAClC,CAAC,qBAAqB,QAAQ,IAAI;AAAA,MAClC,CAAC,kBAAkB,QAAQ,KAAK;AAAA,MAChC,CAAC,eAAe,QAAQ,OAAO,IAAI;AAAA,MACnC,CAAC,gBAAgB,QAAQ,OAAO,IAAI;AAAA,IAAA;AAStC,UAAM,aAAsB;AAAA,MAC1B;AAAA,QACE,KAAK;AAAA,QAAQ,OAAO;AAAA,QAAQ,OAAO;AAAA,QAAW,MAAM;AAAA,QACpD,MAAM;AAAA,QACN,OAAO,CAAC,CAAC,kBAAkB,MAAM,GAAG,CAAC,qBAAqB,MAAM,GAAG,CAAC,oBAAoB,MAAM,GAAG,CAAC,eAAe,MAAM,CAAC;AAAA,QACxH,OAAO,CAAC,CAAC,kBAAkB,QAAQ,SAAS,GAAG,CAAC,qBAAqB,QAAQ,SAAS,CAAC;AAAA,MAAA;AAAA,MAEzF;AAAA,QACE,KAAK;AAAA,QAAU,OAAO;AAAA,QAAU,OAAO;AAAA,QAAW,MAAM;AAAA,QACxD,MAAM;AAAA,QACN,OAAO,CAAC,CAAC,uBAAuB,KAAK,GAAG,CAAC,qBAAqB,KAAK,CAAC;AAAA,QACpE,OAAO,CAAC,CAAC,uBAAuB,OAAO,SAAS,GAAG,CAAC,qBAAqB,OAAO,SAAS,CAAC;AAAA,MAAA;AAAA,MAE5F;AAAA,QACE,KAAK;AAAA,QAAU,OAAO;AAAA,QAAS,OAAO;AAAA,QAAW,MAAM;AAAA,QACvD,MAAM;AAAA,QACN,OAAO,CAAC,CAAC,mBAAmB,SAAS,CAAC;AAAA,QACtC,OAAO,CAAC,CAAC,mBAAmB,SAAS,SAAS,CAAC;AAAA,MAAA;AAAA,MAEjD;AAAA,QACE,KAAK;AAAA,QAAS,OAAO;AAAA,QAAQ,OAAO;AAAA,QAAW,MAAM;AAAA,QACrD,MAAM;AAAA,QACN,OAAO,CAAC,CAAC,sBAAsB,MAAM,GAAG,CAAC,oBAAoB,MAAM,GAAG,CAAC,sBAAsB,MAAM,GAAG,CAAC,kBAAkB,MAAM,GAAG,CAAC,qBAAqB,QAAQ,IAAI,GAAG,CAAC,uBAAuB,QAAQ,IAAI,CAAC;AAAA,QAC5M,OAAO,CAAC,CAAC,oBAAoB,QAAQ,SAAS,GAAG,CAAC,sBAAsB,QAAQ,SAAS,CAAC;AAAA,MAAA;AAAA,MAE5F;AAAA,QACE,KAAK;AAAA,QAAW,OAAO;AAAA,QAAM,OAAO;AAAA,QAAW,MAAM;AAAA,QACrD,MAAM;AAAA,QACN,OAAO,CAAC,CAAC,cAAc,MAAM,GAAG,CAAC,eAAe,QAAQ,OAAO,IAAI,GAAG,CAAC,qBAAqB,UAAU,OAAO,IAAI,CAAC;AAAA,QAClH,OAAO,CAAC,CAAC,cAAc,QAAQ,SAAS,GAAG,CAAC,eAAe,WAAW,SAAS,CAAC;AAAA,MAAA;AAAA,MAElF;AAAA,QACE,KAAK;AAAA,QAAa,OAAO;AAAA,QAAM,OAAO;AAAA,QAAW,MAAM;AAAA,QACvD,MAAM;AAAA,QACN,OAAO,CAAC,CAAC,eAAe,MAAM,GAAG,CAAC,gBAAgB,QAAQ,OAAO,IAAI,GAAG,CAAC,eAAe,MAAM,GAAG,CAAC,sBAAsB,UAAU,OAAO,IAAI,CAAC;AAAA,QAC9I,OAAO,CAAC,CAAC,eAAe,QAAQ,SAAS,GAAG,CAAC,gBAAgB,WAAW,SAAS,CAAC;AAAA,MAAA;AAAA,IACpF;AAIF,UAAM,WAAW,SAAS,MAAM,KAAK,aAAa,CAAC;AAChC,aAAS,MAAM,KAAK,IAAI;AAC3C,UAAM,gBAAgB,SAAS,MAAM,KAAK,OAAO;AAC1B,aAAS,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACpG,UAAM,iBAAiB,CAAC,kBAAkB,qBAAqB,iBAAiB;AAEhF,UAAM,cAAc,SAAS,MAAM,SAAS,QAAQ,iBAAiB,OAAO,CAAC,MAAM,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB;AACrI,UAAM,aAAa,SAAS,MAAM,SAAS,QAAQ,gBAAgB,OAAO,CAAC,MAAM,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,eAAe;AAClI,UAAM,SAAS,SAAS,MAAM,SAAS,QAAQ,WAAW,OAAO,CAAC,MAAM,EAAE,QAAQ,UAAU,EAAE,QAAQ,QAAQ,IAAI,UAAU;AAE5H,UAAM,YAAgC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;AAGrF,UAAM,UAAU,SAAS,EAAE,KAAK,IAAI,QAAQ,IAAI,SAAS,IAAI;AAC7D,UAAM,aAAa,IAAwC,EAAE;AAC7D,UAAM,iBAAiB,IAAiD,EAAE;AAC1E,UAAM,gBAAgB,SAAS,MAAM;AACnC,UAAI,SAAS,SAAS,cAAc,MAAM,QAAQ;AAChD,eAAO,QAAQ,OAAO,CAAC,MAAM,cAAc,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAA,EAAI;AAAA,MAC5G;AACA,aAAO,QAAQ,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,IAAI;AAAA,IAC1D,CAAC;AAGD,UAAM,aAAa,IAA4B,EAAE;AACjD,UAAM,aAAa,IAA4B,EAAE;AACjD,UAAM,YAAY,IAA4B,EAAE;AAChD,UAAM,WAAW,IAA4B,EAAE;AAC/C,UAAM,WAAW,IAAI,IAAI;AACzB,UAAM,aAAa,IAA4C,EAAE;AACjE,UAAM,YAAY,SAAiC,EAAE;AACrD,eAAW,QAAQ,CAAC,MAAM;AAAE,gBAAU,EAAE,GAAG,IAAI;AAAA,IAAG,CAAC;AAanD,aAAS,IAAI,GAAW,UAAoB;AAC1C,UAAI,OAAO,CAAC,KAAK;AACjB,aAAO,WAAW,OAAO,IAAI,KAAK,eAAe,QAAW,EAAE,uBAAuB,GAAG,uBAAuB,EAAA,CAAG,IAAI,EAAE,eAAA;AAAA,IAC1H;AACA,aAAS,QAAQ,KAAa;AAC5B,YAAM,KAAK,IAAI,GAAG,KAAK,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC;AAC9C,YAAM,IAAI,KAAK,MAAM,MAAM,IAAI,GAAG,IAAI,KAAK,MAAO,MAAM,OAAQ,EAAE,GAAG,IAAI,MAAM;AAC/E,UAAI,IAAI,EAAG,QAAO,IAAI,MAAM,IAAI;AAChC,UAAI,IAAI,EAAG,QAAO,IAAI,MAAM,IAAI;AAChC,aAAO,IAAI;AAAA,IACb;AACA,aAAS,QAAQ,GAAW,UAAoB,QAAkB;AAChE,UAAI,OAAQ,QAAO,QAAQ,CAAC;AAC5B,aAAO,IAAI,GAAG,QAAQ;AAAA,IACxB;AAKA,aAAS,SAAS,KAAa,MAA6B;AAC1D,YAAM,OAAO,GAAG,KAAK;AAAG,aAAO,OAAO,IAAI,KAAK;AAC/C,UAAI,SAAS,EAAG,QAAO,MAAM,IAAI,OAAO;AACxC,cAAQ,MAAM,QAAQ,OAAO;AAAA,IAC/B;AAEA,aAAS,UAAU,OAAyC;AAC1D,aAAO,WAAW,KAAK,KAAK,CAAC,MAAM,WAAW,SAAS;AAAA,IACzD;AAGA,aAAS,UAAU,GAAS;AAC1B,YAAM,MAAO,EAAE,CAAC,MAAM,uBAAuB,EAAE,CAAC,MAAM,wBAAyB,WAAW,QAAQ,WAAW;AAC7G,YAAM,SAAU,EAAE,CAAC,MAAM,iBAAiB,EAAE,CAAC,MAAM;AACnD,aAAO,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM;AAAA,IACxC;AACA,aAAS,SAAS,GAAS;AACzB,aAAO,QAAQ,UAAU,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AAAA,IACpD;AACA,aAAS,WAAW,GAAuD;AACzE,YAAM,MAAM,SAAS,UAAU,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;AAChE,UAAI,QAAQ,KAAM,QAAO,EAAE,MAAM,OAAO,OAAO,IAAI,KAAK,GAAA;AACxD,YAAM,OAAO,MAAM,IAAI,OAAQ,MAAM,IAAI,SAAS;AAClD,YAAM,QAAQ,MAAM,IAAI,MAAO,MAAM,IAAI,MAAM;AAC/C,aAAO,EAAE,MAAM,OAAO,KAAK,KAAK,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAA;AAAA,IACpD;AACA,aAAS,aAAa,GAAU,GAAyC;AACvE,aAAO,SAAS,WAAW,MAAM,EAAE,GAAG,KAAK,CAAA,GAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IAClE;;AA3S2B,YAAA,OAAAA,eAAA,MAAA,CAAA,uYAAAC,sBAAA,MAAA,QAAA,QAAQ,GAAG,IAAXC,gBAAA,QAAQ,KAAG,EAAA,IAAXC,cAAA,QAAQ,KAAG,EAAA,CAAA,IAAA,cAAA,EAAA,wBAAA;AAENC,oBAAA,WAAA,QAAL,MAAC;sCAAgC,SAAO,EAAE,KAAK,CAAA,mBAF/CH,sBAAA,MAAA,QAAA,QAAQ,GAAG,IAAXC,gBAAA,QAAQ,KAEgC,EAAE,KAAK,IAF/CC,cAAA,QAAQ,KAEgC,EAAE,KAAK,CAAA,IAAA,cAAA,EAAA,IAAKE,eAAA,EAAE,KAAK,CAAA,WAAA;AAAA;AAK3D,YAAA,qSAAAJ,sBAAA,MAAA,QAAA,QAAQ,MAAM,IAAdC,gBAAA,QAAQ,QAAM,EAAA,IAAdC,cAAA,QAAQ,QAAM,EAAA,CAAA,IAAA,cAAA,EAAA,wBAAA;AAETC,oBAAA,cAAA,QAAL,MAAC;sCAAmC,SAAO,EAAE,KAAK,CAAA,mBAFlDH,sBAAA,MAAA,QAAA,QAAQ,MAAM,IAAdC,gBAAA,QAAQ,QAEmC,EAAE,KAAK,IAFlDC,cAAA,QAAQ,QAEmC,EAAE,KAAK,CAAA,IAAA,cAAA,EAAA,IAAKE,eAAA,EAAE,KAAK,CAAA,WAAA;AAAA;AAK9D,YAAA,qSAAAJ,sBAAA,MAAA,QAAA,QAAQ,OAAO,IAAfC,gBAAA,QAAQ,SAAO,EAAA,IAAfC,cAAA,QAAQ,SAAO,EAAA,CAAA,IAAA,cAAA,EAAA,wBAAA;AAEVC,oBAAA,eAAA,QAAL,MAAC;sCAAoC,SAAO,EAAE,KAAK,CAAA,mBAFnDH,sBAAA,MAAA,QAAA,QAAQ,OAAO,IAAfC,gBAAA,QAAQ,SAEoC,EAAE,KAAK,IAFnDC,cAAA,QAAQ,SAEoC,EAAE,KAAK,CAAA,IAAA,cAAA,EAAA,IAAKE,eAAA,EAAE,KAAK,CAAA,WAAA;AAAA;AAUlE,YAAA,+RAAAC,eAAA,EAAA,cAAA,UAAA,CAA2B,CAAA,qMAAA;AAK5BF,oBAAA,YAAA,QAAL,MAAC;gFAC6BE,eAAA,EAAA,YAAA,UAAU,EAAC,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,qBAAcD,eAAA,UAAU,EAAC,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,6EAAAA,eAEtD,EAAC,CAAA,CAAA,CAAA,0CACDA,eAAA,UAAU,CAAC,CAAA,CAAA,oBAAA;AAAA;AAOP,YAAA,iGAAAC,eAAA,EAAA,iBAAA,QAA2B,CAAA,8CAAAA,eACnC,EAAA,cAAA,0CAAA,CAA2D,CAAA,kFAAAA,eAE3D,EAAA,SAAA,WAAA,cAAA,UAAA,CAA0C,CAAA,qBAAAD,eAAI,SAAA,KAAQ,CAAA,oKAAA;AAIvDD,oBAAA,WAAA,QAAL,MAAC;AACgC,cAAA,uEAAAE,eAAA,EAAA,YAAA,UAAU,EAAC,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,0HAE/B,EAAC,CAAA,CAAA,CAAA,mCACkBA,eAAA,EAAA,YAAA,UAAU,EAAC,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,qBAAcD,eAAA,UAAU,EAAC,CAAA,CAAA,EAAA,CAAA,CAAA,kDAE1DA,eAAA,SAAS,CAAC,CAAA,CAAA,0CAAA;YAEZ,WAAW,CAAC,EAAE,SAAI,OAAA;;mBACb,WAAW,CAAC,EAAE,SAAI,QAAA;AACT,gBAAA,gBAAAE,eAAA,CAAA,WAAW,CAAC,EAAE,MAAI,OAAA,CAAA,CAAA,qBAAAF,eAAK,WAAW,CAAC,EAAE,KAAK,CAAA,IAAAA,eAAO,WAAW,CAAC,EAAE,GAAG,CAAA,UAAA;AAAA;;;;;AAUpF,YAAA,uFAAAC,eAAA,EAAA,cAAA,0CAAA,CAA2D,CAAA,iMAAA;AAK5DF,oBAAA,OAAA,QAAL,MAAC;AAEqC,cAAA,6GAAAE,eAAA,EAAA,YAAA,EAAE,MAAI,+FACW,UAAQ,EAAE,KAAK,CAAA,yFAAAE,cACH,KAAG,EAAE,IAAI,CAAA,2GAG9BH,eAAA,EAAE,KAAK,CAAA,SAAA;AACjD,YAAA,EAAE,QAAG,UAAA;;;;AAGDD,wBAAA,YAAL,MAAC;AAGa,kBAAA,kBAAAG,eAAA,CAAA,EAAA,WAAA,EAAC,CAAA,MAAQ,UAAU,EAAE,GAAG,KAAA,MAAA,CAAA,CAAA,qBAAAF,eAE3C,EAAC,CAAA,CAAA,CAAA,WAAA;AAAA;;;;sBAKY,EAAE,OAAK,CAAZ,MAAC;AACgB,gBAAA,iFAAAA,eAAA,EAAC,CAAA,CAAA,CAAA,+CAAAA,eACH,aAAa,GAAG,CAAC,CAAA,CAAA,cAAA;AAAA;;AAGnC,YAAA,EAAE,QAAG,UAAA;AAAe,gBAAA,eAAAC,eAAA,EAAA,UAAA,SAAA,cAAA,OAAA,CAAqC,CAAA,2DAAA;AAAA,QAAA,OAAA;;;;;;;;;;;;;;;;","names":["_ssrRenderAttrs","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate","_ssrRenderStyle","_ssrRenderClass","_ssrRenderAttr"],"sources":["../../../../../../../app/pages/dashboard.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-BeG8w5Q7.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-C1ojHDcl.js similarity index 99% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-BeG8w5Q7.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-C1ojHDcl.js index 8fd14f28..e39f1c81 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-BeG8w5Q7.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-C1ojHDcl.js @@ -1,11 +1,10 @@ import { defineComponent, computed, reactive, ref, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderList, ssrRenderAttr, ssrInterpolate, ssrRenderStyle, ssrRenderClass } from "vue/server-renderer"; import { u as useAuthStore } from "./auth-QFkCoU1C.js"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; import { _ as _export_sfc } from "../server.mjs"; import "pinia"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -261,4 +260,4 @@ const dashboard = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v- export { dashboard as default }; -//# sourceMappingURL=dashboard-BeG8w5Q7.js.map +//# sourceMappingURL=dashboard-C1ojHDcl.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-BeG8w5Q7.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-C1ojHDcl.js.map similarity index 74% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-BeG8w5Q7.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-C1ojHDcl.js.map index 878ab64a..5dbc5d14 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-BeG8w5Q7.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-C1ojHDcl.js.map @@ -1 +1 @@ -{"version":3,"file":"dashboard-BeG8w5Q7.js","sources":["../../../../../../../app/pages/dashboard.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrRenderAttrs","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate","_ssrRenderStyle","_ssrRenderClass","_ssrRenderAttr"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"dashboard-C1ojHDcl.js","sources":["../../../../../../../app/pages/dashboard.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrRenderAttrs","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate","_ssrRenderStyle","_ssrRenderClass","_ssrRenderAttr"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-C1ojHDcl.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-C1ojHDcl.js.map.json new file mode 100644 index 00000000..c1af6d33 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/dashboard-C1ojHDcl.js.map.json @@ -0,0 +1 @@ +{"file":"dashboard-C1ojHDcl.js","mappings":"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","names":["_ssrRenderAttrs","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate","_ssrRenderStyle","_ssrRenderClass","_ssrRenderAttr"],"sources":["../../../../../../../app/pages/dashboard.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-DDIg74_f.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-DDIg74_f.js.map.json deleted file mode 100644 index 46de87e8..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-DDIg74_f.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"default-DDIg74_f.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;AAeA,UAAM,EAAE,OAAA,IAAW,SAAA;AAEnB,aAAS,WAAW,MAAyB;AAC3C,cAAQ,MAAA;AAAA,QACN,KAAK;AAAW,iBAAO;AAAA,QACvB,KAAK;AAAW,iBAAO;AAAA,QACvB,KAAK;AAAW,iBAAO;AAAA,QACvB,KAAK;AAAA,QACL;AAAgB,iBAAO;AAAA,MAAA;AAAA,IAE3B;;AAxBO,YAAA,OAAAA,eAAAC,WAAA,EAAA,OAAM,uCAAmC,MAAA,CAAA,CAAA,WAAA;AAE9BC,oBAAAC,MAAA,MAAA,GAAA,CAAL,MAAC;AAEU,cAAA,eAAAC,eAAA,CAAA,SAAA,WAAW,EAAE,IAAI,CAAA,CAAA,CAAA,WAE1BC,eAAA,EAAE,GAAG,CAAA,eAAA;AAAA;;;;;;;;;;;;;;;;ACWpB,UAAM,EAAE,QAAA,IAAY,WAAA;;AAdR,UAAAF,MAAA,OAAA,GAAO;;UACb,OAAM;AAAA,UACN,aAAU;AAAA,UACV,MAAK;AAAA,QAAA,GAAA,MAAA,CAAA,CAAA,gSAAA;AAAA;;;;;;;;;;;;;;;;;ACoHX,UAAM,OAAO,aAAA;AACE,cAAA;AACf,UAAM,QAAQ,SAAA;AAQd,UAAM,gBAAgB,SAAS,MAAM;AACnC,YAAM,MAA8B,EAAE,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,KAAA;AACxE,aAAO,IAAI,KAAK,QAAQ,KAAK;AAAA,IAC/B,CAAC;AACD,UAAM,qBAAqB,SAAS,MAAM;AACxC,YAAM,MAA8B,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAA;AACrE,aAAO,IAAI,KAAK,QAAQ,KAAK;AAAA,IAC/B,CAAC;AAED,UAAM,aAAa,SAAS,OAAO,KAAK,WAAW,KAAK,OAAO,CAAC,EAAE,aAAa;AAG/E,UAAM,aAAa;AAAA,MACjB;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,UACL,EAAE,IAAI,aAAa,OAAO,OAAO,IAAI,cAAc,MAAM,gIAAA;AAAA,QAAgI;AAAA,MAC3L;AAAA,MAEF;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,UACL,EAAE,IAAI,WAAW,OAAO,QAAQ,IAAI,YAAY,MAAM,4IAAA;AAAA,UACtD,EAAE,IAAI,WAAW,OAAO,QAAQ,IAAI,YAAY,MAAM,kEAAA;AAAA,UACtD,EAAE,IAAI,QAAQ,OAAO,QAAQ,IAAI,SAAS,MAAM,gFAAA;AAAA,UAChD,EAAE,IAAI,UAAU,OAAO,QAAQ,IAAI,WAAW,MAAM,6HAAA;AAAA,QAA6H;AAAA,MACnL;AAAA,MAEF;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,UACL,EAAE,IAAI,QAAQ,OAAO,QAAQ,IAAI,UAAU,MAAM,sEAAA;AAAA,QAAsE;AAAA,MACzH;AAAA,MAEF;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,UACL,EAAE,IAAI,gBAAgB,OAAO,UAAU,IAAI,iBAAiB,MAAM,wJAAA;AAAA,UAClE,EAAE,IAAI,aAAa,OAAO,SAAS,IAAI,cAAc,MAAM,2JAAA;AAAA,UAC3D,EAAE,IAAI,gBAAgB,OAAO,QAAQ,IAAI,kBAAkB,MAAM,uHAAA;AAAA,UACjE,EAAE,IAAI,aAAa,OAAO,WAAW,IAAI,kBAAkB,MAAM,ugBAAA;AAAA,UACjE,EAAE,IAAI,iBAAiB,OAAO,UAAU,IAAI,kBAAkB,MAAM,wHAAA;AAAA,QAAwH;AAAA,MAC9L;AAAA,MAEF;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,UACL,EAAE,IAAI,QAAQ,OAAO,QAAQ,IAAI,SAAS,MAAM,yJAAA;AAAA,UAChD,EAAE,IAAI,gBAAgB,OAAO,QAAQ,IAAI,iBAAiB,MAAM,sJAAA;AAAA,QAAsJ;AAAA,MACxN;AAAA,MAEF;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,UACL,EAAE,IAAI,gBAAgB,OAAO,QAAQ,IAAI,iBAAiB,MAAM,oFAAA;AAAA,UAChE,EAAE,IAAI,WAAW,OAAO,QAAQ,IAAI,YAAY,MAAM,+IAAA;AAAA,UACtD,EAAE,IAAI,SAAS,OAAO,QAAQ,IAAI,aAAa,MAAM,gHAAA;AAAA,QAAgH;AAAA,MACvK;AAAA,IACF;AAGF,aAAS,gBAAgB,OAAkC;AACzD,aAAO,MAAM,MAAM,KAAK,CAAC,SAAS,KAAK,UAAU,KAAK,EAAE,CAAC;AAAA,IAC3D;AAEA,UAAM,YAAY,SAAS,MAAM;AAC/B,UAAI,MAAM,MAAM,MAAO,QAAO,MAAM,KAAK;AACzC,iBAAW,KAAK,YAAY;AAC1B,cAAM,OAAO,EAAE,MAAM,KAAK,CAAC,MAAM,MAAM,KAAK,WAAW,EAAE,EAAE,CAAC;AAC5D,YAAI,aAAa,KAAK;AAAA,MACxB;AACA,aAAO;AAAA,IACT,CAAC;;;;;mBA5MMH,eAAAC,WAAA,EAAA,OAAM,uBAAmB,MAAA,CAAA,yGAI1B,EAAA,SAAA,SAAA,cAAA,UAAA,CAAwC,CAAA,iBAAAK,eAGnC,EAAA,WAAA,kBAAA,iBAAA,oCAA+E,CAAA,iBAAAA,eAC7E,EAAA,WAAA,QAAA,eAAA,UAAA,OAAA,QAAmD,CAAA,iBAAAA,eACjD,EAAA,SAAA,QAAA,UAAA,QAAA,cAAA,2CAAA,iBAAA,QAAA,WAAA,QAAA,eAAA,UAAA,mBAAA,UAAA,cAAA,mCAAA,eAAA,KAA6N,CAAA,iBAAAA,eAC3N,EAAA,SAAA,QAAA,UAAA,QAAA,SAAA,QAA4C,CAAA,mRAAAA,eAK5C,EAAA,SAAA,QAAA,eAAA,OAAA,aAAA,QAAA,kBAAA,UAAA,CAA4E,CAAA,KAAID,eAAAF,MAAA,IAAA,EAAK,aAAS,OAAA,CAAA,qBAAAG,eAC9F,EAAA,SAAA,WAAA,aAAA,QAAA,eAAA,OAAuD,CAAA,+DAAAA,eAM7D,EAAA,WAAA,UAAA,QAAA,KAA+B,CAAA,YAAA;AACRJ,oBAAA,aAAT,UAAK;;AACT,YAAA,gBAAgB,KAAK,GAAA;AAA6C,gBAAA,4BAAAG,eAAA,MAAM,KAAK,CAAA,QAAA;AAAA,QAAA,OAAA;;;;sBAC/D,MAAM,OAAK,CAAnB,SAAI;;AAEX,cAAAF,MAAA,IAAA,EAAK,UAAU,KAAK,EAAE,GAAA;;cAC3B,KAAK,KAAK;AAAA,cACV,IAAI,KAAK;AAAA,cACV,OAAM;AAAA,cACN,gBAAa;AAAA,YAAA,GAAA;AAAA,+BALf,CAWW,GAAAI,QAAAC,UAAA,aAAA;;AAHgE,yBAAA,iGAAA,QAAA,yEAAAC,cAAA,KAAG,KAAK,IAAI,CAAA,GAAA,QAAA,kBAElFJ,eAAA,KAAK,KAAK,CAAA,EAAA;AAAA;;qBAHbK,UAAA,GAAAC,YAEM,OAAA;AAAA,sBAFD,OAAM;AAAA,sBAAO,OAAM;AAAA,sBAAK,QAAO;AAAA,sBAAK,MAAK;AAAA,sBAAO,SAAQ;AAAA,sBAAY,QAAO;AAAA,oBAAA,GAAA;AAAA,sBAC9EC,YAAuF,QAAA;AAAA,wBAAjF,kBAAe;AAAA,wBAAQ,mBAAgB;AAAA,wBAAQ,gBAAa;AAAA,wBAAK,GAAG,KAAK;AAAA,sBAAA,GAAA,MAAA,GAAA,CAAA,GAAA,CAAA;AAAA;oBAC3EC,gBAAA,MACNC,gBAAG,KAAK,KAAK,GAAA,CAAA;AAAA,kBAAA;AAAA;;;;;;;;;;;wDAOhB,EAAA,cAAA,QAAA,WAAA,aAAA,cAAA,mCAAA,CAAwF,CAAA,iBAAAR,eACtF,EAAA,WAAA,QAAA,eAAA,UAAA,OAAA,OAAA,CAAmD,CAAA,iBAAAA,eACjD,EAAA,SAAA,QAAA,UAAA,QAAA,iBAAA,OAAA,cAAA,2CAAA,SAAA,QAAA,WAAA,QAAA,eAAA,UAAA,mBAAA,UAAA,eAAA,OAAA,eAAA,IAAA,CAA6M,qBAC7M,WAAA,KAAU,CAAA,qBAAAA,eAEV,EAAA,aAAA,IAAA,CAAoB,CAAA,iBAAAA,eAClB,EAAA,SAAA,WAAA,aAAA,QAAA,eAAA,OAAA,eAAA,OAAA,YAAA,UAAA,iBAAA,YAAA,eAAA,SAAA,CAAqI,CAAA,KAAID,eAAAF,MAAA,IAAA,EAAK,WAAO,GAAA,CAAA,qBAAAG,eACrJ,EAAA,SAAA,WAAA,aAAA,QAAA,cAAA,MAAA,CAAsD,CAAA,KAAAD,eAAI,cAAA,KAAa,CAAA,+DAAAC,eAO/D,EAAA,eAAA,QAAA,CAA0B,uRAOG,UAAA,KAAS,CAAA,knBAAAA,eAYwC,EAAA,cAAA,QAAA,CAAyB,CAAA,sdAAAD,eAarF,WAAA,KAAU,CAAA,6EAIgBA,eAAAF,MAAA,IAAA,EAAK,OAAO,CAAA,iDAAAE,eACtB,mBAAA,KAAkB,CAAA,iNAAA;;;;;;;;;;;;;;;","names":["_ssrRenderAttrs","_mergeProps","_ssrRenderList","_unref","_ssrRenderClass","_ssrInterpolate","_ssrRenderStyle","_push","_parent","_ssrRenderAttr","_openBlock","_createBlock","_createVNode","_createTextVNode","_toDisplayString"],"sources":["../../../../../../../app/components/AppToast.vue","../../../../../../../app/components/AppLoading.vue","../../../../../../../app/layouts/default.vue"],"sourcesContent":["\n\n\n","\n\n\n\n\n","\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-DDIg74_f.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-Vvv7KKiT.js similarity index 98% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-DDIg74_f.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-Vvv7KKiT.js index 01aa5c3d..a417d163 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-DDIg74_f.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-Vvv7KKiT.js @@ -1,13 +1,12 @@ import { _ as __nuxt_component_0 } from "./nuxt-link-CQqhT_O_.js"; import { defineComponent, mergeProps, unref, useSSRContext, computed, withCtx, openBlock, createBlock, createVNode, createTextVNode, toDisplayString } from "vue"; import { ssrRenderAttrs, ssrRenderList, ssrRenderClass, ssrInterpolate, ssrRenderStyle, ssrRenderComponent, ssrRenderAttr, ssrRenderSlot } from "vue/server-renderer"; -import { u as useToast } from "./useToast-C76a6bSX.js"; -import { u as useLoading } from "./useLoading-D6mc40Wj.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; +import { u as useLoading } from "./useLoading-D4zrSa2m.js"; import { _ as _export_sfc, b as useRouter, a as useRoute } from "../server.mjs"; import { u as useAuthStore } from "./auth-QFkCoU1C.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ufo@1.6.4/node_modules/ufo/dist/index.mjs"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/defu@6.1.7/node_modules/defu/dist/defu.mjs"; -import "./state-DQnwRar-.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -224,4 +223,4 @@ _sfc_main.setup = (props, ctx) => { export { _sfc_main as default }; -//# sourceMappingURL=default-DDIg74_f.js.map +//# sourceMappingURL=default-Vvv7KKiT.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-DDIg74_f.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-Vvv7KKiT.js.map similarity index 73% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-DDIg74_f.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-Vvv7KKiT.js.map index ebe121f9..fd9a8ea4 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-DDIg74_f.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-Vvv7KKiT.js.map @@ -1 +1 @@ -{"version":3,"file":"default-DDIg74_f.js","sources":["../../../../../../../app/components/AppToast.vue","../../../../../../../app/components/AppLoading.vue","../../../../../../../app/layouts/default.vue"],"sourcesContent":["\n\n\n","\n\n\n\n\n","\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_ssrRenderList","_unref","_ssrRenderClass","_ssrInterpolate","_ssrRenderStyle","_push","_parent","_ssrRenderAttr","_openBlock","_createBlock","_createVNode","_createTextVNode","_toDisplayString"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"default-Vvv7KKiT.js","sources":["../../../../../../../app/components/AppToast.vue","../../../../../../../app/components/AppLoading.vue","../../../../../../../app/layouts/default.vue"],"sourcesContent":["\n\n\n","\n\n\n\n\n","\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_ssrRenderList","_unref","_ssrRenderClass","_ssrInterpolate","_ssrRenderStyle","_push","_parent","_ssrRenderAttr","_openBlock","_createBlock","_createVNode","_createTextVNode","_toDisplayString"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-Vvv7KKiT.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-Vvv7KKiT.js.map.json new file mode 100644 index 00000000..24b35a53 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/default-Vvv7KKiT.js.map.json @@ -0,0 +1 @@ +{"file":"default-Vvv7KKiT.js","mappings":"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","names":["_ssrRenderAttrs","_mergeProps","_ssrRenderList","_unref","_ssrRenderClass","_ssrInterpolate","_ssrRenderStyle","_push","_parent","_ssrRenderAttr","_openBlock","_createBlock","_createVNode","_createTextVNode","_toDisplayString"],"sources":["../../../../../../../app/components/AppToast.vue","../../../../../../../app/components/AppLoading.vue","../../../../../../../app/layouts/default.vue"],"sourcesContent":["\n\n\n","\n\n\n\n\n","\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CraC512i.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CfQFMgWh.js similarity index 99% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CraC512i.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CfQFMgWh.js index c728ce47..6600c1f2 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CraC512i.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CfQFMgWh.js @@ -1,11 +1,10 @@ import { defineComponent, computed, ref, reactive, mergeProps, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderStyle, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderList, ssrInterpolate, ssrRenderClass } from "vue/server-renderer"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; import { u as useAuthStore } from "./auth-QFkCoU1C.js"; import "../server.mjs"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; import "pinia"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; @@ -213,4 +212,4 @@ _sfc_main.setup = (props, ctx) => { export { _sfc_main as default }; -//# sourceMappingURL=device-CraC512i.js.map +//# sourceMappingURL=device-CfQFMgWh.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CraC512i.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CfQFMgWh.js.map similarity index 83% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CraC512i.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CfQFMgWh.js.map index 717c41ca..db5d2500 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CraC512i.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CfQFMgWh.js.map @@ -1 +1 @@ -{"version":3,"file":"device-CraC512i.js","sources":["../../../../../../../app/pages/device.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_ssrRenderStyle","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate","_ssrRenderClass"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"device-CfQFMgWh.js","sources":["../../../../../../../app/pages/device.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_ssrRenderStyle","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate","_ssrRenderClass"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CfQFMgWh.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CfQFMgWh.js.map.json new file mode 100644 index 00000000..d0b2fa0d --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CfQFMgWh.js.map.json @@ -0,0 +1 @@ +{"file":"device-CfQFMgWh.js","mappings":"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","names":["_ssrRenderAttrs","_mergeProps","_ssrRenderStyle","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate","_ssrRenderClass"],"sources":["../../../../../../../app/pages/device.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CraC512i.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CraC512i.js.map.json deleted file mode 100644 index f6f6a6bb..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/device-CraC512i.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"device-CraC512i.js","mappings":"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","names":["_ssrRenderAttrs","_mergeProps","_ssrRenderStyle","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate","_ssrRenderClass"],"sources":["../../../../../../../app/pages/device.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-SWB_O04K.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-COih38_P.js similarity index 98% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-SWB_O04K.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-COih38_P.js index 8c6ba298..9e57e883 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-SWB_O04K.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-COih38_P.js @@ -1,12 +1,11 @@ import { defineComponent, ref, reactive, computed, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderStyle, ssrRenderList, ssrInterpolate, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrRenderClass } from "vue/server-renderer"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; import "../server.mjs"; import "./auth-QFkCoU1C.js"; import "pinia"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -112,4 +111,4 @@ _sfc_main.setup = (props, ctx) => { export { _sfc_main as default }; -//# sourceMappingURL=environments-SWB_O04K.js.map +//# sourceMappingURL=environments-COih38_P.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-SWB_O04K.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-COih38_P.js.map similarity index 84% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-SWB_O04K.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-COih38_P.js.map index a2533490..cd3f5dbc 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-SWB_O04K.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-COih38_P.js.map @@ -1 +1 @@ -{"version":3,"file":"environments-SWB_O04K.js","sources":["../../../../../../../app/pages/environments.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrRenderClass"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"environments-COih38_P.js","sources":["../../../../../../../app/pages/environments.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrRenderClass"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-COih38_P.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-COih38_P.js.map.json new file mode 100644 index 00000000..10a44c9b --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-COih38_P.js.map.json @@ -0,0 +1 @@ +{"file":"environments-COih38_P.js","mappings":"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","names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrRenderClass"],"sources":["../../../../../../../app/pages/environments.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-SWB_O04K.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-SWB_O04K.js.map.json deleted file mode 100644 index 801a1115..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/environments-SWB_O04K.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"environments-SWB_O04K.js","mappings":"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","names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrRenderClass"],"sources":["../../../../../../../app/pages/environments.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-C8vqM9Rd.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-C8vqM9Rd.js.map.json deleted file mode 100644 index ede5c091..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-C8vqM9Rd.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"factory-C8vqM9Rd.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;AAqHmB,WAAA;AACc,aAAA;AAEjC,UAAM,OAAO,IAAqB,MAAM;AACxC,UAAM,OAAO,IAAe,EAAE;AAC9B,UAAM,UAAU,IAAI,KAAK;AACzB,UAAM,aAAa,IAAI,KAAK;AAC5B,UAAM,YAAY,IAAI,KAAK;AAC3B,UAAM,SAAS,IAAc,EAAE;AAC/B,UAAM,WAAW,IAAI,EAAE;AAEvB,UAAM,OAAO,SAAS,EAAE,IAAI,GAAG,SAAS,IAAI,aAAa,IAAI,aAAa,GAAA,CAAI;AAE9E,aAAS,MAAM,IAAY;AACzB,aAAO,KAAK,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,gBAAgB;AAAA,IACtD;AACA,aAAS,SAAS,GAAY;AAC5B,cAAQ,KAAK,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAA,CAAM,EAAE,OAAO,OAAO;AAAA,IACjE;;AApIiB,YAAA,OAAAA,eAAA,MAAA,CAAA,gBAAAC,eAAA,KAAA,UAAI,SAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,0aAAA;AAcG,UAAA,QAAA,OAAO;;MAGD,WAAA,CAAA,KAAA,MAAK,QAAM;;;;;;AAGXC,oBAAA,KAAA,QAAL,MAAC;kEACuB,MAAM,EAAE,EAAE,CAAA,CAAA,gCAChBC,eAAA,EAAE,OAAO,CAAA,qDACYA,eAAA,EAAE,WAAW,CAAA,kCAAA;AAE3C,YAAA,SAAS,EAAE,YAAY,EAAE,QAAM;;AACtBD,wBAAA,SAAS,EAAE,YAAY,GAAA,CAAhC,GAAG,MAAC;AAAmF,kBAAA,iDAAAC,eAAA,CAAC,CAAA,SAAA;AAAA,UAAA,CAAA;;;;;AAInG,cAAA,YAAAA,eAAA,EAAE,YAAQ,CAAA,4CACqBA,eAAA,EAAE,gBAAY,EAAA,CAAA,gKAAA;AAAA;oFAenD,KAAA,UAAI,SAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,oJAAAA,eAGuC,UAAA,QAAS,SAAA,MAAA,0NAMzCC,cAAA,SAAA,KAAK,OAAO,CAAA,qLAIZA,cAAA,SAAA,KAAK,WAAW,CAAA,iOAIbD,eAAA,KAAK,WAAW,CAAA,sJAAA;AAOvB,UAAA,CAAA,OAAA,MAAO,QAAM;;;;;;oBACD,OAAA,OAAM,CAAf,GAAG,MAAC;AAKV,cAAA,gYAAAA,eAAA,CAAC,CAAA,4GAAA;AAAA,MAAA,CAAA;AAMQ,YAAA,oDAAAC,cAAA,SAAA,SAAA,KAAQ,CAAA,kTAAAC,sBAO0C,WAAA,KAAU,IAAA,cAAA,EAAA,6CAAA;AAAA;;;;;;;;;","names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr"],"sources":["../../../../../../../app/pages/factory.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-C8vqM9Rd.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-L6nRQ1NO.js similarity index 97% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-C8vqM9Rd.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-L6nRQ1NO.js index 0b074586..be573837 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-C8vqM9Rd.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-L6nRQ1NO.js @@ -1,12 +1,11 @@ import { defineComponent, ref, reactive, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderStyle, ssrRenderList, ssrInterpolate, ssrRenderAttr, ssrIncludeBooleanAttr } from "vue/server-renderer"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; import "../server.mjs"; import "./auth-QFkCoU1C.js"; import "pinia"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -83,4 +82,4 @@ _sfc_main.setup = (props, ctx) => { export { _sfc_main as default }; -//# sourceMappingURL=factory-C8vqM9Rd.js.map +//# sourceMappingURL=factory-L6nRQ1NO.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-C8vqM9Rd.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-L6nRQ1NO.js.map similarity index 85% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-C8vqM9Rd.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-L6nRQ1NO.js.map index 14ff7295..7f928094 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-C8vqM9Rd.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-L6nRQ1NO.js.map @@ -1 +1 @@ -{"version":3,"file":"factory-C8vqM9Rd.js","sources":["../../../../../../../app/pages/factory.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAqHmB,WAAA;AACc,aAAA;AAEjC,UAAM,OAAO,IAAqB,MAAM;AACxC,UAAM,OAAO,IAAe,EAAE;AAC9B,UAAM,UAAU,IAAI,KAAK;AACzB,UAAM,aAAa,IAAI,KAAK;AAC5B,UAAM,YAAY,IAAI,KAAK;AAC3B,UAAM,SAAS,IAAc,EAAE;AAC/B,UAAM,WAAW,IAAI,EAAE;AAEvB,UAAM,OAAO,SAAS,EAAE,IAAI,GAAG,SAAS,IAAI,aAAa,IAAI,aAAa,GAAA,CAAI;AAE9E,aAAS,MAAM,IAAY;AACzB,aAAO,KAAK,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,gBAAgB;AAAA,IACtD;AACA,aAAS,SAAS,GAAY;AAC5B,cAAQ,KAAK,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAA,CAAM,EAAE,OAAO,OAAO;AAAA,IACjE;;AApIiB,YAAA,OAAAA,eAAA,MAAA,CAAA,gBAAAC,eAAA,KAAA,UAAI,SAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,0aAAA;AAcG,UAAA,QAAA,OAAO;;MAGD,WAAA,CAAA,KAAA,MAAK,QAAM;;;;;;AAGXC,oBAAA,KAAA,QAAL,MAAC;kEACuB,MAAM,EAAE,EAAE,CAAA,CAAA,gCAChBC,eAAA,EAAE,OAAO,CAAA,qDACYA,eAAA,EAAE,WAAW,CAAA,kCAAA;AAE3C,YAAA,SAAS,EAAE,YAAY,EAAE,QAAM;;AACtBD,wBAAA,SAAS,EAAE,YAAY,GAAA,CAAhC,GAAG,MAAC;AAAmF,kBAAA,iDAAAC,eAAA,CAAC,CAAA,SAAA;AAAA,UAAA,CAAA;;;;;AAInG,cAAA,YAAAA,eAAA,EAAE,YAAQ,CAAA,4CACqBA,eAAA,EAAE,gBAAY,EAAA,CAAA,gKAAA;AAAA;oFAenD,KAAA,UAAI,SAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,oJAAAA,eAGuC,UAAA,QAAS,SAAA,MAAA,0NAMzCC,cAAA,SAAA,KAAK,OAAO,CAAA,qLAIZA,cAAA,SAAA,KAAK,WAAW,CAAA,iOAIbD,eAAA,KAAK,WAAW,CAAA,sJAAA;AAOvB,UAAA,CAAA,OAAA,MAAO,QAAM;;;;;;oBACD,OAAA,OAAM,CAAf,GAAG,MAAC;AAKV,cAAA,gYAAAA,eAAA,CAAC,CAAA,4GAAA;AAAA,MAAA,CAAA;AAMQ,YAAA,oDAAAC,cAAA,SAAA,SAAA,KAAQ,CAAA,kTAAAC,sBAO0C,WAAA,KAAU,IAAA,cAAA,EAAA,6CAAA;AAAA;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"factory-L6nRQ1NO.js","sources":["../../../../../../../app/pages/factory.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqHmB,WAAA;AACc,aAAA;AAEjC,UAAM,OAAO,IAAqB,MAAM;AACxC,UAAM,OAAO,IAAe,EAAE;AAC9B,UAAM,UAAU,IAAI,KAAK;AACzB,UAAM,aAAa,IAAI,KAAK;AAC5B,UAAM,YAAY,IAAI,KAAK;AAC3B,UAAM,SAAS,IAAc,EAAE;AAC/B,UAAM,WAAW,IAAI,EAAE;AAEvB,UAAM,OAAO,SAAS,EAAE,IAAI,GAAG,SAAS,IAAI,aAAa,IAAI,aAAa,GAAA,CAAI;AAE9E,aAAS,MAAM,IAAY;AACzB,aAAO,KAAK,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,gBAAgB;AAAA,IACtD;AACA,aAAS,SAAS,GAAY;AAC5B,cAAQ,KAAK,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAA,CAAM,EAAE,OAAO,OAAO;AAAA,IACjE;;AApIiB,YAAA,OAAAA,eAAA,MAAA,CAAA,gBAAAC,eAAA,KAAA,UAAI,SAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,0aAAA;AAcG,UAAA,QAAA,OAAO;;MAGD,WAAA,CAAA,KAAA,MAAK,QAAM;;;;;;AAGXC,oBAAA,KAAA,QAAL,MAAC;kEACuB,MAAM,EAAE,EAAE,CAAA,CAAA,gCAChBC,eAAA,EAAE,OAAO,CAAA,qDACYA,eAAA,EAAE,WAAW,CAAA,kCAAA;AAE3C,YAAA,SAAS,EAAE,YAAY,EAAE,QAAM;;AACtBD,wBAAA,SAAS,EAAE,YAAY,GAAA,CAAhC,GAAG,MAAC;AAAmF,kBAAA,iDAAAC,eAAA,CAAC,CAAA,SAAA;AAAA,UAAA,CAAA;;;;;AAInG,cAAA,YAAAA,eAAA,EAAE,YAAQ,CAAA,4CACqBA,eAAA,EAAE,gBAAY,EAAA,CAAA,gKAAA;AAAA;oFAenD,KAAA,UAAI,SAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,oJAAAA,eAGuC,UAAA,QAAS,SAAA,MAAA,0NAMzCC,cAAA,SAAA,KAAK,OAAO,CAAA,qLAIZA,cAAA,SAAA,KAAK,WAAW,CAAA,iOAIbD,eAAA,KAAK,WAAW,CAAA,sJAAA;AAOvB,UAAA,CAAA,OAAA,MAAO,QAAM;;;;;;oBACD,OAAA,OAAM,CAAf,GAAG,MAAC;AAKV,cAAA,gYAAAA,eAAA,CAAC,CAAA,4GAAA;AAAA,MAAA,CAAA;AAMQ,YAAA,oDAAAC,cAAA,SAAA,SAAA,KAAQ,CAAA,kTAAAC,sBAO0C,WAAA,KAAU,IAAA,cAAA,EAAA,6CAAA;AAAA;;;;;;;;;"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-L6nRQ1NO.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-L6nRQ1NO.js.map.json new file mode 100644 index 00000000..6f857927 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/factory-L6nRQ1NO.js.map.json @@ -0,0 +1 @@ +{"file":"factory-L6nRQ1NO.js","mappings":";;;;;;;;;;;;;;;;;;;;;;AAqHmB,WAAA;AACc,aAAA;AAEjC,UAAM,OAAO,IAAqB,MAAM;AACxC,UAAM,OAAO,IAAe,EAAE;AAC9B,UAAM,UAAU,IAAI,KAAK;AACzB,UAAM,aAAa,IAAI,KAAK;AAC5B,UAAM,YAAY,IAAI,KAAK;AAC3B,UAAM,SAAS,IAAc,EAAE;AAC/B,UAAM,WAAW,IAAI,EAAE;AAEvB,UAAM,OAAO,SAAS,EAAE,IAAI,GAAG,SAAS,IAAI,aAAa,IAAI,aAAa,GAAA,CAAI;AAE9E,aAAS,MAAM,IAAY;AACzB,aAAO,KAAK,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,gBAAgB;AAAA,IACtD;AACA,aAAS,SAAS,GAAY;AAC5B,cAAQ,KAAK,IAAI,MAAM,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAA,CAAM,EAAE,OAAO,OAAO;AAAA,IACjE;;AApIiB,YAAA,OAAAA,eAAA,MAAA,CAAA,gBAAAC,eAAA,KAAA,UAAI,SAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,0aAAA;AAcG,UAAA,QAAA,OAAO;;MAGD,WAAA,CAAA,KAAA,MAAK,QAAM;;;;;;AAGXC,oBAAA,KAAA,QAAL,MAAC;kEACuB,MAAM,EAAE,EAAE,CAAA,CAAA,gCAChBC,eAAA,EAAE,OAAO,CAAA,qDACYA,eAAA,EAAE,WAAW,CAAA,kCAAA;AAE3C,YAAA,SAAS,EAAE,YAAY,EAAE,QAAM;;AACtBD,wBAAA,SAAS,EAAE,YAAY,GAAA,CAAhC,GAAG,MAAC;AAAmF,kBAAA,iDAAAC,eAAA,CAAC,CAAA,SAAA;AAAA,UAAA,CAAA;;;;;AAInG,cAAA,YAAAA,eAAA,EAAE,YAAQ,CAAA,4CACqBA,eAAA,EAAE,gBAAY,EAAA,CAAA,gKAAA;AAAA;oFAenD,KAAA,UAAI,SAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,oJAAAA,eAGuC,UAAA,QAAS,SAAA,MAAA,0NAMzCC,cAAA,SAAA,KAAK,OAAO,CAAA,qLAIZA,cAAA,SAAA,KAAK,WAAW,CAAA,iOAIbD,eAAA,KAAK,WAAW,CAAA,sJAAA;AAOvB,UAAA,CAAA,OAAA,MAAO,QAAM;;;;;;oBACD,OAAA,OAAM,CAAf,GAAG,MAAC;AAKV,cAAA,gYAAAA,eAAA,CAAC,CAAA,4GAAA;AAAA,MAAA,CAAA;AAMQ,YAAA,oDAAAC,cAAA,SAAA,SAAA,KAAQ,CAAA,kTAAAC,sBAO0C,WAAA,KAAU,IAAA,cAAA,EAAA,6CAAA;AAAA;;;;;;;;;","names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr"],"sources":["../../../../../../../app/pages/factory.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-VTDKVQk0.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-B_Ujsbj7.js similarity index 97% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-VTDKVQk0.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-B_Ujsbj7.js index 40827ff2..4a1ec3e7 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-VTDKVQk0.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-B_Ujsbj7.js @@ -1,12 +1,11 @@ import { defineComponent, ref, reactive, computed, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderStyle, ssrRenderList, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrInterpolate } from "vue/server-renderer"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; import "../server.mjs"; import "./auth-QFkCoU1C.js"; import "pinia"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -103,4 +102,4 @@ _sfc_main.setup = (props, ctx) => { export { _sfc_main as default }; -//# sourceMappingURL=globalconfig-VTDKVQk0.js.map +//# sourceMappingURL=globalconfig-B_Ujsbj7.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-VTDKVQk0.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-B_Ujsbj7.js.map similarity index 78% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-VTDKVQk0.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-B_Ujsbj7.js.map index 69accfa8..51fa4809 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-VTDKVQk0.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-B_Ujsbj7.js.map @@ -1 +1 @@ -{"version":3,"file":"globalconfig-VTDKVQk0.js","sources":["../../../../../../../app/pages/globalconfig.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate","_ssrRenderAttr","_ssrLooseEqual"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"globalconfig-B_Ujsbj7.js","sources":["../../../../../../../app/pages/globalconfig.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate","_ssrRenderAttr","_ssrLooseEqual"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-B_Ujsbj7.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-B_Ujsbj7.js.map.json new file mode 100644 index 00000000..c43648a2 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-B_Ujsbj7.js.map.json @@ -0,0 +1 @@ +{"file":"globalconfig-B_Ujsbj7.js","mappings":"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","names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate","_ssrRenderAttr","_ssrLooseEqual"],"sources":["../../../../../../../app/pages/globalconfig.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-VTDKVQk0.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-VTDKVQk0.js.map.json deleted file mode 100644 index a4499876..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/globalconfig-VTDKVQk0.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"globalconfig-VTDKVQk0.js","mappings":"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","names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate","_ssrRenderAttr","_ssrLooseEqual"],"sources":["../../../../../../../app/pages/globalconfig.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-CBH98Fue.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-BqT6PWeV.js similarity index 97% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-CBH98Fue.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-BqT6PWeV.js index c294a039..14f7834f 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-CBH98Fue.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-BqT6PWeV.js @@ -1,12 +1,11 @@ import { defineComponent, ref, reactive, computed, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderStyle, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderList, ssrInterpolate, ssrRenderClass } from "vue/server-renderer"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; import "../server.mjs"; import "./auth-QFkCoU1C.js"; import "pinia"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -55,7 +54,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ const loading = ref(false); const submitting = ref(false); const isEditing = ref(false); - const regionFilter = ref(0); + const regionFilter = ref(1); const kwFilter = ref(""); const form = reactive({ id: "", @@ -118,4 +117,4 @@ _sfc_main.setup = (props, ctx) => { export { _sfc_main as default }; -//# sourceMappingURL=mcpconfig-CBH98Fue.js.map +//# sourceMappingURL=mcpconfig-BqT6PWeV.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-CBH98Fue.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-BqT6PWeV.js.map similarity index 59% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-CBH98Fue.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-BqT6PWeV.js.map index 2ef885c6..3b18a237 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-CBH98Fue.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-BqT6PWeV.js.map @@ -1 +1 @@ -{"version":3,"file":"mcpconfig-CBH98Fue.js","sources":["../../../../../../../app/pages/mcpconfig.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate","_ssrRenderStyle","_ssrRenderClass"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"mcpconfig-BqT6PWeV.js","sources":["../../../../../../../app/pages/mcpconfig.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate","_ssrRenderStyle","_ssrRenderClass"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-BqT6PWeV.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-BqT6PWeV.js.map.json new file mode 100644 index 00000000..f3dc1b5a --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-BqT6PWeV.js.map.json @@ -0,0 +1 @@ +{"file":"mcpconfig-BqT6PWeV.js","mappings":"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","names":["_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate","_ssrRenderStyle","_ssrRenderClass"],"sources":["../../../../../../../app/pages/mcpconfig.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-CBH98Fue.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-CBH98Fue.js.map.json deleted file mode 100644 index 2598675a..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/mcpconfig-CBH98Fue.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"mcpconfig-CBH98Fue.js","mappings":"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","names":["_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderList","_ssrInterpolate","_ssrRenderStyle","_ssrRenderClass"],"sources":["../../../../../../../app/pages/mcpconfig.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-JHBZiczV.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-JHBZiczV.js.map.json deleted file mode 100644 index 625efd8e..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-JHBZiczV.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"meettemplates-JHBZiczV.js","mappings":"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","names":["_ssrLooseEqual","_ssrRenderList","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate"],"sources":["../../../../../../../app/pages/meettemplates.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-JHBZiczV.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-dtbgdbi_.js similarity index 96% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-JHBZiczV.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-dtbgdbi_.js index 77dd5b3d..7fe91f68 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-JHBZiczV.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-dtbgdbi_.js @@ -1,12 +1,11 @@ import { defineComponent, ref, reactive, computed, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderStyle, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderList, ssrRenderAttr, ssrInterpolate } from "vue/server-renderer"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; import "../server.mjs"; import "./auth-QFkCoU1C.js"; import "pinia"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -28,7 +27,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ const loading = ref(false); const submitting = ref(false); const isEditing = ref(false); - const langFilter = ref(""); + const langFilter = ref("zh"); const tidFilter = ref(""); const kwFilter = ref(""); const form = reactive({ @@ -46,6 +45,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ function tagList(s) { return (s || "").split(",").map((x) => x.trim()).filter(Boolean); } + function baseLang(s) { + return (s || "").split("-")[0].trim().toLowerCase(); + } const langOptions = computed(() => { const set = /* @__PURE__ */ new Set(); rows.value.forEach((t) => { @@ -63,7 +65,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ const filteredRows = computed(() => { const kw = kwFilter.value.trim().toLowerCase(); return rows.value.filter((t) => { - if (langFilter.value && (t.language || "") !== langFilter.value) return false; + if (langFilter.value && baseLang(t.language) !== baseLang(langFilter.value)) return false; if (tidFilter.value && (t.tid || "") !== tidFilter.value) return false; if (kw && (t.title || "").toLowerCase().indexOf(kw) < 0) return false; return true; @@ -130,4 +132,4 @@ _sfc_main.setup = (props, ctx) => { export { _sfc_main as default }; -//# sourceMappingURL=meettemplates-JHBZiczV.js.map +//# sourceMappingURL=meettemplates-dtbgdbi_.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-JHBZiczV.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-dtbgdbi_.js.map similarity index 52% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-JHBZiczV.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-dtbgdbi_.js.map index b3d9e95a..73d06586 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-JHBZiczV.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-dtbgdbi_.js.map @@ -1 +1 @@ -{"version":3,"file":"meettemplates-JHBZiczV.js","sources":["../../../../../../../app/pages/meettemplates.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrLooseEqual","_ssrRenderList","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"meettemplates-dtbgdbi_.js","sources":["../../../../../../../app/pages/meettemplates.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrLooseEqual","_ssrRenderList","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-dtbgdbi_.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-dtbgdbi_.js.map.json new file mode 100644 index 00000000..5772b0e0 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/meettemplates-dtbgdbi_.js.map.json @@ -0,0 +1 @@ +{"file":"meettemplates-dtbgdbi_.js","mappings":"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","names":["_ssrLooseEqual","_ssrRenderList","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate"],"sources":["../../../../../../../app/pages/meettemplates.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-B4xMZxup.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-B4xMZxup.js.map.json deleted file mode 100644 index becae7bd..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-B4xMZxup.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"product-B4xMZxup.js","mappings":"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","names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderClass"],"sources":["../../../../../../../app/pages/product.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-B4xMZxup.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-DhA82rI2.js similarity index 98% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-B4xMZxup.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-DhA82rI2.js index c60e824d..a2aecaea 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-B4xMZxup.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-DhA82rI2.js @@ -1,12 +1,11 @@ import { defineComponent, ref, reactive, computed, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderStyle, ssrRenderList, ssrInterpolate, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderClass } from "vue/server-renderer"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; import "../server.mjs"; import "./auth-QFkCoU1C.js"; import "pinia"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -189,4 +188,4 @@ _sfc_main.setup = (props, ctx) => { export { _sfc_main as default }; -//# sourceMappingURL=product-B4xMZxup.js.map +//# sourceMappingURL=product-DhA82rI2.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-B4xMZxup.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-DhA82rI2.js.map similarity index 70% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-B4xMZxup.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-DhA82rI2.js.map index 2bcedd06..1836b5eb 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-B4xMZxup.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-DhA82rI2.js.map @@ -1 +1 @@ -{"version":3,"file":"product-B4xMZxup.js","sources":["../../../../../../../app/pages/product.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAmP+B,WAAA;AACE,aAAA;AAEjC,UAAM,cAAsC,EAAE,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAA;AAClH,UAAM,oBAA4C,EAAE,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAA;AAE5H,UAAM,eAAe;AAAA,MACnB,EAAE,KAAK,kBAAkB,OAAO,UAAA;AAAA,MAChC,EAAE,KAAK,oBAAoB,OAAO,OAAA;AAAA,MAClC,EAAE,KAAK,YAAY,OAAO,SAAA;AAAA,MAC1B,EAAE,KAAK,aAAa,OAAO,OAAA;AAAA,MAC3B,EAAE,KAAK,kBAAkB,OAAO,OAAA;AAAA,MAChC,EAAE,KAAK,kBAAkB,OAAO,OAAA;AAAA,MAChC,EAAE,KAAK,aAAa,OAAO,QAAA;AAAA,MAC3B,EAAE,KAAK,oBAAoB,OAAO,OAAA;AAAA,MAClC,EAAE,KAAK,wBAAwB,OAAO,KAAA;AAAA,MACtC,EAAE,KAAK,kBAAkB,OAAO,OAAA;AAAA,MAChC,EAAE,KAAK,mBAAmB,OAAO,QAAA;AAAA,MACjC,EAAE,KAAK,gBAAgB,OAAO,OAAA;AAAA,MAC9B,EAAE,KAAK,0BAA0B,OAAO,SAAA;AAAA,MACxC,EAAE,KAAK,mBAAmB,OAAO,SAAA;AAAA,IAAS;AAG5C,UAAM,OAAO,IAAiC,MAAM;AACpD,UAAM,OAAO,IAAe,EAAE;AAC9B,UAAM,YAAY,IAA4B,EAAE;AAChD,UAAM,iBAAiB,IAAuC,EAAE;AAChE,UAAM,UAAU,IAAI,KAAK;AACzB,UAAM,aAAa,IAAI,KAAK;AAC5B,UAAM,YAAY,IAAI,KAAK;AAE3B,aAAS,eAAwC;AAC/C,YAAM,IAA6B,CAAA;AACnC,mBAAa,QAAQ,CAAC,MAAM;AAAE,UAAE,EAAE,GAAG,IAAI;AAAA,MAAM,CAAC;AAChD,aAAO;AAAA,IACT;AAEA,UAAM,OAAO,SAAS;AAAA,MACpB,IAAI;AAAA,MAAG,YAAY;AAAA,MAAI,WAAW;AAAA,MAAG,YAAY;AAAA,MAAG,UAAU;AAAA,MAAI,iBAAiB;AAAA,MACnF,cAAc;AAAA,MAAI,SAAS;AAAA,MAC3B,mBAAmB;AAAA,MAAG,qBAAqB;AAAA,MAAG,mBAAmB;AAAA,MACjE,SAAS,aAAA;AAAA,IAAa,CACvB;AACD,UAAM,cAAc,SAAS,EAAE,aAAa,IAAI,cAAc,IAAI,KAAK,IAAI;AAE3E,aAAS,MAAM,IAAY;AAAE,aAAO,KAAK,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,gBAAgB;AAAA,IAAG;AACpF,aAAS,aAAa,GAAY;AAAE,aAAO,aAAa,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE;AAAA,IAAO;AA+GzE,QAAiB,IAAI;AACrC,UAAM,eAAe,IAAI,KAAK;AAoB9B,UAAM,iBAAiB,IAAoB,IAAI;AAC/C,UAAM,WAAW,IAAe,EAAE;AAClC,UAAM,oBAAoB,IAAI,KAAK;AACnC,UAAM,MAAM,SAAS,EAAE,SAAS,IAAI,MAAM,IAAI,OAAO,OAAO;AAC5D,UAAM,UAAU,IAAiB,IAAI;AAErC,UAAM,gBAAgB,SAAS,MAAM,CAAC,CAAC,IAAI,QAAQ,UAAU,CAAC,CAAC,QAAQ,KAAK;AAE5E,aAAS,aAAa,GAAY;AAAE,aAAO,CAAC,CAAC,eAAe,OAAO,aAAa,EAAE,OAAO,eAAe,MAAM;AAAA,IAAU;;AA1avG,YAAA,OAAAA,eAAA,MAAA,CAAA,gBAAAC,eAAA,KAAA,UAAI,SAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,ybAAA;AAYG,UAAA,QAAA,OAAO;;MACD,WAAA,CAAA,KAAA,MAAK,QAAM;;;;;;AACXC,oBAAA,KAAA,QAAL,MAAC;AACuB,cAAA,qCAAAC,eAAA,MAAM,EAAE,EAAE,CAAA,CAAA,WAAA;AAE9B,YAAA,EAAE,cAAY;qCAAG,OAAK,EAAE,YAAY,CAAA,0CAAA;AAAA,QAAA,OAAA;;;AAKtB,cAAA,gCAAAA,eAAA,EAAE,UAAU,CAAA,YAAAA,eAChC,UAAA,MAAU,EAAE,SAAS,KAAA,EAAA,CAAA,uDACsBA,eAAA,YAAY,EAAE,UAAU,KAAK,EAAE,UAAU,CAAA,kCAAA;AAC3D,YAAA,EAAE,SAAO;AAAK,gBAAA,SAAAA,eAAA,EAAE,OAAO,CAAA,SAAA;AAAA,QAAA,OAAA;;;AACX,cAAA,iDAAAA,eAAA,aAAa,CAAC,CAAA,CAAA,0OAAA;AAAA,MAAA,CAAA;AAgBzD,YAAA,yDAAAF,eAAA,KAAA,UAAI,SAAA,OAAA,EAAA,SAAA,QAAA,CAAA,oJAAAE,eAGuC,UAAA,QAAS,SAAA,MAAA,CAAA,wRAOzCC,cAAA,SAAA,KAAK,UAAU,CAAA,wQAMlBA,cAAA,SAAO,CAAC,CAAA,GADKC,sBAAA,MAAA,QAAA,KAAK,SAAS,IAAAC,gBAAd,KAAK,WACX,CAAC,IAAAC,cADK,KAAK,WACX,CAAC,CAAA,IAAA,cAAA,EAAA,uBAAA;AACGL,oBAAA,eAAA,QAAL,MAAC;sCAAiC,SAAO,EAAE,EAAE,CAAA,GAFtCG,sBAAA,MAAA,QAAA,KAAK,SAAS,IAAdC,gBAAA,KAAK,WAE6B,EAAE,EAAE,IAFtCC,cAAA,KAAK,WAE6B,EAAE,EAAE,CAAA,IAAA,cAAA,EAAA,IAAKJ,eAAA,EAAE,OAAO,CAAA,WAAA;AAAA;;oBAM3C,mBAAiB,CAAhC,OAAO,QAAG;sCAAoC,SAAO,OAAO,GAAG,CAAA,CAAA,GADzDE,sBAAA,MAAA,QAAA,KAAK,UAAU,IAAfC,gBAAA,KAAK,YAC0C,OAAO,GAAG,CAAA,IADzDC,cAAA,KAAK,YAC0C,OAAO,GAAG,CAAA,CAAA,IAAA,cAAA,EAAA,IAAAJ,eAAM,KAAK,CAAA,WAAA;AAAA;oMAO5EC,cAAA,SAAA,KAAK,QAAQ,CAAA,2NAKlBA,cAAA,SAAO,CAAC,CAAA,GADKC,sBAAA,MAAA,QAAA,KAAK,eAAe,oBAApB,KAAK,iBACX,CAAC,IAAAE,cADK,KAAK,iBACX,CAAC,CAAA,IAAA,cAAA,EAAA,6BACRH,cAAA,SAAO,CAAC,IAFKC,sBAAA,MAAA,QAAA,KAAK,eAAe,IAAAC,gBAApB,KAAK,iBAEX,CAAC,IAAAC,cAFK,KAAK,iBAEX,CAAC,CAAA,IAAA,cAAA,EAAA,gQASFF,sBAAA,MAAA,QAAA,KAAK,OAAO,IAAZC,gBAAA,KAAK,SAAO,UAAA,IAAZC,cAAA,KAAK,SAAO,UAAA,CAAA,IAAA,cAAA,EAAA,qCAAZF,sBAAA,MAAA,QAAA,KAAK,OAAO,IAAZC,gBAAA,KAAK,SAAO,QAAA,IAAZC,cAAA,KAAK,SAAO,QAAA,CAAA,IAAA,cAAA,EAAA,6DAMpBN,eAAA,KAAK,YAAO,WAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,wJAGHG,cAAA,SAAA,YAAY,WAAW,CAAA,mMAEvBA,cAAA,SAAA,YAAY,YAAY,CAAA,oMAExBA,cAAA,SAAA,YAAY,GAAG,CAAA,+RASfA,cAAA,SAAA,KAAK,YAAY,CAAA,qSAAAC,sBAG6C,aAAA,KAAY,IAAA,cAAA,EAAA,GAAA;AAC1E,UAAA,aAAA,OAAY;;;;;;AAInB,UAAA,KAAK,cAAY;wCACpB,OAAK,KAAK,YAAY,CAAA,0DAAA;AAAA,MAAA,OAAA;;;AASP,YAAA,iOAAAD,cAAA,SAAA,KAAK,iBAAiB,CAAA,qLAEtBA,cAAA,SAAA,KAAK,mBAAmB,CAAA,qLAExBA,cAAA,SAAA,KAAK,iBAAiB,CAAA,gLAAA;AAM5BF,oBAAA,eAAL,MAAC;6EACGG,sBAAA,MAAA,QAAA,KAAK,QAAQ,EAAE,GAAG,CAAA,IAAlBC,gBAAA,KAAK,QAAQ,EAAE,GAAG,GAAA,IAAA,IAAlB,KAAK,QAAQ,EAAE,GAAG,CAAA,IAAA,aAAA,EAAA,kFACTH,eAAA,EAAE,KAAK,CAAA,iBAAA;AAAA;AAMkC,YAAA,wJAAAE,sBAAA,WAAA,KAAU,IAAA,cAAA,EAAA,GAAA;AAChE,UAAA,WAAA,OAAU;;;;;AAQnB,YAAA,oDAAAJ,eAAA,KAAA,UAAI,YAAA,OAAA,EAAA,SAAA,OAAA,CAAA,CAAA,6JAG8CE,eAAA,eAAA,OAAgB,cAAU,EAAA,CAAA,aAAA;AAG5E,UAAA,eAAA,OAAc;oOAE+C,MAAM,eAAA,MAAe,EAAE,CAAA,+FACJA,eAAA,eAAA,MAAe,WAAO,GAAA,0EAC3CA,eAAA,eAAA,MAAe,aAAS,GAAA,2FACPA,eAAA,eAAA,MAAe,wBAAoB,GAAA,CAAA,qBAAA;AAAA;;;AASlG,YAAA,wSAAAC,cAAA,SAAA,IAAI,OAAO,CAAA,gMAEXA,cAAA,SAAA,IAAI,IAAI,CAAA,+aAO4CC,sBAAA,MAAA,QAAA,IAAI,KAAK,IAATC,gBAAA,IAAI,OAAK,IAAA,IAAT,IAAI,KAAK,IAAA,aAAA,EAAA,sLACKD,sBAAA,CAAA,cAAA,SAAiB,kBAAA,KAAiB,IAAA,cAAA,EAAA,GAAA;AACxG,UAAA,kBAAA,OAAiB;;;;;;AAWlB,UAAA,CAAA,SAAA,MAAS,QAAM;;;;;;AACVH,oBAAA,SAAA,QAAL,MAAC;AACH,cAAA,WAAAC,eAAA,EAAE,EAAE,CAAA,yBAE4BK,eAAA,CAAA,aAAa,CAAC,IAAA,kBAAA,iBAAA,gBAAA,CAAA,CAAA,KAA0CL,eAAA,EAAE,OAAO,CAAA,SAAA;AAC1F,YAAA,aAAa,CAAC,GAAA;;;;;AAEL,cAAA,4BAAAA,eAAA,EAAE,eAAW,EAAA,8DACoBA,eAAA,EAAE,wBAAoB,EAAA,CAAA,mCAAA;AAG9D,YAAA,aAAa,CAAC,GAAA;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"product-DhA82rI2.js","sources":["../../../../../../../app/pages/product.vue"],"sourcesContent":["\n\n\n"],"names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderClass"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-DhA82rI2.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-DhA82rI2.js.map.json new file mode 100644 index 00000000..07103da4 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/product-DhA82rI2.js.map.json @@ -0,0 +1 @@ +{"file":"product-DhA82rI2.js","mappings":"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","names":["_ssrRenderAttrs","_ssrRenderStyle","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderClass"],"sources":["../../../../../../../app/pages/product.vue"],"sourcesContent":["\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-DRqotJ7A.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-DRqotJ7A.js.map.json deleted file mode 100644 index 76914697..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-DRqotJ7A.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"serviceconfig-DRqotJ7A.js","mappings":"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","names":["_ssrRenderAttrs","_mergeProps","_ssrRenderClass","_ssrRenderList","_ssrInterpolate","_ssrIncludeBooleanAttr","_ssrRenderAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderStyle","_ssrRenderDynamicModel"],"sources":["../../../../../../../app/composables/useLangOptions.ts","../../../../../../../app/components/LangSelect.vue","../../../../../../../app/pages/serviceconfig.vue"],"sourcesContent":["// BCP-47 语言全集(与后端 modules/echomeet/core.go 的转写/翻译口径一致,\n// 避免在第三方服务里配出运行时并不支持的语言)。\n// code 为存储值(第三方服务 languages 字段里逗号分隔、default_lang 存单个);name 仅前端展示。\nexport interface LangOption {\n code: string\n name: string\n}\n\nexport const LANG_OPTIONS: LangOption[] = [\n { code: 'zh-CN', name: '中文(简体)' },\n { code: 'zh-TW', name: '中文(繁体)' },\n { code: 'zh-HK', name: '中文(香港)' },\n { code: 'yue-HK', name: '粤语' },\n { code: 'en-US', name: '英语(美国)' },\n { code: 'en-GB', name: '英语(英国)' },\n { code: 'ja-JP', name: '日语' },\n { code: 'ko-KR', name: '韩语' },\n { code: 'id-ID', name: '印尼语' },\n { code: 'es-ES', name: '西班牙语(西)' },\n { code: 'es-MX', name: '西班牙语(墨)' },\n { code: 'pt-BR', name: '葡萄牙语(巴西)' },\n { code: 'pt-PT', name: '葡萄牙语(葡)' },\n { code: 'de-DE', name: '德语' },\n { code: 'fr-FR', name: '法语' },\n { code: 'it-IT', name: '意大利语' },\n { code: 'nl-NL', name: '荷兰语' },\n { code: 'pl-PL', name: '波兰语' },\n { code: 'ru-RU', name: '俄语' },\n { code: 'uk-UA', name: '乌克兰语' },\n { code: 'tr-TR', name: '土耳其语' },\n { code: 'vi-VN', name: '越南语' },\n { code: 'th-TH', name: '泰语' },\n { code: 'ms-MY', name: '马来语' },\n { code: 'fil-PH', name: '菲律宾语' },\n { code: 'ar-SA', name: '阿拉伯语' },\n]\n\n// langName 按 BCP-47 码查中文名,未知码原样返回。\nexport function langName(code: string): string {\n const o = LANG_OPTIONS.find((x) => x.code === code)\n return o ? o.name : code\n}\n","\n\n\n\n\n\n","\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-DRqotJ7A.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-PSQWGwHl.js similarity index 99% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-DRqotJ7A.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-PSQWGwHl.js index f2f3c5d9..b0aa5731 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-DRqotJ7A.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-PSQWGwHl.js @@ -1,8 +1,8 @@ import { defineComponent, computed, mergeProps, useSSRContext, ref, reactive } from "vue"; import { ssrRenderAttrs, ssrRenderClass, ssrRenderList, ssrInterpolate, ssrIncludeBooleanAttr, ssrRenderAttr, ssrRenderStyle, ssrLooseContain, ssrLooseEqual, ssrRenderComponent, ssrRenderDynamicModel } from "vue/server-renderer"; import { _ as _export_sfc } from "../server.mjs"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -15,8 +15,7 @@ import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/per import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ohash@2.0.11/node_modules/ohash/dist/index.mjs"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/klona@2.0.6/node_modules/klona/dist/index.mjs"; import "./auth-QFkCoU1C.js"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; const LANG_OPTIONS = [ { code: "zh-CN", name: "中文(简体)" }, { code: "zh-TW", name: "中文(繁体)" }, @@ -481,4 +480,4 @@ const serviceconfig = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "dat export { serviceconfig as default }; -//# sourceMappingURL=serviceconfig-DRqotJ7A.js.map +//# sourceMappingURL=serviceconfig-PSQWGwHl.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-DRqotJ7A.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-PSQWGwHl.js.map similarity index 81% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-DRqotJ7A.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-PSQWGwHl.js.map index 0f99800c..5eade1bd 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-DRqotJ7A.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-PSQWGwHl.js.map @@ -1 +1 @@ -{"version":3,"file":"serviceconfig-DRqotJ7A.js","sources":["../../../../../../../app/composables/useLangOptions.ts","../../../../../../../app/components/LangSelect.vue","../../../../../../../app/pages/serviceconfig.vue"],"sourcesContent":["// BCP-47 语言全集(与后端 modules/echomeet/core.go 的转写/翻译口径一致,\n// 避免在第三方服务里配出运行时并不支持的语言)。\n// code 为存储值(第三方服务 languages 字段里逗号分隔、default_lang 存单个);name 仅前端展示。\nexport interface LangOption {\n code: string\n name: string\n}\n\nexport const LANG_OPTIONS: LangOption[] = [\n { code: 'zh-CN', name: '中文(简体)' },\n { code: 'zh-TW', name: '中文(繁体)' },\n { code: 'zh-HK', name: '中文(香港)' },\n { code: 'yue-HK', name: '粤语' },\n { code: 'en-US', name: '英语(美国)' },\n { code: 'en-GB', name: '英语(英国)' },\n { code: 'ja-JP', name: '日语' },\n { code: 'ko-KR', name: '韩语' },\n { code: 'id-ID', name: '印尼语' },\n { code: 'es-ES', name: '西班牙语(西)' },\n { code: 'es-MX', name: '西班牙语(墨)' },\n { code: 'pt-BR', name: '葡萄牙语(巴西)' },\n { code: 'pt-PT', name: '葡萄牙语(葡)' },\n { code: 'de-DE', name: '德语' },\n { code: 'fr-FR', name: '法语' },\n { code: 'it-IT', name: '意大利语' },\n { code: 'nl-NL', name: '荷兰语' },\n { code: 'pl-PL', name: '波兰语' },\n { code: 'ru-RU', name: '俄语' },\n { code: 'uk-UA', name: '乌克兰语' },\n { code: 'tr-TR', name: '土耳其语' },\n { code: 'vi-VN', name: '越南语' },\n { code: 'th-TH', name: '泰语' },\n { code: 'ms-MY', name: '马来语' },\n { code: 'fil-PH', name: '菲律宾语' },\n { code: 'ar-SA', name: '阿拉伯语' },\n]\n\n// langName 按 BCP-47 码查中文名,未知码原样返回。\nexport function langName(code: string): string {\n const o = LANG_OPTIONS.find((x) => x.code === code)\n return o ? o.name : code\n}\n","\n\n\n\n\n\n","\n\n\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_ssrRenderClass","_ssrRenderList","_ssrInterpolate","_ssrIncludeBooleanAttr","_ssrRenderAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderStyle","_ssrRenderDynamicModel"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"serviceconfig-PSQWGwHl.js","sources":["../../../../../../../app/composables/useLangOptions.ts","../../../../../../../app/components/LangSelect.vue","../../../../../../../app/pages/serviceconfig.vue"],"sourcesContent":["// BCP-47 语言全集(与后端 modules/echomeet/core.go 的转写/翻译口径一致,\n// 避免在第三方服务里配出运行时并不支持的语言)。\n// code 为存储值(第三方服务 languages 字段里逗号分隔、default_lang 存单个);name 仅前端展示。\nexport interface LangOption {\n code: string\n name: string\n}\n\nexport const LANG_OPTIONS: LangOption[] = [\n { code: 'zh-CN', name: '中文(简体)' },\n { code: 'zh-TW', name: '中文(繁体)' },\n { code: 'zh-HK', name: '中文(香港)' },\n { code: 'yue-HK', name: '粤语' },\n { code: 'en-US', name: '英语(美国)' },\n { code: 'en-GB', name: '英语(英国)' },\n { code: 'ja-JP', name: '日语' },\n { code: 'ko-KR', name: '韩语' },\n { code: 'id-ID', name: '印尼语' },\n { code: 'es-ES', name: '西班牙语(西)' },\n { code: 'es-MX', name: '西班牙语(墨)' },\n { code: 'pt-BR', name: '葡萄牙语(巴西)' },\n { code: 'pt-PT', name: '葡萄牙语(葡)' },\n { code: 'de-DE', name: '德语' },\n { code: 'fr-FR', name: '法语' },\n { code: 'it-IT', name: '意大利语' },\n { code: 'nl-NL', name: '荷兰语' },\n { code: 'pl-PL', name: '波兰语' },\n { code: 'ru-RU', name: '俄语' },\n { code: 'uk-UA', name: '乌克兰语' },\n { code: 'tr-TR', name: '土耳其语' },\n { code: 'vi-VN', name: '越南语' },\n { code: 'th-TH', name: '泰语' },\n { code: 'ms-MY', name: '马来语' },\n { code: 'fil-PH', name: '菲律宾语' },\n { code: 'ar-SA', name: '阿拉伯语' },\n]\n\n// langName 按 BCP-47 码查中文名,未知码原样返回。\nexport function langName(code: string): string {\n const o = LANG_OPTIONS.find((x) => x.code === code)\n return o ? o.name : code\n}\n","\n\n\n\n\n\n","\n\n\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_ssrRenderClass","_ssrRenderList","_ssrInterpolate","_ssrIncludeBooleanAttr","_ssrRenderAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderStyle","_ssrRenderDynamicModel"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-PSQWGwHl.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-PSQWGwHl.js.map.json new file mode 100644 index 00000000..c6d1adb1 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/serviceconfig-PSQWGwHl.js.map.json @@ -0,0 +1 @@ +{"file":"serviceconfig-PSQWGwHl.js","mappings":"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","names":["_ssrRenderAttrs","_mergeProps","_ssrRenderClass","_ssrRenderList","_ssrInterpolate","_ssrIncludeBooleanAttr","_ssrRenderAttr","_ssrLooseContain","_ssrLooseEqual","_ssrRenderStyle","_ssrRenderDynamicModel"],"sources":["../../../../../../../app/composables/useLangOptions.ts","../../../../../../../app/components/LangSelect.vue","../../../../../../../app/pages/serviceconfig.vue"],"sourcesContent":["// BCP-47 语言全集(与后端 modules/echomeet/core.go 的转写/翻译口径一致,\n// 避免在第三方服务里配出运行时并不支持的语言)。\n// code 为存储值(第三方服务 languages 字段里逗号分隔、default_lang 存单个);name 仅前端展示。\nexport interface LangOption {\n code: string\n name: string\n}\n\nexport const LANG_OPTIONS: LangOption[] = [\n { code: 'zh-CN', name: '中文(简体)' },\n { code: 'zh-TW', name: '中文(繁体)' },\n { code: 'zh-HK', name: '中文(香港)' },\n { code: 'yue-HK', name: '粤语' },\n { code: 'en-US', name: '英语(美国)' },\n { code: 'en-GB', name: '英语(英国)' },\n { code: 'ja-JP', name: '日语' },\n { code: 'ko-KR', name: '韩语' },\n { code: 'id-ID', name: '印尼语' },\n { code: 'es-ES', name: '西班牙语(西)' },\n { code: 'es-MX', name: '西班牙语(墨)' },\n { code: 'pt-BR', name: '葡萄牙语(巴西)' },\n { code: 'pt-PT', name: '葡萄牙语(葡)' },\n { code: 'de-DE', name: '德语' },\n { code: 'fr-FR', name: '法语' },\n { code: 'it-IT', name: '意大利语' },\n { code: 'nl-NL', name: '荷兰语' },\n { code: 'pl-PL', name: '波兰语' },\n { code: 'ru-RU', name: '俄语' },\n { code: 'uk-UA', name: '乌克兰语' },\n { code: 'tr-TR', name: '土耳其语' },\n { code: 'vi-VN', name: '越南语' },\n { code: 'th-TH', name: '泰语' },\n { code: 'ms-MY', name: '马来语' },\n { code: 'fil-PH', name: '菲律宾语' },\n { code: 'ar-SA', name: '阿拉伯语' },\n]\n\n// langName 按 BCP-47 码查中文名,未知码原样返回。\nexport function langName(code: string): string {\n const o = LANG_OPTIONS.find((x) => x.code === code)\n return o ? o.name : code\n}\n","\n\n\n\n\n\n","\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/state-DQnwRar-.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/state-DQnwRar-.js.map deleted file mode 100644 index 7be09b60..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/state-DQnwRar-.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"state-DQnwRar-.js","sources":["../../../../../../.pnpm/nuxt@4.4.8_@babel+plugin-syntax-jsx@7.29.7_@babel+core@7.29.7__@babel+plugin-syntax-typ_25b4a4016600149c0331b87503aafc6b/node_modules/nuxt/dist/app/composables/state.js"],"sourcesContent":["import { isRef, toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nimport { useStateDefaults } from \"#build/nuxt.config.mjs\";\nconst useStateKeyPrefix = \"$s\";\nexport function useState(...args) {\n const autoKey = typeof args[args.length - 1] === \"string\" ? args.pop() : void 0;\n if (typeof args[0] !== \"string\") {\n args.unshift(autoKey);\n }\n const [_key, init] = args;\n if (!_key || typeof _key !== \"string\") {\n throw new TypeError(\"[nuxt] [useState] key must be a string: \" + _key);\n }\n if (init !== void 0 && typeof init !== \"function\") {\n throw new Error(\"[nuxt] [useState] init must be a function: \" + init);\n }\n const key = useStateKeyPrefix + _key;\n const nuxtApp = useNuxtApp();\n const state = toRef(nuxtApp.payload.state, key);\n if (init) {\n nuxtApp._state[key] ??= { _default: init };\n }\n if (state.value === void 0 && init) {\n const initialValue = init();\n if (isRef(initialValue)) {\n nuxtApp.payload.state[key] = initialValue;\n return initialValue;\n }\n state.value = initialValue;\n }\n return state;\n}\nexport function clearNuxtState(keys, opts) {\n const reset = opts?.reset ?? useStateDefaults.resetOnClear;\n const nuxtApp = useNuxtApp();\n const _allKeys = Object.keys(nuxtApp.payload.state).filter((key) => key.startsWith(useStateKeyPrefix)).map((key) => key.substring(useStateKeyPrefix.length));\n const _keys = !keys ? _allKeys : typeof keys === \"function\" ? _allKeys.filter(keys) : toArray(keys);\n for (const _key of _keys) {\n const key = useStateKeyPrefix + _key;\n if (key in nuxtApp.payload.state) {\n if (reset && nuxtApp._state[key]) {\n nuxtApp.payload.state[key] = nuxtApp._state[key]._default();\n } else {\n nuxtApp.payload.state[key] = void 0;\n }\n }\n }\n}\n"],"names":[],"mappings":";;AAIA,MAAM,oBAAoB;AACnB,SAAS,YAAY,MAAM;AAChC,QAAM,UAAU,OAAO,KAAK,KAAK,SAAS,CAAC,MAAM,WAAW,KAAK,IAAG,IAAK;AACzE,MAAI,OAAO,KAAK,CAAC,MAAM,UAAU;AAC/B,SAAK,QAAQ,OAAO;AAAA,EACtB;AACA,QAAM,CAAC,MAAM,IAAI,IAAI;AACrB,MAAI,CAAC,QAAQ,OAAO,SAAS,UAAU;AACrC,UAAM,IAAI,UAAU,6CAA6C,IAAI;AAAA,EACvE;AACA,MAAI,SAAS,UAAU,OAAO,SAAS,YAAY;AACjD,UAAM,IAAI,MAAM,gDAAgD,IAAI;AAAA,EACtE;AACA,QAAM,MAAM,oBAAoB;AAChC,QAAM,UAAU,WAAU;AAC1B,QAAM,QAAQ,MAAM,QAAQ,QAAQ,OAAO,GAAG;AAC9C,MAAI,MAAM;AACR,YAAQ,OAAO,GAAG,MAAM,EAAE,UAAU,KAAI;AAAA,EAC1C;AACA,MAAI,MAAM,UAAU,UAAU,MAAM;AAClC,UAAM,eAAe,KAAI;AACzB,QAAI,MAAM,YAAY,GAAG;AACvB,cAAQ,QAAQ,MAAM,GAAG,IAAI;AAC7B,aAAO;AAAA,IACT;AACA,UAAM,QAAQ;AAAA,EAChB;AACA,SAAO;AACT;","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/state-DQnwRar-.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/state-DQnwRar-.js.map.json deleted file mode 100644 index 65be4c82..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/state-DQnwRar-.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"state-DQnwRar-.js","mappings":";;AAIA,MAAM,oBAAoB;AACnB,SAAS,YAAY,MAAM;AAChC,QAAM,UAAU,OAAO,KAAK,KAAK,SAAS,CAAC,MAAM,WAAW,KAAK,IAAG,IAAK;AACzE,MAAI,OAAO,KAAK,CAAC,MAAM,UAAU;AAC/B,SAAK,QAAQ,OAAO;AAAA,EACtB;AACA,QAAM,CAAC,MAAM,IAAI,IAAI;AACrB,MAAI,CAAC,QAAQ,OAAO,SAAS,UAAU;AACrC,UAAM,IAAI,UAAU,6CAA6C,IAAI;AAAA,EACvE;AACA,MAAI,SAAS,UAAU,OAAO,SAAS,YAAY;AACjD,UAAM,IAAI,MAAM,gDAAgD,IAAI;AAAA,EACtE;AACA,QAAM,MAAM,oBAAoB;AAChC,QAAM,UAAU,WAAU;AAC1B,QAAM,QAAQ,MAAM,QAAQ,QAAQ,OAAO,GAAG;AAC9C,MAAI,MAAM;AACR,YAAQ,OAAO,GAAG,MAAM,EAAE,UAAU,KAAI;AAAA,EAC1C;AACA,MAAI,MAAM,UAAU,UAAU,MAAM;AAClC,UAAM,eAAe,KAAI;AACzB,QAAI,MAAM,YAAY,GAAG;AACvB,cAAQ,QAAQ,MAAM,GAAG,IAAI;AAC7B,aAAO;AAAA,IACT;AACA,UAAM,QAAQ;AAAA,EAChB;AACA,SAAO;AACT;","names":[],"sources":["../../../../../../.pnpm/nuxt@4.4.8_@babel+plugin-syntax-jsx@7.29.7_@babel+core@7.29.7__@babel+plugin-syntax-typ_25b4a4016600149c0331b87503aafc6b/node_modules/nuxt/dist/app/composables/state.js"],"sourcesContent":["import { isRef, toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { toArray } from \"../utils.js\";\nimport { useStateDefaults } from \"#build/nuxt.config.mjs\";\nconst useStateKeyPrefix = \"$s\";\nexport function useState(...args) {\n const autoKey = typeof args[args.length - 1] === \"string\" ? args.pop() : void 0;\n if (typeof args[0] !== \"string\") {\n args.unshift(autoKey);\n }\n const [_key, init] = args;\n if (!_key || typeof _key !== \"string\") {\n throw new TypeError(\"[nuxt] [useState] key must be a string: \" + _key);\n }\n if (init !== void 0 && typeof init !== \"function\") {\n throw new Error(\"[nuxt] [useState] init must be a function: \" + init);\n }\n const key = useStateKeyPrefix + _key;\n const nuxtApp = useNuxtApp();\n const state = toRef(nuxtApp.payload.state, key);\n if (init) {\n nuxtApp._state[key] ??= { _default: init };\n }\n if (state.value === void 0 && init) {\n const initialValue = init();\n if (isRef(initialValue)) {\n nuxtApp.payload.state[key] = initialValue;\n return initialValue;\n }\n state.value = initialValue;\n }\n return state;\n}\nexport function clearNuxtState(keys, opts) {\n const reset = opts?.reset ?? useStateDefaults.resetOnClear;\n const nuxtApp = useNuxtApp();\n const _allKeys = Object.keys(nuxtApp.payload.state).filter((key) => key.startsWith(useStateKeyPrefix)).map((key) => key.substring(useStateKeyPrefix.length));\n const _keys = !keys ? _allKeys : typeof keys === \"function\" ? _allKeys.filter(keys) : toArray(keys);\n for (const _key of _keys) {\n const key = useStateKeyPrefix + _key;\n if (key in nuxtApp.payload.state) {\n if (reset && nuxtApp._state[key]) {\n nuxtApp.payload.state[key] = nuxtApp._state[key]._default();\n } else {\n nuxtApp.payload.state[key] = void 0;\n }\n }\n }\n}\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-DjkPa7zJ.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-DjkPa7zJ.js.map.json deleted file mode 100644 index e7db9288..00000000 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-DjkPa7zJ.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"statlog-DjkPa7zJ.js","mappings":"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","names":["_ssrRenderList","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate","_ssrLooseEqual","_ssrRenderAttr","_ssrRenderStyle","_ssrRenderClass"],"sources":["../../../../../../../app/pages/statlog.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-DjkPa7zJ.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-xUDxfuTM.js similarity index 98% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-DjkPa7zJ.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-xUDxfuTM.js index 7149b759..11de449f 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-DjkPa7zJ.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-xUDxfuTM.js @@ -1,13 +1,12 @@ import { defineComponent, ref, computed, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderList, ssrRenderAttr, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrInterpolate, ssrRenderStyle, ssrRenderClass } from "vue/server-renderer"; -import { u as useApi } from "./useApi-B6h53Mkt.js"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; import { _ as _export_sfc } from "../server.mjs"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/@nuxt+nitro-server@4.4.8_@babel+plugin-syntax-typescript@7.29.7_@babel+core@7.29.7__db0_5045ebd3802f96c9dd021f3300fcdf4c/node_modules/@nuxt/nitro-server/dist/runtime/h3-compat.mjs"; import "./auth-QFkCoU1C.js"; import "pinia"; -import "./useLoading-D6mc40Wj.js"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; @@ -142,4 +141,4 @@ const statlog = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-74 export { statlog as default }; -//# sourceMappingURL=statlog-DjkPa7zJ.js.map +//# sourceMappingURL=statlog-xUDxfuTM.js.map diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-DjkPa7zJ.js.map b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-xUDxfuTM.js.map similarity index 73% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-DjkPa7zJ.js.map rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-xUDxfuTM.js.map index 3d4131c9..48680144 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-DjkPa7zJ.js.map +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-xUDxfuTM.js.map @@ -1 +1 @@ -{"version":3,"file":"statlog-DjkPa7zJ.js","sources":["../../../../../../../app/pages/statlog.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrRenderList","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate","_ssrLooseEqual","_ssrRenderAttr","_ssrRenderStyle","_ssrRenderClass"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"statlog-xUDxfuTM.js","sources":["../../../../../../../app/pages/statlog.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrRenderList","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate","_ssrLooseEqual","_ssrRenderAttr","_ssrRenderStyle","_ssrRenderClass"],"mappings":"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"} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-xUDxfuTM.js.map.json b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-xUDxfuTM.js.map.json new file mode 100644 index 00000000..46560921 --- /dev/null +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/statlog-xUDxfuTM.js.map.json @@ -0,0 +1 @@ +{"file":"statlog-xUDxfuTM.js","mappings":"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","names":["_ssrRenderList","_ssrIncludeBooleanAttr","_ssrLooseContain","_ssrInterpolate","_ssrLooseEqual","_ssrRenderAttr","_ssrRenderStyle","_ssrRenderClass"],"sources":["../../../../../../../app/pages/statlog.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-C0cMeH0T.js b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-BxuoO47G.js similarity index 57% rename from apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-C0cMeH0T.js rename to apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-BxuoO47G.js index a7c49cfd..2f17d4e2 100644 --- a/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-C0cMeH0T.js +++ b/apps/admin/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/systemconfig-BxuoO47G.js @@ -1,14 +1,16 @@ import { defineComponent, ref, reactive, computed, useSSRContext } from "vue"; import { ssrRenderAttrs, ssrRenderStyle, ssrRenderList, ssrRenderClass, ssrRenderAttr, ssrInterpolate, ssrIncludeBooleanAttr, ssrLooseContain, ssrRenderDynamicModel, ssrLooseEqual } from "vue/server-renderer"; -import { u as useToast } from "./useToast-C76a6bSX.js"; +import { u as useToast } from "./useToast-CS21XT61.js"; +import { u as useApi } from "./useApi-DMQewX5_.js"; import { _ as _export_sfc } from "../server.mjs"; -import "./state-DQnwRar-.js"; +import "./useLoading-D4zrSa2m.js"; +import "./auth-QFkCoU1C.js"; +import "pinia"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ofetch@1.5.1/node_modules/ofetch/dist/node.mjs"; import "#internal/nuxt/paths"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/hookable@6.1.1/node_modules/hookable/dist/index.mjs"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/unctx@2.5.0/node_modules/unctx/dist/index.mjs"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/@nuxt+nitro-server@4.4.8_@babel+plugin-syntax-typescript@7.29.7_@babel+core@7.29.7__db0_5045ebd3802f96c9dd021f3300fcdf4c/node_modules/@nuxt/nitro-server/dist/runtime/h3-compat.mjs"; -import "pinia"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/defu@6.1.7/node_modules/defu/dist/defu.mjs"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/ufo@1.6.4/node_modules/ufo/dist/index.mjs"; import "/Users/liwei/work/go/yunyan/yunyan-sas/apps/admin/node_modules/.pnpm/perfect-debounce@2.1.0/node_modules/perfect-debounce/dist/index.mjs"; @@ -19,6 +21,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ __ssrInlineRender: true, setup(__props) { useToast(); + useApi(); const categories = [ { id: "storage", label: "对象存储", desc: "固件 / 头像 / 文件", color: "#6366f1", icon: "M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8" }, { id: "mail", label: "邮件服务", desc: "生产通知 / 厂家发信", color: "#f59e0b", icon: "M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" }, @@ -108,14 +111,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ short: "OSS", tag: "Aliyun", color: "#ff6a00", - enable: true, + enable: false, fields: [ - { key: "region", label: "Region", value: "oss-cn-shanghai", placeholder: "oss-cn-shanghai", mono: true, required: true }, - { key: "endpoint", label: "Endpoint", value: "oss-cn-shanghai.aliyuncs.com", mono: true, required: true }, - { key: "bucket", label: "Bucket", value: "yunyan-firmware", mono: true, required: true }, - { key: "accessKeyId", label: "AccessKey ID", value: "LTAI5txxxxxxxx", mono: true, encrypted: true, required: true }, - { key: "accessKeySecret", label: "AccessKey Secret", value: "", mono: true, encrypted: true, required: true, hint: "留空保留原密文" }, - { key: "domain", label: "自定义域名 (CDN)", value: "https://cdn.yunyan.com", wide: true, hint: "可选,配置后文件 URL 走该域名" } + { key: "endpoint", label: "Endpoint", value: "", placeholder: "oss-cn-shanghai.aliyuncs.com", mono: true, required: true }, + { key: "bucket", label: "Bucket", value: "", placeholder: "yunyan-firmware", mono: true, required: true }, + { key: "access_key_id", label: "AccessKey ID", value: "", mono: true, encrypted: true, required: true }, + { key: "access_key_secret", label: "AccessKey Secret", value: "", mono: true, encrypted: true, required: true, hint: "留空保留原密文" }, + { key: "domain", label: "自定义域名 (CDN)", value: "", placeholder: "cdn.yunyan.com", wide: true, hint: "可选,配置后文件下载 URL 走该域名" } ] }, { @@ -169,108 +171,120 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ const curProvider = ref("aliyun"); const editProvider = computed(() => providers.find((p) => p.id === curProvider.value)); const activeProvider = computed(() => providers.find((p) => p.id === activeId.value)); + const STORAGE_SVC = { + aliyun: { svcId: "storage_aliyun_oss", provider: "aliyun_oss" }, + tencent: { svcId: "storage_tencent_cos", provider: "tencent_cos" }, + qiniu: { svcId: "storage_qiniu_kodo", provider: "qiniu_kodo" }, + minio: { svcId: "storage_minio", provider: "minio" } + }; + const svcProviderToCard = {}; + for (const [card, m] of Object.entries(STORAGE_SVC)) { + svcProviderToCard[m.provider] = card; + m.svcId; + } + ref(/* @__PURE__ */ new Set()); return (_ctx, _push, _parent, _attrs) => { - _push(`
演示效果·本页为 UI 演示,数据为本地 mock,未连接后端。确认方向后再接 console 接口。

系统配置

平台级服务配置:① 对象存储(固件 / 头像等文件,默认阿里云 OSS);② 邮件服务(生产环节给厂家发通知邮件);③ 翻译服务(后台配置多语言同步)。

`); + _push(`
对象存储已接后端·对象存储配置已落库(存 svc_config,与「第三方服务配置 → 存储」共用同一份),启用的「阿里云 OSS」即固件 / 头像上传所用存储。邮件 / 翻译两项仍为演示。

系统配置

平台级服务配置:① 对象存储(固件 / 头像等文件,默认阿里云 OSS);② 邮件服务(生产环节给厂家发通知邮件);③ 翻译服务(后台配置多语言同步)。

`); ssrRenderList(categories, (c) => { - _push(`
${ssrInterpolate(c.label)}
${ssrInterpolate(c.desc)}
`); + _push(`
${ssrInterpolate(c.label)}
${ssrInterpolate(c.desc)}
`); if (svcEnabled(c.id)) { - _push(``); + _push(``); } else { _push(``); } _push(`
`); }); - _push(`
`); + _push(`
`); if (curCat.value === "storage") { - _push(`
设备固件上传当前指向:${ssrInterpolate(activeProvider.value.name)}
固件包、用户头像等文件均上传至此存储桶。切换默认存储不影响历史文件 URL。
运行中
选择默认对象存储 (固件 / 头像等文件上传指向此服务)
`); + _push(`
设备固件上传当前指向:${ssrInterpolate(activeProvider.value.name)}
固件包、用户头像等文件均上传至此存储桶。切换默认存储不影响历史文件 URL。
运行中
选择默认对象存储 (固件 / 头像等文件上传指向此服务)
`); ssrRenderList(providers, (p) => { - _push(`
`); + _push(`
`); if (p.enable) { - _push(`已配置`); + _push(`已配置`); } else { - _push(`未配置`); + _push(`未配置`); } - _push(`
${ssrInterpolate(p.name)}
${ssrInterpolate(p.tag)}
`); + _push(`
${ssrInterpolate(p.name)}
${ssrInterpolate(p.tag)}
`); }); - _push(`

${ssrInterpolate(editProvider.value.name)}

${ssrInterpolate(editProvider.value.tag)} · 对象存储

`); + _push(`

${ssrInterpolate(editProvider.value.name)}

${ssrInterpolate(editProvider.value.tag)} · 对象存储

`); if (curProvider.value !== activeId.value) { - _push(``); + _push(``); } else { _push(``); } - _push(`
连接配置
`); + _push(`
连接配置
`); ssrRenderList(editProvider.value.fields, (f) => { - _push(`
`); + _push(`
上传规则
固件包路径前缀
/firmware/
头像路径前缀
/userAvatar/
签名 URL 有效期
3600 s
`); } else if (curCat.value === "mail") { - _push(`
生产环节邮件通知
用于给目标厂家发送授权信息、公码批次、设备出货等通知邮件;账号告警也走此通道。

邮件服务

SMTP 发信

发信配置
`); ssrRenderList(secureOptions, (o) => { - _push(`${ssrInterpolate(o)}`); + _push(`${ssrInterpolate(o)}`); }); - _push(`
测试发信
`); + _push(`
测试发信
`); } else if (curCat.value === "translate") { - _push(`
后台配置多语言同步
应用文案、通知 / 邮件模板、公告等后台配置内容,按目标语种自动翻译,保证多语言版本一致。
默认 ${ssrInterpolate(tActiveProvider.value.name)}
选择默认翻译服务 (后台多语言同步走此服务)
`); + _push(`
后台配置多语言同步
应用文案、通知 / 邮件模板、公告等后台配置内容,按目标语种自动翻译,保证多语言版本一致。
默认 ${ssrInterpolate(tActiveProvider.value.name)}
选择默认翻译服务 (后台多语言同步走此服务)
`); ssrRenderList(tProviders, (p) => { - _push(`
`); + _push(`
`); if (p.enable) { - _push(`已配置`); + _push(`已配置`); } else { - _push(`未配置`); + _push(`未配置`); } - _push(`
${ssrInterpolate(p.name)}
${ssrInterpolate(p.tag)}
`); + _push(`
${ssrInterpolate(p.name)}
${ssrInterpolate(p.tag)}
`); }); - _push(`

${ssrInterpolate(tEditProvider.value.name)}

${ssrInterpolate(tEditProvider.value.tag)} · 机器翻译

`); + _push(`

${ssrInterpolate(tEditProvider.value.name)}

${ssrInterpolate(tEditProvider.value.tag)} · 机器翻译

`); if (tCurProvider.value !== tActiveId.value) { - _push(``); + _push(``); } else { _push(``); } - _push(`
连接配置
`); + _push(`
连接配置
`); ssrRenderList(tEditProvider.value.fields, (f) => { - _push(`