mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-26 17:32:51 +08:00
🔥 Sync 2026-09-04 23:41:24
This commit is contained in:
1 parent
b381b61362
commit
5ec3075951
59 files changed
+790
-98
No files matched your search
+2
-2
@@ -6,11 +6,11 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=cloudreve
|
||||
PKG_VERSION:=4.18.0
|
||||
PKG_RELEASE:=15
|
||||
PKG_RELEASE:=16
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/cloudreve/Cloudreve.git
|
||||
PKG_SOURCE_VERSION:=20c95ad73f3a8bcb72887fea91ff31ab24fa1011
|
||||
PKG_SOURCE_VERSION:=1c3fe4da3c4073e73a11ed93518b545bb8b8d5ce
|
||||
PKG_MIRROR_HASH:=skip
|
||||
|
||||
PKG_LICENSE:=GPL-3.0-only
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ddns-go
|
||||
PKG_VERSION:=6.17.6
|
||||
PKG_RELEASE:=23
|
||||
PKG_VERSION:=6.17.7
|
||||
PKG_RELEASE:=24
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/jeessy2/ddns-go/tar.gz/v$(PKG_VERSION)?
|
||||
|
||||
+2
-2
@@ -6,8 +6,8 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=gowebdav
|
||||
PKG_VERSION:=5.15.0
|
||||
PKG_RELEASE:=20
|
||||
PKG_VERSION:=5.15.1
|
||||
PKG_RELEASE:=21
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://codeload.github.com/hacdias/webdav/tar.gz/v$(PKG_VERSION)?
|
||||
|
||||
@@ -12,7 +12,7 @@ PKG_ARCH_LINKEASE:=$(ARCH)
|
||||
PKG_NAME:=linkease-common-bin
|
||||
# use PKG_SOURCE_DATE instead of PKG_VERSION for compitable
|
||||
PKG_SOURCE_DATE:=1.7.5
|
||||
PKG_RELEASE:=23
|
||||
PKG_RELEASE:=24
|
||||
|
||||
ARCH_HEXCODE:=
|
||||
ifeq ($(ARCH),x86_64)
|
||||
@@ -28,7 +28,7 @@ else ifeq ($(ARCH),mipsel)
|
||||
ARCH_HEXCODE=1b0c
|
||||
endif
|
||||
|
||||
PKG_SOURCE_VERSION:=82c1daae2ec9dbe7f1fdc1d3b1bc5c9e8342ecc1
|
||||
PKG_SOURCE_VERSION:=469e9a582af646e9d3df7aec4b31fcfda9e4a325
|
||||
PKG_SOURCE:=linkease-common-bin-$(PKG_SOURCE_DATE)-linux-$(PKG_ARCH_LINKEASE).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/istoreos/istoreos-app-hub/releases/download/linkease-runtime-v$(PKG_SOURCE_DATE)/
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/linkease-common-bin-$(PKG_SOURCE_DATE)-linux-$(PKG_ARCH_LINKEASE)
|
||||
|
||||
+2
-2
@@ -12,7 +12,7 @@ PKG_ARCH_LINKEASE:=$(ARCH)
|
||||
PKG_NAME:=linkease
|
||||
# use PKG_SOURCE_DATE instead of PKG_VERSION for compitable
|
||||
PKG_SOURCE_DATE:=1.7.5
|
||||
PKG_RELEASE:=26
|
||||
PKG_RELEASE:=27
|
||||
|
||||
ARCH_HEXCODE:=
|
||||
ifeq ($(ARCH),x86_64)
|
||||
@@ -28,7 +28,7 @@ else ifeq ($(ARCH),mipsel)
|
||||
ARCH_HEXCODE=1b0c
|
||||
endif
|
||||
|
||||
PKG_SOURCE_VERSION:=82c1daae2ec9dbe7f1fdc1d3b1bc5c9e8342ecc1
|
||||
PKG_SOURCE_VERSION:=469e9a582af646e9d3df7aec4b31fcfda9e4a325
|
||||
PKG_SOURCE:=linkease-bin-$(PKG_SOURCE_DATE)-linux-$(PKG_ARCH_LINKEASE).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/istoreos/istoreos-app-hub/releases/download/linkease-runtime-v$(PKG_SOURCE_DATE)/
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/linkease-bin-$(PKG_SOURCE_DATE)-linux-$(PKG_ARCH_LINKEASE)
|
||||
|
||||
@@ -11,7 +11,7 @@ PKG_ARCH_LINKEASE:=$(ARCH)
|
||||
PKG_NAME:=linkeasefull
|
||||
# use PKG_SOURCE_DATE instead of PKG_VERSION for compitable
|
||||
PKG_SOURCE_DATE:=3.0.17
|
||||
PKG_RELEASE:=25
|
||||
PKG_RELEASE:=26
|
||||
|
||||
ARCH_HEXCODE:=
|
||||
ifeq ($(ARCH),x86_64)
|
||||
@@ -24,7 +24,7 @@ LINKEASE_RUNTIME_ARCH:=arm64
|
||||
PKG_HASH:=skip
|
||||
endif
|
||||
|
||||
PKG_SOURCE_VERSION:=82c1daae2ec9dbe7f1fdc1d3b1bc5c9e8342ecc1
|
||||
PKG_SOURCE_VERSION:=469e9a582af646e9d3df7aec4b31fcfda9e4a325
|
||||
PKG_SOURCE:=linkease-runtime-$(PKG_SOURCE_DATE)-linux-$(LINKEASE_RUNTIME_ARCH).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/istoreos/istoreos-app-hub/releases/download/linkeasefull-runtime-v$(PKG_SOURCE_DATE)/
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/linkease-runtime-$(PKG_SOURCE_DATE)-linux-$(LINKEASE_RUNTIME_ARCH)
|
||||
|
||||
@@ -12,7 +12,7 @@ LUCI_DEPENDS:=+luci-base +logd +jsonfilter
|
||||
LUCI_PKGARCH:=all
|
||||
|
||||
PKG_VERSION:=0.1.37
|
||||
PKG_RELEASE:=6
|
||||
PKG_RELEASE:=7
|
||||
|
||||
# Reproducible build: honor SOURCE_DATE_EPOCH from the build environment (set by docker-sdk.sh / CI).
|
||||
ifdef SOURCE_DATE_EPOCH
|
||||
|
||||
@@ -143,17 +143,27 @@ wan_zone_log_value() {
|
||||
uci -q get "firewall.${zone}.log" 2>/dev/null
|
||||
}
|
||||
|
||||
# Resolve a firewall section id to its canonical cfgXXXX form (issue B-1 /
|
||||
# multi-model audit). `uci -X show` disables @type[N] aliases so @zone[0] and
|
||||
# cfgXXXX for the same anonymous section compare equal. Empty on failure.
|
||||
uci_canonical_firewall_section() {
|
||||
_sid="$1"
|
||||
[ -n "$_sid" ] || return 1
|
||||
uci -q -X show "firewall.${_sid}" 2>/dev/null \
|
||||
| sed -n '1s/^firewall\.\([^=.]*\)=.*/\1/p'
|
||||
}
|
||||
|
||||
# True when two firewall section ids refer to the same WAN zone (issue #239).
|
||||
# Compare canonical cfg ids — do NOT treat every name=wan zone as identical
|
||||
# (duplicate wan sections would under-match foreign .log deltas as ours).
|
||||
wan_firewall_zone_same() {
|
||||
_a="$1"
|
||||
_b="$2"
|
||||
[ -n "$_a" ] && [ -n "$_b" ] || return 1
|
||||
[ "$_a" = "$_b" ] && return 0
|
||||
_na=$(uci -q get "firewall.${_a}.name" 2>/dev/null) || return 1
|
||||
_nb=$(uci -q get "firewall.${_b}.name" 2>/dev/null) || return 1
|
||||
_ta=$(uci -q get "firewall.${_a}" 2>/dev/null) || return 1
|
||||
_tb=$(uci -q get "firewall.${_b}" 2>/dev/null) || return 1
|
||||
[ "$_na" = "wan" ] && [ "$_nb" = "wan" ] && [ "$_ta" = "zone" ] && [ "$_tb" = "zone" ]
|
||||
_ca=$(uci_canonical_firewall_section "$_a") || return 1
|
||||
_cb=$(uci_canonical_firewall_section "$_b") || return 1
|
||||
[ -n "$_ca" ] && [ -n "$_cb" ] && [ "$_ca" = "$_cb" ]
|
||||
}
|
||||
|
||||
wan_log_staged_line_section() {
|
||||
|
||||
Executable
+24
@@ -0,0 +1,24 @@
|
||||
#
|
||||
# Copyright (C) 2008-2014 The LuCI Team <luci@lists.subsignal.org>
|
||||
#
|
||||
# This is free software, licensed under the Apache License, Version 2.0 .
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
LUCI_TITLE:=iStoreRouter
|
||||
PKG_VERSION:=0.6.7
|
||||
PKG_RELEASE:=1
|
||||
LUCI_DEPENDS:=+luci-app-quickstart +luci-app-store +luci-lib-taskd
|
||||
LUCI_EXTRA_DEPENDS:=luci-lib-taskd (>=1.0.15)
|
||||
LUCI_MINIFY_CSS:=0
|
||||
LUCI_MINIFY_JS:=0
|
||||
|
||||
define Package/luci-app-istorerouter/conffiles
|
||||
/etc/config/istorerouter
|
||||
/www/luci-static/istorerouter/image/bg.gif
|
||||
endef
|
||||
|
||||
include $(TOPDIR)/feeds/luci/luci.mk
|
||||
|
||||
# call BuildPackage - OpenWrt buildroot signature
|
||||
@@ -0,0 +1,6 @@
|
||||
var p=(y,d,a)=>new Promise((i,n)=>{var s=o=>{try{c(a.next(o))}catch(e){n(e)}},f=o=>{try{c(a.throw(o))}catch(e){n(e)}},c=o=>o.done?i(o.value):Promise.resolve(o.value).then(s,f);c((a=a.apply(y,d)).next())});import{_ as w,d as x,r as b,x as E,P as F,o as _,c as m,f as r,h as g,F as k,e as L,t as h,g as B,w as D,Q as G,s as T,i as v,T as S}from"./index.js";const I=r("div",{class:"label-name"},[r("span",null,"\u9009\u62E9\u8F6F\u4EF6\u6E90 ")],-1),C={class:"label-value"},V={class:"label-flex"},N=["value"],M={class:"label-btns"},P=["disabled"],j={key:0,class:"label-msg"},q=x({__name:"index",setup(y){return p(this,null,function*(){let d,a;const i=b(!1),n=b(""),s=E({softsourceListIfo:[],softSource:{},currSoftSource:{}}),f=()=>p(this,null,function*(){var o,e,u;try{const t=yield v.Guide.SoftSourceList.GET();if((o=t==null?void 0:t.data)!=null&&o.result){const l=(e=t==null?void 0:t.data)==null?void 0:e.result;s.softsourceListIfo=l.softSourceList||[]}}catch(t){console.log(t)}try{const t=yield v.Guide.GetSoftSource.GET();if((u=t==null?void 0:t.data)!=null&&u.result){const l=t.data.result;s.softSource=l.softSource,s.currSoftSource=l.softSource}}catch(t){console.log(t)}});[d,a]=F(()=>f()),yield d,a();const c=()=>p(this,null,function*(){const o=S.Loading("\u6B63\u5728\u5207\u6362\u4E2D...");i.value=!0;try{const e=yield v.Guide.SoftSource.POST({softSourceIdentity:s.softSource.identity});if(e!=null&&e.data){const{result:u,error:t,success:l}=e.data;t&&S.Warning(t),(e.data.success||0)==0&&(S.Success("\u5207\u6362\u6210\u529F"),yield f())}}catch(e){S.Error(`${e}`)}finally{i.value=!1,o.Close()}});return(o,e)=>(_(),m("form",{class:"form-container",onSubmit:B(c,["prevent"])},[I,r("div",C,[g(` <select v-model="opkg.softSource.identity">
|
||||
<option value="">\u8BF7\u9009\u62E9\u8F6F\u4EF6\u6E90</option>
|
||||
<option v-for="item in opkg.softsourceListIfo" :value="item.identity">
|
||||
{{ item.name }}
|
||||
</option>
|
||||
</select> `),(_(!0),m(k,null,L(s.softsourceListIfo,u=>(_(),m("label",V,[D(r("input",{type:"radio",value:u.identity,"onUpdate:modelValue":e[0]||(e[0]=t=>s.softSource.identity=t)},null,8,N),[[G,s.softSource.identity,void 0,{trim:!0}]]),T(" "+h(u.name),1)]))),256))]),r("div",M,[r("button",{class:"sumbit",disabled:i.value},"\u4FDD\u5B58",8,P)]),n.value?(_(),m("div",j,[r("span",null,h(n.value),1)])):g("v-if",!0)],32))})}});var Q=w(q,[]);export{Q as default};
|
||||
@@ -0,0 +1,7 @@
|
||||
var He=Object.defineProperty,Ye=Object.defineProperties;var Ze=Object.getOwnPropertyDescriptors;var be=Object.getOwnPropertySymbols;var eu=Object.prototype.hasOwnProperty,uu=Object.prototype.propertyIsEnumerable;var De=(e,r,i)=>r in e?He(e,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[r]=i,q=(e,r)=>{for(var i in r||(r={}))eu.call(r,i)&&De(e,i,r[i]);if(be)for(var i of be(r))uu.call(r,i)&&De(e,i,r[i]);return e},P=(e,r)=>Ye(e,Ze(r));var b=(e,r,i)=>new Promise((o,A)=>{var E=d=>{try{w(i.next(d))}catch(_){A(_)}},S=d=>{try{w(i.throw(d))}catch(_){A(_)}},w=d=>d.done?o(d.value):Promise.resolve(d.value).then(E,S);w((i=i.apply(e,r)).next())});import{d as H,$ as ce,L as le,a as C,E as ye,o as n,c as l,f as t,s as tu,t as F,u as W,F as U,G as ie,h as k,T as y,i as Ce,O as Q,_ as Y,p as Se,q as Ie,J as au,U as su,r as B,X as nu,A as J,B as lu,a0 as Ae,a1 as ou,a2 as iu,w as j,j as K,W as N,e as M,y as we,v as ru,g as cu,a3 as pu}from"./index.js";const xe=e=>(Se("data-v-a3d8ec3c"),e=e(),Ie(),e),du={class:"app-item"},vu={class:"app-card"},fu={class:"app-item_icon"},Fu=["src"],_u={class:"app-item_info"},Eu={class:"app-title"},ku={class:"app-as"},hu={style:{"font-weight":"600"}},mu=xe(()=>t("span",{style:{margin:"0 10px"}},"|",-1)),Bu={style:{"font-weight":"600"}},gu=["title"],bu={key:0,class:"app-btn"},Du={key:1,class:"app-btn"},yu=xe(()=>t("div",null,null,-1)),Cu=H({__name:"app",props:{app:{type:Object,required:!0}},emits:["install-app","upgrade-app","remove-app"],setup(e,{emit:r}){const{$gettext:i}=Q,o=ce(),A=le.numberFormat,E=e,S=r,w=C(()=>o.appsExpand[E.app.name]||{downloadCount:0,isStar:null,name:E.app.name,starCount:0}),d=()=>{E.app.openApp&&E.app.openApp()},_=()=>{D(),S("install-app",E.app)},g=()=>{S("remove-app",E.app)},T=()=>{D(),S("upgrade-app",E.app)},I=()=>{y.Message("\u60A8\u5DF2\u70B9\u8D5E\u8FC7\u4E86")},L=()=>b(this,null,function*(){var f;try{const p=yield Ce.ApiStore.star.POST({appId:E.app.name,deviceId:le.getDeviceId()});((f=p==null?void 0:p.data)==null?void 0:f.success)==0&&o.appsExpand[E.app.name]&&(o.appsExpand[E.app.name].isStar=!0)}catch(p){y.Error(`${p}`)}}),D=()=>b(this,null,function*(){var f;try{(f=(yield Ce.ApiStore.download.POST({appId:E.app.name,deviceId:le.getDeviceId()})).data)==null||f.success}catch(p){y.Error(`${p}`)}}),c=f=>{switch(Q.defaultLanguage){case"zh-cn":case"zh-CN":case"zh-tw":return f.title}return f.title_en||f.title},h=f=>{switch(Q.defaultLanguage){case"zh-cn":case"zh-CN":case"zh-tw":return f.description}return f.description_en||f.description};return(f,p)=>{const O=ye("icon-star-off"),R=ye("icon-star-on");return n(),l("div",du,[t("div",vu,[t("div",fu,[t("img",{src:e.app.getIcon(),alt:""},null,8,Fu)]),t("div",_u,[t("div",Eu,[tu(F(c(e.app))+" ",1),t("em",null,F(e.app.version),1)]),t("div",ku,[t("span",hu,F(W(A)(w.value.downloadCount))+" "+F(W(i)("\u6B21\u4E0B\u8F7D")),1),mu,t("span",Bu,F(W(A)(w.value.starCount))+" "+F(W(i)("\u6B21\u70B9\u8D5E")),1),w.value.isStar!=null?(n(),l(U,{key:0},[w.value.isStar?(n(),l("a",{key:0,class:"star-btn",onClick:p[0]||(p[0]=v=>I())},[ie(O)])):(n(),l("a",{key:1,class:"star-btn",onClick:p[1]||(p[1]=v=>L())},[ie(R)]))],64)):k("v-if",!0)]),t("div",{class:"app-desc",title:e.app.description},F(h(e.app)),9,gu),k(` <div class="app-author">
|
||||
<span>\u4F5C\u8005: {{ app.author }}</span>
|
||||
</div>
|
||||
<div class="app-date">
|
||||
<span>\u66F4\u65B0\u65E5\u671F:{{ app.getFormatDate() }}</span>
|
||||
</div> `)])]),e.app.isInstall()?(n(),l("div",bu,[e.app.isUpdate()?(n(),l("button",{key:0,class:"update",onClick:p[2]||(p[2]=v=>T())},F(W(i)("\u66F4\u65B0")),1)):k("v-if",!0),t("button",{class:"del",onClick:p[3]||(p[3]=v=>g())},F(W(i)("\u5378\u8F7D")),1),t("button",{onClick:p[4]||(p[4]=v=>d()),class:"open"},F(W(i)("\u6253\u5F00")),1)])):(n(),l("div",Du,[yu,t("button",{class:"install",onClick:p[5]||(p[5]=v=>_())},F(W(i)("\u5B89\u88C5")),1)]))])}}});var oe=Y(Cu,[["__scopeId","data-v-a3d8ec3c"]]);const Au=H({__name:"index",emits:["change"],setup(e,{emit:r}){const i=r,o=d=>{},A=d=>{d===null&&console.log("dragleave")},E=d=>{d.preventDefault(),d.dataTransfer&&(d.dataTransfer.dropEffect="link")},S=d=>{d.preventDefault(),w(d)},w=d=>{var g;const _=(g=d==null?void 0:d.dataTransfer)==null?void 0:g.files;if(_&&_.length>0){const T=[];for(let I=0;I<_.length;I++){const L=_.item(I);L&&T.push(L)}i("change",T);return}};return(d,_)=>(n(),l("div",{onDrop:S,onDragenter:o,onDragleave:A,onDragover:E},[au(d.$slots,"default")],32))}});var wu=Y(Au,[]);const re="istore",$u=new Set(["install","quick-install","upgrade","remove","upload","update"]);function Su(e,r){return{action:e,title:r,phase:"running",message:qu(e),log:"",detailsOpen:!1}}function Iu(e,r){const i=Ou(r),o=r.code!==0||Boolean(r.stderr);return!o&&Tu(e.action)?P(q({},e),{phase:"running",message:Te(e.action),log:i,detailsOpen:!1,taskId:re}):P(q({},e),{phase:o?"failed":"success",message:o?X(e.action):Oe(e.action),log:i,detailsOpen:o})}function xu(e,r){if(r.running)return P(q({},e),{phase:"running",message:Te(e.action),detailsOpen:e.detailsOpen,taskId:e.taskId||re});const o=(typeof r.exit_code=="number"?r.exit_code:0)!==0;return P(q({},e),{phase:o?"failed":"success",message:o?X(e.action):Oe(e.action),detailsOpen:o||e.detailsOpen,taskId:e.taskId||re})}function $e(e,r){const i=`${r||""}`.trim();return P(q({},e),{phase:"failed",message:i?`${X(e.action)}\uFF1A${Pu(i)}`:X(e.action),log:i,detailsOpen:!0})}function Tu(e){return $u.has(e)}function Ou(e){return[e.stdout,e.stderr].filter(Boolean).join(`
|
||||
`).trim()}function qu(e){return e==="quick-install"?"\u6B63\u5728\u5FEB\u901F\u8BBE\u7F6E\u5E94\u7528...":e==="install"?"\u6B63\u5728\u5B89\u88C5\u5E94\u7528...":e==="upgrade"?"\u6B63\u5728\u5347\u7EA7\u5E94\u7528...":e==="remove"?"\u6B63\u5728\u5378\u8F7D\u5E94\u7528...":e==="upload"?"\u6B63\u5728\u5B89\u88C5\u4E0A\u4F20\u7684\u8F6F\u4EF6\u5305...":e==="backup"?"\u6B63\u5728\u521B\u5EFA\u8F6F\u4EF6\u5907\u4EFD...":e==="restore"?"\u6B63\u5728\u6062\u590D\u8F6F\u4EF6\u5907\u4EFD...":"\u6B63\u5728\u5237\u65B0\u8F6F\u4EF6\u6E90..."}function Te(e){return e==="quick-install"?"\u5FEB\u901F\u8BBE\u7F6E\u4EFB\u52A1\u5DF2\u63D0\u4EA4\uFF0C\u6B63\u5728\u5B89\u88C5\u5E94\u7528...":e==="install"?"\u5B89\u88C5\u4EFB\u52A1\u5DF2\u63D0\u4EA4\uFF0C\u6B63\u5728\u5B89\u88C5\u5E94\u7528...":e==="upgrade"?"\u5347\u7EA7\u4EFB\u52A1\u5DF2\u63D0\u4EA4\uFF0C\u6B63\u5728\u5347\u7EA7\u5E94\u7528...":e==="remove"?"\u5378\u8F7D\u4EFB\u52A1\u5DF2\u63D0\u4EA4\uFF0C\u6B63\u5728\u5378\u8F7D\u5E94\u7528...":e==="upload"?"\u5B89\u88C5\u5305\u5DF2\u4E0A\u4F20\uFF0C\u6B63\u5728\u5B89\u88C5...":"\u8F6F\u4EF6\u6E90\u5237\u65B0\u4EFB\u52A1\u5DF2\u63D0\u4EA4\uFF0C\u6B63\u5728\u66F4\u65B0..."}function Oe(e){return e==="quick-install"?"\u5E94\u7528\u5FEB\u901F\u8BBE\u7F6E\u5B8C\u6210":e==="install"?"\u5E94\u7528\u5B89\u88C5\u5B8C\u6210":e==="upgrade"?"\u5E94\u7528\u5347\u7EA7\u5B8C\u6210":e==="remove"?"\u5E94\u7528\u5378\u8F7D\u5B8C\u6210":e==="upload"?"\u79BB\u7EBF\u5B89\u88C5\u5B8C\u6210":e==="backup"?"\u8F6F\u4EF6\u5907\u4EFD\u5DF2\u521B\u5EFA":e==="restore"?"\u8F6F\u4EF6\u5907\u4EFD\u5DF2\u6062\u590D":"\u8F6F\u4EF6\u6E90\u5237\u65B0\u5B8C\u6210"}function X(e){return e==="quick-install"?"\u5E94\u7528\u5FEB\u901F\u8BBE\u7F6E\u5931\u8D25":e==="install"?"\u5E94\u7528\u5B89\u88C5\u5931\u8D25":e==="upgrade"?"\u5E94\u7528\u5347\u7EA7\u5931\u8D25":e==="remove"?"\u5E94\u7528\u5378\u8F7D\u5931\u8D25":e==="upload"?"\u79BB\u7EBF\u5B89\u88C5\u5931\u8D25":e==="backup"?"\u8F6F\u4EF6\u5907\u4EFD\u5931\u8D25":e==="restore"?"\u8F6F\u4EF6\u5907\u4EFD\u6062\u590D\u5931\u8D25":"\u8F6F\u4EF6\u6E90\u5237\u65B0\u5931\u8D25"}function Pu(e){return e.replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim().slice(0,160)}const x=e=>(Se("data-v-281acc62"),e=e(),Ie(),e),Uu={key:0,class:"software-toolbar"},Lu={key:1,class:"filter"},Vu=x(()=>t("span",null,"\u6807\u7B7E\uFF1A",-1)),Wu=["onClick"],Mu={key:2,class:"filter"},Ru=x(()=>t("span",null,"\u6392\u5E8F\uFF1A",-1)),zu=["onClick"],ju={key:3},Nu={class:"section-list"},Gu={key:4},Ju={class:"section-list"},Ku={key:5},Qu={class:"section-list"},Xu={key:6,class:"empty-section"},Hu={key:7,class:"upload-section"},Yu={class:"upload-card"},Zu=x(()=>t("div",{class:"upload-title"},"\u79BB\u7EBF\u5B89\u88C5",-1)),et=["disabled"],ut={key:8,class:"backup-section"},tt={class:"backup-toolbar"},at=["value"],st=["disabled"],nt=["disabled"],lt={key:0,class:"backup-list"},ot={class:"backup-file"},it=["onClick","disabled"],rt={key:1,class:"backup-empty"},ct={key:9,class:"install-mask"},pt={class:"install-title"},dt={class:"install-methods"},vt=x(()=>t("span",null,"\u5FEB\u901F\u8BBE\u7F6E",-1)),ft=x(()=>t("em",null,"\u63A8\u8350",-1)),Ft=[vt,ft],_t=x(()=>t("span",null,"\u4EC5\u5B89\u88C5",-1)),Et=x(()=>t("em",null,"\u624B\u52A8\u914D\u7F6E",-1)),kt=[_t,Et],ht={class:"install-field"},mt=x(()=>t("span",null,"\u5B89\u88C5\u4F4D\u7F6E",-1)),Bt=["value"],gt=x(()=>t("option",{value:"-"},"\u81EA\u5B9A\u4E49",-1)),bt={key:0,class:"install-field"},Dt=x(()=>t("span",null,"\u81EA\u5B9A\u4E49\u8DEF\u5F84",-1)),yt={class:"install-check"},Ct=x(()=>t("span",null,"\u5B89\u88C5\u540E\u542F\u52A8",-1)),At={class:"install-actions"},wt=["disabled"],$t={key:10,class:"store-task-mask"},St={class:"store-task-dialog"},It={class:"store-task-title"},xt={class:"store-task-body"},Tt={class:"task-message"},Ot={key:0,class:"task-detail-actions"},qt=["disabled"],Pt=["disabled"],Ut={key:0,class:"task-log"},Lt=H({__name:"appStore",setup(e){const{$gettext:r}=Q,i=su(),o=B("all"),A=B(""),E=B(null),S=B(""),w=B(),d=B(!1),_=B(null),g=B(""),T=B(""),I=B(!0),L=B(!1),D=B("install-only"),c=B(null),h=B(""),f=B(!1),p=B(null),O=B(!1),R=B(""),v=ce(),pe=C(()=>v.localApps||[]),de=C(()=>v.remoteApps||[]),Z=C(()=>v.installPaths||[]),ve=C(()=>{const u=[...v.installPathOptions||[]],a=g.value;return a&&a!=="-"&&!u.some(s=>s.value===a)&&u.unshift({value:a,label:a,sizeBytes:0}),u}),fe=C(()=>v.backupFiles||[]),Fe=C(()=>o.value==="all"||o.value==="installed"||o.value==="upgradable"),_e=C(()=>{const u=[...Z.value];return h.value&&!u.includes(h.value)&&u.unshift(h.value),u}),qe=C(()=>Ae(pe.value,de.value,v.appsExpand,{tab:o.value})),z=C(()=>Ae(pe.value,de.value,v.appsExpand,{tab:o.value,keyword:S.value,tag:o.value==="all"?A.value:"",sort:o.value==="all"?ou(E.value):"default"}).apps),Ee=C(()=>_.value?iu(_.value):!1),ee=C(()=>g.value==="-"?T.value.trim():g.value.trim()),Pe=C(()=>!L.value&&(D.value==="install-only"||Boolean(ee.value))),Ue=C(()=>o.value==="installed"?"\u6682\u65E0\u5DF2\u5B89\u88C5\u5E94\u7528":o.
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
var p=(D,c,d)=>new Promise((l,e)=>{var u=o=>{try{r(d.next(o))}catch(a){e(a)}},i=o=>{try{r(d.throw(o))}catch(a){e(a)}},r=o=>o.done?l(o.value):Promise.resolve(o.value).then(u,i);r((d=d.apply(D,c)).next())});import{_ as x,d as y,r as h,x as F,P,o as m,c as _,f as n,w as v,y as k,F as N,j as g,h as I,t as S,g as B,i as w,T as E}from"./index.js";const C=n("div",{class:"label-name"},[n("span",null,"DNS\u9009\u9879")],-1),A={class:"label-value"},T=n("option",{value:"auto"},"\u4F7F\u7528\u8FD0\u8425\u5546\u63D0\u4F9B\u7684DNS",-1),V=n("option",{value:"manual"},"\u81EA\u5B9A\u4E49DNS",-1),G=[T,V],M=n("div",{class:"label-name"},[n("span",null,"DNS\u670D\u52A1\u5668\u5730\u5740")],-1),U={class:"label-value"},j=n("div",{class:"label-name"}," \u5907\u7528DNS\u670D\u52A1\u5668\u5730\u5740 ",-1),q={class:"label-value"},L={class:"label-btns"},O=["disabled"],z={key:1,class:"label-msg"},H=y({__name:"index",setup(D){return p(this,null,function*(){let c,d;const l=h(""),e=F({interfaceName:"",dnsProto:"auto",manualDnsIp:[]}),u=F({dns1:"",dns2:""}),i=h(!1),r=()=>p(this,null,function*(){i.value=!0;try{const a=yield w.Guide.DnsConfig.GET();if(a!=null&&a.data){const{result:t}=a.data;if(t){e.dnsProto=t.dnsProto,e.manualDnsIp=t.manualDnsIp||[];for(let s=0;s<e.manualDnsIp.length;s++){s==0?u.dns1=e.manualDnsIp[s]:s==1&&(u.dns2=e.manualDnsIp[s]);break}}}}catch(a){l.value=a}i.value=!1});[c,d]=P(()=>r()),yield c,d();const o=()=>p(this,null,function*(){let a={};switch(e.dnsProto){case"auto":break;case"manual":a.manualDnsIp=[],e.manualDnsIp!=null&&e.manualDnsIp.length>0?a.manualDnsIp=e.manualDnsIp:(a.manualDnsIp.push(u.dns1),u.dns2&&a.manualDnsIp.push(u.dns2));break}a.dnsProto=e.dnsProto,a.interfaceName=e.interfaceName;const t=E.Loading("\u914D\u7F6E\u4E2D...");try{const s=yield w.Guide.DnsConfig.POST(a);if(s!=null&&s.data){const{success:f,error:b}=s==null?void 0:s.data;b&&(l.value=b),(f==null||f==0)&&(l.value="\u914D\u7F6E\u6210\u529F")}}catch(s){l.value=s}t.Close()});return(a,t)=>(m(),_("form",{class:"form-container",onSubmit:B(o,["prevent"])},[C,n("div",A,[v(n("select",{"onUpdate:modelValue":t[0]||(t[0]=s=>e.dnsProto=s)},[...G],512),[[k,e.dnsProto]])]),e.dnsProto=="manual"?(m(),_(N,{key:0},[M,n("div",U,[v(n("input",{type:"text",placeholder:"\u8BF7\u8F93\u5165 dns \u5730\u5740","onUpdate:modelValue":t[1]||(t[1]=s=>u.dns1=s),required:""},null,512),[[g,u.dns1,void 0,{trim:!0}]])]),j,n("div",q,[v(n("input",{type:"text",placeholder:"\u8BF7\u8F93\u5165\u5907\u7528 dns \u5730\u5740","onUpdate:modelValue":t[2]||(t[2]=s=>u.dns2=s)},null,512),[[g,u.dns2,void 0,{trim:!0}]])])],64)):I("v-if",!0),n("div",L,[n("button",{class:"sumbit",disabled:i.value},"\u4FDD\u5B58",8,O)]),l.value?(m(),_("div",z,[n("span",null,S(l.value),1)])):I("v-if",!0)],32))})}});var Q=x(H,[]);export{Q as default};
|
||||
@@ -0,0 +1 @@
|
||||
var U=Object.defineProperty;var B=Object.getOwnPropertySymbols;var H=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable;var O=(c,u,a)=>u in c?U(c,u,{enumerable:!0,configurable:!0,writable:!0,value:a}):c[u]=a,L=(c,u)=>{for(var a in u||(u={}))H.call(u,a)&&O(c,a,u[a]);if(B)for(var a of B(u))Q.call(u,a)&&O(c,a,u[a]);return c};var D=(c,u,a)=>new Promise((d,l)=>{var P=w=>{try{x(a.next(w))}catch(I){l(I)}},m=w=>{try{x(a.throw(w))}catch(I){l(I)}},x=w=>w.done?d(w.value):Promise.resolve(w.value).then(P,m);x((a=a.apply(c,u)).next())});import{_ as W,d as J,r as S,x as K,P as X,o as k,c as C,f as p,w as g,j as R,F as z,Q as j,s as T,h as V,t as Y,g as Z,i as N,T as $}from"./index.js";var ee=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},G={exports:{}};(function(c){(function(u){const a="(0?\\d+|0x[a-f0-9]+)",d={fourOctet:new RegExp(`^${a}\\.${a}\\.${a}\\.${a}$`,"i"),threeOctet:new RegExp(`^${a}\\.${a}\\.${a}$`,"i"),twoOctet:new RegExp(`^${a}\\.${a}$`,"i"),longValue:new RegExp(`^${a}$`,"i")},l=new RegExp("^0[0-7]+$","i"),P=new RegExp("^0x[a-f0-9]+$","i"),m="%[0-9a-z]{1,}",x="(?:[0-9a-f]+::?)+",w={zoneIndex:new RegExp(m,"i"),native:new RegExp(`^(::)?(${x})?([0-9a-f]+)?(::)?(${m})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${a}\\.${a}\\.${a}\\.${a}(${m})?)$`,"i"),transitional:new RegExp(`^((?:${x})|(?:::)(?:${x})?)${a}\\.${a}\\.${a}\\.${a}(${m})?$`,"i")};function I(e,t){if(e.indexOf("::")!==e.lastIndexOf("::"))return null;let r=0,n=-1,o=(e.match(w.zoneIndex)||[])[0],s,h;for(o&&(o=o.substring(1),e=e.replace(/%.+$/,""));(n=e.indexOf(":",n+1))>=0;)r++;if(e.substr(0,2)==="::"&&r--,e.substr(-2,2)==="::"&&r--,r>t)return null;for(h=t-r,s=":";h--;)s+="0:";return e=e.replace("::",s),e[0]===":"&&(e=e.slice(1)),e[e.length-1]===":"&&(e=e.slice(0,-1)),t=function(){const A=e.split(":"),_=[];for(let M=0;M<A.length;M++)_.push(parseInt(A[M],16));return _}(),{parts:t,zoneId:o}}function f(e,t,r,n){if(e.length!==t.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let o=0,s;for(;n>0;){if(s=r-n,s<0&&(s=0),e[o]>>s!==t[o]>>s)return!1;n-=r,o+=1}return!0}function v(e){if(P.test(e))return parseInt(e,16);if(e[0]==="0"&&!isNaN(parseInt(e[1],10))){if(l.test(e))return parseInt(e,8);throw new Error(`ipaddr: cannot parse ${e} as octal`)}return parseInt(e,10)}function b(e,t){for(;e.length<t;)e=`0${e}`;return e}const i={};i.IPv4=function(){function e(t){if(t.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let r,n;for(r=0;r<t.length;r++)if(n=t[r],!(0<=n&&n<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=t}return e.prototype.SpecialRanges={unspecified:[[new e([0,0,0,0]),8]],broadcast:[[new e([255,255,255,255]),32]],multicast:[[new e([224,0,0,0]),4]],linkLocal:[[new e([169,254,0,0]),16]],loopback:[[new e([127,0,0,0]),8]],carrierGradeNat:[[new e([100,64,0,0]),10]],private:[[new e([10,0,0,0]),8],[new e([172,16,0,0]),12],[new e([192,168,0,0]),16]],reserved:[[new e([192,0,0,0]),24],[new e([192,0,2,0]),24],[new e([192,88,99,0]),24],[new e([198,18,0,0]),15],[new e([198,51,100,0]),24],[new e([203,0,113,0]),24],[new e([240,0,0,0]),4]],as112:[[new e([192,175,48,0]),24],[new e([192,31,196,0]),24]],amt:[[new e([192,52,193,0]),24]]},e.prototype.kind=function(){return"ipv4"},e.prototype.match=function(t,r){let n;if(r===void 0&&(n=t,t=n[0],r=n[1]),t.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return f(this.octets,t.octets,8,r)},e.prototype.prefixLengthFromSubnetMask=function(){let t=0,r=!1;const n={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};let o,s,h;for(o=3;o>=0;o-=1)if(s=this.octets[o],s in n){if(h=n[s],r&&h!==0)return null;h!==8&&(r=!0),t+=h}else return null;return 32-t},e.prototype.range=function(){return i.subnetMatch(this,this.SpecialRanges)},e.prototype.toByteArray=function(){return this.octets.slice(0)},e.prototype.toIPv4MappedAddress=function(){return i.IPv6.parse(`::ffff:${this.toString()}`)},e.prototype.toNormalizedString=function(){return this.toString()},e.prototype.toString=function(){return this.octets.join(".")},e}(),i.IPv4.broadcastAddressFromCIDR=function(e){try{const t=this.parseCIDR(e),r=t[0].toByteArray(),n=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),o=[];let s=0;for(;s<4;)o.push(parseInt(r[s],10)|parseInt(n[s],10)^255),s++;return new this(o)}catch(t){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},i.IPv4.isIPv4=function(e){return this.parser(e)!==null},i.IPv4.isValid=function(e){try{return new this(this.parser(e)),!0}catch(t){return!1}},i.IPv4.isValidCIDR=function(e){try{return this.parseCIDR(e),!0}catch(t){return!1}},i.IPv4.isValidFourPartDecimal=function(e){return!!(i.IPv4.isValid(e)&&e.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},i.IPv4.networkAddressFromCIDR=function(e){let t,r,n,o,s;try{for(t=this.parseCIDR(e),n=t[0].toByteArray(),s=this.subnetMaskFromPrefixLLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as o,d as r,E as e,o as u,A as i,B as c,Y as t,G as l}from"./index.js";const p=r({__name:"index",setup(_){const a=[{name:"disk",title:"\u6211\u7684\u78C1\u76D8",path:"/router/disk"},{name:"disk-raid",title:"\u78C1\u76D8\u9635\u5217",fn:()=>{t({full:!1,title:"\u78C1\u76D8\u9635\u5217",src:"/cgi-bin/luci/admin/nas/raid"})}},{name:"disk-smart",title:"S.M.A.R.T",fn:()=>{t({full:!1,title:"S.M.A.R.T",src:"/cgi-bin/luci/admin/nas/smart"})}}];return(d,m)=>{const s=e("router-loading"),n=e("layout-page");return u(),i(n,{menus:a},{default:c(()=>[l(s)]),_:1})}}});var k=o(p,[]);export{k as default};
|
||||
@@ -0,0 +1 @@
|
||||
var F=(P,f,c)=>new Promise((l,t)=>{var h=d=>{try{i(c.next(d))}catch(D){t(D)}},o=d=>{try{i(c.throw(d))}catch(D){t(D)}},i=d=>d.done?l(d.value):Promise.resolve(d.value).then(h,o);i((c=c.apply(P,f)).next())});import{_ as S,d as C,r as B,x as A,P as V,o as v,c as m,f as e,w as r,y as M,F as b,j as _,h as I,e as U,t as T,g as q,i as w,T as G}from"./index.js";const L=e("div",{class:"label-info"}," \u8BF7\u786E\u4FDD\u60A8\u5DF2\u5C06\u8DEF\u7531 WAN \u53E3\u8FDE\u63A5\u5230\u4E0A\u7EA7\u8DEF\u7531\u5C40\u57DF\u7F51\uFF08 LAN \uFF09\u63A5\u53E3 ",-1),W=e("div",{class:"label-name"},[e("span",null,"WAN \u63A5\u53E3\u914D\u7F6E\u65B9\u5F0F")],-1),j={class:"label-value"},H=e("option",{value:"dhcp"},"\u81EA\u52A8\u83B7\u53D6 IP \u5730\u5740\uFF08DHCP\uFF09",-1),O=e("option",{value:"static"},"\u9759\u6001 IP \u5730\u5740",-1),z=[H,O],J=e("div",{class:"label-name"},[e("span",null,"IP\u5730\u5740")],-1),K={class:"label-value"},Q=e("div",{class:"label-name"},[e("span",null,"\u5B50\u7F51\u63A9\u7801")],-1),R={class:"label-value"},X=e("div",{class:"label-name"},[e("span",null,"\u7F51\u5173\u5730\u5740")],-1),Y={class:"label-value"},Z=e("div",{class:"label-name"},[e("span",null,"DNS \u914D\u7F6E\u65B9\u5F0F")],-1),$={class:"label-value"},tt=e("option",{value:"auto"},"\u81EA\u52A8\u83B7\u53D6\uFF08DHCP\uFF09",-1),et=e("option",{value:"manual"},"\u624B\u52A8\u914D\u7F6E",-1),at=[tt,et],st=e("div",{class:"label-name"},[e("span",null,"DNS\u670D\u52A1\u5668")],-1),ut={class:"label-value"},nt=["onUpdate:modelValue"],lt=e("div",{class:"label-name"},[e("span",null,"DNS\u670D\u52A1\u5668")],-1),ot={class:"label-value"},it=e("div",{class:"label-name"}," \u5907\u7528DNS\u670D\u52A1\u5668 ",-1),dt={class:"label-value"},rt={class:"label-btns"},ct=["disabled"],pt={key:2,class:"label-msg"},vt=C({__name:"index",setup(P){return F(this,null,function*(){let f,c;const l=B(""),t=A({wanProto:"dhcp",dnsProto:"auto",staticIp:"",subnetMask:"",manualDnsIp:[],gateway:""}),h=A({staticIP:""}),o=A({dnsAddr1:"",dnsAddr2:""}),i=B(!1),d=()=>F(this,null,function*(){i.value=!0;try{const u=yield Promise.all([w.Guide.ClientModel.GET(),w.Network.Status.GET()]);if(u[0]){const s=u[0],{result:a,error:n}=s.data;if(a){const{wanProto:p,dnsProto:y,staticIp:k,subnetMask:g,gateway:E,manualDnsIp:x}=a;p&&(t.wanProto=p),y&&(t.dnsProto=y),k&&(t.staticIp=k),g&&(t.subnetMask=g),E&&(t.gateway=E),x&&(t.manualDnsIp=x||[])}n&&(l.value=n)}if(u[1]){const s=u[1],{result:a,error:n}=s.data;a&&a.ipv4addr&&(h.staticIP=a.ipv4addr),n&&(l.value=n)}}catch(u){l.value=u}i.value=!1});[f,c]=V(()=>d()),yield f,c();const D=u=>{u.target.value=="static"&&((t.staticIp==null||t.staticIp=="")&&(t.staticIp=h.staticIP),(t.subnetMask==null||t.subnetMask=="")&&(t.subnetMask="255.255.255.0"))},N=()=>F(this,null,function*(){const u={};switch(t.wanProto){case"dhcp":break;case"static":u.staticIp=t.staticIp,u.subnetMask=t.subnetMask,u.gateway=t.gateway;break}switch(t.dnsProto){case"auto":break;case"manual":u.manualDnsIp=[],t.manualDnsIp!=null&&t.manualDnsIp.length>0?u.manualDnsIp=t.manualDnsIp:(u.manualDnsIp.push(o.dnsAddr1),o.dnsAddr2&&u.manualDnsIp.push(o.dnsAddr2));break}u.dnsProto=t.dnsProto,u.wanProto=t.wanProto,i.value=!0;const s=G.Loading("\u4FDD\u5B58\u4E2D...");try{const a=yield w.Guide.ClientModel.POST(u);if(a!=null&&a.data){const{success:n,error:p}=a==null?void 0:a.data;p&&(l.value=p),(n==null||n==0)&&(l.value="\u914D\u7F6E\u5B8C\u6210")}}catch(a){l.value=a}i.value=!1,s.Close()});return(u,s)=>(v(),m("form",{class:"form-container",onSubmit:q(N,["prevent"])},[L,W,e("div",j,[r(e("select",{"onUpdate:modelValue":s[0]||(s[0]=a=>t.wanProto=a),onInput:D},[...z],544),[[M,t.wanProto]])]),t.wanProto=="static"?(v(),m(b,{key:0},[J,e("div",K,[r(e("input",{type:"text",placeholder:"ip\u5730\u5740","onUpdate:modelValue":s[1]||(s[1]=a=>t.staticIp=a),required:""},null,512),[[_,t.staticIp,void 0,{trim:!0}]])]),Q,e("div",R,[r(e("input",{type:"text",placeholder:"\u5B50\u7F51\u63A9\u7801\u5730\u5740","onUpdate:modelValue":s[2]||(s[2]=a=>t.subnetMask=a),required:""},null,512),[[_,t.subnetMask,void 0,{trim:!0}]])]),X,e("div",Y,[r(e("input",{type:"text",placeholder:"\u7F51\u5173\u5730\u5740","onUpdate:modelValue":s[3]||(s[3]=a=>t.gateway=a),required:""},null,512),[[_,t.gateway,void 0,{trim:!0}]])])],64)):I("v-if",!0),Z,e("div",$,[r(e("select",{"onUpdate:modelValue":s[4]||(s[4]=a=>t.dnsProto=a)},[...at],512),[[M,t.dnsProto]])]),t.dnsProto=="manual"?(v(),m(b,{key:1},[t.manualDnsIp!=null&&t.manualDnsIp.length>0?(v(!0),m(b,{key:0},U(t.manualDnsIp,(a,n)=>(v(),m(b,null,[st,e("div",ut,[r(e("input",{type:"text",placeholder:"DNS\u670D\u52A1\u5668\u5730\u5740","onUpdate:modelValue":p=>t.manualDnsIp[n]=p},null,8,nt),[[_,t.manualDnsIp[n],void 0,{trim:!0}]])])],64))),256)):(v(),m(b,{key:1},[lt,e("div",ot,[r(e("input",{type:"text",placeholder:"\u4E3BDNS\u670D\u52A1\u5668\u5730\u5740","onUpdate:modelValue":s[5]||(s[5]=a=>o.dnsAddr1=a),required:""},null,512),[[_,o.dnsAddr1,void 0,{trim:!0}]])]),it,e("div",dt,[r(e("input",{type:"text",placeholLine truncated
|
||||
@@ -0,0 +1,3 @@
|
||||
var be=Object.defineProperty,ye=Object.defineProperties;var Be=Object.getOwnPropertyDescriptors;var de=Object.getOwnPropertySymbols;var Ce=Object.prototype.hasOwnProperty,$e=Object.prototype.propertyIsEnumerable;var _e=(o,t,u)=>t in o?be(o,t,{enumerable:!0,configurable:!0,writable:!0,value:u}):o[t]=u,pe=(o,t)=>{for(var u in t||(t={}))Ce.call(t,u)&&_e(o,u,t[u]);if(de)for(var u of de(t))$e.call(t,u)&&_e(o,u,t[u]);return o},ve=(o,t)=>ye(o,Be(t));var E=(o,t,u)=>new Promise((f,i)=>{var D=c=>{try{d(u.next(c))}catch(s){i(s)}},h=c=>{try{d(u.throw(c))}catch(s){i(s)}},d=c=>c.done?f(c.value):Promise.resolve(c.value).then(D,h);d((u=u.apply(o,t)).next())});import{_ as S,o as _,c as v,r as w,a as V,b as ge,d as N,F as k,e as Y,f as e,w as y,v as Ie,g as M,h as b,i as g,t as A,j as I,k as Ae,T as $,l as R,m as Se,n as xe,u as m,p as Z,q as ee,s as J,x as U,y as K,z as j,A as H,B as Q,C as Fe,D as Pe,E as fe,G as z,S as Ne}from"./index.js";import{d as We}from"./chunk.555488a0.js";const Ue={},Ve={class:""};function Le(o,t){return _(),v("div",Ve)}var Te=S(Ue,[["render",Le]]),C=(o=>(o.wifi="wifi",o.wifiStatus="wifiStatus",o.status="status",o.network="network",o.networkLoad="networkLoad",o.networkPppoe="networkPppoe",o.networkDhcp="networkDhcp",o.networkDns="networkDns",o))(C||{});const q=w(!1),x=w(),De=w([]),he=Symbol("ifaces"),Ge=V(()=>De.value),me=Symbol("network"),we=w(),Me=V(()=>we.value),je=Symbol("ports"),W=w([]),qe=V(()=>W.value),ke=Symbol("isWan"),He=V(()=>{for(let o=0;o<W.value.length;o++)if(W.value[o].linkState!=="DOWN"){for(let t=0;t<W.value[o].interfaceNames.length;t++)if(W.value[o].interfaceNames[t]==="wan")return!0}return!1}),Oe=()=>{q.value=!1},ze=()=>{x.value="wifi"},Re=o=>{De.value=o,x.value="wifiStatus"},Je=(o,t)=>{W.value=t,we.value=o,x.value="network"},P=()=>{x.value="networkLoad"},X=()=>{Oe(),ge.push({path:"/router/network"})},Ke=()=>{x.value="networkDns"},Qe=()=>{x.value="networkDhcp"},Xe=()=>{x.value="networkPppoe"},Ye=e("div",{class:"form-item"},[e("div",{class:"form-item_desc"}," \u8BBE\u5B9A\u552F\u4E00\u7684\u540D\u79F0\u6216SSID\uFF08Service Set Identifier\uFF09\u65B9\u4FBF\u8FA8\u8BC6\u60A8\u7684\u65E0\u7EBF\u7F51\u7EDC ")],-1),Ze={class:"form-item"},et={class:"form-item_title"},tt={class:"form-item_conn"},st=["placeholder","onInput","onUpdate:modelValue","disabled"],ut={class:"form-item"},nt={class:"form-item_title"},ot={class:"form-item_conn"},at=["type","placeholder","onInput","onUpdate:modelValue","disabled"],lt=["src"],it={class:"form-item"},ct=["value"],rt=e("span",null,"\u540C\u6B65\u8BBE\u5B9A WIFI \u540D\u79F0\u53CA\u5BC6\u7801",-1),dt=e("div",{class:"",style:{height:"36px"}},null,-1),_t={class:"form-item"},pt={class:"form-item_actions"},vt=["disabled"],ft="/luci-static/istorerouter/icon/eye-close.png",Ft="/luci-static/istorerouter/icon/eye-on.png",Dt=N({__name:"wifi",setup(o){const t=w(!1),u=w([]),f=w(!0),i=w(!1),D=w(!1);(()=>E(this,null,function*(){D.value=!0;try{const{data:n}=yield g.Wireless.List.GET(),{error:r,result:a}=n;if(r)throw r;a!=null&&a.ifaces&&(u.value=a.ifaces.filter(p=>!p.isGuest).map(p=>ve(pe({},p),{hidden:p.hidden||!1,disabled:p.disabled||!1,isGuest:p.isGuest||!1,channel:p.channel||0,txpower:p.txpower||0})))}catch(n){console.log(n)}finally{D.value=!1}}))();const d=n=>{var r;return n.band==="2g"?"2.4G":(r=n.band)==null?void 0:r.toUpperCase()},c=(n,r)=>{var a;if(!!f.value&&r.band==="2g")for(let p=0;p<u.value.length;p++){const F=u.value[p];F.band!=="2g"&&!F.isGuest&&(u.value[p].ssid=`${r.ssid}_${(a=F.band)==null?void 0:a.toUpperCase()}`)}},s=(n,r)=>{if(!!f.value&&r.band==="2g")for(let a=0;a<u.value.length;a++){const p=u.value[a];p.band!=="2g"&&!p.isGuest&&(u.value[a].key=r.key)}},l=()=>E(this,null,function*(){if(t.value)return;t.value=!0;const n=$.Loading("\u914D\u7F6E\u4E2D...");try{const r={};for(let p=0;p<u.value.length;p++){const F=u.value[p];F.ifaceName&&(F.hidden=!1,F.disabled=!1,F.encryption="psk2",r[F.ifaceName]=F)}const{data:a}=yield g.Wireless.Setup.POST(r);if(a!=null&&a.error)throw a.error;Re(u.value)}catch(r){$.Error(`${r}`)}finally{n.Close(),t.value=!1}});return(n,r)=>D.value?b("v-if",!0):(_(),v("form",{key:0,onSubmit:M(l,["prevent"])},[Ye,(_(!0),v(k,null,Y(u.value,(a,p)=>(_(),v(k,{key:p},[e("div",Ze,[e("div",et,[e("span",null,A(d(a))+"Hz \u65E0\u7EBF\u540D\u79F0\uFF08SSID\uFF09",1)]),e("div",tt,[y(e("input",{type:"text",placeholder:`\u8BF7\u8F93\u5165 ${d(a)} WIFI \u540D\u79F0`,onInput:F=>c(F,a),"onUpdate:modelValue":F=>a.ssid=F,disabled:t.value,required:""},null,40,st),[[I,a.ssid,void 0,{trim:!0}]])])]),e("div",ut,[e("div",nt,[e("span",null,A(d(a))+"Hz \u65E0\u7EBF\u5BC6\u7801",1)]),e("div",ot,[y(e("input",{type:i.value?"text":"password",placeholder:`\u8BF7\u8F93\u5165 ${d(a)} WIFI \u5BC6\u7801`,onInput:F=>s(F,a),"onUpdate:modelValue":F=>a.key=F,disabled:t.value,required:""},null,40,at),[[Ae,a.key,void 0,{trim:!0}]]),e("img",{class:"seeIcon",src:i.value?ft:Ft,onClick:r[0]||(r[0]=F=>i.value=!i.value)},null,8,lt)])])],64))),128)),e("div",it,[e("label",null,[yLine truncated
|
||||
<span>\u5DF2\u6210\u529F\u8FDE\u63A5\u5230\u4E92\u8054\u7F51,\u60A8\u4E5F\u53EF\u4EE5\u5230</span> <a @click="hanldeToManual">\u7F51\u7EDC\u914D\u7F6E</a><span>\u627E\u5230\u66F4\u591A\u914D\u7F6E</span>
|
||||
</div> `),e("div",{class:"network-actions"},[e("button",{class:"close",onClick:n},"\u5173\u95ED")])],64)):((re=m(i))==null?void 0:re.networkInfo)=="dnsFailed"?(_(),v(k,{key:3},[b(" dns\u9519\u8BEF "),Bs,e("div",{class:"network-actions"},[e("button",{class:"close",onClick:d},"DNS\u914D\u7F6E"),e("button",{onClick:l,class:"reload"},"\u91CD\u8BD5")])],64)):(_(),v(k,{key:4},[b(" \u68C0\u6D4B\u4E2D "),e("div",{class:"network-actions"},[e("button",{onClick:l,class:"reload"},"\u91CD\u8BD5")])],64))])])])])}}});var $s=S(Cs,[["__scopeId","data-v-3a156e70"]]);const Ee=o=>(Z("data-v-584fef14"),o=o(),ee(),o),gs={class:"network"},Is=Ee(()=>e("div",{class:"network-desc"}," \u8FDE\u63A5\u7F51\u7EDC\u8D85\u65F6 ",-1)),As=Ee(()=>e("br",null,null,-1)),Ss=N({__name:"networkLoad",setup(o){const t=w(),u=w(!0),f=w(!1),i=a=>E(this,null,function*(){yield new Promise(p=>{setTimeout(()=>{p()},a)})});let D=0;const h=()=>E(this,null,function*(){D<5?(yield i(3e3),yield l(),D++):f.value=!0}),d=w([]),c=()=>E(this,null,function*(){const{data:a}=yield g.Network.PortList.GET(),{result:p,error:F}=a;if(F)throw F;d.value=(p==null?void 0:p.ports)||[]}),s=()=>E(this,null,function*(){var a,p;try{const{data:F}=yield g.Network.Status.SetupFinish();if(F.result)switch(t.value=F.result,((a=t.value)==null?void 0:a.networkInfo)==="netFailed"&&(yield c()),(p=t.value)==null?void 0:p.networkInfo){case"netFailed":case"netSuccess":case"dnsFailed":case"softSourceFailed":Je(t.value,d.value);break;default:yield h()}else yield h()}catch(F){}}),l=()=>E(this,null,function*(){try{$.Clear()}catch(p){}u.value=!0;const a=$.Loading("\u6B63\u5728\u68C0\u6D4B\u7F51\u7EDC");try{yield s()}catch(p){}finally{a.Close(),u.value=!1}});l();const n=()=>E(this,null,function*(){f.value=!1,D=0,yield l()}),r=()=>{X()};return(a,p)=>(_(),v("div",gs,[f.value?(_(),v(k,{key:0},[Is,e("div",{class:"network-actions"},[e("button",{onClick:n,class:"reload"},"\u91CD\u8BD5"),J(),As,e("button",{class:"close",onClick:r},"\u624B\u52A8\u914D\u7F6E")])],64)):b("v-if",!0)]))}});var xs=S(Ss,[["__scopeId","data-v-584fef14"]]);const Ps=e("div",{class:"label-name"},[e("span",null,"DNS\u9009\u9879")],-1),Ns={class:"label-value"},Ws=e("option",{value:"auto"},"\u4F7F\u7528\u8FD0\u8425\u5546\u63D0\u4F9B\u7684DNS",-1),Us=e("option",{value:"manual"},"\u81EA\u5B9A\u4E49DNS",-1),Vs=[Ws,Us],Ls=e("div",{class:"label-name"},[e("span",null,"DNS\u670D\u52A1\u5668\u5730\u5740")],-1),Ts={class:"label-value"},Gs=e("div",{class:"label-name"}," \u5907\u7528DNS\u670D\u52A1\u5668\u5730\u5740 ",-1),Ms={class:"label-value"},js={class:"label-btns"},qs=["disabled"],Hs=["disabled"],Os=N({__name:"networkDns",setup(o){const t=U({interfaceName:"",dnsProto:"auto",manualDnsIp:[]}),u=U({dns1:"",dns2:""}),f=w(!1);(()=>E(this,null,function*(){f.value=!0;try{const d=yield g.Guide.DnsConfig.GET();if(d!=null&&d.data){const{result:c}=d.data;if(c){t.dnsProto=c.dnsProto,t.manualDnsIp=c.manualDnsIp||[];for(let s=0;s<t.manualDnsIp.length;s++){s==0?u.dns1=t.manualDnsIp[s]:s==1&&(u.dns2=t.manualDnsIp[s]);break}}}}catch(d){$.Error(`${d}`)}f.value=!1}))();const D=()=>E(this,null,function*(){let d={};switch(t.dnsProto){case"auto":break;case"manual":d.manualDnsIp=[],t.manualDnsIp!=null&&t.manualDnsIp.length>0?d.manualDnsIp=t.manualDnsIp:(d.manualDnsIp.push(u.dns1),u.dns2&&d.manualDnsIp.push(u.dns2));break}d.dnsProto=t.dnsProto,d.interfaceName=t.interfaceName;const c=$.Loading("\u914D\u7F6E\u4E2D...");try{const s=yield g.Guide.DnsConfig.POST(d);if(s!=null&&s.data){const{success:l,error:n}=s==null?void 0:s.data;if(n)throw n;(l==null||l==0)&&P()}}catch(s){$.Error(`${s}`)}c.Close()}),h=()=>{P()};return(d,c)=>(_(),v("form",{class:"form-container",onSubmit:M(D,["prevent"])},[Ps,e("div",Ns,[y(e("select",{"onUpdate:modelValue":c[0]||(c[0]=s=>t.dnsProto=s)},[...Vs],512),[[K,t.dnsProto]])]),t.dnsProto=="manual"?(_(),v(k,{key:0},[Ls,e("div",Ts,[y(e("input",{type:"text",placeholder:"\u8BF7\u8F93\u5165 dns \u5730\u5740","onUpdate:modelValue":c[1]||(c[1]=s=>u.dns1=s),required:""},null,512),[[I,u.dns1,void 0,{trim:!0}]])]),Gs,e("div",Ms,[y(e("input",{type:"text",placeholder:"\u8BF7\u8F93\u5165\u5907\u7528 dns \u5730\u5740","onUpdate:modelValue":c[2]||(c[2]=s=>u.dns2=s)},null,512),[[I,u.dns2,void 0,{trim:!0}]])])],64)):b("v-if",!0),e("div",js,[e("button",{class:"back",type:"button",onClick:h,disabled:f.value},"\u8FD4\u56DE",8,qs),e("button",{class:"sumbit",disabled:f.value},"\u4FDD\u5B58",8,Hs)])],32))}});var zs=S(Os,[]);const Rs=e("div",{class:"label-info"}," \u8BF7\u786E\u4FDD\u60A8\u5DF2\u5C06\u8DEF\u7531 WAN \u53E3\u8FDE\u63A5\u5230\u4E0A\u7EA7\u8DEF\u7531\u5C40\u57DF\u7F51\uFF08 LAN \uFF09\u63A5\u53E3 ",-1),Js=e("div",{class:"label-name"},[e("span",null,"WAN \u63A5\u53E3\u914D\u7F6E\u65B9\u5F0F")],-1),Ks={class:"label-value"},Qs=e("option",{value:"dhcp"},"\u81EA\u52A8\u83B7\u53D6 IP \u5730\u5740\uFF08DHCP\uFF09",-1),Xs=e("option",{value:"static"},"\u9759\u6001 IP \u5730\u5740",-1),Ys=[Qs,Xs],Zs=e("div",{class:"label-name"},[e("span",nullLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
var q=Object.defineProperty,j=Object.defineProperties;var H=Object.getOwnPropertyDescriptors;var P=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable;var I=(v,u,d)=>u in v?q(v,u,{enumerable:!0,configurable:!0,writable:!0,value:d}):v[u]=d,G=(v,u)=>{for(var d in u||(u={}))O.call(u,d)&&I(v,d,u[d]);if(P)for(var d of P(u))R.call(u,d)&&I(v,d,u[d]);return v},U=(v,u)=>j(v,H(u));var F=(v,u,d)=>new Promise((s,_)=>{var n=f=>{try{b(d.next(f))}catch(h){_(h)}},w=f=>{try{b(d.throw(f))}catch(h){_(h)}},b=f=>f.done?s(f.value):Promise.resolve(f.value).then(n,w);b((d=d.apply(v,u)).next())});import{d as N,r as D,l as K,o as l,c as i,f as e,w as g,Q as T,u as p,s as M,j as L,y as k,k as Q,h as c,F as E,e as V,g as $,T as W,t as C,p as J,q as X,R as Y,i as A,_ as z,z as Z,U as ee,V as se,P as te,W as ae,A as oe}from"./index.js";const o=v=>(J("data-v-6cbcd95a"),v=v(),X(),v),le={class:"form-item"},ie=o(()=>e("div",{class:"label-name"},[e("span",null,"\u542F\u7528Wi-Fi")],-1)),ne={class:"label-value"},de={class:"label-flex"},ue=["disabled"],ce=["disabled"],ve={class:"form-item"},re=o(()=>e("div",{class:"label-name"},[e("span",null,"Wi-Fi\u540D\u79F0\uFF08SSID\uFF09")],-1)),_e={class:"label-value"},pe=["disabled"],be={class:"form-item"},he=o(()=>e("div",{class:"label-name"},[e("span",null,"Wi-Fi \u5B89\u5168\u6027")],-1)),fe={class:"label-value"},me=["disabled"],ye=Y('<option value="none" data-v-6cbcd95a>OPEN</option><option value="psk2" data-v-6cbcd95a>WPA2-PSK</option><option value="psk-mixed" data-v-6cbcd95a>WPA/WPA2-PSK</option><option value="sae" data-v-6cbcd95a>WPA3-SAE</option><option value="sae-mixed" data-v-6cbcd95a>WPA2-PSK/WPA3-SEA</option>',5),ge=[ye],we={class:"form-item"},Fe=o(()=>e("div",{class:"label-name"},[e("span",null,"Wi-Fi \u5BC6\u7801")],-1)),ke={class:"label-value"},xe=["type","disabled"],Se=["src"],De={class:"form-item"},Ee=o(()=>e("div",{class:"label-name"},[e("span",null,"SSID \u53EF\u89C1\u6027")],-1)),Ae={class:"label-value"},Be=["disabled"],We=o(()=>e("option",{value:!1},"\u663E\u793A",-1)),Ve=o(()=>e("option",{value:!0},"\u9690\u85CF",-1)),Ce=[We,Ve],Pe={key:0,class:"form-item"},Ie=o(()=>e("div",{class:"label-name"},[e("span",null,"\u53D1\u5C04\u529F\u7387")],-1)),Ge={class:"label-value"},Ue=["disabled"],Te=o(()=>e("option",{value:100},"\u6700\u5927",-1)),Me=o(()=>e("option",{value:70},"\u9AD8",-1)),Ne=o(()=>e("option",{value:50},"\u4E2D",-1)),$e=o(()=>e("option",{value:30},"\u4F4E",-1)),ze=[Te,Me,Ne,$e],qe={key:1,class:"form-item"},je=o(()=>e("div",{class:"label-name"},[e("span",null,"\u65E0\u7EBF\u6A21\u5F0F")],-1)),He={class:"label-value"},Oe=["disabled"],Re={key:0,value:"11n/ax"},Ke={key:1,value:"11g/n/ax"},Le={key:2,value:"11b/g/n/ax"},Qe={key:3,value:"11b/g/n"},Je={key:4,value:"11ac/ax"},Xe={key:5,value:"11n/ac/ax"},Ye={key:6,value:"11a/n/ac/ax"},Ze={key:7,value:"11a/n/ac"},es={key:2,class:"form-item"},ss=o(()=>e("div",{class:"label-name"},[e("span",null,"\u9891\u5BBD")],-1)),ts={class:"label-value"},as=["disabled"],os=o(()=>e("option",{value:"20"},"20 MHz",-1)),ls=o(()=>e("option",{value:"40"},"40 MHz",-1)),is={key:0,value:"auto"},ns={key:1,value:"80"},ds={key:2,value:"160"},us={key:3,class:"form-item"},cs=o(()=>e("div",{class:"label-name"},[e("span",null,"\u4FE1\u9053")],-1)),vs={class:"label-value"},rs=["disabled"],_s=o(()=>e("option",{value:0},"\u81EA\u52A8",-1)),ps=["value"],bs=["disabled"],hs=o(()=>e("option",{value:0},"\u81EA\u52A8",-1)),fs=o(()=>e("option",{value:36},"36",-1)),ms=o(()=>e("option",{value:40},"40",-1)),ys=o(()=>e("option",{value:44},"44",-1)),gs=o(()=>e("option",{value:48},"48",-1)),ws=o(()=>e("option",{value:52},"52(DFS)",-1)),Fs=o(()=>e("option",{value:56},"56(DFS)",-1)),ks=o(()=>e("option",{value:60},"60(DFS)",-1)),xs=o(()=>e("option",{value:64},"64(DFS)",-1)),Ss=o(()=>e("option",{value:149},"149",-1)),Ds=o(()=>e("option",{value:153},"153",-1)),Es=o(()=>e("option",{value:157},"157",-1)),As=o(()=>e("option",{value:161},"161",-1)),Bs=[hs,fs,ms,ys,gs,ws,Fs,ks,xs,Ss,Ds,Es,As],Ws={class:"label-btns"},Vs=["disabled"],Cs="/luci-static/istorerouter/icon/eye-close.png",Ps="/luci-static/istorerouter/icon/eye-on.png",Is=N({__name:"form",props:{data:{type:null,required:!0}},emits:["getData"],setup(v,{emit:u}){const d=v,s=D(Object.assign({},d.data)),_=u,n=K("disabled"),w=D(!0),b=()=>F(this,null,function*(){if(s.value.txpower===d.data.txpower)return;const{data:m}=yield A.Wireless.Power.POST({device:s.value.device||"",txpower:s.value.txpower||0}),{error:a}=m;if(a)throw a}),f=()=>F(this,null,function*(){if(s.value.disabled===d.data.disabled)return;const{data:m}=yield A.Wireless.Switch.POST({ifaceName:s.value.ifaceName||"",enable:!s.value.disabled}),{error:a}=m;if(a)throw a}),h=()=>F(this,null,function*(){const{data:m}=yield A.Wireless.Edit.POST(s.value),{error:a,success:t}=m;if(a)throw a;(t==null||t==0)&&W.Success("\u914D\u7F6E\u5B8C\u6210")}),x=()=>F(this,null,function*(){if(n.value)return;n.value=!0;const m=W.Loading("\u914D\u7F6Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
var m=(r,v,l)=>new Promise((i,_)=>{var F=a=>{try{c(l.next(a))}catch(u){_(u)}},h=a=>{try{c(l.throw(a))}catch(u){_(u)}},c=a=>a.done?i(a.value):Promise.resolve(a.value).then(F,h);c((l=l.apply(r,v)).next())});import{_ as C,d as y,x as k,P as E,a as x,o as n,c as o,f as e,t as d,F as A,a4 as S,a5 as B,p as b,q as w,i as N}from"./index.js";const D=r=>(b("data-v-647a938c"),r=r(),w(),r),$={id:"page",class:"page-container"},I=D(()=>e("div",{class:"notice_info"},[e("li",null," \u52A8\u6001 DNS \uFF08DDNS\uFF09\u8BA9\u60A8\u5373\u4F7F\u5728\u6CA1\u6709\u9759\u6001 IP \u5730\u5740\u7684\u60C5\u51B5\u4E0B\uFF0C\u4ECD\u53EF\u5C06\u670D\u52A1\u5668\u8FDE\u540C\u7ED1\u5B9A\u7684\u57DF\u540D\u6620\u5C04\u81F3\u516C\u7F51\u4E0A\u3002 "),e("li",null," \u5982\u679C\u60A8\u6CA1\u6709\u516C\u7F51 IP \u8BF7\u4F7F\u7528 DDNSTO \uFF0C\u521D\u6B21\u4F7F\u7528 DDNSTO \u9700\u8981\u521D\u59CB\u5316\u914D\u7F6E ")],-1)),P={class:"text-container"},T={class:"text-container_item"},O=D(()=>e("div",{class:"text-container_item_title"},[e("span",null,"DDNSTO\uFF1A")],-1)),q={class:"text-container_item_flex"},G={class:"text-container_item_block"},j=["href"],V={key:0,class:"domain"},z={key:1,class:"domain"},H={class:"text-container_item"},J=D(()=>e("div",{class:"text-container_item_title"},[e("span",null,"myddns_ipv4\uFF1A")],-1)),K={class:"text-container_item_flex"},L={class:"text-container_item_block"},M=["href"],Q={key:1,class:"domain"},R={class:"text-container_item"},U=D(()=>e("div",{class:"text-container_item_title"},[e("span",null,"myddns_ipv6\uFF1A")],-1)),W={class:"text-container_item_flex"},X={class:"text-container_item_block"},Y=["href"],Z={key:1,class:"domain"},tt=y({__name:"index",setup(r){return m(this,null,function*(){let v,l;k({ipv4:"",ipv6:""});const i=k({ddnstoDomain:"",ipv4Domain:"",ipv6Domain:""}),_=k({install:!0,error:null}),F=()=>m(this,null,function*(){yield Promise.all([h()])}),h=()=>m(this,null,function*(){try{const t=yield N.Guide.Ddns.GET(),{result:s,error:p}=t.data;if(p)throw p;s&&(i.ddnstoDomain=s.ddnstoDomain,i.ipv4Domain=s.ipv4Domain,i.ipv6Domain=s.ipv6Domain)}catch(t){console.log(t)}});[v,l]=E(()=>F()),yield v,l();const c=x(()=>i.ddnstoDomain),a=x(()=>{const t=i.ipv4Domain;return t!=null&&t!=""&&t!="Stopped"?{url:`http://${t}`,title:t,ok:!0}:{url:`http://${t}`,title:"\u672A\u914D\u7F6E",ok:!1}}),u=x(()=>{const t=i.ipv6Domain;return t!=null&&t!=""&&t!="Stopped"?{url:`http://${t}`,title:t,ok:!0}:{url:`http://${t}`,title:"\u672A\u914D\u7F6E",ok:!1}}),g=()=>{S({domain:c.value,callback:t=>{}})},f=t=>{B({setup:t,callback:s=>{switch(t){case"ipv4":i.ipv4Domain=s.domain;break;case"ipv6":i.ipv6Domain=s.domain;break}}})};return(t,s)=>(n(),o("div",$,[I,e("div",P,[e("div",T,[O,e("div",q,[e("div",G,[_.install?(n(),o("a",{key:0,href:c.value,target:"_blank",class:"domain"},d(c.value),9,j)):(n(),o(A,{key:1},[_.error?(n(),o("a",V,d(_.error),1)):(n(),o("a",z,"\u672A\u5B89\u88C5"))],64)),e("a",{class:"setting",onClick:s[0]||(s[0]=p=>g())},"\u5FEB\u901F\u914D\u7F6E")])])]),e("div",H,[J,e("div",K,[e("div",L,[a.value.ok?(n(),o("a",{key:0,href:a.value.url,target:"_blank",class:"domain"},d(a.value.title),9,M)):(n(),o("a",Q,d(a.value.title),1)),e("a",{class:"setting",onClick:s[1]||(s[1]=p=>f("ipv4"))},"\u5FEB\u901F\u914D\u7F6E")])])]),e("div",R,[U,e("div",W,[e("div",X,[u.value.ok?(n(),o("a",{key:0,href:u.value.url,target:"_blank",class:"domain"},d(u.value.title),9,Y)):(n(),o("a",Z,d(u.value.title),1)),e("a",{class:"setting",onClick:s[2]||(s[2]=p=>f("ipv6"))},"\u5FEB\u901F\u914D\u7F6E")])])])])]))})}});var at=C(tt,[["__scopeId","data-v-647a938c"]]);export{at as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{d as p,r as _,m as f,o as t,A as v,B as m,H as g,_ as y,c as s,h as l,f as a,t as h,G as b,I as C,J as k,K as x}from"./index.js";const w={key:0,id:"app-dialog"},B={key:0,class:"app-dialog_bg"},V={key:0,class:"app-dialog_header"},S={class:"app-dialog_body"},I=p({__name:"index",props:{title:{type:String},bg:{type:Boolean,default:!0},width:{type:String},beforeClose:{type:Function}},emits:["change","update:modelValue","handleClose"],setup(e,{emit:r}){const n=e,o=_(!1),i=r,c=()=>{n.beforeClose&&n.beforeClose()===!1||(o.value=!1,i("update:modelValue",!1),i("handleClose"))};return f(()=>{o.value=!0}),(u,d)=>(t(),v(g,{name:"dialog1"},{default:m(()=>[o.value?(t(),s("div",w,[e.bg?(t(),s("div",B)):l("v-if",!0),a("div",{class:"app-dialog_container",style:x({width:e.width})},[e.title!==void 0?(t(),s("div",V,[a("span",null,h(e.title),1),a("button",{class:"close",onClick:d[0]||(d[0]=N=>c())},[b(C)])])):l("v-if",!0),a("div",S,[k(u.$slots,"default",{},void 0,!0)])],4)])):l("v-if",!0)]),_:3}))}});var j=y(I,[["__scopeId","data-v-c4ccf04a"]]);export{j as d};
|
||||
@@ -0,0 +1 @@
|
||||
var f=(h,x,m)=>new Promise((y,o)=>{var u=_=>{try{r(m.next(_))}catch(k){o(k)}},v=_=>{try{r(m.throw(_))}catch(k){o(k)}},r=_=>_.done?y(_.value):Promise.resolve(_.value).then(u,v);r((m=m.apply(h,x)).next())});import{_ as W,d as U,r as F,X as M,o as l,c as i,f as e,w as c,Q as C,s as A,y as b,h as n,j as I,k as N,g as T,T as D,i as S,p as z,q as H,R as O}from"./index.js";const t=h=>(z("data-v-894de0d4"),h=h(),H(),h),G={class:"form-item"},$=t(()=>e("div",{class:"label-name"},[e("span",null,"\u542F\u7528Wi-Fi")],-1)),j={class:"label-value"},K={class:"label-flex"},L={key:0,class:"form-item"},q=t(()=>e("div",{class:"label-name"},[e("span",null,"\u53D1\u5C04\u529F\u7387")],-1)),R={class:"label-value"},Q=t(()=>e("option",{value:100},"\u6700\u5927",-1)),X=t(()=>e("option",{value:70},"\u9AD8",-1)),J=t(()=>e("option",{value:50},"\u4E2D",-1)),Y=t(()=>e("option",{value:30},"\u4F4E",-1)),Z=[Q,X,J,Y],ee={class:"form-item"},oe=t(()=>e("div",{class:"label-name"},[e("span",null,"Wi-Fi\u540D\u79F0\uFF08SSID\uFF09")],-1)),te={class:"label-value"},se=["disabled"],ae={class:"form-item"},le=t(()=>e("div",{class:"label-name"},[e("span",null,"Wi-Fi \u5B89\u5168\u6027")],-1)),ie={class:"label-value"},ne=["disabled"],ue=O('<option value="none" data-v-894de0d4>OPEN</option><option value="psk2" data-v-894de0d4>WPA2-PSK</option><option value="psk-mixed" data-v-894de0d4>WPA/WPA2-PSK</option><option value="sae" data-v-894de0d4>WPA3-SAE</option><option value="sae-mixed" data-v-894de0d4>WPA2-PSK/WPA3-SEA</option>',5),de=[ue],ve={class:"form-item"},ce=t(()=>e("div",{class:"label-name"},[e("span",null,"Wi-Fi \u5BC6\u7801")],-1)),_e={class:"label-value"},pe=["type","disabled"],re=["src"],he={class:"form-item"},be=t(()=>e("div",{class:"label-name"},[e("span",null,"SSID \u53EF\u89C1\u6027")],-1)),me={class:"label-value"},fe=["disabled"],ye=t(()=>e("option",{value:!1},"\u663E\u793A",-1)),ke=t(()=>e("option",{value:!0},"\u9690\u85CF",-1)),ge=[ye,ke],Fe={key:1,class:"form-item"},xe=t(()=>e("div",{class:"label-name"},[e("span",null,"\u65E0\u7EBF\u6A21\u5F0F")],-1)),De={class:"label-value"},Se=["disabled"],Ee={key:0,value:"11n/ax"},we={key:1,value:"11g/n/ax"},Ce={key:2,value:"11b/g/n/ax"},Ae={key:3,value:"11b/g/n"},Pe={key:4,value:"11ac/ax"},Be={key:5,value:"11n/ac/ax"},Ve={key:6,value:"11a/n/ac/ax"},We={key:7,value:"11a/n/ac"},Ue={key:2,class:"form-item"},Me=t(()=>e("div",{class:"label-name"},[e("span",null,"\u9891\u5BBD")],-1)),Ie={class:"label-value"},Ne=["disabled"],Te=t(()=>e("option",{value:"20"},"20 MHz",-1)),ze=t(()=>e("option",{value:"40"},"40 MHz",-1)),He={key:0,value:"auto"},Oe={key:1,value:"80"},Ge={key:2,value:"160"},$e={key:3,class:"form-item"},je=t(()=>e("div",{class:"label-name"},[e("span",null,"\u4FE1\u9053")],-1)),Ke={class:"label-value"},Le=["disabled"],qe=t(()=>e("option",{value:0},"\u81EA\u52A8",-1)),Re=t(()=>e("option",{value:1},"1",-1)),Qe=t(()=>e("option",{value:2},"2",-1)),Xe=t(()=>e("option",{value:3},"3",-1)),Je=t(()=>e("option",{value:4},"4",-1)),Ye=t(()=>e("option",{value:5},"5",-1)),Ze=t(()=>e("option",{value:6},"6",-1)),eo=t(()=>e("option",{value:7},"7",-1)),oo=t(()=>e("option",{value:8},"8",-1)),to=t(()=>e("option",{value:9},"9",-1)),so=t(()=>e("option",{value:10},"10",-1)),ao=t(()=>e("option",{value:11},"11",-1)),lo=t(()=>e("option",{value:12},"12",-1)),io=t(()=>e("option",{value:13},"13",-1)),no=[qe,Re,Qe,Xe,Je,Ye,Ze,eo,oo,to,so,ao,lo,io],uo=["disabled"],vo=t(()=>e("option",{value:0},"\u81EA\u52A8",-1)),co=t(()=>e("option",{value:36},"36",-1)),_o=t(()=>e("option",{value:40},"40",-1)),po=t(()=>e("option",{value:44},"44",-1)),ro=t(()=>e("option",{value:48},"48",-1)),ho=t(()=>e("option",{value:52},"52(DFS)",-1)),bo=t(()=>e("option",{value:56},"56(DFS)",-1)),mo=t(()=>e("option",{value:60},"60(DFS)",-1)),fo=t(()=>e("option",{value:64},"64(DFS)",-1)),yo=t(()=>e("option",{value:149},"149",-1)),ko=t(()=>e("option",{value:153},"153",-1)),go=t(()=>e("option",{value:157},"157",-1)),Fo=t(()=>e("option",{value:161},"161",-1)),xo=[vo,co,_o,po,ro,ho,bo,mo,fo,yo,ko,go,Fo],Do={class:"label-btns"},So={key:2,class:"sumit btn primary-btn"},Eo="/luci-static/istorerouter/icon/eye-close.png",wo="/luci-static/istorerouter/icon/eye-on.png",Co=U({__name:"index",props:{data:Object},emits:["list"],setup(h,{emit:x}){F(!1);const m=h,y=x,o=F({}),u=F(!1),v=F(""),r=F(!0);M(()=>m.data,p=>f(this,null,function*(){console.log(p),o.value=p}),{immediate:!0});const _=()=>{u.value=!u.value},k=()=>f(this,null,function*(){V()}),P=()=>{r.value=!r.value},E=p=>f(this,null,function*(){const s={ifaceName:o.value.ifaceName,enable:p},a=D.Loading("\u4FDD\u5B58\u4E2D...");try{const d=yield S.Wireless.Switch.POST(s);if(d!=null&&d.data){const{success:g,error:w}=d==null?void 0:d.data;w&&(v.value=w),(g==null||g==0)&&(y("list"),v.value="\u914D\u7F6E\u5B8C\u6210")}}catch(d){v.value=d}a.Close()}),B=()=>f(this,null,function*(){const p={device:o.value.device,txpower:o.value.txpower},s=D.Loading("\u4FDD\u5B58\u4E2D...");try{const a=yield S.Wireless.Power.POST(p);if(a!=null&&a.datLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
var r=(c,m,i)=>new Promise((E,t)=>{var n=l=>{try{o(i.next(l))}catch(v){t(v)}},s=l=>{try{o(i.throw(l))}catch(v){t(v)}},o=l=>l.done?E(l.value):Promise.resolve(l.value).then(n,s);o((i=i.apply(c,m)).next())});import{_ as V,d as T,D as I,r as f,x as k,P as M,o as w,c as b,f as u,w as _,Q as h,s as D,j as x,h as y,t as U,g as q,p as G,q as N,i as B,T as A}from"./index.js";const p=c=>(G("data-v-ed7c3c9c"),c=c(),N(),c),j=p(()=>u("p",null,[D(" \u6B22\u8FCE\u4F7F\u7528\u5FEB\u901F\u7F51\u7EDC\u914D\u7F6E\u5411\u5BFC\uFF0C\u8BF7\u9009\u62E9\u4E00\u79CD\u8FDE\u63A5\u65B9\u5F0F\u4EE5\u5F00\u59CB\u8054\u7F51\uFF0C\u6216\u4F7F\u7528\u5DE6\u4FA7\u83DC\u5355\u8FDB\u884C\u8054\u7F51\u914D\u7F6E "),u("br"),D(" \u6CA1\u627E\u5230\u60F3\u8981\u7684\u914D\u7F6E\uFF1F\u8BF7\u4F7F\u7528 "),u("a",{href:"/cgi-bin/luci/admin/network/network",target:"_blank"},"\u9AD8\u7EA7\u6A21\u5F0F")],-1)),L=p(()=>u("div",{class:"label-name"},[u("span",null,"\u8054\u7F51\u65B9\u5F0F")],-1)),O={class:"label-value"},Q={class:"label-flex"},R={style:{display:"none"}},z={key:0,class:"ul-container"},H=p(()=>u("div",{class:"ul-container_title"},[u("span",null,"\u62E8\u53F7\u8054\u7F51\u914D\u7F6E")],-1)),J=p(()=>u("div",{class:"label-value"},null,-1)),K=p(()=>u("div",{class:"label-name"},[u("span",null,"\u8D26\u53F7")],-1)),W={class:"label-value"},X=p(()=>u("div",{class:"label-name"},[u("span",null,"\u5BC6\u7801")],-1)),Y={class:"label-value"},Z={key:1,class:"label-btns"},$=["disabled"],uu={key:2,class:"label-msg"},eu=T({__name:"index",setup(c){return r(this,null,function*(){let m,i;const E=I(),t=f(""),n=f(!1),s=f(""),o=k({account:"",password:""}),l=k({wanProto:"dhcp",dnsProto:"auto",staticIp:"",subnetMask:"",manualDnsIp:[],gateway:""}),v=()=>r(this,null,function*(){n.value=!0;try{const d=yield B.Guide.Pppoe.GET(),{result:e}=d.data;e&&(o.account=e.account||"",o.password=e.password||"")}catch(d){s.value=d}t.value=yield E.getAsyncNetworkProto,n.value=!1});[m,i]=M(()=>v()),yield m,i();const g=()=>r(this,null,function*(){switch(t.value){case"pppoe":yield P();break;case"dhcp":yield S();break;default:s.value="\u627E\u4E0D\u5230\u4F60\u8981\u7684\u914D\u7F6E";break}}),P=()=>r(this,null,function*(){if(o.account==""){s.value="\u8D26\u53F7\u4E0D\u80FD\u4E3A\u7A7A";return}if(o.password==""){s.value="\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A";return}n.value=!0;const d=A.Loading("\u4FDD\u5B58\u4E2D...");try{const e=yield B.Guide.Pppoe.POST({account:o.account,password:o.password});if(e.data){const{error:a,success:F}=e.data;a&&(s.value=a),(F==null||F==0)&&(s.value="\u914D\u7F6E\u5B8C\u6210")}}catch(e){s.value=e}finally{}n.value=!1,d.Close()}),S=()=>r(this,null,function*(){const d={wanProto:l.wanProto,dnsProto:l.dnsProto};n.value=!0;const e=A.Loading("\u4FDD\u5B58\u4E2D...");try{const a=yield B.Guide.ClientModel.POST(d);if(a!=null&&a.data){const{success:F,error:C}=a==null?void 0:a.data;C&&(s.value=C),(F==null||F==0)&&(s.value="\u914D\u7F6E\u5B8C\u6210")}}catch(a){s.value=a}n.value=!1,e.Close()});return(d,e)=>(w(),b("form",{class:"form-container",onSubmit:q(g,["prevent"])},[j,L,u("div",O,[u("div",Q,[u("label",null,[_(u("input",{type:"radio",value:"pppoe","onUpdate:modelValue":e[0]||(e[0]=a=>t.value=a)},null,512),[[h,t.value]]),D("\u8D26\u53F7\u5BC6\u7801")]),u("label",null,[_(u("input",{type:"radio",value:"dhcp","onUpdate:modelValue":e[1]||(e[1]=a=>t.value=a)},null,512),[[h,t.value]]),D("\u81EA\u52A8\u8054\u7F51")]),u("label",R,[_(u("input",{type:"radio",value:"static",hidden:"true","onUpdate:modelValue":e[2]||(e[2]=a=>t.value=a)},null,512),[[h,t.value]]),D("\u7F51\u5173\u8054\u7F51")])])]),t.value=="pppoe"?(w(),b("ul",z,[H,J,K,u("div",W,[_(u("input",{type:"text",placeholder:"\u5BBD\u5E26\u8D26\u53F7","onUpdate:modelValue":e[3]||(e[3]=a=>o.account=a),required:""},null,512),[[x,o.account,void 0,{trim:!0}]])]),X,u("div",Y,[_(u("input",{type:"password",placeholder:"\u5BBD\u5E26\u5BC6\u7801","onUpdate:modelValue":e[4]||(e[4]=a=>o.password=a),required:""},null,512),[[x,o.password,void 0,{trim:!0}]])])])):y("v-if",!0),t.value=="pppoe"||t.value=="dhcp"?(w(),b("div",Z,[u("button",{class:"sumbit",disabled:n.value},"\u4FDD\u5B58",8,$)])):y("v-if",!0),s.value?(w(),b("div",uu,[u("span",null,U(s.value),1)])):y("v-if",!0)],32))})}});var su=V(eu,[["__scopeId","data-v-ed7c3c9c"]]);export{su as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as w,d as I,L as x,D as S,a as l,x as P,M as y,o,c,h as r,f as t,t as e,u as d,N as b,p as A,q as N,O as U}from"./index.js";const s=_=>(A("data-v-934b24da"),_=_(),N(),_),V={id:"page",class:"page-container"},j={class:"text-container"},H={class:"text-container_item"},L=s(()=>t("div",{class:"text-container_item_title"},[t("span",null,"\u8054\u7F51\u72B6\u6001:")],-1)),q={class:"text-container_item_value"},M={key:0},O={key:1},$={key:2},z={key:4},G={class:"text-container_item"},J=s(()=>t("div",{class:"text-container_item_title"},[t("span",null,"\u8FDE\u63A5\u65B9\u5F0F:")],-1)),K={class:"text-container_item_value"},Q={class:"text-container_item"},R=s(()=>t("div",{class:"text-container_item_title"},[t("span",null,"\u5728\u7EBF\u8BBE\u5907:")],-1)),T={class:"text-container_item_value"},W={class:"text-container_item"},X=s(()=>t("div",{class:"text-container_item_title"},[t("span",null,"IPv4\u5730\u5740:")],-1)),Y={class:"text-container_item_value"},Z={key:0,class:"text-container_item"},tt=s(()=>t("div",{class:"text-container_item_title"},[t("span",null,"IPv6\u5730\u5740:")],-1)),et={class:"text-container_item_value"},st={class:"text-container_item"},nt=s(()=>t("div",{class:"text-container_item_title"},[t("span",null,"DNS:")],-1)),at={class:"text-container_item_value"},it={class:"text-container"},ot={class:"text-container_item"},ct=s(()=>t("div",{class:"text-container_item_title"},[t("span",null,"\u7CFB\u7EDF\u540D\u79F0:")],-1)),ut={class:"text-container_item_value"},_t={class:"text-container_item"},lt=s(()=>t("div",{class:"text-container_item_title"},[t("span",null,"\u56FA\u4EF6\u7248\u672C:")],-1)),rt={class:"text-container_item_value"},dt={class:"text-container_item"},vt=s(()=>t("div",{class:"text-container_item_title"},[t("span",null,"\u5185\u6838\u7248\u672C:")],-1)),pt={class:"text-container_item_value"},mt={class:"text-container_item"},ht=s(()=>t("div",{class:"text-container_item_title"},[t("span",null,"\u5DF2\u542F\u52A8:")],-1)),xt={class:"text-container_item_value"},Ft={class:"text-container_item"},gt=s(()=>t("div",{class:"text-container_item_title"},[t("span",null,"\u7CFB\u7EDF\u65F6\u95F4:")],-1)),Et={class:"text-container_item_value"},Bt={class:"text-container"},Dt={class:"text-container_item"},ft={class:"text-container_item_title"},kt={class:"text-container_item_value"},Ct={class:"progress-container"},wt={class:"text-container_item"},It=s(()=>t("div",{class:"text-container_item_title"},[t("span",null,"CPU:")],-1)),St={class:"text-container_item_value"},Pt={class:"progress-container"},yt=["value"],bt={class:"text-container_item"},At=s(()=>t("div",{class:"text-container_item_title"},[t("span",null,"\u5185\u5B58:")],-1)),Nt={class:"text-container_item_value"},Ut={class:"progress-container"},Vt=["value"],jt=I({__name:"index",setup(_){const{$gettext:F}=U,g=x.stampForm,E=x.stampForm,u=S(),n=l(()=>u.network),B=l(()=>u.device),a=P({cpuusage:0,temperature:0,menavailablePercentage:0,menusage:0}),v=l(()=>u.version),p=l(()=>u.time),D=i=>{switch(i){case"pppoe":return"\u62E8\u53F7\u4E0A\u7F51";case"static":return"\u9759\u6001\u7F51\u7EDC";case"dhcp":return"DHCP"}},f=i=>{switch(i){case"manual":return"\u624B\u52A8\u914D\u7F6E";case"auto":return"\u81EA\u52A8\u83B7\u53D6";default:return""}},k=i=>i.toUpperCase(),m=()=>{u.getSystemData().then(i=>{a.cpuusage=i.cpu.usage,a.temperature=i.cpu.temperature,a.menavailablePercentage=i.memery.availablePercentage||100,a.menusage=100-a.menavailablePercentage})};m();const C=setInterval(()=>{m()},5e3);return y(()=>{clearInterval(C)}),(i,Ht)=>{var h;return o(),c("div",V,[r(" \u72B6\u6001\u4FE1\u606F "),t("div",j,[t("div",H,[L,t("div",q,[n.value.networkInfo=="netSuccess"?(o(),c("span",M," \u5DF2\u8054\u7F51 ("+e(d(g)(n.value.uptimeStamp))+") ",1)):n.value.networkInfo=="dnsFailed"?(o(),c("span",O," DNS\u9519\u8BEF ")):n.value.networkInfo=="softSourceFailed"?(o(),c("span",$," \u8F6F\u4EF6\u6E90\u89E3\u6790\u9519\u8BEF ")):(o(),c("span",z," \u68C0\u6D4B\u4E2D "))])]),t("div",G,[J,t("div",K,e(k(n.value.defaultInterface||"")),1)]),t("div",Q,[R,t("div",T,e(B.value.devices.length),1)]),t("div",W,[X,t("div",Y,e(n.value.ipv4addr)+"\uFF08"+e(D(n.value.proto||""))+"\uFF09 ",1)]),n.value.ipv6addr?(o(),c("div",Z,[tt,t("div",et,e(n.value.ipv6addr),1)])):r("v-if",!0),t("div",st,[nt,t("div",at,[t("p",null,e(f(n.value.dnsProto)),1),t("p",null,e((h=n.value.dnsList)==null?void 0:h.join(", ")),1)])])]),r(" \u7CFB\u7EDF\u4FE1\u606F "),t("div",it,[t("div",ot,[ct,t("div",ut,[t("span",null,e(d(b).HostName),1)])]),t("div",_t,[lt,t("div",rt,[t("span",null,e(v.value.firmwareVersion),1)])]),t("div",dt,[vt,t("div",pt,[t("span",null,e(v.value.kernelVersion),1)])]),t("div",mt,[ht,t("div",xt,[t("span",null,e(d(E)(p.value.uptime)),1)])]),t("div",Ft,[gt,t("div",Et,[t("span",null,e(p.value.localtime),1)])])]),r(" \u4F7F\u7528\u7387\u4FE1\u606F "),t("div",Bt,[t("div",Dt,[t("div",ft,[t("span",null,e(d(F)("\u6E29\u5EA6"))+":",1)]),t("div",kt,[t("div",Ct,[t("span",null,e(a.temperature||"--")+"\u2103",1)])])]),t("diLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
var c=(d,b,r)=>new Promise((E,t)=>{var n=l=>{try{o(r.next(l))}catch(v){t(v)}},s=l=>{try{o(r.throw(l))}catch(v){t(v)}},o=l=>l.done?E(l.value):Promise.resolve(l.value).then(n,s);o((r=r.apply(d,b)).next())});import{_ as V,d as T,D as I,r as f,x as A,P as M,o as m,c as w,f as u,w as _,Q as h,s as D,j as k,h as y,t as U,g as q,p as G,q as N,i as B,T as x}from"./index.js";const p=d=>(G("data-v-0b184c1c"),d=d(),N(),d),j=p(()=>u("p",null,[D(" \u6B22\u8FCE\u4F7F\u7528\u5FEB\u901F\u7F51\u7EDC\u914D\u7F6E\u5411\u5BFC\uFF0C\u8BF7\u9009\u62E9\u4E00\u79CD\u8FDE\u63A5\u65B9\u5F0F\u4EE5\u5F00\u59CB\u8054\u7F51\uFF0C\u6216\u4F7F\u7528\u5DE6\u4FA7\u83DC\u5355\u8FDB\u884C\u8054\u7F51\u914D\u7F6E "),u("br"),D(" \u6CA1\u627E\u5230\u60F3\u8981\u7684\u914D\u7F6E\uFF1F\u8BF7\u4F7F\u7528 "),u("a",{href:"/cgi-bin/luci/admin/network/network",target:"_blank"},"\u9AD8\u7EA7\u6A21\u5F0F")],-1)),L=p(()=>u("div",{class:"label-name"},[u("span",null,"\u8054\u7F51\u65B9\u5F0F")],-1)),O={class:"label-value"},Q={class:"label-flex"},R={style:{display:"none"}},z={key:0,class:"ul-container"},H=p(()=>u("div",{class:"ul-container_title"},[u("span",null,"\u62E8\u53F7\u8054\u7F51\u914D\u7F6E")],-1)),J=p(()=>u("div",{class:"label-value"},null,-1)),K=p(()=>u("div",{class:"label-name"},[u("span",null,"\u8D26\u53F7")],-1)),W={class:"label-value"},X=p(()=>u("div",{class:"label-name"},[u("span",null,"\u5BC6\u7801")],-1)),Y={class:"label-value"},Z={key:1,class:"label-btns"},$=["disabled"],uu={key:2,class:"label-msg"},eu=T({__name:"index",setup(d){return c(this,null,function*(){let b,r;const E=I(),t=f(""),n=f(!1),s=f(""),o=A({account:"",password:""}),l=A({wanProto:"dhcp",dnsProto:"auto",staticIp:"",subnetMask:"",manualDnsIp:[],gateway:""}),v=()=>c(this,null,function*(){n.value=!0;try{const i=yield B.Guide.Pppoe.GET(),{result:e}=i.data;e&&(o.account=e.account||"",o.password=e.password||"")}catch(i){s.value=i}t.value=yield E.getAsyncNetworkProto,n.value=!1});[b,r]=M(()=>v()),yield b,r();const g=()=>c(this,null,function*(){switch(t.value){case"pppoe":yield P();break;case"dhcp":yield S();break;default:s.value="\u627E\u4E0D\u5230\u4F60\u8981\u7684\u914D\u7F6E";break}}),P=()=>c(this,null,function*(){if(o.account==""){s.value="\u8D26\u53F7\u4E0D\u80FD\u4E3A\u7A7A";return}if(o.password==""){s.value="\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A";return}n.value=!0;const i=x.Loading("\u4FDD\u5B58\u4E2D...");try{const e=yield B.Guide.Pppoe.POST({account:o.account,password:o.password});if(e.data){const{error:a,success:F}=e.data;a&&(s.value=a),(F==null||F==0)&&(s.value="\u914D\u7F6E\u5B8C\u6210")}}catch(e){s.value=e}finally{}n.value=!1,i.Close()}),S=()=>c(this,null,function*(){const i={wanProto:l.wanProto,dnsProto:l.dnsProto};n.value=!0;const e=x.Loading("\u4FDD\u5B58\u4E2D...");try{const a=yield B.Guide.ClientModel.POST(i);if(a!=null&&a.data){const{success:F,error:C}=a==null?void 0:a.data;C&&(s.value=C),(F==null||F==0)&&(s.value="\u914D\u7F6E\u5B8C\u6210")}}catch(a){s.value=a}n.value=!1,e.Close()});return(i,e)=>(m(),w("form",{class:"form-container",onSubmit:q(g,["prevent"])},[j,L,u("div",O,[u("div",Q,[u("label",null,[_(u("input",{type:"radio",value:"pppoe","onUpdate:modelValue":e[0]||(e[0]=a=>t.value=a)},null,512),[[h,t.value]]),D("\u8D26\u53F7\u5BC6\u7801")]),u("label",null,[_(u("input",{type:"radio",value:"dhcp","onUpdate:modelValue":e[1]||(e[1]=a=>t.value=a)},null,512),[[h,t.value]]),D("\u81EA\u52A8\u8054\u7F51")]),u("label",R,[_(u("input",{type:"radio",value:"static",hidden:"true","onUpdate:modelValue":e[2]||(e[2]=a=>t.value=a)},null,512),[[h,t.value]]),D("\u7F51\u5173\u8054\u7F51")])])]),t.value=="pppoe"?(m(),w("ul",z,[H,J,K,u("div",W,[_(u("input",{type:"text",placeholder:"\u5BBD\u5E26\u8D26\u53F7","onUpdate:modelValue":e[3]||(e[3]=a=>o.account=a),required:""},null,512),[[k,o.account,void 0,{trim:!0}]])]),X,u("div",Y,[_(u("input",{type:"password",placeholder:"\u5BBD\u5E26\u5BC6\u7801","onUpdate:modelValue":e[4]||(e[4]=a=>o.password=a),required:""},null,512),[[k,o.password,void 0,{trim:!0}]])])])):y("v-if",!0),t.value=="pppoe"||t.value=="dhcp"?(m(),w("div",Z,[u("button",{class:"sumbit",disabled:n.value},"\u4FDD\u5B58",8,$)])):y("v-if",!0),s.value?(m(),w("div",uu,[u("span",null,U(s.value),1)])):y("v-if",!0)],32))})}});var su=V(eu,[["__scopeId","data-v-0b184c1c"]]);export{su as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as r,d as a,E as e,o as u,A as p,B as s,G as i}from"./index.js";const c=a({__name:"index",setup(_){const t=[{name:"index",title:"\u7F51\u7EDC\u914D\u7F6E",path:"/router/network"},{name:"pppoe",title:"\u62E8\u53F7\u8FDE\u63A5",path:"/router/network/pppoe"},{name:"dhcp",title:"DHCP\u8FDE\u63A5",path:"/router/network/dhcp"},{name:"gateway",title:"\u65C1\u8DEF\u7531\u8FDE\u63A5",path:"/router/network/gateway"},{name:"intranet",title:"\u5185\u7F51\u914D\u7F6E",path:"/router/network/intranet"},{name:"dns",title:"DNS\u914D\u7F6E",path:"/router/network/dns"}];return(l,d)=>{const o=e("router-loading"),n=e("layout-page");return u(),p(n,{menus:t},{default:s(()=>[i(o)]),_:1})}}});var w=r(c,[]);export{w as default};
|
||||
@@ -0,0 +1,48 @@
|
||||
import{_ as r,d as u,D as i,a as d,r as h,o as t,c as e,f as n,h as s,F as p,e as _,t as a}from"./index.js";const v={class:"ul-container"},m={class:"ul-container_body"},b={class:"page-table"},f=n("colgroup",null,[n("col"),n("col"),n("col"),n("col")],-1),g=n("thead",null,[n("tr",null,[n("th",null,"Mac"),n("th",null,"IPv4"),n("th",null,"IPv6"),n("th")])],-1),k=n("th",null,null,-1),x=n("th",null,null,-1),B=u({__name:"index",setup(y){const o=i(),c=d(()=>o.device.devices);return h(),(P,C)=>(t(),e("main",null,[n("ul",v,[s(` <div class="ul-container_title">
|
||||
<span>DHCP\u8BBE\u5907</span>
|
||||
</div> `),n("div",m,[n("table",b,[f,g,n("tbody",null,[(t(!0),e(p,null,_(c.value,l=>(t(),e("tr",null,[n("th",null,a(l.mac),1),n("th",null,a(l.ipv4addr),1),k,x]))),256))])])])]),s(` <ul class="ul-container">
|
||||
<div class="ul-container_title">
|
||||
<span>\u5C40\u57DF\u7F51\u8BBE\u5907</span>
|
||||
</div>
|
||||
<div class="ul-container_body">
|
||||
<table class="page-table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Mac</th>
|
||||
<th>IPv4</th>
|
||||
<th>IPv6</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<template v-for="(k, mac) in hosts">
|
||||
<tr>
|
||||
<th>
|
||||
{{ mac }}
|
||||
</th>
|
||||
<th>
|
||||
<span v-for="item in k.ipaddrs">
|
||||
{{ item }}
|
||||
<br>
|
||||
</span>
|
||||
</th>
|
||||
<th>
|
||||
<span v-for="item in k.ip6addrs">
|
||||
{{ item }}
|
||||
<br>
|
||||
</span>
|
||||
</th>
|
||||
|
||||
<th></th>
|
||||
</tr>
|
||||
</template>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</ul> `)]))}});var F=r(B,[]);export{F as default};
|
||||
@@ -0,0 +1 @@
|
||||
var d=(_,c,l)=>new Promise((t,e)=>{var n=o=>{try{i(l.next(o))}catch(u){e(u)}},p=o=>{try{i(l.throw(o))}catch(u){e(u)}},i=o=>o.done?t(o.value):Promise.resolve(o.value).then(n,p);i((l=l.apply(_,c)).next())});import{_ as E,d as h,r as v,x as F,P as y,o as m,c as D,f as a,w,j as b,t as x,h as A,g as C,i as B,T as g}from"./index.js";const k=a("div",{class:"label-info"}," \u8BF7\u786E\u4FDD\u60A8\u5DF2\u5C06\u8DEF\u7531 WAN \u53E3\u8FDE\u63A5\u5230\u5149\u732B ",-1),T=a("div",{class:"label-name"},[a("span",null,"\u8D26\u53F7")],-1),P={class:"label-value"},S=a("div",{class:"label-name"},[a("span",null,"\u5BC6\u7801")],-1),V={class:"label-value"},q={class:"label-btns"},G=["disabled"],N={key:0,class:"label-msg"},j=h({__name:"index",setup(_){return d(this,null,function*(){let c,l;const t=v(""),e=F({account:"",password:""}),n=v(!1),p=v(!1),i=()=>d(this,null,function*(){n.value=!0;try{const u=yield B.Guide.Pppoe.GET(),{result:s}=u.data;s&&(e.account=s.account||"",e.password=s.password||"")}catch(u){t.value=u}finally{}n.value=!1,p.value=!0});[c,l]=y(()=>i()),yield c,l();const o=()=>d(this,null,function*(){if(e.account==""){t.value="\u8D26\u53F7\u4E0D\u80FD\u4E3A\u7A7A";return}if(e.password==""){t.value="\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A";return}n.value=!0;const u=g.Loading("\u4FDD\u5B58\u4E2D...");try{const s=yield B.Guide.Pppoe.POST({account:e.account,password:e.password});if(s.data){const{error:r,success:f}=s.data;r&&(t.value=r),(f==null||f==0)&&(t.value="\u914D\u7F6E\u5B8C\u6210")}}catch(s){t.value=s}finally{}n.value=!1,u.Close()});return(u,s)=>(m(),D("form",{class:"form-container",onSubmit:C(o,["prevent"])},[k,T,a("div",P,[w(a("input",{type:"text",placeholder:"\u5BBD\u5E26\u8D26\u53F7","onUpdate:modelValue":s[0]||(s[0]=r=>e.account=r),required:""},null,512),[[b,e.account,void 0,{trim:!0}]])]),S,a("div",V,[w(a("input",{type:"password",placeholder:"\u5BBD\u5E26\u5BC6\u7801","onUpdate:modelValue":s[1]||(s[1]=r=>e.password=r),required:""},null,512),[[b,e.password,void 0,{trim:!0}]])]),a("div",q,[a("button",{class:"sumbit",disabled:n.value},"\u4FDD\u5B58",8,G)]),t.value?(m(),D("div",N,[a("span",null,x(t.value),1)])):A("v-if",!0)],32))})}});var L=E(j,[]);export{L as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as n,d as p,$ as l,a as o,E as a,o as i,A as c,B as d,a0 as m,G as _}from"./index.js";const E=p({__name:"index",setup(b){const e=l(),t=o(()=>m(e.localApps||[],e.remoteApps||[],e.appsExpand,{tab:"all"})),u=o(()=>[{name:"istore-store",title:"\u5E94\u7528\u5546\u5E97",path:"/router/istore"},{name:"istore-installed",title:`\u5DF2\u5B89\u88C5 (${t.value.counts.installed})`,path:"/router/istore/installed"},{name:"istore-upgradable",title:`\u53EF\u5347\u7EA7 (${t.value.counts.upgradable})`,path:"/router/istore/upgradable"},{name:"istore-upload",title:"\u79BB\u7EBF\u5B89\u88C5",path:"/router/istore/upload"},{name:"istore-backup",title:"\u5907\u4EFD\u6062\u590D",path:"/router/istore/backup"},{name:"istore-source",title:"\u8F6F\u4EF6\u6E90",path:"/router/istore/source"}]);return(h,x)=>{const r=a("router-loading"),s=a("layout-page");return i(),c(s,{menus:u.value},{default:d(()=>[_(r)]),_:1},8,["menus"])}}});var g=n(E,[]);export{g as default};
|
||||
@@ -0,0 +1,13 @@
|
||||
var te=Object.defineProperty,ue=Object.defineProperties;var ne=Object.getOwnPropertyDescriptors;var G=Object.getOwnPropertySymbols;var le=Object.prototype.hasOwnProperty,oe=Object.prototype.propertyIsEnumerable;var H=(t,s,n)=>s in t?te(t,s,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[s]=n,P=(t,s)=>{for(var n in s||(s={}))le.call(s,n)&&H(t,n,s[n]);if(G)for(var n of G(s))oe.call(s,n)&&H(t,n,s[n]);return t},Q=(t,s)=>ue(t,ne(s));var X=(t,s,n)=>{if(!s.has(t))throw TypeError("Cannot "+n)};var W=(t,s,n)=>(X(t,s,"read from private field"),n?n.call(t):s.get(t)),Z=(t,s,n)=>{if(s.has(t))throw TypeError("Cannot add the same private member more than once");s instanceof WeakSet?s.add(t):s.set(t,n)},J=(t,s,n,o)=>(X(t,s,"write to private field"),o?o.call(t,n):s.set(t,n),n);var g=(t,s,n)=>new Promise((o,u)=>{var p=c=>{try{v(n.next(c))}catch(l){u(l)}},m=c=>{try{v(n.throw(c))}catch(l){u(l)}},v=c=>c.done?o(c.value):Promise.resolve(c.value).then(p,m);v((n=n.apply(t,s)).next())});import{G as Y,Z as K,d as B,l as $,o as i,c as r,f as e,t as _,u as k,h as F,_ as E,x as ie,w,y as ae,F as D,e as x,j as de,T as f,i as U,r as C,Q as z,s as R,p as L,q,z as M,A as b,B as ce,W as S,a as j,E as re,D as _e}from"./index.js";import{d as pe}from"./chunk.555488a0.js";var A;class ve{constructor(){Z(this,A,void 0)}install(s){J(this,A,s)}openWindow(s,n){const o=document.createElement("div"),u=Y(s,Q(P({},n),{close:()=>{K(null,o),o.remove()}}));W(this,A)&&(u.appContext=W(this,A)._context),K(u,o),document.body.appendChild(o)}}A=new WeakMap;const me={class:"tab-content"},he={class:"item-label"},ke=e("div",{class:"item-label_key"},[e("span",null,"\u540D\u79F0")],-1),Fe={class:"item-label_value"},fe={key:0,class:"item-label"},be=e("div",{class:"item-label_key"},[e("span",null,"\u578B\u53F7")],-1),De={class:"item-label_value"},ye={class:"item-label"},$e=e("div",{class:"item-label_key"},[e("span",null,"\u8DEF\u5F84")],-1),Ce={class:"item-label_value"},xe={class:"item-label"},Be=e("div",{class:"item-label_key"},[e("span",null,"\u5BB9\u91CF")],-1),Ee={class:"item-label_value"},Ae={class:"item-label"},ge=e("div",{class:"item-label_key"},[e("span",null,"\u7C7B\u578B")],-1),we={class:"item-label_value"},Ie={key:1,class:"item-label"},Pe=e("div",{class:"item-label_key"},[e("span",null,"\u7CFB\u7EDF\u5206\u533A")],-1),Me=e("div",{class:"item-label_value"},[e("span",null,"true")],-1),Se=[Pe,Me],Ve={key:2,class:"item-label"},je=e("div",{class:"item-label_key"},[e("span",null,"docker\u5206\u533A")],-1),Oe=e("div",{class:"item-label_value"},[e("span",null,"true")],-1),Te=[je,Oe],Ne={key:3,class:"item-label"},We=e("div",{class:"item-label_key"},[e("span",null,"\u63A5\u5165\u65B9\u5F0F")],-1),ze=e("div",{class:"item-label_value"},[e("span",null,"\u5916\u63A5")],-1),Re=[We,ze],Ue={class:"item-label"},Le=e("div",{class:"item-label_key"},[e("span",null,"\u5206\u533A\u6570\u91CF")],-1),qe={class:"item-label_value"},Ge={key:4,class:"item-label"},He=e("div",{class:"item-label_key"},[e("span",null,"error")],-1),Qe={class:"item-label_value"},Xe=B({__name:"main",setup(t){const s=$("disk");return(n,o)=>{var u;return i(),r("section",me,[e("div",he,[ke,e("div",Fe,[e("span",null,_(k(s).name),1)])]),k(s).venderModel?(i(),r("div",fe,[be,e("div",De,[e("span",null,_(k(s).venderModel),1)])])):F("v-if",!0),e("div",ye,[$e,e("div",Ce,[e("span",null,_(k(s).path),1)])]),e("div",xe,[Be,e("div",Ee,[e("span",null,_(k(s).used)+"/"+_(k(s).total),1)])]),e("div",Ae,[ge,e("div",we,[e("span",null,_(k(s).partyLabelType),1)])]),k(s).isSystemRoot?(i(),r("div",Ie,[...Se])):F("v-if",!0),k(s).isDockerRoot?(i(),r("div",Ve,[...Te])):F("v-if",!0),k(s).isExternalDisk?(i(),r("div",Ne,[...Re])):F("v-if",!0),e("div",Ue,[Le,e("div",qe,[e("span",null,_((u=k(s).childrens)==null?void 0:u.length),1)])]),k(s).errorInfo?(i(),r("div",Ge,[He,e("div",Qe,[e("span",null,_(k(s).errorInfo),1)])])):F("v-if",!0)])}}});var Ze=E(Xe,[]);const Je={class:"tab-content"},Ke=e("div",{class:"label-name"},[e("span",null,"\u76EE\u6807\u5206\u533A")],-1),Ye={class:"label-value"},es=e("option",{value:-1},"\u9009\u62E9\u8981\u6302\u8F7D\u7684\u5206\u533A",-1),ss=["value"],ts=e("div",{class:"label-name"},[e("span",null,"\u6302\u8F7D\u70B9")],-1),us={class:"label-value"},ns={class:"label-btns"},ls=["disabled"],os=B({__name:"mount",props:{mountIndex:{type:Number,required:!0}},setup(t){const s=t,n=$("disk"),o=$("disabled"),u=ie({index:s.mountIndex!=null?s.mountIndex:-1,mountPoint:"",item:{mountPoint:"",path:"",name:"",filesystem:"",total:"",used:"",usage:0,uuid:"",isReadOnly:!1,isSystemRoot:!1,sizeInt:""}}),p=()=>{var c;const v=n.value;u.index==-1&&(u.item=null,u.mountPoint=""),v.childrens&&(u.item=v.childrens[u.index],u.mountPoint="/mnt/data_"+((c=u==null?void 0:u.item)==null?void 0:c.name))},m=()=>g(this,null,function*(){const v=n.value,c=u.item;if(c==null||u.index==-1){f.Message("\u83B7\u53D6\u4E0D\u5230\u8981\u6302\u8F7D\u7684\u5206\u533A");return}if(c.path==null||c.path==""){f.Message("\u83B7\u53D6\u4E0D\u5230\u6302\u8F7D\u7684\uLine truncated
|
||||
\u683C\u5F0F\u5316\u5E76\u6302\u8F7D
|
||||
</a>
|
||||
<a @click="onFormat()">
|
||||
\u683C\u5F0F\u5316
|
||||
</a> `),F(" \u5F53\u6709\u672A\u6302\u8F7D\u7684\u5206\u533A\u65F6 "),F(` <a v-if="isMountPoint > 0" @click="onMount()">
|
||||
\u6302\u8F7D\u5206\u533A
|
||||
</a> `),e("a",{onClick:u[0]||(u[0]=m=>n())}," \u67E5\u770B ")])),F(` <div class="dksk-item_children">
|
||||
<div class="dksk-item_children-item" v-for="item in disk.childrens">
|
||||
<span>{{ item.name }}</span>
|
||||
<span>{{ item.mountPoint }}</span>
|
||||
</div>
|
||||
</div> `)])}}});var V=E(Zs,[["__scopeId","data-v-25ccdec0"]]);const T=t=>(L("data-v-08368c95"),t=t(),q(),t),Js={key:0,class:"ul-container"},Ks=T(()=>e("div",{class:"ul-container_title"},[e("span",null,"\u7CFB\u7EDF\u78C1\u76D8")],-1)),Ys={class:"ul-container_body"},et={key:1,class:"ul-container"},st=T(()=>e("div",{class:"ul-container_title"},[e("span",null,"\u5DF2\u6302\u8F7D\u78C1\u76D8")],-1)),tt={class:"ul-container_body"},ut={key:2,class:"ul-container"},nt=T(()=>e("div",{class:"ul-container_title"},[e("span",null,"\u672A\u8BC6\u522B\u78C1\u76D8")],-1)),lt={class:"ul-container_body"},ot={key:3,class:"ul-container"},it=T(()=>e("div",{class:"ul-container_title"},[e("span",null,"raid")],-1)),at={class:"ul-container_body"},dt=B({__name:"index",setup(t){const s=_e(),n=j(()=>s.disk),o=j(()=>s.raid.disks);return(u,p)=>(i(),r("main",null,[n.value.rootDisks.length>0?(i(),r("ul",Js,[Ks,e("div",Ys,[F(" \u8FC7\u6EE4\u51FA\u7CFB\u7EDF\u6240\u5728\u5206\u533A\u662F\u5426\u5728\u8BE5\u78C1\u76D8 "),(i(!0),r(D,null,x(n.value.rootDisks,(m,v)=>(i(),b(V,{disk:m},null,8,["disk"]))),256))])])):F("v-if",!0),n.value.mountedDisks.length>0?(i(),r("ul",et,[st,e("div",tt,[(i(!0),r(D,null,x(n.value.mountedDisks,(m,v)=>(i(),b(V,{disk:m},null,8,["disk"]))),256))])])):F("v-if",!0),n.value.errorDisks.length>0?(i(),r("ul",ut,[nt,e("div",lt,[(i(!0),r(D,null,x(n.value.errorDisks,(m,v)=>(i(),b(V,{disk:m},null,8,["disk"]))),256))])])):F("v-if",!0),o.value.length>0?(i(),r("ul",ot,[it,e("div",at,[(i(!0),r(D,null,x(o.value,(m,v)=>(i(),b(V,{disk:m},null,8,["disk"]))),256))])])):F("v-if",!0)]))}});var pt=E(dt,[["__scopeId","data-v-08368c95"]]);export{pt as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as o,E as r,o as n,c as t,G as s}from"./index.js";const a={},c={id:"page",class:"page-container"};function _(i,p){const e=r("router-loading");return n(),t("div",c,[s(e)])}var l=o(a,[["render",_]]);export{l as default};
|
||||
@@ -0,0 +1 @@
|
||||
var h=Object.defineProperty;var F=Object.getOwnPropertySymbols;var C=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable;var v=(l,s,u)=>s in l?h(l,s,{enumerable:!0,configurable:!0,writable:!0,value:u}):l[s]=u,b=(l,s)=>{for(var u in s||(s={}))C.call(s,u)&&v(l,u,s[u]);if(F)for(var u of F(s))x.call(s,u)&&v(l,u,s[u]);return l};var E=(l,s,u)=>new Promise((c,d)=>{var r=n=>{try{a(u.next(n))}catch(o){d(o)}},t=n=>{try{a(u.throw(n))}catch(o){d(o)}},a=n=>n.done?c(n.value):Promise.resolve(n.value).then(r,t);a((u=u.apply(l,s)).next())});import{_ as y,d as A,r as D,x as w,o as m,c as _,f as e,w as i,j as p,Q as B,s as f,t as g,h as V,g as k,R as I,T as M,i as N}from"./index.js";const P=I('<div class="label-info"> \u65C1\u8DEF\u7531\u6A21\u5F0F\uFF0C\u4E5F\u53EB\u5355\u81C2\u8DEF\u7531\u6A21\u5F0F\u3002\u60A8\u53EF\u4EE5\u7528\u4E0A\u4E00\u7EA7\u8DEF\u7531\u62E8\u53F7\uFF0C\u7136\u540E\u7531\u8BE5\u8BBE\u5907\u6765\u5B9E\u73B0\u4E00\u4E9B\u9AD8\u7EA7\u529F\u80FD\u3002 </div><div class="label-name"><span>LAN \u63A5\u53E3\u914D\u7F6E\u65B9\u5F0F</span></div><div class="label-value"><select disabled><option> \u65C1\u8DEF\u7531\u6A21\u5F0F\u4EC5\u652F\u6301\u9759\u6001IP\u5730\u5740 </option></select></div><div class="label-name"><span>IP \u5730\u5740\uFF08\u8BF7\u548C\u4E0A\u4E00\u6B65\u8BB0\u5F55\u7684\u4E3B\u8DEF\u7531\u5730\u5740\u5728\u540C\u4E00\u7F51\u6BB5\uFF09</span></div>',4),S={class:"label-value"},U=e("div",{class:"label-name"},[e("span",null,"\u5B50\u7F51\u63A9\u7801")],-1),q={class:"label-value"},L=e("div",{class:"label-name"},[e("span",null,"\u7F51\u5173\u5730\u5740")],-1),T={class:"label-value"},H=e("div",{class:"label-name"},[e("span",null,"DNS\u670D\u52A1\u5668")],-1),R={class:"label-value"},j=e("div",{class:"label-name"},[e("span",null,"\u662F\u5426\u63D0\u4F9B DHCP\uFF08\u5982\u679C\u662F\u63D0\u4F9B DHCP\uFF0C\u5219\u9700\u8981\u5173\u95ED\u4E3B\u8DEF\u7531 DHCP\uFF09")],-1),G={class:"label-value"},O={class:"label-flex"},Q={class:"label-btns"},z=["disabled"],J={key:0,class:"label-msg"},K=A({__name:"index",setup(l){const s=D(""),u=w({subnetMask:"255.255.255.0",staticDnsIp:"223.5.5.5",staticLanIp:"",gateway:"",enableDhcp:!0}),c=D(!1),d=()=>E(this,null,function*(){const r=b({},u),t=M.Loading("\u914D\u7F6E\u4E2D...");try{const a=yield N.Guide.GatewayRouter.POST(r);if(a!=null&&a.data){const{success:n,error:o}=a==null?void 0:a.data;o&&(s.value=o),(n==null||n==0)&&(s.value="\u914D\u7F6E\u6210\u529F")}}catch(a){s.value=a}t.Close()});return(r,t)=>(m(),_("form",{class:"form-container",onSubmit:k(d,["prevent"])},[P,e("div",S,[i(e("input",{type:"text",placeholder:"ip\u5730\u5740","onUpdate:modelValue":t[0]||(t[0]=a=>u.staticLanIp=a),required:""},null,512),[[p,u.staticLanIp,void 0,{trim:!0}]])]),U,e("div",q,[i(e("input",{type:"text",placeholder:"\u5B50\u7F51\u63A9\u7801\u5730\u5740","onUpdate:modelValue":t[1]||(t[1]=a=>u.subnetMask=a),required:""},null,512),[[p,u.subnetMask,void 0,{trim:!0}]])]),L,e("div",T,[i(e("input",{type:"text",placeholder:"\u7F51\u5173\u5730\u5740","onUpdate:modelValue":t[2]||(t[2]=a=>u.gateway=a),required:""},null,512),[[p,u.gateway,void 0,{trim:!0}]])]),H,e("div",R,[i(e("input",{type:"text",placeholder:"dns\u670D\u52A1\u5668\u5730\u5740","onUpdate:modelValue":t[3]||(t[3]=a=>u.staticDnsIp=a),required:""},null,512),[[p,u.staticDnsIp,void 0,{trim:!0}]])]),j,e("div",G,[e("div",O,[e("label",null,[i(e("input",{type:"radio",value:!1,"onUpdate:modelValue":t[4]||(t[4]=a=>u.enableDhcp=a)},null,512),[[B,u.enableDhcp]]),f("\u5173\u95ED")]),e("label",null,[i(e("input",{type:"radio",value:!0,"onUpdate:modelValue":t[5]||(t[5]=a=>u.enableDhcp=a)},null,512),[[B,u.enableDhcp]]),f("\u542F\u7528")])])]),e("div",Q,[e("button",{class:"sumbit",disabled:c.value},"\u4FDD\u5B58",8,z)]),s.value?(m(),_("div",J,[e("span",null,g(s.value),1)])):V("v-if",!0)],32))}});var Y=y(K,[]);export{Y as default};
|
||||
@@ -0,0 +1 @@
|
||||
var p=(o,u,s)=>new Promise((h,c)=>{var f=r=>{try{t(s.next(r))}catch(l){c(l)}},x=r=>{try{t(s.throw(r))}catch(l){c(l)}},t=r=>r.done?h(r.value):Promise.resolve(r.value).then(f,x);t((s=s.apply(o,u)).next())});import{_ as w,d as v,x as B,P as m,M as g,o as i,c as a,f as e,F as k,e as y,s as _,t as n,p as A,q as C,i as M}from"./index.js";const d=o=>(A("data-v-2e3223f5"),o=o(),C(),o),D={class:"page-table"},F=d(()=>e("colgroup",null,[e("col"),e("col"),e("col"),e("col"),e("col"),e("col")],-1)),E=d(()=>e("thead",null,[e("tr",null,[e("th",null," \u72B6\u6001 "),e("th",null," \u63A5\u53E3 "),e("th",null," \u7C7B\u578B "),e("th",null," mac "),e("th",null," \u63A5\u6536 "),e("th",null," \u53D1\u9001 ")])],-1)),b={class:"flex-icon"},N=d(()=>e("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:v":"https://vecta.io/nano",width:"48",height:"38",viewBox:"0 0 12.7 10.05"},[e("defs",null,[e("filter",{id:"A","color-interpolation-filters":"sRGB"},[e("feColorMatrix",{result:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "}),e("feColorMatrix",{values:"0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"}),e("feColorMatrix",{in:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "})]),e("path",{id:"B",d:"M80.56 75.75h3.91v22.79h-3.91z"})]),e("g",{transform:"translate(0 -286.95)"},[e("rect",{x:".21",y:"287.25",width:"12.33",height:"9.5",ry:".57",fill:"#e6e6e6",stroke:"#e6e6e6","stroke-linejoin":"round","stroke-width":".37","paint-order":"normal"}),e("path",{transform:"matrix(.105 0 0 .0989 -6.0834 280.6)",d:"M73.96 75.66h89.41c2.31 0 4.17 1.86 4.17 4.17v52.65h-21.74v9.41h-8.69v12.59h-36.87v-12.59h-8.69v-9.41H69.79V79.83c0-2.31 1.86-4.17 4.17-4.17z",fill:"#999",filter:"url(#A)",stroke:"#999","stroke-width":"2.5"}),e("g",{transform:"matrix(.1048 0 0 .1048 -6.0999 280.7)",fill:"#fff",filter:"url(#A)",stroke:"#fff"},[e("use",{"xlink:href":"#B"}),e("use",{"xlink:href":"#B",x:"73.04"}),e("use",{"xlink:href":"#B",x:"52.17"}),e("use",{"xlink:href":"#B",x:"41.74"}),e("use",{"xlink:href":"#B",x:"31.3"}),e("use",{"xlink:href":"#B",x:"20.87"}),e("use",{"xlink:href":"#B",x:"10.43"}),e("use",{"xlink:href":"#B",x:"62.61"})]),e("rect",{x:"1.24",y:"294.55",width:"1.6",height:"1.38",ry:".11",fill:"#ccc",stroke:"#ccc","stroke-width":".22","paint-order":"normal"})])],-1)),S=d(()=>e("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"48",height:"38",viewBox:"0 0 12.7 10.05","xmlns:v":"https://vecta.io/nano"},[e("defs",null,[e("filter",{id:"A","color-interpolation-filters":"sRGB"},[e("feColorMatrix",{result:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "}),e("feColorMatrix",{values:"0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"}),e("feColorMatrix",{in:"A",values:"2 -0.5 -0.5 0 0 -0.5 2 -0.5 0 0 -0.5 -0.5 2 0 0 0 0 0 1 0 "})]),e("path",{id:"B",d:"M80.56 75.75h3.91v22.79h-3.91z"})]),e("g",{transform:"translate(-.03 -287.07)"},[e("rect",{x:".24",y:"287.36",width:"12.33",height:"9.5",ry:".57",fill:"#e6e6e6",stroke:"#e6e6e6","stroke-linejoin":"round","stroke-width":".37","paint-order":"normal"}),e("path",{transform:"matrix(.105 0 0 .0989 -6.0532 280.72)",d:"M73.96 75.66h89.41c2.31 0 4.17 1.86 4.17 4.17v52.65h-21.74v9.41h-8.69v12.59h-36.87v-12.59h-8.69v-9.41H69.79V79.83c0-2.31 1.86-4.17 4.17-4.17z",fill:"#4d4d4d",filter:"url(#A)",stroke:"#4d4d4d","stroke-width":"2.5"}),e("g",{transform:"matrix(.1048 0 0 .1048 -6.0697 280.81)",fill:"#fff",filter:"url(#A)",stroke:"#fff"},[e("use",{"xlink:href":"#B"}),e("use",{"xlink:href":"#B",x:"73.04"}),e("use",{"xlink:href":"#B",x:"52.17"}),e("use",{"xlink:href":"#B",x:"41.74"}),e("use",{"xlink:href":"#B",x:"31.3"}),e("use",{"xlink:href":"#B",x:"20.87"}),e("use",{"xlink:href":"#B",x:"10.43"}),e("use",{"xlink:href":"#B",x:"62.61"})]),e("rect",{x:"1.27",y:"294.67",width:"1.6",height:"1.38",ry:".11",fill:"#55d400",stroke:"#55d400","stroke-width":".22","paint-order":"normal"})])],-1)),j=v({__name:"index",setup(o){return p(this,null,function*(){let u,s;const h=B({ports:[]}),c=t=>{switch(t){case"full":return"\u5168\u53CC\u5DE5";case"half":return"\u534A\u53CC\u5DE5"}};let f=!1;const x=()=>p(this,null,function*(){try{const t=yield M.Network.PortList.GET();if(t!=null&&t.data){const{result:r}=t==null?void 0:t.data;r&&(h.ports=r.ports||[])}}catch(t){console.log(t)}setTimeout(()=>{f||x()},1e4)});return[u,s]=m(()=>x()),yield u,s(),g(()=>{f=!0}),(t,r)=>(i(),a("table",D,[F,E,e("tbody",null,[(i(!0),a(k,null,y(h.ports,l=>(i(),a("tr",null,[e("th",b,[l.linkState=="DOWN"?(i(),a(k,{key:0},[N,_("\u672A\u8FDE\u63A5 ")],64)):(i(),a(k,{key:1},[S,_(" \u5DF2\u8FDE\u63A5 ")],64))]),e("th",null,n(l.name)+"\uFF08"+n(l.interfaceNames.join(",").toLocaleUpperCase())+"\uFF09 ",1),e("th",null,n(c(l.duplex)),1),e("th",null,n(l.macAddress||"--"),1),e("th",null,n(l.rx_packets||"--"),1),e("th",null,n(l.tx_packets||"--"),1)]))),256))])]))})}});var L=w(j,[["__scopeId","data-v-2e3223f5"]]);export{L as default};
|
||||
@@ -0,0 +1 @@
|
||||
{"en":{"download":"Download","monitor":"Monitor","multimedia":"Multimedia","nas":"NAS","net":"Net","networking":"Networking","service":"Service","system":"System","tool":"Tool"}}
|
||||
@@ -0,0 +1 @@
|
||||
{"zh-CN":{"download":"下载","monitor":"监控","multimedia":"多媒体","nas":"NAS","net":"网络","networking":"组网","service":"服务","system":"系统","tool":"工具"}}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 676 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,87 @@
|
||||
var M1=Object.defineProperty,D1=Object.defineProperties;var $1=Object.getOwnPropertyDescriptors;var Hl=Object.getOwnPropertySymbols;var A1=Object.prototype.hasOwnProperty,F1=Object.prototype.propertyIsEnumerable;var lr=Math.pow,Yl=(e,t,n)=>t in e?M1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$t=(e,t)=>{for(var n in t||(t={}))A1.call(t,n)&&Yl(e,n,t[n]);if(Hl)for(var n of Hl(t))F1.call(t,n)&&Yl(e,n,t[n]);return e},Ul=(e,t)=>D1(e,$1(t));var K=(e,t,n)=>new Promise((s,r)=>{var o=l=>{try{a(n.next(l))}catch(c){r(c)}},i=l=>{try{a(n.throw(l))}catch(c){r(c)}},a=l=>l.done?s(l.value):Promise.resolve(l.value).then(o,i);a((n=n.apply(e,t)).next())});const I1=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerpolicy&&(o.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?o.credentials="include":r.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}};I1();/**
|
||||
* @vue/shared v3.4.35
|
||||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||||
* @license MIT
|
||||
**//*! #__NO_SIDE_EFFECTS__ */function xn(e,t){const n=new Set(e.split(","));return t?s=>n.has(s.toLowerCase()):s=>n.has(s)}const De=Object.freeze({}),js=Object.freeze([]),nt=()=>{},R1=()=>!1,Vr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Do=e=>e.startsWith("onUpdate:"),Be=Object.assign,La=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},L1=Object.prototype.hasOwnProperty,me=(e,t)=>L1.call(e,t),Z=Array.isArray,ms=e=>Br(e)==="[object Map]",Qs=e=>Br(e)==="[object Set]",Vl=e=>Br(e)==="[object Date]",ne=e=>typeof e=="function",Re=e=>typeof e=="string",Jt=e=>typeof e=="symbol",we=e=>e!==null&&typeof e=="object",ei=e=>(we(e)||ne(e))&&ne(e.then)&&ne(e.catch),Eu=Object.prototype.toString,Br=e=>Eu.call(e),Na=e=>Br(e).slice(8,-1),xu=e=>Br(e)==="[object Object]",ja=e=>Re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,vr=xn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),N1=xn("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),ti=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},j1=/-(\w)/g,Rt=ti(e=>e.replace(j1,(t,n)=>n?n.toUpperCase():"")),H1=/\B([A-Z])/g,kn=ti(e=>e.replace(H1,"-$1").toLowerCase()),Ss=ti(e=>e.charAt(0).toUpperCase()+e.slice(1)),us=ti(e=>e?`on${Ss(e)}`:""),Qn=(e,t)=>!Object.is(e,t),Fs=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},$o=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Ao=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ou=e=>{const t=Re(e)?Number(e):NaN;return isNaN(t)?e:t};let Bl;const ni=()=>Bl||(Bl=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});function si(e){if(Z(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=Re(s)?B1(s):si(s);if(r)for(const o in r)t[o]=r[o]}return t}else if(Re(e)||we(e))return e}const Y1=/;(?![^(]*\))/g,U1=/:([^]+)/,V1=/\/\*[^]*?\*\//g;function B1(e){const t={};return e.replace(V1,"").split(Y1).forEach(n=>{if(n){const s=n.split(U1);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Pr(e){let t="";if(Re(e))t=e;else if(Z(e))for(let n=0;n<e.length;n++){const s=Pr(e[n]);s&&(t+=s+" ")}else if(we(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const G1="html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot",W1="svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view",z1="annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics",q1=xn(G1),K1=xn(W1),J1=xn(z1),Z1="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Q1=xn(Z1);function Cu(e){return!!e||e===""}function X1(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=ks(e[s],t[s]);return n}function ks(e,t){if(e===t)return!0;let n=Vl(e),s=Vl(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=Jt(e),s=Jt(t),n||s)return e===t;if(n=Z(e),s=Z(t),n||s)return n&&s?X1(e,t):!1;if(n=we(e),s=we(t),n||s){if(!n||!s)return!1;const r=Object.keys(e).length,o=Object.keys(t).length;if(r!==o)return!1;for(const i in e){const a=e.hasOwnProperty(i),l=t.hasOwnProperty(i);if(a&&!l||!a&&l||!ks(e[i],t[i]))return!1}}return String(e)===String(t)}function Ha(e,t){return e.findIndex(n=>ks(n,t))}const Pu=e=>!!(e&&e.__v_isRef===!0),We=e=>Re(e)?e:e==null?"":Z(e)||we(e)&&(e.toString===Eu||!ne(e.toString))?Pu(e)?We(e.value):JSON.stringify(e,Mu,2):String(e),Mu=(e,t)=>Pu(t)?Mu(e,t.value):ms(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[Mi(s,o)+" =>"]=r,n),{})}:Qs
Line truncated
|
||||
* @vue/reactivity v3.4.35
|
||||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||||
* @license MIT
|
||||
**/function Zt(e,...t){console.warn(`[Vue warn] ${e}`,...t)}let _t;class Du{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=_t,!t&&_t&&(this.index=(_t.scopes||(_t.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=_t;try{return _t=this,t()}finally{_t=n}}else Zt("cannot run an inactive effect scope.")}on(){_t=this}off(){_t=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.scopes)for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0,this._active=!1}}}function $u(e){return new Du(e)}function eh(e,t=_t){t&&t.active&&t.effects.push(e)}function Au(){return _t}function th(e){_t?_t.cleanups.push(e):Zt("onScopeDispose() is called when there is no active effect scope to be associated with.")}let gs;class Ya{constructor(t,n,s,r){this.fn=t,this.trigger=n,this.scheduler=s,this.active=!0,this.deps=[],this._dirtyLevel=4,this._trackId=0,this._runnings=0,this._shouldSchedule=!1,this._depsLength=0,eh(this,r)}get dirty(){if(this._dirtyLevel===2||this._dirtyLevel===3){this._dirtyLevel=1,On();for(let t=0;t<this._depsLength;t++){const n=this.deps[t];if(n.computed&&(nh(n.computed),this._dirtyLevel>=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Cn()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Kn,n=gs;try{return Kn=!0,gs=this,this._runnings++,Gl(this),this.fn()}finally{Wl(this),this._runnings--,gs=n,Kn=t}}stop(){this.active&&(Gl(this),Wl(this),this.onStop&&this.onStop(),this.active=!1)}}function nh(e){return e.value}function Gl(e){e._trackId++,e._depsLength=0}function Wl(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t<e.deps.length;t++)Fu(e.deps[t],e);e.deps.length=e._depsLength}}function Fu(e,t){const n=e.get(t);n!==void 0&&t._trackId!==n&&(e.delete(t),e.size===0&&e.cleanup())}let Kn=!0,Qi=0;const Iu=[];function On(){Iu.push(Kn),Kn=!1}function Cn(){const e=Iu.pop();Kn=e===void 0?!0:e}function Ua(){Qi++}function Va(){for(Qi--;!Qi&&Xi.length;)Xi.shift()()}function Ru(e,t,n){var s;if(t.get(e)!==e._trackId){t.set(e,e._trackId);const r=e.deps[e._depsLength];r!==t?(r&&Fu(r,e),e.deps[e._depsLength++]=t):e._depsLength++,(s=e.onTrack)==null||s.call(e,Be({effect:e},n))}}const Xi=[];function Lu(e,t,n){var s;Ua();for(const r of e.keys()){let o;r._dirtyLevel<t&&(o!=null?o:o=e.get(r)===r._trackId)&&(r._shouldSchedule||(r._shouldSchedule=r._dirtyLevel===0),r._dirtyLevel=t),r._shouldSchedule&&(o!=null?o:o=e.get(r)===r._trackId)&&((s=r.onTrigger)==null||s.call(r,Be({effect:r},n)),r.trigger(),(!r._runnings||r.allowRecurse)&&r._dirtyLevel!==2&&(r._shouldSchedule=!1,r.scheduler&&Xi.push(r.scheduler)))}Va()}const Nu=(e,t)=>{const n=new Map;return n.cleanup=e,n.computed=t,n},Fo=new WeakMap,_s=Symbol("iterate"),ea=Symbol("Map key iterate");function lt(e,t,n){if(Kn&&gs){let s=Fo.get(e);s||Fo.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=Nu(()=>s.delete(n))),Ru(gs,r,{target:e,type:t,key:n})}}function qt(e,t,n,s,r,o){const i=Fo.get(e);if(!i)return;let a=[];if(t==="clear")a=[...i.values()];else if(n==="length"&&Z(e)){const l=Number(s);i.forEach((c,d)=>{(d==="length"||!Jt(d)&&d>=l)&&a.push(c)})}else switch(n!==void 0&&a.push(i.get(n)),t){case"add":Z(e)?ja(n)&&a.push(i.get("length")):(a.push(i.get(_s)),ms(e)&&a.push(i.get(ea)));break;case"delete":Z(e)||(a.push(i.get(_s)),ms(e)&&a.push(i.get(ea)));break;case"set":ms(e)&&a.push(i.get(_s));break}Ua();for(const l of a)l&&Lu(l,4,{target:e,type:t,key:n,newValue:s,oldValue:r,oldTarget:o});Va()}function sh(e,t){const n=Fo.get(e);return n&&n.get(t)}const rh=xn("__proto__,__v_isRef,__isVue"),ju=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Jt)),zl=oh();function oh(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=re(this);for(let o=0,i=this.length;o<i;o++)lt(s,"get",o+"");const r=s[t](...n);return r===-1||r===!1?s[t](...n.map(re)):r}}),["push","pop","shift","unshift","splice"].forEach(t=>{e[t]=function(...n){On(),Ua();const s=re(this)[t].apply(this,n);return Va(),Cn(),s}}),e}function ih(e){Jt(e)||(e=String(e));const t=re(this);return lt(t,"has",e),t.hasOwnProperty(e)}class Hu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?zu:Wu:o?Gu:Bu).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=Z(t);if(!r){if(i&&me(zl,n))return Reflect.get(zl,n,s);if(n==="hasOwnProperty")return ih}const a=Reflect.get(t,n,s);return(Jt(n)?ju.has(n):rh(n))Line truncated
|
||||
|
||||
getter: `,this.getter),vo(t,2)),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function kh(e,t,n=!1){let s,r;const o=ne(e);o?(s=e,r=()=>{Zt("Write operation failed: computed value is readonly")}):(s=e.get,r=e.set);const i=new Ju(s,r,o||!r,n);return t&&!n&&(i.effect.onTrack=t.onTrack,i.effect.onTrigger=t.onTrigger),i}function Zu(e){var t;Kn&&gs&&(e=re(e),Ru(gs,(t=e.dep)!=null?t:e.dep=Nu(()=>e.dep=void 0,e instanceof Ju?e:void 0),{target:e,type:"get",key:"value"}))}function vo(e,t=4,n,s){e=re(e);const r=e.dep;r&&Lu(r,t,{target:e,type:"set",key:"value",newValue:n,oldValue:s})}function Ye(e){return!!(e&&e.__v_isRef===!0)}function Ke(e){return Qu(e,!1)}function Th(e){return Qu(e,!0)}function Qu(e,t){return Ye(e)?e:new Eh(e,t)}class Eh{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:re(t),this._value=n?t:Mr(t)}get value(){return Zu(this),this._value}set value(t){const n=this.__v_isShallow||_n(t)||Tn(t);if(t=n?t:re(t),Qn(t,this._rawValue)){const s=this._rawValue;this._rawValue=t,this._value=n?t:Mr(t),vo(this,4,t,s)}}}function pt(e){return Ye(e)?e.value:e}const xh={get:(e,t,n)=>pt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return Ye(r)&&!Ye(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Xu(e){return gn(e)?e:new Proxy(e,xh)}function Ql(e){Io(e)||Zt("toRefs() expects a reactive object but received a plain one.");const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=ed(e,n);return t}class Oh{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return sh(re(this._object),this._key)}}class Ch{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Di(e,t,n){return Ye(e)?e:ne(e)?new Ch(e):we(e)&&arguments.length>1?ed(e,t,n):Ke(e)}function ed(e,t,n){const s=e[t];return Ye(s)?s:new Oh(e,t,n)}/**
|
||||
* @vue/runtime-core v3.4.35
|
||||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||||
* @license MIT
|
||||
**/const vs=[];function yr(e){vs.push(e)}function wr(){vs.pop()}let $i=!1;function M(e,...t){if($i)return;$i=!0,On();const n=vs.length?vs[vs.length-1].component:null,s=n&&n.appContext.config.warnHandler,r=Ph();if(s)vn(s,n,11,[e+t.map(o=>{var i,a;return(a=(i=o.toString)==null?void 0:i.call(o))!=null?a:JSON.stringify(o)}).join(""),n&&n.proxy,r.map(({vnode:o})=>`at <${pi(n,o.type)}>`).join(`
|
||||
`),r]);else{const o=[`[Vue warn]: ${e}`,...t];r.length&&o.push(`
|
||||
`,...Mh(r)),console.warn(...o)}Cn(),$i=!1}function Ph(){let e=vs[vs.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const s=e.component&&e.component.parent;e=s&&s.vnode}return t}function Mh(e){const t=[];return e.forEach((n,s)=>{t.push(...s===0?[]:[`
|
||||
`],...Dh(n))}),t}function Dh({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",s=e.component?e.component.parent==null:!1,r=` at <${pi(e.component,e.type,s)}`,o=">"+n;return e.props?[r,...$h(e.props),o]:[r+o]}function $h(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(s=>{t.push(...td(s,e[s]))}),n.length>3&&t.push(" ..."),t}function td(e,t,n){return Re(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Ye(t)?(t=td(e,re(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):ne(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=re(t),n?t:[`${e}=`,t])}function nd(e,t){e!==void 0&&(typeof e!="number"?M(`${t} is not a valid number - got ${JSON.stringify(e)}.`):isNaN(e)&&M(`${t} is NaN - the duration expression might be incorrect.`))}const Wa={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",[0]:"setup function",[1]:"render function",[2]:"watcher getter",[3]:"watcher callback",[4]:"watcher cleanup function",[5]:"native event handler",[6]:"component event handler",[7]:"vnode hook",[8]:"directive hook",[9]:"transition hook",[10]:"app errorHandler",[11]:"app warnHandler",[12]:"ref function",[13]:"async component loader",[14]:"scheduler flush",[15]:"component update"};function vn(e,t,n,s){try{return s?e(...s):e()}catch(r){Xs(r,t,n)}}function Ot(e,t,n,s){if(ne(e)){const r=vn(e,t,n,s);return r&&ei(r)&&r.catch(o=>{Xs(o,t,n)}),r}if(Z(e)){const r=[];for(let o=0;o<e.length;o++)r.push(Ot(e[o],t,n,s));return r}else M(`Invalid value type passed to callWithAsyncErrorHandling(): ${typeof e}`)}function Xs(e,t,n,s=!0){const r=t?t.vnode:null;if(t){let o=t.parent;const i=t.proxy,a=Wa[n];for(;o;){const c=o.ec;if(c){for(let d=0;d<c.length;d++)if(c[d](e,i,a)===!1)return}o=o.parent}const l=t.appContext.config.errorHandler;if(l){On(),vn(l,null,10,[e,i,a]),Cn();return}}Ah(e,n,r,s)}function Ah(e,t,n,s=!0){{const r=Wa[t];if(n&&yr(n),M(`Unhandled error${r?` during execution of ${r}`:""}`),n&&wr(),s)throw e;console.error(e)}}let Dr=!1,ta=!1;const ot=[];let Vt=0;const Hs=[];let jn=null,fs=0;const sd=Promise.resolve();let za=null;const Fh=100;function $r(e){const t=za||sd;return e?t.then(this?e.bind(this):e):t}function Ih(e){let t=Vt+1,n=ot.length;for(;t<n;){const s=t+n>>>1,r=ot[s],o=Ar(r);o<e||o===e&&r.pre?t=s+1:n=s}return t}function ai(e){(!ot.length||!ot.includes(e,Dr&&e.allowRecurse?Vt+1:Vt))&&(e.id==null?ot.push(e):ot.splice(Ih(e.id),0,e),rd())}function rd(){!Dr&&!ta&&(ta=!0,za=sd.then(id))}function Rh(e){const t=ot.indexOf(e);t>Vt&&ot.splice(t,1)}function Ro(e){Z(e)?Hs.push(...e):(!jn||!jn.includes(e,e.allowRecurse?fs+1:fs))&&Hs.push(e),rd()}function Xl(e,t,n=Dr?Vt+1:0){for(t=t||new Map;n<ot.length;n++){const s=ot[n];if(s&&s.pre){if(e&&s.id!==e.uid||qa(t,s))continue;ot.splice(n,1),n--,s()}}}function od(e){if(Hs.length){const t=[...new Set(Hs)].sort((n,s)=>Ar(n)-Ar(s));if(Hs.length=0,jn){jn.push(...t);return}for(jn=t,e=e||new Map,fs=0;fs<jn.length;fs++){const n=jn[fs];qa(e,n)||n.active!==!1&&n()}jn=null,fs=0}}const Ar=e=>e.id==null?1/0:e.id,Lh=(e,t)=>{const n=Ar(e)-Ar(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function id(e){ta=!1,Dr=!0,e=e||new Map,ot.sort(Lh);const t=n=>qa(e,n);try{for(Vt=0;Vt<ot.length;Vt++){const n=ot[Vt];if(n&&n.active!==!1){if(t(n))continue;vn(n,n.i,n.i?15:14)}}}finally{Vt=0,ot.length=0,od(e),Dr=!1,za=null,(ot.length||Hs.length)&&id(e)}}function qa(e,t){if(!e.has(t))e.set(t,1);else{const n=e.get(t);if(n>Fh){const s=t.i,r=s&&sl(s.type);return Xs(`Maximum recursive updates exceeded${r?` in component <${r}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0}else e.set(t,n+1)}}let Jn=!1;const yo=new Map;ni().__VUE_HMR_RUNTIME__={createRecord:Ai(ad),rerender:Ai(Hh),reload:Ai(Yh)};const Ts=new Map;function Nh(e){const t=e.type.__hmrId;let n=Ts.get(t);n||(ad(t,e.type),n=Ts.get(t)),n.instances.add(e)}function jh(e){Ts.get(e.type.__hmrId).instances.delete(e)}function ad(e,t){return Ts.has(e)?!1:(Ts.set(e,{initialDef:Lo(t),instances:new Set}),!0)}function Lo(e){return qd(e)?e.__vccOpts:e}function Hh(e,t){const n=Ts.get(e);!n||(n.initialDef.render=t,[...n.instances].forEach(s=>{t&&(s.render=t,Lo(s.type).render=t),s.renderCache=[],Jn=!0,s.effect.dirty=!0,s.update(),Jn=!1}))}function Yh(e,t){const n=Ts.get(e);if(!n)return;t=Lo(t),ec(n.initialDef,t);const s=[...n.instances];for(let r=0;r<s.length;r++){const o=s[r],i=Lo(o.type);let a=yo.get(i);a||(i!==n.initialDef&&ec(i,t),yo.set(i,a=new Set)),a.add(o),o.appContext.propsCache.delete(o.type),o.appContext.emitsCache.delete(o.type),o.appContext.optionsCache
Line truncated
|
||||
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.`:"";M(`Failed to resolve ${e.slice(0,-1)}: ${t}${a}`)}return i}else M(`resolve${Ss(e.slice(0,-1))} can only be used in render() or setup().`)}function nc(e,t){return e&&(e[t]||e[Rt(t)]||e[Ss(Rt(t))])}function Yo(e,t,n,s){let r;const o=n&&n[s];if(Z(e)||Re(e)){r=new Array(e.length);for(let i=0,a=e.length;i<a;i++)r[i]=t(e[i],i,void 0,o&&o[i])}else if(typeof e=="number"){Number.isInteger(e)||M(`The v-for range expect an integer value but got ${e}.`),r=new Array(e);for(let i=0;i<e;i++)r[i]=t(i+1,i,void 0,o&&o[i])}else if(we(e))if(e[Symbol.iterator])r=Array.from(e,(i,a)=>t(i,a,void 0,o&&o[a]));else{const i=Object.keys(e);r=new Array(i.length);for(let a=0,l=i.length;a<l;a++){const c=i[a];r[a]=t(e[c],c,a,o&&o[a])}}else r=[];return n&&(n[s]=r),r}function hs(e,t,n={},s,r){if(qe.isCE||qe.parent&&br(qe.parent)&&qe.parent.isCE)return t!=="default"&&(n.name=t),Pe("slot",n,s&&s());let o=e[t];o&&o.length>1&&(M("SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template."),o=()=>[]),o&&o._c&&(o._d=!1),A();const i=o&&wd(o(n)),a=Ze(Ee,{key:(n.key||i&&i.key||`_${t}`)+(!i&&s?"_fb":"")},i||(s?s():[]),i&&e._===1?64:-2);return!r&&a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),o&&o._c&&(o._d=!0),a}function wd(e){return e.some(t=>qs(t)?!(t.type===ze||t.type===Ee&&!wd(t.children)):!0)?e:null}const ra=e=>e?Wd(e)?hi(e):ra(e.parent):null,ys=Be(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>zt(e.props),$attrs:e=>zt(e.attrs),$slots:e=>zt(e.slots),$refs:e=>zt(e.refs),$parent:e=>ra(e.parent),$root:e=>ra(e.root),$emit:e=>e.emit,$options:e=>Qa(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,ai(e.update)}),$nextTick:e=>e.n||(e.n=$r.bind(e.proxy)),$watch:e=>W0.bind(e)}),Za=e=>e==="_"||e==="$",Ii=(e,t)=>e!==De&&!e.__isScriptSetup&&me(e,t),bd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:a,appContext:l}=e;if(t==="__isVue")return!0;let c;if(t[0]!=="$"){const m=i[t];if(m!==void 0)switch(m){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(Ii(s,t))return i[t]=1,s[t];if(r!==De&&me(r,t))return i[t]=2,r[t];if((c=e.propsOptions[0])&&me(c,t))return i[t]=3,o[t];if(n!==De&&me(n,t))return i[t]=4,n[t];oa&&(i[t]=0)}}const d=ys[t];let u,f;if(d)return t==="$attrs"?(lt(e.attrs,"get",""),Go()):t==="$slots"&<(e,"get",t),d(e);if((u=a.__cssModules)&&(u=u[t]))return u;if(n!==De&&me(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,me(f,t))return f[t];qe&&(!Re(t)||t.indexOf("__v")!==0)&&(r!==De&&Za(t[0])&&me(r,t)?M(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`):e===qe&&M(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return Ii(r,t)?(r[t]=n,!0):r.__isScriptSetup&&me(r,t)?(M(`Cannot mutate <script setup> binding "${t}" from Options API.`),!1):s!==De&&me(s,t)?(s[t]=n,!0):me(e.props,t)?(M(`Attempting to mutate prop "${t}". Props are readonly.`),!1):t[0]==="$"&&t.slice(1)in e?(M(`Attempting to mutate public property "${t}". Properties starting with $ are reserved and readonly.`),!1):(t in e.appContext.config.globalProperties?Object.defineProperty(o,t,{enumerable:!0,configurable:!0,value:n}):o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let a;return!!n[i]||e!==De&&me(e,i)||Ii(t,i)||(a=o[0])&&me(a,i)||me(s,i)||me(ys,i)||me(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:me(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};bd.ownKeys=e=>(M("Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead."),Reflect.ownKeys(e));function c0(e){const t={};return Object.defineProperty(t,"_",{configurable:!0,enumerable:!1,get:()=>e}),Object.keys(ys).forEach(n=>{Object.defineProperty(t,n,{configurable:!0,enumerable:!1,get:()=>ys[n](e),set:nt})}),t}function u0(e){const{ctx:t,propsOptions:[n]}=e;n&&Object.keys(n).forEach(s=>{Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>e.props[s],set:nt})})}function d0(e){const{ctx:t,setupState:n}=e;Object.keys(re(n)).forEach(s=>{if(!n.__isScriptSetup){if(Za(s[0])){M(`setup() return property ${JSON.stringify(s)} should not start with "$" or "_" which are reserved prefixes for Vue internals.`);return}Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>n[s],set:nt})}})}function sc(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function cy(e){const t=tn();t||M("withAsyncContext called without active current instance. This is likely a bug.");let n=e();return pa(),ei(n)&&(n=n.catch(s=>{throw E
Line truncated
|
||||
|
||||
For more details, see https://link.vuejs.org/feature-flags.`)}}const ft=rp;function j0(e){return H0(e)}function H0(e,t){N0();const n=ni();n.__VUE__=!0,ld(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:s,remove:r,patchProp:o,createElement:i,createText:a,createComment:l,setText:c,setElementText:d,parentNode:u,nextSibling:f,setScopeId:m=nt,insertStaticContent:_}=e,b=(h,p,v,S=null,x=null,P=null,j=void 0,F=null,R=Jn?!1:!!p.dynamicChildren)=>{if(h===p)return;h&&!Gt(h,p)&&(S=U(h),St(h,x,P,!0),h=null),p.patchFlag===-2&&(R=!1,p.dynamicChildren=null);const{type:C,ref:G,shapeFlag:ee}=p;switch(C){case qr:B(h,p,v,S);break;case ze:L(h,p,v,S);break;case Sr:h==null?I(p,v,S,j):D(h,p,v,j);break;case Ee:se(h,p,v,S,x,P,j,F,R);break;default:ee&1?V(h,p,v,S,x,P,j,F,R):ee&6?xe(h,p,v,S,x,P,j,F,R):ee&64||ee&128?C.process(h,p,v,S,x,P,j,F,R,he):M("Invalid VNode type:",C,`(${typeof C})`)}G!=null&&x&&ca(G,h&&h.ref,P,p||h,!p)},B=(h,p,v,S)=>{if(h==null)s(p.el=a(p.children),v,S);else{const x=p.el=h.el;p.children!==h.children&&c(x,p.children)}},L=(h,p,v,S)=>{h==null?s(p.el=l(p.children||""),v,S):p.el=h.el},I=(h,p,v,S)=>{[h.el,h.anchor]=_(h.children,p,v,S,h.el,h.anchor)},D=(h,p,v,S)=>{if(p.children!==h.children){const x=f(h.anchor);O(h),[p.el,p.anchor]=_(p.children,v,x,S)}else p.el=h.el,p.anchor=h.anchor},W=({el:h,anchor:p},v,S)=>{let x;for(;h&&h!==p;)x=f(h),s(h,v,S),h=x;s(p,v,S)},O=({el:h,anchor:p})=>{let v;for(;h&&h!==p;)v=f(h),r(h),h=v;r(p)},V=(h,p,v,S,x,P,j,F,R)=>{p.type==="svg"?j="svg":p.type==="math"&&(j="mathml"),h==null?w(p,v,S,x,P,j,F,R):k(h,p,x,P,j,F,R)},w=(h,p,v,S,x,P,j,F)=>{let R,C;const{props:G,shapeFlag:ee,transition:X,dirs:le}=h;if(R=h.el=i(h.type,P,G&&G.is,G),ee&8?d(R,h.children):ee&16&&N(h.children,R,null,S,x,Ri(h,P),j,F),le&&os(h,null,S,"created"),ce(R,h,h.scopeId,j,S),G){for(const Ae in G)Ae!=="value"&&!vr(Ae)&&o(R,Ae,null,G[Ae],P,S);"value"in G&&o(R,"value",null,G.value,P),(C=G.onVnodeBeforeMount)&&Ut(C,S,h)}$o(R,"__vnode",h,!0),$o(R,"__vueParentComponent",S,!0),le&&os(h,null,S,"beforeMount");const pe=Y0(x,X);pe&&X.beforeEnter(R),s(R,p,v),((C=G&&G.onVnodeMounted)||pe||le)&&ft(()=>{C&&Ut(C,S,h),pe&&X.enter(R),le&&os(h,null,S,"mounted")},x)},ce=(h,p,v,S,x)=>{if(v&&m(h,v),S)for(let P=0;P<S.length;P++)m(h,S[P]);if(x){let P=x.subTree;if(P.patchFlag>0&&P.patchFlag&2048&&(P=di(P.children)||P),p===P){const j=x.vnode;ce(h,j,j.scopeId,j.slotScopeIds,x.parent)}}},N=(h,p,v,S,x,P,j,F,R=0)=>{for(let C=R;C<h.length;C++){const G=h[C]=F?Yn(h[C]):Et(h[C]);b(null,G,p,v,S,x,P,j,F)}},k=(h,p,v,S,x,P,j)=>{const F=p.el=h.el;F.__vnode=p;let{patchFlag:R,dynamicChildren:C,dirs:G}=p;R|=h.patchFlag&16;const ee=h.props||De,X=p.props||De;let le;if(v&&is(v,!1),(le=X.onVnodeBeforeUpdate)&&Ut(le,v,p,h),G&&os(p,h,v,"beforeUpdate"),v&&is(v,!0),Jn&&(R=0,j=!1,C=null),(ee.innerHTML&&X.innerHTML==null||ee.textContent&&X.textContent==null)&&d(F,""),C?(T(h.dynamicChildren,C,F,v,S,Ri(p,x),P),Bo(h,p)):j||Fe(h,p,F,null,v,S,Ri(p,x),P,!1),R>0){if(R&16)E(F,ee,X,v,x);else if(R&2&&ee.class!==X.class&&o(F,"class",null,X.class,x),R&4&&o(F,"style",ee.style,X.style,x),R&8){const pe=p.dynamicProps;for(let Ae=0;Ae<pe.length;Ae++){const ke=pe[Ae],et=ee[ke],Dt=X[ke];(Dt!==et||ke==="value")&&o(F,ke,et,Dt,x,v)}}R&1&&h.children!==p.children&&d(F,p.children)}else!j&&C==null&&E(F,ee,X,v,x);((le=X.onVnodeUpdated)||G)&&ft(()=>{le&&Ut(le,v,p,h),G&&os(p,h,v,"updated")},S)},T=(h,p,v,S,x,P,j)=>{for(let F=0;F<p.length;F++){const R=h[F],C=p[F],G=R.el&&(R.type===Ee||!Gt(R,C)||R.shapeFlag&70)?u(R.el):v;b(R,C,G,null,S,x,P,j,!0)}},E=(h,p,v,S,x)=>{if(p!==v){if(p!==De)for(const P in p)!vr(P)&&!(P in v)&&o(h,P,p[P],null,x,S);for(const P in v){if(vr(P))continue;const j=v[P],F=p[P];j!==F&&P!=="value"&&o(h,P,F,j,x,S)}"value"in v&&o(h,"value",p.value,v.value,x)}},se=(h,p,v,S,x,P,j,F,R)=>{const C=p.el=h?h.el:a(""),G=p.anchor=h?h.anchor:a("");let{patchFlag:ee,dynamicChildren:X,slotScopeIds:le}=p;(Jn||ee&2048)&&(ee=0,R=!1,X=null),le&&(F=F?F.concat(le):le),h==null?(s(C,v,S),s(G,v,S),N(p.children||[],v,G,x,P,j,F,R)):ee>0&&ee&64&&X&&h.dynamicChildren?(T(h.dynamicChildren,X,v,x,P,j,F),Bo(h,p)):Fe(h,p,v,G,x,P,j,F,R)},xe=(h,p,v,S,x,P,j,F,R)=>{p.slotScopeIds=F,h==null?p.shapeFlag&512?x.ctx.activate(p,v,S,j,R):$e(p,v,S,x,P,j,R):Ce(h,p,R)},$e=(h,p,v,S,x,P,j)=>{const F=h.component=hp(h,S,x);if(F.type.__hmrId&&Nh(F),yr(h),ln(F,"mount"),Wr(h)&&(F.ctx.renderer=he),ln(F,"init"),mp(F,!1,j),cn(F,"init"),F.asyncDep){if(x&&x.registerDep(F,ae,j),!h.el){const R=F.subTree=Pe(ze);L(null,R,p,v)}}else ae(F,h,p,v,x,P,j);wr(),cn(F,"mount")},Ce=(h,p,v)=>{const S=p.component=h.component;if(Z0(h,p,v))if(S.asyncDep&&!S.asyncResolved){yr(p),oe(S,p,v),wr();return}else S.next=p,Rh(S.update),S.effect.dirty=!0,S.update();else p.el=h.el,S.vnode=p},ae=(h,p,v,S,x,P,j)=>{const F=()=>{if(h.isMounted){let{next:G,bu:ee,u:X,parent:le,vnode:pe}=h;{const Ps=Rd(h);if(Ps){G&&(G.el=pe.el,oe(h,G,j)),Ps.asyncDep.then(()=>{h.isUnmounted||F()});return}}let Ae=G,ke;yr(G||h.vnode),is(h,!1),G?(G.el=pe.el,oe(h,G,j)):G=pe,ee&&Fs(ee),(ke=G.props&&G.props.onVnod
Line truncated
|
||||
Component that was made reactive: `,e)),g(e,t,n,s,r,i,o,!0)}function lp(e){return e?Io(e)||xd(e)?Be({},e):e:null}function Qt(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:i,children:a,transition:l}=e,c=t?up(r||{},t):r,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Bd(c),ref:t&&t.ref?n&&o?Z(o)?o.concat(bo(t)):[o,bo(t)]:bo(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i===-1&&Z(a)?a.map(Gd):a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ee?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&&Qt(e.ssContent),ssFallback:e.ssFallback&&Qt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&s&&jo(d,l.clone(d)),d}function Gd(e){const t=Qt(e);return Z(e.children)&&(t.children=e.children.map(Gd)),t}function Rs(e=" ",t=0){return Pe(qr,null,e,t)}function cp(e,t){const n=Pe(Sr,null,e);return n.staticCount=t,n}function ge(e="",t=!1){return t?(A(),Ze(ze,null,e)):Pe(ze,null,e)}function Et(e){return e==null||typeof e=="boolean"?Pe(ze):Z(e)?Pe(Ee,null,e.slice()):typeof e=="object"?Yn(e):Pe(qr,null,String(e))}function Yn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Qt(e)}function nl(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),nl(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!xd(t)?t._ctx=qe:r===3&&qe&&(qe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:qe},n=32):(t=String(t),s&64?(n=16,t=[Rs(t)]):n=8);e.children=t,e.shapeFlag|=n}function up(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=Pr([t.class,s.class]));else if(r==="style")t.style=si([t.style,s.style]);else if(Vr(r)){const o=t[r],i=s[r];i&&o!==i&&!(Z(o)&&o.includes(i))&&(t[r]=o?[].concat(o,i):i)}else r!==""&&(t[r]=s[r])}return t}function Ut(e,t,n,s=null){Ot(e,t,7,[n,s])}const dp=kd();let fp=0;function hp(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||dp,o={uid:fp++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,scope:new Du(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Cd(s,r),emitsOptions:Nd(s,r),emit:null,emitted:null,propsDefaults:De,inheritAttrs:s.inheritAttrs,ctx:De,data:De,props:De,attrs:De,slots:De,refs:De,setupState:De,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx=c0(o),o.root=t?t.root:o,o.emit=q0.bind(null,o),e.ce&&e.ce(o),o}let Je=null;const tn=()=>Je||qe;let Wo,ha;{const e=ni(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};Wo=t("__VUE_INSTANCE_SETTERS__",n=>Je=n),ha=t("__VUE_SSR_SETTERS__",n=>fi=n)}const Es=e=>{const t=Je;return Wo(e),e.scope.on(),()=>{e.scope.off(),Wo(t)}},pa=()=>{Je&&Je.scope.off(),Wo(null)},pp=xn("slot,component");function ma(e,{isNativeTag:t}){(pp(e)||t(e))&&M("Do not use built-in or reserved HTML elements as component id: "+e)}function Wd(e){return e.vnode.shapeFlag&4}let fi=!1;function mp(e,t=!1,n=!1){t&&ha(t);const{props:s,children:r}=e.vnode,o=Wd(e);b0(e,s,o,t),$0(e,r,n);const i=o?gp(e,t):void 0;return t&&ha(!1),i}function gp(e,t){var n;const s=e.type;{if(s.name&&ma(s.name,e.appContext.config),s.components){const o=Object.keys(s.components);for(let i=0;i<o.length;i++)ma(o[i],e.appContext.config)}if(s.directives){const o=Object.keys(s.directives);for(let i=0;i<o.length;i++)dd(o[i])}s.compilerOptions&&_p()&&M('"compilerOptions" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.')}e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,bd),u0(e);const{setup:r}=s;if(r){const o=e.setupContext=r.length>1?wp(e):null,i=Es(e);On();const a=vn(r,e,0,[zt(e.props),o]);if(Cn(),i(),ei(a)){if(a.then(pa,pa),t)return a.then(l=>{ga(e,l,t)}).catch(l=>{Xs(l,e,0)});if(e.asyncDep=a,!e.suspense){const l=(n=s.name)!=null?n:"Anonymous";M(`Component <${l}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`)}}else ga(e,a,t)}else zd(e,t)}function ga(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:we(t)?(qs(t)&&M("setup() should not return VNodes directly - return a render function instead."),e.devtoolsRawSetupState=t,e.setupState=Xu(t),d
Line truncated
|
||||
* @vue/runtime-dom v3.4.35
|
||||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||||
* @license MIT
|
||||
**/const Tp="http://www.w3.org/2000/svg",Ep="http://www.w3.org/1998/Math/MathML",un=typeof document!="undefined"?document:null,yc=un&&un.createElement("template"),xp={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?un.createElementNS(Tp,e):t==="mathml"?un.createElementNS(Ep,e):n?un.createElement(e,{is:n}):un.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>un.createTextNode(e),createComment:e=>un.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>un.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{yc.innerHTML=s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e;const a=yc.content;if(s==="svg"||s==="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]}},Rn="transition",ur="animation",Rr=Symbol("_vtc"),Kd=(e,{slots:t})=>Ir(Qh,Op(e),t);Kd.displayName="Transition";const Jd={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};Kd.props=Be({},fd,Jd);const as=(e,t=[])=>{Z(e)?e.forEach(n=>n(...t)):e&&e(...t)},wc=e=>e?Z(e)?e.some(t=>t.length>1):e.length>1:!1;function Op(e){const t={};for(const E in e)E in Jd||(t[E]=e[E]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:c=i,appearToClass:d=a,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,_=Cp(r),b=_&&_[0],B=_&&_[1],{onBeforeEnter:L,onEnter:I,onEnterCancelled:D,onLeave:W,onLeaveCancelled:O,onBeforeAppear:V=L,onAppear:w=I,onAppearCancelled:ce=D}=t,N=(E,se,xe)=>{ls(E,se?d:a),ls(E,se?c:i),xe&&xe()},k=(E,se)=>{E._isLeaving=!1,ls(E,u),ls(E,m),ls(E,f),se&&se()},T=E=>(se,xe)=>{const $e=E?w:I,Ce=()=>N(se,E,xe);as($e,[se,Ce]),bc(()=>{ls(se,E?l:o),Ln(se,E?d:a),wc($e)||Sc(se,s,b,Ce)})};return Be(t,{onBeforeEnter(E){as(L,[E]),Ln(E,o),Ln(E,i)},onBeforeAppear(E){as(V,[E]),Ln(E,l),Ln(E,c)},onEnter:T(!1),onAppear:T(!0),onLeave(E,se){E._isLeaving=!0;const xe=()=>k(E,se);Ln(E,u),Ln(E,f),Dp(),bc(()=>{!E._isLeaving||(ls(E,u),Ln(E,m),wc(W)||Sc(E,s,B,xe))}),as(W,[E,xe])},onEnterCancelled(E){N(E,!1),as(D,[E])},onAppearCancelled(E){N(E,!0),as(ce,[E])},onLeaveCancelled(E){k(E),as(O,[E])}})}function Cp(e){if(e==null)return null;if(we(e))return[Ni(e.enter),Ni(e.leave)];{const t=Ni(e);return[t,t]}}function Ni(e){const t=Ou(e);return nd(t,"<transition> explicit duration"),t}function Ln(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Rr]||(e[Rr]=new Set)).add(t)}function ls(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Rr];n&&(n.delete(t),n.size||(e[Rr]=void 0))}function bc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Pp=0;function Sc(e,t,n,s){const r=e._endId=++Pp,o=()=>{r===e._endId&&s()};if(n)return setTimeout(o,n);const{type:i,timeout:a,propCount:l}=Mp(e,t);if(!i)return s();const c=i+"end";let d=0;const u=()=>{e.removeEventListener(c,f),o()},f=m=>{m.target===e&&++d>=l&&u()};setTimeout(()=>{d<l&&u()},a+1),e.addEventListener(c,f)}function Mp(e,t){const n=window.getComputedStyle(e),s=_=>(n[_]||"").split(", "),r=s(`${Rn}Delay`),o=s(`${Rn}Duration`),i=kc(r,o),a=s(`${ur}Delay`),l=s(`${ur}Duration`),c=kc(a,l);let d=null,u=0,f=0;t===Rn?i>0&&(d=Rn,u=i,f=o.length):t===ur?c>0&&(d=ur,u=c,f=l.length):(u=Math.max(i,c),d=u>0?i>c?Rn:ur:null,f=d?d===Rn?o.length:l.length:0);const m=d===Rn&&/\b(transform|all)(,|$)/.test(s(`${Rn}Property`).toString());return{type:d,timeout:u,propCount:f,hasTransform:m}}function kc(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>Tc(n)+Tc(e[s])))}function Tc(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Dp(){return document.body.offsetHeight}function $p(e,t,n){const s=e[Rr];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ec=Symbol("_vod"),Ap=Symbol("_vsh"),Fp=Symbol("CSS_VAR_TEXT"),Ip=/(^|;)\s*display\s*:/;function Rp(e,t,n){const s=e.style,r=Re(n);let o=!1;if(n&&!r){if(t)if(Re(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&So(s,a,"")}else for(const i in t)n[i]==null&&So(s,i,"");for(const i in n)i==="display"&&(o=!0),So(s,i,n[i])}else if(r){if(t!==n){co
Line truncated
|
||||
Expected function or array of functions, received type ${typeof e}.`),nt)}function Wp(e,t){if(Z(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Ac=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,zp=(e,t,n,s,r,o)=>{const i=r==="svg";t==="class"?$p(e,s,i):t==="style"?Rp(e,n,s):Vr(t)?Do(t)||Yp(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):qp(e,t,s,i))?(jp(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Pc(e,t,s,i,o,t!=="value")):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Pc(e,t,s,i))};function qp(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ac(t)&&ne(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Ac(t)&&Re(n)?!1:t in e}const Xn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Z(t)?n=>Fs(t,n):t};function Kp(e){e.target.composing=!0}function Fc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ct=Symbol("_assign"),Tr={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[Ct]=Xn(r);const o=s||r.props&&r.props.type==="number";hn(e,t?"change":"input",i=>{if(i.target.composing)return;let a=e.value;n&&(a=a.trim()),o&&(a=Ao(a)),e[Ct](a)}),n&&hn(e,"change",()=>{e.value=e.value.trim()}),t||(hn(e,"compositionstart",Kp),hn(e,"compositionend",Fc),hn(e,"change",Fc))},mounted(e,{value:t}){e.value=t==null?"":t},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:o}},i){if(e[Ct]=Xn(i),e.composing)return;const a=(o||e.type==="number")&&!/^0\d/.test(e.value)?Ao(e.value):e.value,l=t==null?"":t;a!==l&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===l)||(e.value=l))}},Jp={deep:!0,created(e,t,n){e[Ct]=Xn(n),hn(e,"change",()=>{const s=e._modelValue,r=Ks(e),o=e.checked,i=e[Ct];if(Z(s)){const a=Ha(s,r),l=a!==-1;if(o&&!l)i(s.concat(r));else if(!o&&l){const c=[...s];c.splice(a,1),i(c)}}else if(Qs(s)){const a=new Set(s);o?a.add(r):a.delete(r),i(a)}else i(Zd(e,o))})},mounted:Ic,beforeUpdate(e,t,n){e[Ct]=Xn(n),Ic(e,t,n)}};function Ic(e,{value:t,oldValue:n},s){e._modelValue=t,Z(t)?e.checked=Ha(t,s.props.value)>-1:Qs(t)?e.checked=t.has(s.props.value):t!==n&&(e.checked=ks(t,Zd(e,!0)))}const ko={created(e,{value:t},n){e.checked=ks(t,n.props.value),e[Ct]=Xn(n),hn(e,"change",()=>{e[Ct](Ks(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[Ct]=Xn(s),t!==n&&(e.checked=ks(t,s.props.value))}},Zp={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const r=Qs(t);hn(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Ao(Ks(i)):Ks(i));e[Ct](e.multiple?r?new Set(o):o:o[0]),e._assigning=!0,$r(()=>{e._assigning=!1})}),e[Ct]=Xn(s)},mounted(e,{value:t,modifiers:{number:n}}){Rc(e,t)},beforeUpdate(e,t,n){e[Ct]=Xn(n)},updated(e,{value:t,modifiers:{number:n}}){e._assigning||Rc(e,t)}};function Rc(e,t,n){const s=e.multiple,r=Z(t);if(s&&!r&&!Qs(t)){wn(`<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(t).slice(8,-1)}.`);return}for(let o=0,i=e.options.length;o<i;o++){const a=e.options[o],l=Ks(a);if(s)if(r){const c=typeof l;c==="string"||c==="number"?a.selected=t.some(d=>String(d)===String(l)):a.selected=Ha(t,l)>-1}else a.selected=t.has(l);else if(ks(Ks(a),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}function Ks(e){return"_value"in e?e._value:e.value}function Zd(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const uy={created(e,t,n){co(e,t,n,null,"created")},mounted(e,t,n){co(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){co(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){co(e,t,n,s,"updated")}};function Qp(e,t){switch(e){case"SELECT":return Zp;case"TEXTAREA":return Tr;default:switch(t){case"checkbox":return Jp;case"radio":return ko;default:return Tr}}}function co(e,t,n,s,r){const i=Qp(e.tagName,n.props&&n.props.type)[r];i&&i(e,t,n,s)}const Xp=["ctrl","shift","alt","meta"],e2={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)=>Xp.some(n=>e[`${n}Key`]&&!t.includes(n))},tr=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...o)=>{for(let i=0;i<t.length;i++){const a=e2[t[i]];if(a&&a(r,t))return}return e(r,...o)})},t2=Be({patchProp:zp},xp);let Lc;function Qd(){return Lc||(Lc=j0(t2))}const dy=(...e)=>{Qd().render(...e)},rl=(...e)=>{const t=Qd().createApp(...e);s2(t),r2(t);const{mount:n}=t;return t.
Line truncated
|
||||
* vue v3.4.35
|
||||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||||
* @license MIT
|
||||
**/function i2(){kp()}i2();function a2(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l2(e,t){return t!=null&&typeof Symbol!="undefined"&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function c2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{},s=Object.keys(n);typeof Object.getOwnPropertySymbols=="function"&&(s=s.concat(Object.getOwnPropertySymbols(n).filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable}))),s.forEach(function(r){a2(e,r,n[r])})}return e}var u2=/[[\].]{1,2}/g,Xd=/%\{((?:.|\n)+?)\}/g,d2=/\{\{((?:.|\n)+?)\}\}/g,ol=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=arguments.length>3?arguments[3]:void 0,o=e.silent;!o&&d2.test(t)&&console.warn('Mustache syntax cannot be used with vue-gettext. Please use "%{}" instead of "{{}}" in: '.concat(t));var i=t.replace(Xd,function(a,l){var c=function(b,B){for(var L=B.split(u2).filter(function(I){return I});L.length;)b=b[L.shift()];return b},d=l.trim(),u,f={"&":"&","<":"<",">":">",'"':""","'":"'"};function m(_,b,B){try{u=c(_,b)}catch(I){}if(u==null){if(B)return m(B.ctx,b,B.parent);console.warn("Cannot evaluate expression: ".concat(b)),u=b}var L=u.toString();return s?L:L.replace(/[&<>"']/g,function(I){return f[I]})}return m(n,d,r)});return i}};ol.INTERPOLATION_RE=Xd;ol.INTERPOLATION_PREFIX="%{";var il=ol,Nc={getTranslationIndex:function(t,n){switch(n=Number(n),n=typeof n=="number"&&isNaN(n)?1:n,t.length>2&&t!=="pt_BR"&&(t=t.split("_")[0]),t){case"ay":case"bo":case"cgg":case"dz":case"fa":case"id":case"ja":case"jbo":case"ka":case"kk":case"km":case"ko":case"ky":case"lo":case"ms":case"my":case"sah":case"su":case"th":case"tt":case"ug":case"vi":case"wo":case"zh":return 0;case"is":return n%10!==1||n%100===11?1:0;case"jv":return n!==0?1:0;case"mk":return n===1||n%10===1?0:1;case"ach":case"ak":case"am":case"arn":case"br":case"fil":case"fr":case"gun":case"ln":case"mfe":case"mg":case"mi":case"oc":case"pt_BR":case"tg":case"ti":case"tr":case"uz":case"wa":return n>1?1:0;case"lv":return n%10===1&&n%100!==11?0:n!==0?1:2;case"lt":return n%10===1&&n%100!==11?0:n%10>=2&&(n%100<10||n%100>=20)?1:2;case"be":case"bs":case"hr":case"ru":case"sr":case"uk":return n%10===1&&n%100!==11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2;case"mnk":return n===0?0:n===1?1:2;case"ro":return n===1?0:n===0||n%100>0&&n%100<20?1:2;case"pl":return n===1?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2;case"cs":case"sk":return n===1?0:n>=2&&n<=4?1:2;case"csb":return n===1?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2;case"sl":return n%100===1?0:n%100===2?1:n%100===3||n%100===4?2:3;case"mt":return n===1?0:n===0||n%100>1&&n%100<11?1:n%100>10&&n%100<20?2:3;case"gd":return n===1||n===11?0:n===2||n===12?1:n>2&&n<20?2:3;case"cy":return n===1?0:n===2?1:n!==8&&n!==11?2:3;case"kw":return n===1?0:n===2?1:n===3?2:3;case"ga":return n===1?0:n===2?1:n>2&&n<7?2:n>6&&n<11?3:4;case"ar":return n===0?0:n===1?1:n===2?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5;default:return n!==1?1:0}}},f2=function(e){return{getTranslation:function(n){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,i=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0,l=arguments.length>6&&arguments[6]!==void 0?arguments[6]:!1;i===void 0&&(i=e.current);var c=function(D,W){return W?e.interpolate(D,W,l):D};if(n=n.trim(),!n)return"";var d=i?e.silent||e.muted.indexOf(i)!==-1:!1,u=i;e.sourceCodeLanguage&&(u=e.sourceCodeLanguage);var f=o&&Nc.getTranslationIndex(u,s)>0?o:n,m=e.translations,_=m[i]||m[i.split("_")[0]];if(!_)return d||console.warn("No translations found for ".concat(i)),c(f,a);var b=function(D){var W=Nc.getTranslationIndex(i,s);D.length===1&&s===1&&(W=0);var O=D[W];if(!O){if(O==="")return c(f,a);throw new Error(n+" "+W+" "+e.current+" "+s)}return c(O,a)},B=function(){if(!d){var D="Untranslated ".concat(i," key found: ").concat(n);r&&(D+=" (with context: ".concat(r,")")),console.warn(D)}return c(f,a)},L=function(D){var W=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(l2(D,Object)){if(Array.isArray(D))return b(D);var O=W!=null?W:"",V=D[O];return L(V)}return W||!D?B():c(D,a)},I=_[n];return L(I,r)},gettext:function(n,s){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return this.getTranslation(n,void 0,void 0,void 0,void 0,s,r)},pgettext:function(n,s,r){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;return this.getTranslation(s,1,n,void 0,void 0,r,o)},ngettext:function(n,s,r,o){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;return this.getTranslation(n,r,null,s,void 0,o,i)},npgettext:function(n,s,r,o,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1;rLine truncated
|
||||
//! version : 2.30.1
|
||||
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
||||
//! license : MIT
|
||||
//! momentjs.com
|
||||
var ef;function H(){return ef.apply(null,arguments)}function D2(e){ef=e}function Lt(e){return e instanceof Array||Object.prototype.toString.call(e)==="[object Array]"}function bs(e){return e!=null&&Object.prototype.toString.call(e)==="[object Object]"}function be(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function ll(e){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(e).length===0;var t;for(t in e)if(be(e,t))return!1;return!0}function ht(e){return e===void 0}function En(e){return typeof e=="number"||Object.prototype.toString.call(e)==="[object Number]"}function Kr(e){return e instanceof Date||Object.prototype.toString.call(e)==="[object Date]"}function tf(e,t){var n=[],s,r=e.length;for(s=0;s<r;++s)n.push(t(e[s],s));return n}function Wn(e,t){for(var n in t)be(t,n)&&(e[n]=t[n]);return be(t,"toString")&&(e.toString=t.toString),be(t,"valueOf")&&(e.valueOf=t.valueOf),e}function nn(e,t,n,s){return Ef(e,t,n,s,!0).utc()}function $2(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function ue(e){return e._pf==null&&(e._pf=$2()),e._pf}var ya;Array.prototype.some?ya=Array.prototype.some:ya=function(e){var t=Object(this),n=t.length>>>0,s;for(s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};function cl(e){var t=null,n=!1,s=e._d&&!isNaN(e._d.getTime());if(s&&(t=ue(e),n=ya.call(t.parsedDateParts,function(r){return r!=null}),s=t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n),e._strict&&(s=s&&t.charsLeftOver===0&&t.unusedTokens.length===0&&t.bigHour===void 0)),Object.isFrozen==null||!Object.isFrozen(e))e._isValid=s;else return s;return e._isValid}function mi(e){var t=nn(NaN);return e!=null?Wn(ue(t),e):ue(t).userInvalidated=!0,t}var Bc=H.momentProperties=[],Ui=!1;function ul(e,t){var n,s,r,o=Bc.length;if(ht(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),ht(t._i)||(e._i=t._i),ht(t._f)||(e._f=t._f),ht(t._l)||(e._l=t._l),ht(t._strict)||(e._strict=t._strict),ht(t._tzm)||(e._tzm=t._tzm),ht(t._isUTC)||(e._isUTC=t._isUTC),ht(t._offset)||(e._offset=t._offset),ht(t._pf)||(e._pf=ue(t)),ht(t._locale)||(e._locale=t._locale),o>0)for(n=0;n<o;n++)s=Bc[n],r=t[s],ht(r)||(e[s]=r);return e}function Jr(e){ul(this,e),this._d=new Date(e._d!=null?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),Ui===!1&&(Ui=!0,H.updateOffset(this),Ui=!1)}function Nt(e){return e instanceof Jr||e!=null&&e._isAMomentObject!=null}function nf(e){H.suppressDeprecationWarnings===!1&&typeof console!="undefined"&&console.warn&&console.warn("Deprecation warning: "+e)}function Pt(e,t){var n=!0;return Wn(function(){if(H.deprecationHandler!=null&&H.deprecationHandler(null,e),n){var s=[],r,o,i,a=arguments.length;for(o=0;o<a;o++){if(r="",typeof arguments[o]=="object"){r+=`
|
||||
[`+o+"] ";for(i in arguments[0])be(arguments[0],i)&&(r+=i+": "+arguments[0][i]+", ");r=r.slice(0,-2)}else r=arguments[o];s.push(r)}nf(e+`
|
||||
Arguments: `+Array.prototype.slice.call(s).join("")+`
|
||||
`+new Error().stack),n=!1}return t.apply(this,arguments)},t)}var Gc={};function sf(e,t){H.deprecationHandler!=null&&H.deprecationHandler(e,t),Gc[e]||(nf(t),Gc[e]=!0)}H.suppressDeprecationWarnings=!1;H.deprecationHandler=null;function sn(e){return typeof Function!="undefined"&&e instanceof Function||Object.prototype.toString.call(e)==="[object Function]"}function A2(e){var t,n;for(n in e)be(e,n)&&(t=e[n],sn(t)?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function wa(e,t){var n=Wn({},e),s;for(s in t)be(t,s)&&(bs(e[s])&&bs(t[s])?(n[s]={},Wn(n[s],e[s]),Wn(n[s],t[s])):t[s]!=null?n[s]=t[s]:delete n[s]);for(s in e)be(e,s)&&!be(t,s)&&bs(e[s])&&(n[s]=Wn({},n[s]));return n}function dl(e){e!=null&&this.set(e)}var ba;Object.keys?ba=Object.keys:ba=function(e){var t,n=[];for(t in e)be(e,t)&&n.push(t);return n};var F2={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function I2(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return sn(s)?s.call(t,n):s}function Xt(e,t,n){var s=""+Math.abs(e),r=t-s.length,o=e>=0;return(o?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+s}var fl=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,uo=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Vi={},Vs={};function te(e,t,n,s){var r=s;typeof s=="string"&&(r=function(){return this[s]()}),e&&(Vs[e]=r),t&&(Vs[t[0]]=function(){return Xt(r.apply(this,arguments),t[1],t[2])}),n&&(Vs[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)})}function R2(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function L2(e){var t=e.match(fl),n,s;for(n=0,s=t.length;n<s;n++)Vs[t[n]]?t[n]=Vs[t[n]]:t[n]=R2(t[n]);return function(r){var o="",i;for(i=0;i<s;i++)o+=sn(t[i])?t[i].call(r,e):t[i];return o}}function To(e,t){return e.isValid()?(t=rf(t,e.localeData()),Vi[t]=Vi[t]||L2(t),Vi[t](e)):e.localeData().invalidDate()}function rf(e,t){var n=5;function s(r){return t.longDateFormat(r)||r}for(uo.lastIndex=0;n>=0&&uo.test(e);)e=e.replace(uo,s),uo.lastIndex=0,n-=1;return e}var N2={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function j2(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(fl).map(function(s){return s==="MMMM"||s==="MM"||s==="DD"||s==="dddd"?s.slice(1):s}).join(""),this._longDateFormat[e])}var H2="Invalid date";function Y2(){return this._invalidDate}var U2="%d",V2=/\d{1,2}/;function B2(e){return this._ordinal.replace("%d",e)}var G2={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function W2(e,t,n,s){var r=this._relativeTime[n];return sn(r)?r(e,t,n,s):r.replace(/%d/i,e)}function z2(e,t){var n=this._relativeTime[e>0?"future":"past"];return sn(n)?n(t):n.replace(/%s/i,t)}var Wc={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function Mt(e){return typeof e=="string"?Wc[e]||Wc[e.toLowerCase()]:void 0}function hl(e){var t={},n,s;for(s in e)be(e,s)&&(n=Mt(s),n&&(t[n]=e[s]));return t}var q2={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function K2(e){var t=[],n;for(n in e)be(e,n)&&t.push({unit:n,priority:q2[n]});return t.sort(function(s,r){return s.priority-r.priority}),t}var of=/\d/,bt=/\d\d/,af=/\d{3}/,pl=/\d{4}/,gi=/[+-]?\d{6}/,Ne=/\d\d?/,lf=/\d\d\d\d?/,cf=/\d\d\d\d\d\d?/,_i=/\d{1,3}/,ml=/\d{1,4}/,vi=/[+-]?\d{1,6}/,nr=/\d+/,yi=/[+-]?\d+/,J2=/Z|[+-]\d\d:?\d\d/gi,wi=/Z|[+-]\d\d(?::?\d\d)?/gi,Z2=/[+-]?\d+(\.\d{1,3})?/,Zr=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,sr=/^[1-9]\d?/,gl=/^([1-9]\d|\d)/,zo
Line truncated
|
||||
H.version="2.30.1";D2(Le);H.fn=$;H.min=y6;H.max=w6;H.now=b6;H.utc=nn;H.unix=K4;H.months=Z4;H.isDate=Kr;H.locale=Zn;H.invalid=mi;H.duration=jt;H.isMoment=Nt;H.weekdays=X4;H.parseZone=J4;H.localeData=Mn;H.isDuration=Eo;H.monthsShort=Q4;H.weekdaysMin=tm;H.defineLocale=bl;H.updateLocale=J3;H.locales=Z3;H.weekdaysShort=em;H.normalizeUnits=Mt;H.relativeTimeRounding=Cm;H.relativeTimeThreshold=Pm;H.calendarFormat=W6;H.prototype=$;H.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};H.locale("zh-cn",{});const Dm=e=>{if(e)return H(e).utc().format("YYYY-MM-DD HH:mm:ss")},$m=e=>{if(e)return H(e).utc().format("YYYY\u5E74MM\u6708DD\u65E5")},Am=e=>{if(e)return H(e).utc().format("HH:mm:ss")},Fm=()=>new Date().getTime(),Im=e=>{if(e<1e3)return`${e} B`;let n=1e3,s=0;for(let i=e/1e3;i>=1e3;i/=1e3)n*=1e3,s++;let r=[" KB"," MB"," GB"," TB"," PB"," EB"];return(e/100/(n/100)).toFixed(1)+r[s]},Rm=e=>{if(e<1024)return""+e+"KB";let n=1024,s=0;for(let o=e/1024;o>=1024;o/=1024)n*=1024,s++;let r=["M","G","T","P","E"];return(e/100/(n/100)).toFixed(2)+r[s]},Lm=e=>{if(e==null)return 0;if(e<1e4)return e;let n=parseInt(`${e/1e4}`),s=e%1e4;return`${n}\u4E07${s}`},Nm=e=>{if(e)try{var t=new Date(e),n=t.getHours(),s=t.getMinutes(),r=t.getSeconds();return n<10&&(n=`0${n}`),s<10&&(s=`0${s}`),r<10&&(r=`0${r}`),`${n}:${s}:${r}`}catch(o){}return""},jm=e=>{if(e)try{var t=new Date(Number(e)*1e3),n=t.getFullYear(),s=t.getMonth()+1,r=t.getDate();return n+"\u5E74"+s+"\u6708"+r+"\u65E5 "}catch(o){}return""},Hm=e=>{if(e){let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),s=Math.floor(e%86400%3600/60),r=Math.floor(e%86400%3600%60);return t+"\u5929"+n+"\u5C0F\u65F6"+(s>=10?s:"0"+s)+"\u5206"+(r>=10?r:"0"+r)+"\u79D2"}},Ym=e=>/^\d+\.\d+\.\d+\.\d+$/.test(e),Um=e=>e.length<3?"\u7528\u6237\u540D\u592A\u77ED":e.toLowerCase()!=e?"\u7528\u6237\u540D\u53EA\u80FD\u4E3A\u5C0F\u5199":new RegExp("^\\d").exec(e)?"\u7528\u6237\u540D\u4E0D\u80FD\u4EE5\u6570\u5B57\u5F00\u5934":new RegExp("^_").exec(e)?"\u7528\u6237\u540D\u4E0D\u80FD\u4EE5_\u5F00\u5934":new RegExp("^[a-z0-9_]+$").exec(e)?!0:"\u975E\u6CD5\u7684\u7528\u6237\u540D",Vm=()=>window.token||"",Bm=new Intl.NumberFormat("zh-CN",{notation:"compact"}),Gm=e=>Bm.format(e),Wm=()=>{var e;return((e=window==null?void 0:window.device_id)==null?void 0:e.uid)||""},zm=()=>(window==null?void 0:window.model)||"wizard",qm=()=>(window==null?void 0:window.istoreRouterVer)||"";var Km=Object.freeze(Object.defineProperty({__proto__:null,formatDate:Dm,formatDateYMD:$m,formatDateHMS:Am,UnixDate:Fm,byteToSize:Im,numberToSize:Rm,numberToSum:Lm,dateForm:Nm,dateYearDayForm:jm,stampForm:Hm,checkIsIP:Ym,checkSmabaUserName:Um,getToken:Vm,numberFormat:Gm,getDeviceId:Wm,getModel:zm,getVersion:qm},Symbol.toStringTag,{value:"Module"}));const Jm=()=>!!(navigator.userAgent||"").match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i);var Zm=Object.freeze(Object.defineProperty({__proto__:null,isMobile:Jm},Symbol.toStringTag,{value:"Module"})),Oe=$t($t({},Zm),Km);const st=(e,t)=>(e=`/cgi-bin/luci${e}`,vt(e,t)),Qm=(n,...s)=>K(void 0,[n,...s],function*(e,t={}){const r=yield fetch(`/cgi-bin/luci${e}`,t);if(r.status===204||r.status===205)return"";if(!r.ok)throw r;return r.text()}),Xm={installed:{GET(){return st("/admin/store/installed",{method:"GET"})}},installedList:{GET(){return st("/istore/app/install-list/",{method:"GET"})}},blockDevices:{GET(){return st("/admin/store/get_block_devices",{method:"GET"})}},configured:{GET(e){return st("/admin/store/configured?"+new URLSearchParams({uci:e,_t:`${Oe.UnixDate()}`}),{method:"GET"})}},install:{POST(e,t={}){const n=new URLSearchParams({package:e,token:Oe.getToken(),_t:`${Oe.UnixDate()}`});return t.autoconf&&n.set("autoconf","1"),t.path&&n.set("path",t.path),typeof t.enable=="boolean"&&n.set("enable",t.enable?"1":"0"),st("/admin/store/install?"+n,{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"}})}},remove:{POST(e){return st("/admin/store/remove?"+new URLSearchParams({package:e,token:Oe.getToken(),_t:`${Oe.UnixDate()}`}),{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"}})}},upgrade:{POST(e){return st("/admin/store/upgrade?"+new URLSearchParams({package:e,token:Oe.getToken(),_t:`${Oe.UnixDate()}`}),{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"}})}},update:{POST(){return st("/admin/store/update?"+new URLSearchParams({token:Oe.getToken(),_t:`${Oe.UnixDate()}`}),{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8"}})}},upload:{POST(e){return st("/admin/store/upload?"+new URLSearchParams({token:Oe.getToken(),_t:`${Oe.UnixDate()}`}),{method:"POST",body:e})}},backupFeatures:{GET(){return st("/admin/store/get_support_backup_features",{method:"GETLine truncated
|
||||
* pinia v2.2.0
|
||||
* (c) 2024 Eduardo San Martin Morote
|
||||
* @license MIT
|
||||
*/let Ca;const Yr=e=>Ca=e,qf=Symbol("pinia");function xs(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Kt;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Kt||(Kt={}));const Ws=typeof window!="undefined",Jc=(()=>typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:typeof globalThis=="object"?globalThis:{HTMLElement:null})();function _7(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([String.fromCharCode(65279),e],{type:e.type}):e}function Dl(e,t,n){const s=new XMLHttpRequest;s.open("GET",e),s.responseType="blob",s.onload=function(){Zf(s.response,t,n)},s.onerror=function(){console.error("could not download file")},s.send()}function Kf(e){const t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(n){}return t.status>=200&&t.status<=299}function Oo(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(t){const n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(n)}}const Co=typeof navigator=="object"?navigator:{userAgent:""},Jf=(()=>/Macintosh/.test(Co.userAgent)&&/AppleWebKit/.test(Co.userAgent)&&!/Safari/.test(Co.userAgent))(),Zf=Ws?typeof HTMLAnchorElement!="undefined"&&"download"in HTMLAnchorElement.prototype&&!Jf?v7:"msSaveOrOpenBlob"in Co?y7:w7:()=>{};function v7(e,t="download",n){const s=document.createElement("a");s.download=t,s.rel="noopener",typeof e=="string"?(s.href=e,s.origin!==location.origin?Kf(s.href)?Dl(e,t,n):(s.target="_blank",Oo(s)):Oo(s)):(s.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(s.href)},4e4),setTimeout(function(){Oo(s)},0))}function y7(e,t="download",n){if(typeof e=="string")if(Kf(e))Dl(e,t,n);else{const s=document.createElement("a");s.href=e,s.target="_blank",setTimeout(function(){Oo(s)})}else navigator.msSaveOrOpenBlob(_7(e,n),t)}function w7(e,t,n,s){if(s=s||open("","_blank"),s&&(s.document.title=s.document.body.innerText="downloading..."),typeof e=="string")return Dl(e,t,n);const r=e.type==="application/octet-stream",o=/constructor/i.test(String(Jc.HTMLElement))||"safari"in Jc,i=/CriOS\/[\d]+/.test(navigator.userAgent);if((i||r&&o||Jf)&&typeof FileReader!="undefined"){const a=new FileReader;a.onloadend=function(){let l=a.result;if(typeof l!="string")throw s=null,new Error("Wrong reader.result type");l=i?l:l.replace(/^data:[^;]*;/,"data:attachment/file;"),s?s.location.href=l:location.assign(l),s=null},a.readAsDataURL(e)}else{const a=URL.createObjectURL(e);s?s.location.assign(a):location.href=a,s=null,setTimeout(function(){URL.revokeObjectURL(a)},4e4)}}function tt(e,t){const n="\u{1F34D} "+e;typeof __VUE_DEVTOOLS_TOAST__=="function"?__VUE_DEVTOOLS_TOAST__(n,t):t==="error"?console.error(n):t==="warn"?console.warn(n):console.log(n)}function $l(e){return"_a"in e&&"install"in e}function Qf(){if(!("clipboard"in navigator))return tt("Your browser doesn't support the Clipboard API","error"),!0}function Xf(e){return e instanceof Error&&e.message.toLowerCase().includes("document is not focused")?(tt('You need to activate the "Emulate a focused page" setting in the "Rendering" panel of devtools.',"warn"),!0):!1}function b7(e){return K(this,null,function*(){if(!Qf())try{yield navigator.clipboard.writeText(JSON.stringify(e.state.value)),tt("Global state copied to clipboard.")}catch(t){if(Xf(t))return;tt("Failed to serialize the state. Check the console for more details.","error"),console.error(t)}})}function S7(e){return K(this,null,function*(){if(!Qf())try{e1(e,JSON.parse(yield navigator.clipboard.readText())),tt("Global state pasted from clipboard.")}catch(t){if(Xf(t))return;tt("Failed to deserialize the state from clipboard. Check the console for more details.","error"),console.error(t)}})}function k7(e){return K(this,null,function*(){try{Zf(new Blob([JSON.stringify(e.state.value)],{type:"text/plain;charset=utf-8"}),"pinia-state.json")}catch(t){tt("Failed to export the state as JSON. Check the console for more details.","error"),console.error(t)}})}let on;function T7(){on||(on=document.createElement("input"),on.type="file",on.accept=".json");function e(){return new Promise((t,n)=>{on.onchange=()=>K(this,null,function*(){const s=on.files;if(!s)return t(null);const r=s.item(0);return t(r?{text:yield r.text(),file:r}:null)}),on.oncancel=()=>t(null),on.onerror=n,on.click()})}return e}function E7(e){return K(this,null,function*(){try{const n=yield T7()();if(!n)return;const{text:s,file:r}=n;e1(e,JSON.parse(s)),tt(`Global state imported from "${r.name}".`)}catch(t){tt("Failed to import the state from JSON. Check the console for more details.","error"),console.error(t)}})}function e1(e,t){for(const n in t){const s=e.state.value[n];s?Object.assign(s,t[n]):e.state.value[n]=t[n]}}function Ft(e){retLine truncated
|
||||
${i}
|
||||
Only state can be modified.`);i[0]="$state",Ns=!1,s.set(o,i,s.state.value),Ns=!0}})})}function $7(e,t){Mo.includes(Qo(t.$id))||Mo.push(Qo(t.$id)),Ml({id:"dev.esm.pinia",label:"Pinia \u{1F34D}",logo:"https://pinia.vuejs.org/logo.svg",packageName:"pinia",homepage:"https://pinia.vuejs.org",componentStateTypes:Mo,app:e,settings:{logStoreChanges:{label:"Notify about new/deleted stores",type:"boolean",defaultValue:!0}}},n=>{const s=typeof n.now=="function"?n.now.bind(n):Date.now;t.$onAction(({after:i,onError:a,name:l,args:c})=>{const d=n1++;n.addTimelineEvent({layerId:ds,event:{time:s(),title:"\u{1F6EB} "+l,subtitle:"start",data:{store:Ft(t.$id),action:Ft(l),args:c},groupId:d}}),i(u=>{qn=void 0,n.addTimelineEvent({layerId:ds,event:{time:s(),title:"\u{1F6EC} "+l,subtitle:"end",data:{store:Ft(t.$id),action:Ft(l),args:c,result:u},groupId:d}})}),a(u=>{qn=void 0,n.addTimelineEvent({layerId:ds,event:{time:s(),logType:"error",title:"\u{1F4A5} "+l,subtitle:"end",data:{store:Ft(t.$id),action:Ft(l),args:c,error:u},groupId:d}})})},!0),t._customProperties.forEach(i=>{yn(()=>pt(t[i]),(a,l)=>{n.notifyComponentUpdate(),n.sendInspectorState(rt),Ns&&n.addTimelineEvent({layerId:ds,event:{time:s(),title:"Change",subtitle:i,data:{newValue:a,oldValue:l},groupId:qn}})},{deep:!0})}),t.$subscribe(({events:i,type:a},l)=>{if(n.notifyComponentUpdate(),n.sendInspectorState(rt),!Ns)return;const c={time:s(),title:P7(a),data:M7({store:Ft(t.$id)},C7(i)),groupId:qn};a===Kt.patchFunction?c.subtitle="\u2935\uFE0F":a===Kt.patchObject?c.subtitle="\u{1F9E9}":i&&!Array.isArray(i)&&(c.subtitle=i.type),i&&(c.data["rawEvent(s)"]={_custom:{display:"DebuggerEvent",type:"object",tooltip:"raw DebuggerEvent[]",value:i}}),n.addTimelineEvent({layerId:ds,event:c})},{detached:!0,flush:"sync"});const r=t._hotUpdate;t._hotUpdate=Gn(i=>{r(i),n.addTimelineEvent({layerId:ds,event:{time:s(),title:"\u{1F525} "+t.$id,subtitle:"HMR update",data:{store:Ft(t.$id),info:Ft("HMR update")}}}),n.notifyComponentUpdate(),n.sendInspectorTree(rt),n.sendInspectorState(rt)});const{$dispose:o}=t;t.$dispose=()=>{o(),n.notifyComponentUpdate(),n.sendInspectorTree(rt),n.sendInspectorState(rt),n.getSettings().logStoreChanges&&tt(`Disposed "${t.$id}" store \u{1F5D1}`)},n.notifyComponentUpdate(),n.sendInspectorTree(rt),n.sendInspectorState(rt),n.getSettings().logStoreChanges&&tt(`"${t.$id}" store installed \u{1F195}`)})}let n1=0,qn;function Zc(e,t,n){const s=t.reduce((r,o)=>(r[o]=re(e)[o],r),{});for(const r in s)e[r]=function(){const o=n1,i=n?new Proxy(e,{get(...l){return qn=o,Reflect.get(...l)},set(...l){return qn=o,Reflect.set(...l)}}):e;qn=o;const a=s[r].apply(i,arguments);return qn=void 0,a}}function A7({app:e,store:t,options:n}){if(!t.$id.startsWith("__hot:")){if(t._isOptionsAPI=!!n.state,!t._p._testing){Zc(t,Object.keys(n.actions),t._isOptionsAPI);const s=t._hotUpdate;re(t)._hotUpdate=function(r){s.apply(this,arguments),Zc(t,Object.keys(r._hmrPayload.actions),!!t._isOptionsAPI)}}$7(e,t)}}function s1(){const e=$u(!0),t=e.run(()=>Ke({}));let n=[],s=[];const r=Gn({install(o){Yr(r),r._a=o,o.provide(qf,r),o.config.globalProperties.$pinia=r,Ws&&D7(o,r),s.forEach(i=>n.push(i)),s=[]},use(o){return!this._a&&!c7?s.push(o):n.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return typeof Proxy!="undefined"&&r.use(A7),r}function r1(e,t){for(const n in t){const s=t[n];if(!(n in e))continue;const r=e[n];xs(r)&&xs(s)&&!Ye(s)&&!gn(s)?e[n]=r1(r,s):e[n]=s}return e}const F7=()=>{};function Qc(e,t,n,s=F7){e.push(t);const r=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),s())};return!n&&Au()&&th(r),r}function As(e,...t){e.slice().forEach(n=>{n(...t)})}const I7=e=>e(),Xc=Symbol(),zi=Symbol();function Pa(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,s)=>e.set(s,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],r=e[n];xs(r)&&xs(s)&&e.hasOwnProperty(n)&&!Ye(s)&&!gn(s)?e[n]=Pa(r,s):e[n]=s}return e}const R7=Symbol("pinia:skipHydration");function L7(e){return!xs(e)||!e.hasOwnProperty(R7)}const{assign:Tt}=Object;function eu(e){return!!(Ye(e)&&e.effect)}function tu(e,t,n,s){const{state:r,actions:o,getters:i}=t,a=n.state.value[e];let l;function c(){!a&&!s&&(n.state.value[e]=r?r():{});const d=Ql(s?Ke(r?r():{}).value:n.state.value[e]);return Tt(d,o,Object.keys(i||{}).reduce((u,f)=>(f in d&&console.warn(`[\u{1F34D}]: A getter cannot have the same name as another state property. Rename one of them. Found with "${f}" in store "${e}".`),u[f]=Gn(Ue(()=>{Yr(n);const m=n._s.get(e);return i[f].call(m,m)})),u),{}))}return l=Ma(e,c,t,n,s,!0),l}function Ma(e,t,n={},s,r,o){let i;const a=Tt({actions:{}},n);if(!s._e.active)throw new Error("Pinia destroyed");const l={deep:!0};l.onTrigger=k=>{c?m=k:c==!1&&!w._hotUpdating&&(Array.isArray(m)?m.push(k):console.error("\u{1F34D} debuggerEvents should be an array. This is most likely an internal Pinia bug."))};let c,d,u=[],f=[],m;const _=s.state.value[e];!o&&!_&&!r&&(s.state.value[e]={});const b=Ke({});let B;
Line truncated
|
||||
state: () => new MyClass()
|
||||
Found in store "${w.$id}".`),_&&o&&n.hydrate&&n.hydrate(w.$state,_),c=!0,d=!0,w}function or(e,t,n){let s,r;const o=typeof t=="function";if(typeof e=="string")s=e,r=o?n:t;else if(r=e,s=e.id,typeof s!="string")throw new Error('[\u{1F34D}]: "defineStore()" must be passed a store id as its first argument.');function i(a,l){const c=w0();if(a=a||(c?yt(qf,null):null),a&&Yr(a),!Ca)throw new Error(`[\u{1F34D}]: "getActivePinia()" was called but there was no active Pinia. Are you trying to use a store before calling "app.use(pinia)"?
|
||||
See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.
|
||||
This will fail in production.`);a=Ca,a._s.has(s)||(o?Ma(s,t,r,a):tu(s,r,a),i._pinia=a);const d=a._s.get(s);if(l){const u="__hot:"+s,f=o?Ma(u,t,r,a,!0):tu(u,Tt({},r),a,!0);l._hotUpdate(f),delete a.state.value[u],a._s.delete(u)}if(Ws){const u=tn();if(u&&u.proxy&&!l){const f=u.proxy,m="_pStores"in f?f._pStores:f._pStores={};m[s]=d}}return d}return i.$id=s,i}const N7=s1,o1=or("popups",{state:()=>({index:0,values:new Map}),actions:{addValue(e){const t=this.values.get(e);return t?(this.index=t.config.globalProperties.key,!0):!1},setValue(e,t){this.values.set(e,t)},delValue(e){}}});const i1=e=>(ts("data-v-7d6f75a4"),e=e(),ns(),e),j7={key:0,class:"bg"},H7={class:"title"},Y7=i1(()=>g("div",{class:"auto"},null,-1)),U7={class:"btns"},V7=i1(()=>g("svg",{class:"icon",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"128",height:"128"},[g("path",{d:"M557.312 513.248l265.28-263.904c12.544-12.48 12.608-32.704 0.128-45.248-12.512-12.576-32.704-12.608-45.248-0.128l-265.344 263.936-263.04-263.84C236.64 191.584 216.384 191.52 203.84 204 191.328 216.48 191.296 236.736 203.776 249.28l262.976 263.776L201.6 776.8c-12.544 12.48-12.608 32.704-0.128 45.248 6.24 6.272 14.464 9.44 22.688 9.44 8.16 0 16.32-3.104 22.56-9.312l265.216-263.808 265.44 266.24c6.24 6.272 14.432 9.408 22.656 9.408 8.192 0 16.352-3.136 22.592-9.344 12.512-12.48 12.544-32.704 0.064-45.248L557.312 513.248z"})],-1)),B7=[V7],G7=Ve({__name:"app",props:{title:{type:String},transparent:{type:Boolean,default:!0},bg:{type:Boolean,default:!1},full:{type:Boolean,default:!1}},setup(e){const t=e,n=Ke(null),s=()=>{c&&c.appContext.config.globalProperties.$close()},r=en({left:"",top:""}),o=m=>{const _=n.value;if(_==null||i.value)return;let b=m.clientX-_.offsetLeft,B=m.clientY-_.offsetTop,L=document.body.clientWidth-_.offsetWidth,I=document.body.clientHeight-_.offsetHeight;document.onmousemove=D=>{let W=D.clientX-b,O=D.clientY-B;O<0&&(O=0),W<0&&(W=0),W>L&&(W=L),O>I&&(O=I),r.left=W+"px",r.top=O+"px"},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null}},i=Ke(t.full),a=()=>{i.value=!i.value},l=o1(),c=tn(),d=Ue(()=>(c==null?void 0:c.appContext.config.globalProperties.key)||0),u=Ue(()=>l.index==d.value),f=()=>{l.index=d.value};return(m,_)=>(A(),z(Ee,null,[e.bg?(A(),z("div",j7)):ge("v-if",!0),g("div",{class:Pr(["themedog-popups",{full:i.value,index:u.value}]),style:si(i.value?{}:r),ref_key:"popus",ref:n},[g("div",{class:"themedog-popups_header",onMousedown:o,onClick:f,onDblclick:a},[g("span",H7,We(e.title),1),Y7,g("div",U7,[g("button",{class:"btn-close",onClick:_[0]||(_[0]=b=>s())},[...B7])])],32),g("div",{class:Pr(["themedog-popups_body",{transparent:e.transparent}])},[hs(m.$slots,"default",{},void 0,!0)],2)],6)],64))}});var W7=ve(G7,[["__scopeId","data-v-7d6f75a4"]]);const z7={key:0,class:"popups-container setup0"},q7={class:"popups-container_f"},K7={class:"popups-container_r"},J7={class:"popups-container setup1"},Z7={class:"popups-container setup2"},Q7=Ve({__name:"app-container",props:{title:String,bg:Boolean,transparent:Boolean,full:Boolean,type:{type:Number,default:0}},setup(e){return(t,n)=>{const s=dt("popups");return A(),Ze(s,{title:e.title,bg:e.bg,transparent:e.transparent,full:e.full},{default:it(()=>[ge(" \u4FA7\u8FB9\u83DC\u5355 "),e.type==0?(A(),z("div",z7,[g("div",q7,[hs(t.$slots,"left",{},void 0,!0)]),g("div",K7,[hs(t.$slots,"right",{},void 0,!0)])])):e.type==1?(A(),z(Ee,{key:1},[ge(" \u5360\u6EE1\u5F39\u7A97 "),g("div",J7,[hs(t.$slots,"default",{},void 0,!0)])],2112)):e.type==2?(A(),z(Ee,{key:2},[ge(" \u65E0padding "),g("div",Z7,[hs(t.$slots,"default",{},void 0,!0)])],2112)):ge("v-if",!0)]),_:3},8,["title","bg","transparent","full"])}}});var X7=ve(Q7,[["__scopeId","data-v-0761ab98"]]);const e8={id:"action"},t8={key:0,class:"bg"},n8=Ve({__name:"app-action",props:{bg:{type:Boolean,default:!0}},setup(e){return(t,n)=>(A(),z("div",e8,[e.bg?(A(),z("div",t8)):ge("v-if",!0),hs(t.$slots,"default",{},void 0,!0)]))}});var nu=ve(n8,[["__scopeId","data-v-4de7892f"]]),s8={install(e){e.component("popups",W7),e.component("popups-container",X7),e.component("app-action",nu),e.component("action-component",nu)}};const r8=["src"],o8=Ve({__name:"index",props:{src:{type:String,required:!0}},setup(e){const t=Ke(),n=s=>{if(t.value){const r=t.value;if(r.contentWindow){let o=document.createElement("style");o.setAttribute("rel","stylesheet"),o.innerHTML=".main-left{display: none;}.main-right{width: 100%!important;transition:none;}",r.contentWindow.document.head.appendChild(o)}}};return(s,r)=>(A(),z("iframe",{class:"themedog-iframe_container",allowfullscreen:"true",mozallowfullscreen:"mozallowfullscreen",msallowfullscreen:"msallowfullscreen",oallowfullscreen:"oallowfullscreen",webkitallowfullscreen:"webkitallowfullscreen",src:e.src,onLoad:n,ref_key:"el",ref:t},null,40,r8))}});var i8=ve(o8,[["__scopeId","data-v-7ecd0a37"]]);const a8=Ve({__name:"index",props:{title:{type:String,default:""},src:{type:String,required:!0},full:{type:Boolean,default:!
Line truncated
|
||||
* vue-router v4.4.2
|
||||
* (c) 2024 Eduardo San Martin Morote
|
||||
* @license MIT
|
||||
*/const fn=typeof document!="undefined";function O5(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const Te=Object.assign;function Ki(e,t){const n={};for(const s in t){const r=t[s];n[s]=wt(r)?r.map(e):e(r)}return n}const Or=()=>{},wt=Array.isArray;function fe(e){const t=Array.from(arguments).slice(1);console.warn.apply(console,["[Vue Router warn]: "+e].concat(t))}const c1=/#/g,C5=/&/g,P5=/\//g,M5=/=/g,D5=/\?/g,u1=/\+/g,$5=/%5B/g,A5=/%5D/g,d1=/%5E/g,F5=/%60/g,f1=/%7B/g,I5=/%7C/g,h1=/%7D/g,R5=/%20/g;function Il(e){return encodeURI(""+e).replace(I5,"|").replace($5,"[").replace(A5,"]")}function L5(e){return Il(e).replace(f1,"{").replace(h1,"}").replace(d1,"^")}function Da(e){return Il(e).replace(u1,"%2B").replace(R5,"+").replace(c1,"%23").replace(C5,"%26").replace(F5,"`").replace(f1,"{").replace(h1,"}").replace(d1,"^")}function N5(e){return Da(e).replace(M5,"%3D")}function j5(e){return Il(e).replace(c1,"%23").replace(D5,"%3F")}function H5(e){return e==null?"":j5(e).replace(P5,"%2F")}function Js(e){try{return decodeURIComponent(""+e)}catch(t){fe(`Error decoding "${e}". Using original value`)}return""+e}const Y5=/\/$/,U5=e=>e.replace(Y5,"");function Ji(e,t,n="/"){let s,r={},o="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return a<l&&a>=0&&(l=-1),l>-1&&(s=t.slice(0,l),o=t.slice(l+1,a>-1?a:t.length),r=e(o)),a>-1&&(s=s||t.slice(0,a),i=t.slice(a,t.length)),s=G5(s!=null?s:t,n),{fullPath:s+(o&&"?")+o+i,path:s,query:r,hash:Js(i)}}function V5(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function au(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function lu(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&es(t.matched[s],n.matched[r])&&p1(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function es(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function p1(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!B5(e[n],t[n]))return!1;return!0}function B5(e,t){return wt(e)?cu(e,t):wt(t)?cu(t,e):e===t}function cu(e,t){return wt(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function G5(e,t){if(e.startsWith("/"))return e;if(!t.startsWith("/"))return fe(`Cannot resolve a relative location without an absolute path. Trying to resolve "${e}" from "${t}". It should look like "/${t}".`),e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let o=n.length-1,i,a;for(i=0;i<s.length;i++)if(a=s[i],a!==".")if(a==="..")o>1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(i).join("/")}const Nn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Ur;(function(e){e.pop="pop",e.push="push"})(Ur||(Ur={}));var Cr;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Cr||(Cr={}));function W5(e){if(!e)if(fn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),U5(e)}const z5=/^[^#]+#/;function q5(e,t){return e.replace(z5,"#")+t}function K5(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const Oi=()=>({left:window.scrollX,top:window.scrollY});function J5(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#");if(typeof e.el=="string"&&(!s||!document.getElementById(e.el.slice(1))))try{const o=document.querySelector(e.el);if(s&&o){fe(`The selector "${e.el}" should be passed as "el: document.querySelector('${e.el}')" because it starts with "#".`);return}}catch(o){fe(`The selector "${e.el}" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);return}const r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r){fe(`Couldn't find element using selector "${e.el}" returned by scrollBehavior.`);return}t=K5(r,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 uu(e,t){return(history.state?history.state.position-t:-1)+e}const $a=new Map;function Z5(e,t){$a.set(e,t)}function Q5(e){const t=$a.get(e);return $a.delete(e),t}let X5=()=>location.protocol+"//"+location.host;function m1(e,t){const{pathname:n,search:s,hash:r}=t,o=e.indexOf("#");if(o>-1){let a=r.includes(e.slice(o))?e.slice(o).length:1,l=r.slice(a);return l[0]!=="/"&&(l="/"+l),au(l,"")}return au(n,e)+s+r}function eg(e,t,n,s){let r=[],o=[],i=null;const a=({state:f})=>{const m=m1(e,location),_=n.value,b=t.value;let B=0;if(f){if(n.value=m,t.value=f,i&&i===_){i=null;return}B=b?f.position-b.position:0}elseLine truncated
|
||||
|
||||
history.replaceState(history.state, '', url)
|
||||
|
||||
You can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state`),o(d.current,d,!0);const u=Te({},du(s.value,l,null),{position:d.position+1},c);o(l,u,!1),s.value=l}return{location:s,state:r,push:a,replace:i}}function g1(e){e=W5(e);const t=tg(e),n=eg(e,t.state,t.location,t.replace);function s(o,i=!0){i||n.pauseListeners(),history.go(o)}const r=Te({location:"",base:e,go:s,createHref:q5.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function ng(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),!e.endsWith("#/")&&!e.endsWith("#")&&fe(`A hash base must end with a "#":
|
||||
"${e}" should be "${e.replace(/#.*$/,"#")}".`),g1(e)}function Xo(e){return typeof e=="string"||e&&typeof e=="object"}function _1(e){return typeof e=="string"||typeof e=="symbol"}const v1=Symbol("navigation failure");var fu;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(fu||(fu={}));const sg={[1]({location:e,currentLocation:t}){return`No match for
|
||||
${JSON.stringify(e)}${t?`
|
||||
while being at
|
||||
`+JSON.stringify(t):""}`},[2]({from:e,to:t}){return`Redirected from "${e.fullPath}" to "${og(t)}" via a navigation guard.`},[4]({from:e,to:t}){return`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`},[8]({from:e,to:t}){return`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`},[16]({from:e,to:t}){return`Avoided redundant navigation to current location: "${e.fullPath}".`}};function Zs(e,t){return Te(new Error(sg[e](t)),{type:e,[v1]:!0},t)}function an(e,t){return e instanceof Error&&v1 in e&&(t==null||!!(e.type&t))}const rg=["params","query","hash"];function og(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of rg)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}const hu="[^/]+?",ig={sensitive:!1,strict:!1,start:!0,end:!0},ag=/[.+*?^${}()[\]/\\]/g;function lg(e,t){const n=Te({},ig,t),s=[];let r=n.start?"^":"";const o=[];for(const c of e){const d=c.length?[]:[90];n.strict&&!c.length&&(r+="/");for(let u=0;u<c.length;u++){const f=c[u];let m=40+(n.sensitive?.25:0);if(f.type===0)u||(r+="/"),r+=f.value.replace(ag,"\\$&"),m+=40;else if(f.type===1){const{value:_,repeatable:b,optional:B,regexp:L}=f;o.push({name:_,repeatable:b,optional:B});const I=L||hu;if(I!==hu){m+=10;try{new RegExp(`(${I})`)}catch(W){throw new Error(`Invalid custom RegExp for param "${_}" (${I}): `+W.message)}}let D=b?`((?:${I})(?:/(?:${I}))*)`:`(${I})`;u||(D=B&&c.length<2?`(?:/${D})`:"/"+D),B&&(D+="?"),r+=D,m+=20,B&&(m+=-8),b&&(m+=-20),I===".*"&&(m+=-50)}d.push(m)}s.push(d)}if(n.strict&&n.end){const c=s.length-1;s[c][s[c].length-1]+=.7000000000000001}n.strict||(r+="/?"),n.end?r+="$":n.strict&&(r+="(?:/|$)");const i=new RegExp(r,n.sensitive?"":"i");function a(c){const d=c.match(i),u={};if(!d)return null;for(let f=1;f<d.length;f++){const m=d[f]||"",_=o[f-1];u[_.name]=m&&_.repeatable?m.split("/"):m}return u}function l(c){let d="",u=!1;for(const f of e){(!u||!d.endsWith("/"))&&(d+="/"),u=!1;for(const m of f)if(m.type===0)d+=m.value;else if(m.type===1){const{value:_,repeatable:b,optional:B}=m,L=_ in c?c[_]:"";if(wt(L)&&!b)throw new Error(`Provided param "${_}" is an array but it is not repeatable (* or + modifiers)`);const I=wt(L)?L.join("/"):L;if(!I)if(B)f.length<2&&(d.endsWith("/")?d=d.slice(0,-1):u=!0);else throw new Error(`Missing required param "${_}"`);d+=I}}return d||"/"}return{re:i,score:s,keys:o,parse:a,stringify:l}}function cg(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===40+40?-1:1:e.length>t.length?t.length===1&&t[0]===40+40?1:-1:0}function y1(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const o=cg(s[n],r[n]);if(o)return o;n++}if(Math.abs(r.length-s.length)===1){if(pu(s))return 1;if(pu(r))return-1}return r.length-s.length}function pu(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const ug={type:0,value:""},dg=/[a-zA-Z0-9_]/;function fg(e){if(!e)return[[]];if(e==="/")return[[ug]];if(!e.startsWith("/"))throw new Error(`Route paths should start with a "/": "${e}" should be "/${e}".`);function t(m){throw new Error(`ERR (${n})/"${c}": ${m}`)}let n=0,s=n;const r=[];let o;function i(){o&&r.push(o),o=[]}let a=0,l,c="",d="";function u(){!c||(n===0?o.push({type:0,value:c}):n===1||n===2||n===3?(o.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:d,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;a<e.length;){if(l=e[a++],l==="\\"&&n!==2){s=n,n=4;continue}switch(n){case 0:l==="/"?(c&&u(),i()):l===":"?(u(),n=1):f();break;case 4:f(),n=s;break;case 1:l==="("?n=2:dg.test(l)?f():(u(),n=0,l!=="*"&&l!=="?"&&l!=="+"&&a--);break;case 2:l===")"?d[d.length-1]=="\\"?d=d.slice(0,-1)+l:n=3:d+=l;break;case 3:u(),n=0,l!=="*"&&l!=="?"&&l!=="+"&&a--,d="";break;default:t("Unknown state");break}}return n===2&&t(`Unfinished custom RegExp for param "${c}"`),u(),i(),r}function hg(e,t,n){const s=lg(fg(e.path),n);{const o=new Set;for(const i of s.keys)o.has(i.name)&&fe(`Found duplicated params with name "${i.name}" for path "${e.path}". Only the last one will be available on "$route.params".`),o.add(i.name)}const r=Te(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function pg(e,t){const n=[],s=new Map;t=_u({strict:!1,end:!0,sensitive:!1},t);function r(u){return s.get(u)}function o(u,f,m){const _=!m,b=mg(u);yg(b,f),b.aliasOf=m&&m.record;const B=_u(t,u),L=[b];if("alias"in u){const W=typeof u.alias=="string"?[u.alias]:u.alias;for(const O of W)L.push(Te({},b,{components:m?m.record.components:b.components,path:O,aliasOf:m?m.record:b}))}let I,D;for(const W of L){const{path:O}=W;if(f&&O[0]!=="/"){const V=f.record.path,w=V[V.length-1]==="/"?"":"/";W.path=f.record.path+(O&&w+O)}if(W.path==="*")throw new Error(`Catch all routes ("*") must now be
Line truncated
|
||||
See more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes.`);if(I=hg(W,f,B),f&&O[0]==="/"&&wg(I,f),m?(m.alias.push(I),vg(m,I)):(D=D||I,D!==I&&D.alias.push(I),_&&u.name&&!gu(I)&&i(u.name)),w1(I)&&l(I),b.children){const V=b.children;for(let w=0;w<V.length;w++)o(V[w],I,m&&m.children[w])}m=m||I}return D?()=>{i(D)}:Or}function i(u){if(_1(u)){const f=s.get(u);f&&(s.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(i),f.alias.forEach(i))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&s.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function a(){return n}function l(u){const f=bg(u,n);n.splice(f,0,u),u.record.name&&!gu(u)&&s.set(u.record.name,u)}function c(u,f){let m,_={},b,B;if("name"in u&&u.name){if(m=s.get(u.name),!m)throw Zs(1,{location:u});{const D=Object.keys(u.params||{}).filter(W=>!m.keys.find(O=>O.name===W));D.length&&fe(`Discarded invalid param(s) "${D.join('", "')}" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`)}B=m.record.name,_=Te(mu(f.params,m.keys.filter(D=>!D.optional).concat(m.parent?m.parent.keys.filter(D=>D.optional):[]).map(D=>D.name)),u.params&&mu(u.params,m.keys.map(D=>D.name))),b=m.stringify(_)}else if(u.path!=null)b=u.path,b.startsWith("/")||fe(`The Matcher cannot resolve relative paths but received "${b}". Unless you directly called \`matcher.resolve("${b}")\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`),m=n.find(D=>D.re.test(b)),m&&(_=m.parse(b),B=m.record.name);else{if(m=f.name?s.get(f.name):n.find(D=>D.re.test(f.path)),!m)throw Zs(1,{location:u,currentLocation:f});B=m.record.name,_=Te({},f.params,u.params),b=m.stringify(_)}const L=[];let I=m;for(;I;)L.unshift(I.record),I=I.parent;return{name:B,path:b,params:_,matched:L,meta:_g(L)}}e.forEach(u=>o(u));function d(){n.length=0,s.clear()}return{addRoute:o,resolve:c,removeRoute:i,clearRoutes:d,getRoutes:a,getRecordMatcher:r}}function mu(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function mg(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:gg(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function gg(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function gu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function _g(e){return e.reduce((t,n)=>Te(t,n.meta),{})}function _u(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}function Aa(e,t){return e.name===t.name&&e.optional===t.optional&&e.repeatable===t.repeatable}function vg(e,t){for(const n of e.keys)if(!n.optional&&!t.keys.find(Aa.bind(null,n)))return fe(`Alias "${t.record.path}" and the original record: "${e.record.path}" must have the exact same param named "${n.name}"`);for(const n of t.keys)if(!n.optional&&!e.keys.find(Aa.bind(null,n)))return fe(`Alias "${t.record.path}" and the original record: "${e.record.path}" must have the exact same param named "${n.name}"`)}function yg(e,t){t&&t.record.name&&!e.name&&!e.path&&fe(`The route named "${String(t.record.name)}" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`)}function wg(e,t){for(const n of t.keys)if(!e.keys.find(Aa.bind(null,n)))return fe(`Absolute path "${e.record.path}" must have the exact same param named "${n.name}" as its parent "${t.record.path}".`)}function bg(e,t){let n=0,s=t.length;for(;n!==s;){const o=n+s>>1;y1(e,t[o])<0?s=o:n=o+1}const r=Sg(e);return r&&(s=t.lastIndexOf(r,s-1),s<0&&fe(`Finding ancestor route "${r.record.path}" failed for "${e.record.path}"`)),s}function Sg(e){let t=e;for(;t=t.parent;)if(w1(t)&&y1(e,t)===0)return t}function w1({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function kg(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;r<s.length;++r){const o=s[r].replace(u1," "),i=o.indexOf("="),a=Js(i<0?o:o.slice(0,i)),l=i<0?null:Js(o.slice(i+1));if(a in t){let c=t[a];wt(c)||(c=t[a]=[c]),c.push(l)}else t[a]=l}return t}function vu(e){let t="";for(let n in e){const s=e[n];if(n=N5(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(wt(s)?s.map(o=>o&&Da(o)):[s&&Da(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Tg(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=wt(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Eg=Symbol("router view location matched"),yu=Symbol("router view depth"),Ci=Symbol("router"),Rl=Symbol("route loc
Line truncated
|
||||
${e.toString()}
|
||||
. If you are returning a value instead of calling "next", make sure to remove the "next" parameter from your function.`;if(typeof d=="object"&&"then"in d)u=u.then(m=>c._called?m:(fe(f),Promise.reject(new Error("Invalid navigation guard"))));else if(d!==void 0&&!c._called){fe(f),l(new Error("Invalid navigation guard"));return}}u.catch(f=>l(f))})}function xg(e,t,n){let s=0;return function(){s++===1&&fe(`The "next" callback was called more than once in one navigation guard when going from "${n.fullPath}" to "${t.fullPath}". It should be called exactly one time in each navigation guard. This will fail in production.`),e._called=!0,s===1&&e.apply(null,arguments)}}function Zi(e,t,n,s,r=o=>o()){const o=[];for(const i of e){!i.components&&!i.children.length&&fe(`Record with path "${i.path}" is either missing a "component(s)" or "children" property.`);for(const a in i.components){let l=i.components[a];{if(!l||typeof l!="object"&&typeof l!="function")throw fe(`Component "${a}" in record with path "${i.path}" is not a valid component. Received "${String(l)}".`),new Error("Invalid route component");if("then"in l){fe(`Component "${a}" in record with path "${i.path}" is a Promise instead of a function that returns a Promise. Did you write "import('./MyPage.vue')" instead of "() => import('./MyPage.vue')" ? This will break in production if not fixed.`);const c=l;l=()=>c}else l.__asyncLoader&&!l.__warnedDefineAsync&&(l.__warnedDefineAsync=!0,fe(`Component "${a}" in record with path "${i.path}" is defined using "defineAsyncComponent()". Write "() => import('./MyPage.vue')" instead of "defineAsyncComponent(() => import('./MyPage.vue'))".`))}if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(Og(l)){const d=(l.__vccOpts||l)[t];d&&o.push(Un(d,n,s,i,a,r))}else{let c=l();"catch"in c||(fe(`Component "${a}" in record with path "${i.path}" is a function that does not return a Promise. If you were passing a functional component, make sure to add a "displayName" to the component. This will break in production if not fixed.`),c=Promise.resolve(c)),o.push(()=>c.then(d=>{if(!d)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${i.path}"`));const u=O5(d)?d.default:d;i.components[a]=u;const m=(u.__vccOpts||u)[t];return m&&Un(m,n,s,i,a,r)()}))}}}return o}function Og(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function wu(e){const t=yt(Ci),n=yt(Rl);let s=!1,r=null;const o=Ue(()=>{const d=pt(e.to);return(!s||d!==r)&&(Xo(d)||(s?fe(`Invalid value for prop "to" in useLink()
|
||||
- to:`,d,`
|
||||
- previous to:`,r,`
|
||||
- props:`,e):fe(`Invalid value for prop "to" in useLink()
|
||||
- to:`,d,`
|
||||
- props:`,e)),r=d,s=!0),t.resolve(d)}),i=Ue(()=>{const{matched:d}=o.value,{length:u}=d,f=d[u-1],m=n.matched;if(!f||!m.length)return-1;const _=m.findIndex(es.bind(null,f));if(_>-1)return _;const b=bu(d[u-2]);return u>1&&bu(f)===b&&m[m.length-1].path!==b?m.findIndex(es.bind(null,d[u-2])):_}),a=Ue(()=>i.value>-1&&Dg(n.params,o.value.params)),l=Ue(()=>i.value>-1&&i.value===n.matched.length-1&&p1(n.params,o.value.params));function c(d={}){return Mg(d)?t[pt(e.replace)?"replace":"push"](pt(e.to)).catch(Or):Promise.resolve()}if(fn){const d=tn();if(d){const u={route:o.value,isActive:a.value,isExactActive:l.value,error:null};d.__vrl_devtools=d.__vrl_devtools||[],d.__vrl_devtools.push(u),G0(()=>{u.route=o.value,u.isActive=a.value,u.isExactActive=l.value,u.error=Xo(pt(e.to))?null:'Invalid "to" value'},{flush:"post"})}}return{route:o,href:Ue(()=>o.value.href),isActive:a,isExactActive:l,navigate:c}}const Cg=Ve({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"}},useLink:wu,setup(e,{slots:t}){const n=en(wu(e)),{options:s}=yt(Ci),r=Ue(()=>({[Su(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[Su(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Ir("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}}),Pg=Cg;function Mg(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 Dg(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!wt(r)||r.length!==s.length||s.some((o,i)=>o!==r[i]))return!1}return!0}function bu(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Su=(e,t,n)=>e!=null?e:t!=null?t:n,$g=Ve({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){Fg();const s=yt(Fa),r=Ue(()=>e.route||s.value),o=yt(yu,0),i=Ue(()=>{let c=pt(o);const{matched:d}=r.value;let u;for(;(u=d[c])&&!u.components;)c++;return c}),a=Ue(()=>r.value.matched[i.value]);wo(yu,Ue(()=>i.value+1)),wo(Eg,a),wo(Fa,r);const l=Ke();return yn(()=>[l.value,a.value,e.name],([c,d,u],[f,m,_])=>{d&&(d.instances[u]=c,m&&m!==d&&c&&c===f&&(d.leaveGuards.size||(d.leaveGuards=m.leaveGuards),d.updateGuards.size||(d.updateGuards=m.updateGuards))),c&&d&&(!m||!es(d,m)||!f)&&(d.enterCallbacks[u]||[]).forEach(b=>b(c))},{flush:"post"}),()=>{const c=r.value,d=e.name,u=a.value,f=u&&u.components[d];if(!f)return ku(n.default,{Component:f,route:c});const m=u.props[d],_=m?m===!0?c.params:typeof m=="function"?m(c):m:null,B=Ir(f,Te({},_,t,{onVnodeUnmounted:L=>{L.component.isUnmounted&&(u.instances[d]=null)},ref:l}));if(fn&&B.ref){const L={depth:i.value,name:u.name,path:u.path,meta:u.meta};(wt(B.ref)?B.ref.map(D=>D.i):[B.ref.i]).forEach(D=>{D.__vrv_devtools=L})}return ku(n.default,{Component:B,route:c})||B}}});function ku(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Ag=$g;function Fg(){const e=tn(),t=e.parent&&e.parent.type.name,n=e.parent&&e.parent.subTree&&e.parent.subTree.type;if(t&&(t==="KeepAlive"||t.includes("Transition"))&&typeof n=="object"&&n.name==="RouterView"){const s=t==="KeepAlive"?"keep-alive":"transition";fe(`<router-view> can no longer be used directly inside <transition> or <keep-alive>.
|
||||
Use slot props instead:
|
||||
|
||||
<router-view v-slot="{ Component }">
|
||||
<${s}>
|
||||
<component :is="Component" />
|
||||
</${s}>
|
||||
</router-view>`)}}function mr(e,t){const n=Te({},e,{matched:e.matched.map(s=>Gg(s,["instances","children","aliasOf"]))});return{_custom:{type:null,readOnly:!0,display:e.fullPath,tooltip:t,value:n}}}function _o(e){return{_custom:{display:e}}}let Ig=0;function Rg(e,t,n){if(t.__hasDevtools)return;t.__hasDevtools=!0;const s=Ig++;Ml({id:"org.vuejs.router"+(s?"."+s:""),label:"Vue Router",packageName:"vue-router",homepage:"https://router.vuejs.org",logo:"https://router.vuejs.org/logo.png",componentStateTypes:["Routing"],app:e},r=>{typeof r.now!="function"&&console.warn("[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),r.on.inspectComponent((d,u)=>{d.instanceData&&d.instanceData.state.push({type:"Routing",key:"$route",editable:!1,value:mr(t.currentRoute.value,"Current Route")})}),r.on.visitComponentTree(({treeNode:d,componentInstance:u})=>{if(u.__vrv_devtools){const f=u.__vrv_devtools;d.tags.push({label:(f.name?`${f.name.toString()}: `:"")+f.path,textColor:0,tooltip:"This component is rendered by <router-view>",backgroundColor:b1})}wt(u.__vrl_devtools)&&(u.__devtoolsApi=r,u.__vrl_devtools.forEach(f=>{let m=f.route.path,_=T1,b="",B=0;f.error?(m=f.error,_=Yg,B=Ug):f.isExactActive?(_=k1,b="This is exactly active"):f.isActive&&(_=S1,b="This link is active"),d.tags.push({label:m,textColor:B,tooltip:b,backgroundColor:_})}))}),yn(t.currentRoute,()=>{l(),r.notifyComponentUpdate(),r.sendInspectorTree(a),r.sendInspectorState(a)});const o="router:navigations:"+s;r.addTimelineLayer({id:o,label:`Router${s?" "+s:""} Navigations`,color:4237508}),t.onError((d,u)=>{r.addTimelineEvent({layerId:o,event:{title:"Error during Navigation",subtitle:u.fullPath,logType:"error",time:r.now(),data:{error:d},groupId:u.meta.__navigationId}})});let i=0;t.beforeEach((d,u)=>{const f={guard:_o("beforeEach"),from:mr(u,"Current Location during this navigation"),to:mr(d,"Target location")};Object.defineProperty(d.meta,"__navigationId",{value:i++}),r.addTimelineEvent({layerId:o,event:{time:r.now(),title:"Start of navigation",subtitle:d.fullPath,data:f,groupId:d.meta.__navigationId}})}),t.afterEach((d,u,f)=>{const m={guard:_o("afterEach")};f?(m.failure={_custom:{type:Error,readOnly:!0,display:f?f.message:"",tooltip:"Navigation Failure",value:f}},m.status=_o("\u274C")):m.status=_o("\u2705"),m.from=mr(u,"Current Location during this navigation"),m.to=mr(d,"Target location"),r.addTimelineEvent({layerId:o,event:{title:"End of navigation",subtitle:d.fullPath,time:r.now(),data:m,logType:f?"warning":"default",groupId:d.meta.__navigationId}})});const a="router-inspector:"+s;r.addInspector({id:a,label:"Routes"+(s?" "+s:""),icon:"book",treeFilterPlaceholder:"Search routes"});function l(){if(!c)return;const d=c;let u=n.getRoutes().filter(f=>!f.parent||!f.parent.record.components);u.forEach(O1),d.filter&&(u=u.filter(f=>Ia(f,d.filter.toLowerCase()))),u.forEach(f=>x1(f,t.currentRoute.value)),d.rootNodes=u.map(E1)}let c;r.on.getInspectorTree(d=>{c=d,d.app===e&&d.inspectorId===a&&l()}),r.on.getInspectorState(d=>{if(d.app===e&&d.inspectorId===a){const f=n.getRoutes().find(m=>m.record.__vd_id===d.nodeId);f&&(d.state={options:Ng(f)})}}),r.sendInspectorTree(a),r.sendInspectorState(a)})}function Lg(e){return e.optional?e.repeatable?"*":"?":e.repeatable?"+":""}function Ng(e){const{record:t}=e,n=[{editable:!1,key:"path",value:t.path}];return t.name!=null&&n.push({editable:!1,key:"name",value:t.name}),n.push({editable:!1,key:"regexp",value:e.re}),e.keys.length&&n.push({editable:!1,key:"keys",value:{_custom:{type:null,readOnly:!0,display:e.keys.map(s=>`${s.name}${Lg(s)}`).join(" "),tooltip:"Param keys",value:e.keys}}}),t.redirect!=null&&n.push({editable:!1,key:"redirect",value:t.redirect}),e.alias.length&&n.push({editable:!1,key:"aliases",value:e.alias.map(s=>s.record.path)}),Object.keys(e.record.meta).length&&n.push({editable:!1,key:"meta",value:e.record.meta}),n.push({key:"score",editable:!1,value:{_custom:{type:null,readOnly:!0,display:e.score.map(s=>s.join(", ")).join(" | "),tooltip:"Score used to sort routes",value:e.score}}}),n}const b1=15485081,S1=2450411,k1=8702998,jg=2282478,T1=16486972,Hg=6710886,Yg=16704226,Ug=12131356;function E1(e){const t=[],{record:n}=e;n.name!=null&&t.push({label:String(n.name),textColor:0,backgroundColor:jg}),n.aliasOf&&t.push({label:"alias",textColor:0,backgroundColor:T1}),e.__vd_match&&t.push({label:"matches",textColor:0,backgroundColor:b1}),e.__vd_exactActive&&t.push({label:"exact",textColor:0,backgroundColor:k1}),e.__vd_active&&t.push({label:"active",textColor:0,backgroundColor:S1}),n.redirect&&t.push({label:typeof n.redirect=="string"?`redirect: ${n.redirect}`:"redirects",textColor:16777215,backgroundColor:Hg});let s=n.__vd_id;return s==null&&(s=String(Vg++),n.__vd_id=s),{id:s,label:n.path,tags:t,children:e.children.map(E1)}}let Vg=0;const Bg=/^\/(.*)\/([a-z]*)$/;functi
Line truncated
|
||||
- Location:`,y),L({});let Y;if(y.path!=null)"params"in y&&!("name"in y)&&Object.keys(y.params).length&&fe(`Path "${y.path}" was passed with params but they will be ignored. Use a named route alongside params instead.`),Y=Te({},y,{path:Ji(n,y.path,U.path).path});else{const h=Te({},y.params);for(const p in h)h[p]==null&&delete h[p];Y=Te({},y,{params:u(h)}),U.params=u(U.params)}const Q=t.resolve(Y,U),he=y.hash||"";he&&!he.startsWith("#")&&fe(`A \`hash\` should always start with the character "#". Replace "${he}" with "#${he}".`),Q.params=d(f(Q.params));const je=V5(s,Te({},y,{hash:L5(he),path:Q.path})),de=r.createHref(je);return de.startsWith("//")?fe(`Location "${y}" resolved to "${de}". A resolved location cannot start with multiple slashes.`):Q.matched.length||fe(`No match found for location with path "${y.path!=null?y.path:y}"`),Te({fullPath:je,hash:he,query:s===vu?Tg(y.query):y.query||{}},Q,{redirectedFrom:void 0,href:de})}function I(y){return typeof y=="string"?Ji(n,y,l.value.path):Te({},y)}function D(y,U){if(c!==y)return Zs(8,{from:U,to:y})}function W(y){return w(y)}function O(y){return W(Te(I(y),{replace:!0}))}function V(y){const U=y.matched[y.matched.length-1];if(U&&U.redirect){const{redirect:Y}=U;let Q=typeof Y=="function"?Y(y):Y;if(typeof Q=="string"&&(Q=Q.includes("?")||Q.includes("#")?Q=I(Q):{path:Q},Q.params={}),Q.path==null&&!("name"in Q))throw fe(`Invalid redirect found:
|
||||
${JSON.stringify(Q,null,2)}
|
||||
when navigating to "${y.fullPath}". A redirect must contain a name or path. This will break in production.`),new Error("Invalid redirect");return Te({query:y.query,hash:y.hash,params:Q.path!=null?{}:y.params},Q)}}function w(y,U){const Y=c=L(y),Q=l.value,he=y.state,je=y.force,de=y.replace===!0,h=V(Y);if(h)return w(Te(I(h),{state:typeof h=="object"?Te({},he,h.state):he,force:je,replace:de}),U||Y);const p=Y;p.redirectedFrom=U;let v;return!je&&lu(s,Q,Y)&&(v=Zs(16,{to:p,from:Q}),$n(Q,Q,!0,!1)),(v?Promise.resolve(v):k(p,Q)).catch(S=>an(S)?an(S,2)?S:rs(S):oe(S,p,Q)).then(S=>{if(S){if(an(S,2))return lu(s,L(S.to),p)&&U&&(U._count=U._count?U._count+1:1)>30?(fe(`Detected a possibly infinite redirection in a navigation guard when going from "${Q.fullPath}" to "${p.fullPath}". Aborting to avoid a Stack Overflow.
|
||||
Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`),Promise.reject(new Error("Infinite redirect in navigation guard"))):w(Te({replace:de},I(S.to),{state:typeof S.to=="object"?Te({},he,S.to.state):he,force:je}),U||p)}else S=E(p,Q,!0,de,he);return T(p,Q,S),S})}function ce(y,U){const Y=D(y,U);return Y?Promise.reject(Y):Promise.resolve()}function N(y){const U=An.values().next().value;return U&&typeof U.runWithContext=="function"?U.runWithContext(y):y()}function k(y,U){let Y;const[Q,he,je]=zg(y,U);Y=Zi(Q.reverse(),"beforeRouteLeave",y,U);for(const h of Q)h.leaveGuards.forEach(p=>{Y.push(Un(p,y,U))});const de=ce.bind(null,y,U);return Y.push(de),Fn(Y).then(()=>{Y=[];for(const h of o.list())Y.push(Un(h,y,U));return Y.push(de),Fn(Y)}).then(()=>{Y=Zi(he,"beforeRouteUpdate",y,U);for(const h of he)h.updateGuards.forEach(p=>{Y.push(Un(p,y,U))});return Y.push(de),Fn(Y)}).then(()=>{Y=[];for(const h of je)if(h.beforeEnter)if(wt(h.beforeEnter))for(const p of h.beforeEnter)Y.push(Un(p,y,U));else Y.push(Un(h.beforeEnter,y,U));return Y.push(de),Fn(Y)}).then(()=>(y.matched.forEach(h=>h.enterCallbacks={}),Y=Zi(je,"beforeRouteEnter",y,U,N),Y.push(de),Fn(Y))).then(()=>{Y=[];for(const h of i.list())Y.push(Un(h,y,U));return Y.push(de),Fn(Y)}).catch(h=>an(h,8)?h:Promise.reject(h))}function T(y,U,Y){a.list().forEach(Q=>N(()=>Q(y,U,Y)))}function E(y,U,Y,Q,he){const je=D(y,U);if(je)return je;const de=U===Nn,h=fn?history.state:{};Y&&(Q||de?r.replace(y.fullPath,Te({scroll:de&&h&&h.scroll},he)):r.push(y.fullPath,he)),l.value=y,$n(y,U,Y,de),rs()}let se;function xe(){se||(se=r.listen((y,U,Y)=>{if(!eo.listening)return;const Q=L(y),he=V(Q);if(he){w(Te(he,{replace:!0}),Q).catch(Or);return}c=Q;const je=l.value;fn&&Z5(uu(je.fullPath,Y.delta),Oi()),k(Q,je).catch(de=>an(de,12)?de:an(de,2)?(w(de.to,Q).then(h=>{an(h,20)&&!Y.delta&&Y.type===Ur.pop&&r.go(-1,!1)}).catch(Or),Promise.reject()):(Y.delta&&r.go(-Y.delta,!1),oe(de,Q,je))).then(de=>{de=de||E(Q,je,!1),de&&(Y.delta&&!an(de,8)?r.go(-Y.delta,!1):Y.type===Ur.pop&&an(de,20)&&r.go(-1,!1)),T(Q,je,de)}).catch(Or)}))}let $e=pr(),Ce=pr(),ae;function oe(y,U,Y){rs(y);const Q=Ce.list();return Q.length?Q.forEach(he=>he(y,U,Y)):(fe("uncaught error during route navigation:"),console.error(y)),Promise.reject(y)}function Fe(){return ae&&l.value!==Nn?Promise.resolve():new Promise((y,U)=>{$e.add([y,U])})}function rs(y){return ae||(ae=!y,xe(),$e.list().forEach(([U,Y])=>y?Y(y):U()),$e.reset()),y}function $n(y,U,Y,Q){const{scrollBehavior:he}=e;if(!fn||!he)return Promise.resolve();const je=!Y&&Q5(uu(y.fullPath,0))||(Q||!Y)&&history.state&&history.state.scroll||null;return $r().then(()=>he(y,U,je)).then(de=>de&&J5(de)).catch(de=>oe(de,y,U))}const Ht=y=>r.go(y);let St;const An=new Set,eo={currentRoute:l,listening:!0,addRoute:m,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:B,getRoutes:b,resolve:L,options:e,push:W,replace:O,go:Ht,back:()=>Ht(-1),forward:()=>Ht(1),beforeEach:o.add,beforeResolve:i.add,afterEach:a.add,onError:Ce.add,isReady:Fe,install(y){const U=this;y.component("RouterLink",Pg),y.component("RouterView",Ag),y.config.globalProperties.$router=U,Object.defineProperty(y.config.globalProperties,"$route",{enumerable:!0,get:()=>pt(l)}),fn&&!St&&l.value===Nn&&(St=!0,W(r.location).catch(he=>{fe("Unexpected error when starting the router:",he)}));const Y={};for(const he in Nn)Object.defineProperty(Y,he,{get:()=>l.value[he],enumerable:!0});y.provide(Ci,U),y.provide(Rl,qu(Y)),y.provide(Fa,l);const Q=y.unmount;An.add(y),y.unmount=function(){An.delete(y),An.size<1&&(c=Nn,se&&se(),se=null,l.value=Nn,St=!1,ae=!1),Q()},fn&&Rg(y,U,t)}};function Fn(y){return y.reduce((U,Y)=>U.then(()=>N(Y)),Promise.resolve())}return eo}function zg(e,t){const n=[],s=[],r=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;i<o;i++){const a=t.matched[i];a&&(e.matched.find(c=>es(c,a))?s.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(c=>es(c,l))||r.push(l))}return[n,s,r]}function qg(){return yt(Ci)}function vy(e){return yt(Rl)}const Kg={};function Jg(e,t){const n=dt("router-view");return A(),Ze(n)}var Zg=ve(Kg,[["render",Jg]]);const Qg="modulepreload",Tu={},Xg="/",Ie=function(t,n){return!n||n.length===0?t():Promise.all(n.map(s=>{if(s=`${Xg}${s}`,s in Tu)return;Tu[s]=!0;const r=s.endsWith(".css"),o=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${o}`))return;const i=document.createElement("link");if(i.rel=r?"stylesheet":Qg,r||(i.as="script",i.crossOrigin=""),i.href=s,document.head.appendChild(i),r)return new Promise((a,l)=>{i.addEventListener("load",a),i.addEventListener("error",()=>l(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t())};var e_={name:"PageRouter",path:"/router",component:()=>Ie(()=>import("./chunk.3e98a44f.js"),["luci-static/istorerouter/chunk.3e98a44f.js","luci-static/istorerouter/chunk.555488a0.js"]),children:[{path:
Line truncated
|
||||
<icon-outlogin />
|
||||
</a> `)])}}});var wv=ve(yv,[["__scopeId","data-v-03fbaefc"]]);const gt=e=>(ts("data-v-0d7842c9"),e=e(),ns(),e),bv={class:"tool"},Sv=gt(()=>g("div",{class:"tool-item_icon"},[g("svg",{t:"1654872227326",class:"icon",viewBox:"0 0 1070 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"18915",width:"128",height:"128"},[g("path",{d:"M616.56114032 913.71326004h-10.78499707c-0.00697165 0 4.88008933 1.06316208 10.78499706 0z m194.47155643-0.01045789c-28.60778047 0.01045706-31.10708332-23.73117654-31.28137207-29.83825964v-36.61809823h-142.70078101v35.18544369c0 23.05842188-11.4333522 29.67094253-20.48591711 31.27091418",fill:"#F0F0FF","p-id":"18916"}),g("path",{d:"M610.47497217 928.2489541c-5.85959326 0-12.22462327-1.32110979-15.86029011-6.17679877l-16.69339104-22.29852201h37.23508135c2.98731171-0.70412751 7.94757376-3.1650867 7.94757377-17.33825994v-49.12855499h170.58700443v50.34160629c0.54378122 15.96137778 12.92875076 16.11126617 17.20928649 16.11126617h0.12548804l0.00697165 27.88622343h-0.01742871c-21.89068588 0-44.35303958-13.4132742-45.20357007-43.38399272l-0.00697165-0.39389282v-22.67498611h-114.81455594v21.24233075c0 35.45036225-22.30549365 43.2724488-31.95412756 44.99093766v0.01045705c-2.35638611 0.42177942-5.38552688 0.81218601-8.56107065 0.81218602z",fill:"#6E6E96","p-id":"18917"}),g("path",{d:"M458.17784421 794.47525079V479.73040964c0-21.50027847 17.58923602-39.09300073 39.09648614-39.09299991h422.25320764c21.50725013 0 39.09997238 17.59272143 39.09997156 39.09299991v314.74135574",fill:"#9F9FBD","p-id":"18918"}),g("path",{d:"M958.63099579 763.19387873v44.95259398c0 21.51073636-17.59969309 39.10694403-39.09997238 39.10694321H497.27433035c-21.50376471 0-39.09648614-17.60666473-39.09648614-39.10694321V763.19387873h500.45315158z",fill:"#F0F0FF","p-id":"18919"}),g("path",{d:"M919.53102341 861.19304263H497.27433035c-29.2456777 0-53.03959826-23.79740679-53.03959826-53.05005615V749.2507666h528.33937582v58.89570612c0 29.24916311-23.79392056 53.04656992-53.0430845 53.04656991zM472.12095633 777.13699084v31.00948187c0 13.87339645 11.2834638 25.16383191 25.15337402 25.1638311H919.53102341c13.86991103 0 25.15686025-11.28694922 25.15686026-25.1638311v-31.00948187h-472.56692734z",fill:"#6E6E96","p-id":"18920"}),g("path",{d:"M472.12095633 794.47525079h-27.88622424V479.73040964c0-29.2456777 23.79392056-53.03611286 53.03959826-53.03611203h422.25320764c29.24916311 0 53.0430845 23.79043515 53.04308369 53.03611203v314.74135574h-27.88622425V479.73040964c0-13.86991103-11.2834638-25.14988861-25.15685944-25.14988779H497.27433035c-13.86991103 0-25.15337403 11.27997757-25.15337402 25.14988779v314.74484115z",fill:"#6E6E96","p-id":"18921"}),g("path",{d:"M458.17784421 744.17198816h500.44617993v11.03945938H458.17784421zM637.0540299 847.24644427h142.70078019v24.94771326h-142.70078019z",fill:"#6E6E96","p-id":"18922"}),g("path",{d:"M821.84906582 927.65637216h-241.2576686a13.94311212 13.94311212 0 0 1 0-27.88622423h241.2576686a13.94311212 13.94311212 0 0 1 0 27.88622424z",fill:"#6E6E96","p-id":"18923"}),g("path",{d:"M919.53102341 817.88922183H497.27433035c-21.50376471 0-39.09648614-17.59969309-39.09648614-39.10345779v26.0945343c0 21.50027847 17.58574978 39.09997238 39.09648614 39.09997238H919.53102341c21.50027847 0 39.10345779-17.59272143 39.10345779-39.09997238v-26.0945343c-0.00348542 21.517708-17.61015097 39.10345779-39.10345779 39.10345779z",fill:"#6E6E96","p-id":"18924"}),g("path",{d:"M512.22134677 487.62221103h396.47936426v229.11670432H512.22134677z",fill:"#A2C8F2","p-id":"18925"}),g("path",{d:"M653.79970709 714.00257971l250.40435038-226.38036868v73.11070843l-166.0798938 153.26966025z",fill:"#DEEFFF","p-id":"18926"}),g("path",{d:"M904.20405747 560.73291946l-166.0798938 153.26966025h166.0798938z",fill:"#FFFFFF","p-id":"18927"}),g("path",{d:"M908.70071103 730.68551288H512.22134677a13.94311212 13.94311212 0 0 1-13.94311212-13.94311212v-229.11670349a13.94311212 13.94311212 0 0 1 13.94311212-13.94311212h396.47936426a13.94311212 13.94311212 0 0 1 13.94311212 13.94311212v229.11670349a13.94311212 13.94311212 0 0 1-13.94311212 13.94311212z m-382.53625214-27.88622425h368.59314002v-201.23047924H526.16445889v201.23047924z",fill:"#6E6E96","p-id":"18928"}),g("path",{d:"M427.31825156 436.74379516c0 17.12911295-14.01282779 31.15588403-31.14194074 31.15588404H258.11858637c-17.1221413 0-31.14194074-14.0163132-31.14194074-31.15588404v-296.04712774c0-17.12911295 14.0163132-31.14542697 31.14194073-31.14542615H396.17631082c17.12911295 0 31.14194074 14.0163132 31.14194074 31.14542615v296.04712774z",fill:"#F0F0FF","p-id":"18929"}),g("path",{d:"M427.31825156 436.74379516c0 17.12911295-14.01282779 31.15588403-31.14194074 31.15588404H258.11858637c-17.1221413 0-31.14194074-14.0163132-31.14194074-31.15588404v-296.04712774c0-17.12911295 14.0163132-31.14542697 31.14194073-31.14542615H396.17631082c17.12911295 0 31.14194074 14.0163132 31.14194074 31.14542615v296.04712774z",fill:"#FFFFFF","p-id":"18930"}),g("path",{d:"M226.97315939 172.01289774h200Line truncated
|
||||
loading...
|
||||
</div> `),ge(` <div class="skeleton">
|
||||
<li class="skeleton-item" v-for="item in 6"></li>
|
||||
</div> `)]),_:2},1024))]),_:1})}var iy=ve(ry,[["render",oy],["__scopeId","data-v-e1c03446"]]),ay={install(e){e.component("layout-main",z9),e.component("layout-page",ev),e.component("layout-header",sy),e.component("router-loading",iy)}};document.title=Ra.HostName;const Xr=rl(b2);Xr.use(T5());x5();Xr.use(H9).use(ay);Xr.use(C1);Xr.use(v2);C1.isReady().then(()=>{const e=document.querySelector("#app");if(!e)return;const t=e.__vue_app__;t&&(t.unmount(),e.innerHTML=""),Xr.mount(e)});export{_y as $,Ze as A,it as B,vd as C,ir as D,dt as E,Ee as F,Pe as G,Kd as H,$9 as I,hs as J,si as K,Oe as L,_d as M,Ra as N,Yi as O,cy as P,ko as Q,cp as R,Hd as S,Qe as T,vy as U,qg as V,Pr as W,yn as X,su as Y,dy as Z,ve as _,Ue as a,py as a0,my as a1,_5 as a2,gy as a3,hy as a4,fy as a5,C1 as b,z as c,Ve as d,Yo as e,g as f,tr as g,ge as h,ie as i,Tr as j,uy as k,yt as l,er as m,zr as n,A as o,ts as p,ns as q,Ke as r,Rs as s,We as t,pt as u,Jp as v,Ms as w,en as x,Zp as y,wo as z};
|
||||
@@ -0,0 +1 @@
|
||||
@keyframes bganimation-7d6f75a4{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes rotateEnter-7d6f75a4{0%{transform:rotateY(180deg)}10%{transform:rotateY(198deg)}20%{transform:rotateY(216deg)}30%{transform:rotateY(234deg)}40%{transform:rotateY(252deg)}50%{transform:rotateY(270deg)}60%{transform:rotateY(288deg)}70%{transform:rotateY(306deg)}80%{transform:rotateY(324deg)}90%{transform:rotateY(342deg)}to{transform:rotateY(360deg)}}@keyframes turns-7d6f75a4{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(360deg)}}@keyframes slideInLeft-7d6f75a4{0%{transform:translate3d(100%,0,0);position:fixed}to{transform:translateZ(0);position:fixed}}@keyframes slideInRight-7d6f75a4{0%{transform:translateZ(0);position:fixed}to{transform:translate3d(100%,0,0);position:fixed}}.slide-left-enter-active[data-v-7d6f75a4]{animation:slideInLeft-7d6f75a4 .3s linear forwards}.slide-left-leave-active[data-v-7d6f75a4]{animation:slideInRight-7d6f75a4 .3s linear forwards}@keyframes slideOutLeft-7d6f75a4{0%{transform:translate3d(-100%,0,0);position:fixed}to{transform:translateZ(0);position:fixed}}@keyframes slideOutRight-7d6f75a4{0%{transform:translateZ(0);position:fixed}to{transform:translate3d(-100%,0,0);position:fixed}}.slide-right-enter-active[data-v-7d6f75a4]{animation:slideOutLeft-7d6f75a4 .3s linear forwards}.slide-right-leave-active[data-v-7d6f75a4]{animation:slideOutRight-7d6f75a4 .3s linear forwards}.rotate-enter-active[data-v-7d6f75a4]{animation:rotateEnter-7d6f75a4 .7s;position:relative}.rotate-leave-active[data-v-7d6f75a4]{opacity:0;display:none;position:relative;z-index:-999}.app-container[data-v-7d6f75a4]{width:100%;background-color:#fff;box-shadow:0 0 10px 1px #373f6924;padding:10px 30px;border-radius:6px;position:relative}.notice_info[data-v-7d6f75a4]{width:100%;display:block;margin-bottom:1rem;font-size:16px;line-height:24px;text-align:left;color:#666}.notice_info.warning[data-v-7d6f75a4]{color:#f9ad1e}.notice_info li[data-v-7d6f75a4]{font-size:14px;list-style:revert}.text-container[data-v-7d6f75a4]{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.text-container .text-container_item[data-v-7d6f75a4]{width:100%;display:flex;flex-wrap:wrap;align-items:flex-start;min-height:42px;line-height:42px}.text-container .text-container_item .text-container_item_title[data-v-7d6f75a4]{color:#333;font-size:16px;font-weight:700;min-width:100px}.text-container .text-container_item .text-container_item_value[data-v-7d6f75a4]{flex:1;color:#666;font-size:16px;display:flex;flex-wrap:wrap;padding-left:10px}.text-container .text-container_item .text-container_item_flex[data-v-7d6f75a4]{flex:1;color:#666;font-size:16px}.text-container .text-container_item .text-container_item_block[data-v-7d6f75a4]{width:100%}.text-container .text-container_item p.info-desc[data-v-7d6f75a4]{width:100%;color:#999;font-size:14px}.page-container[data-v-7d6f75a4]{width:100%;background-color:#fff;border-radius:6px;padding:3rem}.page-container .page-flex[data-v-7d6f75a4]{display:flex;flex-wrap:wrap}.page-container .page-flex .page-sidebar[data-v-7d6f75a4]{flex:0 0 100%;max-width:200px;border-right:1px solid #eee}.page-container .page-flex .page-sidebar a[data-v-7d6f75a4],.page-container .page-flex .page-sidebar .item[data-v-7d6f75a4]{width:100%;height:42px;line-height:42px;font-size:16px;cursor:pointer;color:#333;display:block;user-select:none;position:relative;display:flex;flex-wrap:wrap;align-items:center}.page-container .page-flex .page-sidebar a.on[data-v-7d6f75a4],.page-container .page-flex .page-sidebar a[data-v-7d6f75a4]:hover,.page-container .page-flex .page-sidebar .item.on[data-v-7d6f75a4],.page-container .page-flex .page-sidebar .item[data-v-7d6f75a4]:hover,.page-container .page-flex .page-sidebar a.router-link-active.router-link-exact-active[data-v-7d6f75a4],.page-container .page-flex .page-sidebar .activeItem[data-v-7d6f75a4]{transition:.3s;color:#418cff}.page-container .page-flex .page-sidebar a.router-link-active.router-link-exact-active[data-v-7d6f75a4]:before,.page-container .page-flex .page-sidebar .activeItem[data-v-7d6f75a4]:before{content:"";position:absolute;left:-1rem;width:3px;height:20px;background-color:#4388ff}.page-container .page-flex .page-main[data-v-7d6f75a4]{flex:0 0 100%;max-width:calc(100% - 200px)}.page-container.page-mobile[data-v-7d6f75a4]{border-radius:0;padding:1rem}ul.ul-container[data-v-7d6f75a4]{width:100%;display:block;margin-bottom:1rem}ul.ul-container .ul-container_title[data-v-7d6f75a4]{width:100%;color:#ff6b6b;font-size:14px;display:flex;flex-wrap:wrap;align-items:center}ul.ul-container .ul-container_title[data-v-7d6f75a4]:before{content:"";padding:3px;background:#ff6b6b;border-radius:50%;display:inline-block;margin-right:.2rem}ul.ul-container .ul-container_body[data-v-7d6f75a4]{width:100%}form.form-container[daLine truncated
|
||||
@@ -0,0 +1,152 @@
|
||||
|
||||
module("luci.controller.istorerouter", package.seeall)
|
||||
|
||||
function index()
|
||||
if luci.sys.call("pgrep quickstart >/dev/null") == 0 then
|
||||
entry({"admin", "istorerouter"}, call("istorerouter_template")).leaf = true
|
||||
if nixio.fs.access("/usr/lib/lua/luci/view/istorerouter/main_dev.htm") then
|
||||
entry({"admin", "istorerouter_dev"}, call("istorerouter_template_dev")).leaf = true
|
||||
end
|
||||
else
|
||||
entry({"admin", "istorerouter"}, call("redirect_fallback")).leaf = true
|
||||
end
|
||||
entry({"admin", "istorerouter_api","status"}, call("istorerouter_api_status"))
|
||||
entry({"admin", "istorerouter_api","update"}, call("istorerouter_api_update"))
|
||||
entry({"admin", "istorerouter_api","upload-bg"}, call("istorerouter_api_uploadbg"))
|
||||
end
|
||||
|
||||
local function user_id()
|
||||
local jsonc = require "luci.jsonc"
|
||||
local json_parse = jsonc.parse
|
||||
local fs = require "nixio.fs"
|
||||
local data = fs.readfile("/etc/.app_store.id")
|
||||
|
||||
local id
|
||||
if data ~= nil then
|
||||
id = json_parse(data)
|
||||
end
|
||||
if id == nil then
|
||||
fs.unlink("/etc/.app_store.id")
|
||||
id = {arch="",uid=""}
|
||||
end
|
||||
|
||||
id.version = (fs.readfile("/etc/.app_store.version") or "?"):gsub("[\r\n]", "")
|
||||
|
||||
return id
|
||||
end
|
||||
|
||||
function get_config_data()
|
||||
local uci = require "luci.model.uci".cursor()
|
||||
local model = uci:get_first("istorerouter", "istorerouter", "model")
|
||||
local enabled = uci:get_first("istorerouter", "istorerouter", "enabled")
|
||||
local data = {
|
||||
model = model,
|
||||
enabled = enabled,
|
||||
}
|
||||
return data
|
||||
end
|
||||
|
||||
local function static_cache_tag()
|
||||
local fs = require "nixio.fs"
|
||||
local stat = fs.stat("/www/luci-static/istorerouter/index.js")
|
||||
return stat and stat.mtime or os.time()
|
||||
end
|
||||
|
||||
function get_params()
|
||||
local config = get_config_data()
|
||||
local data = {
|
||||
prefix=luci.dispatcher.build_url(unpack({"admin", "istorerouter"})),
|
||||
id=user_id(),
|
||||
model = config.model,
|
||||
cache_tag = static_cache_tag(),
|
||||
}
|
||||
return data
|
||||
end
|
||||
|
||||
function get_dev_params()
|
||||
local config = get_config_data()
|
||||
local data = {
|
||||
prefix=luci.dispatcher.build_url(unpack({"admin", "istorerouter_dev"})),
|
||||
id=user_id(),
|
||||
model = config.model,
|
||||
cache_tag = static_cache_tag(),
|
||||
}
|
||||
return data
|
||||
end
|
||||
|
||||
function redirect_fallback()
|
||||
luci.http.redirect(luci.dispatcher.build_url("admin","status"))
|
||||
end
|
||||
|
||||
function istorerouter_template()
|
||||
luci.template.render("istorerouter/main", get_params())
|
||||
end
|
||||
|
||||
function istorerouter_template_dev()
|
||||
luci.template.render("istorerouter/main_dev", get_dev_params())
|
||||
end
|
||||
|
||||
function istorerouter_api_status()
|
||||
local result = get_config_data()
|
||||
luci.http.prepare_content("application/json")
|
||||
luci.http.write_json({
|
||||
success = 0,
|
||||
result = result,
|
||||
})
|
||||
end
|
||||
|
||||
function istorerouter_api_update()
|
||||
local http = require "luci.http"
|
||||
local jsonc = require "luci.jsonc"
|
||||
local uci = require "luci.model.uci".cursor()
|
||||
local content = http.content()
|
||||
local json_parse = jsonc.parse
|
||||
local req = json_parse(content)
|
||||
local data = {
|
||||
}
|
||||
if req == nil or next(req) == nil then
|
||||
data.error = "invalid request"
|
||||
else
|
||||
uci:set("istorerouter","@istorerouter[0]","model", req.model)
|
||||
uci:commit("istorerouter")
|
||||
data.success = 0
|
||||
end
|
||||
http.prepare_content("application/json")
|
||||
http.write_json(data)
|
||||
end
|
||||
|
||||
function istorerouter_api_uploadbg()
|
||||
local uci = require "uci"
|
||||
local x = uci.cursor()
|
||||
local fd
|
||||
local path
|
||||
local finished = false
|
||||
local tmpdir = "/www/luci-static/istorerouter/image"
|
||||
local filename = ""
|
||||
luci.http.setfilehandler(
|
||||
function(meta, chunk, eof)
|
||||
if not fd then
|
||||
filename = meta.file
|
||||
path = tmpdir .. "/bg.gif"
|
||||
fd = io.open(path, "w")
|
||||
end
|
||||
if chunk then
|
||||
fd:write(chunk)
|
||||
end
|
||||
if eof then
|
||||
fd:close()
|
||||
finished = true
|
||||
end
|
||||
end
|
||||
)
|
||||
luci.http.formvalue("file")
|
||||
local result = {
|
||||
filename = filename
|
||||
}
|
||||
local data = {
|
||||
success = finished,
|
||||
result = result
|
||||
}
|
||||
luci.http.prepare_content("application/json")
|
||||
luci.http.write_json(data)
|
||||
end
|
||||
@@ -0,0 +1,4 @@
|
||||
<%
|
||||
local istorerouter = require "luci.controller.istorerouter"
|
||||
istorerouter.istorerouter_template()
|
||||
%>
|
||||
@@ -0,0 +1,60 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0" /> -->
|
||||
<!-- <meta name="viewport" content="width=1400, initial-scale=1.0" /> -->
|
||||
<meta name="viewport" content="width=1100" />
|
||||
<title><%=luci.sys.hostname()%></title>
|
||||
</head>
|
||||
<body>
|
||||
<script src="<%=url('admin/translations', luci.i18n.context.lang)%><%# ?v=PKG_VERSION %>"></script>
|
||||
<script src="<%=resource%>/cbi.js<%# ?v=PKG_VERSION %>"></script>
|
||||
<script type="text/javascript" src="<%=resource%>/promis.min.js<%# ?v=PKG_VERSION %>"></script>
|
||||
<script type="text/javascript" src="<%=resource%>/luci.js<%# ?v=PKG_VERSION %>"></script>
|
||||
<%+tasks/embed%>
|
||||
<script>
|
||||
(function(){
|
||||
var pathe_prefix = "<%=prefix%>"
|
||||
window.istoreRouterVer = "<%# PKG_VERSION %>"
|
||||
window.HostName = "<%=luci.sys.hostname()%>"
|
||||
window.path_base = pathe_prefix
|
||||
window.token = "<%=token%>"
|
||||
window.model = "<%=model%>"
|
||||
window.device_id = {
|
||||
arch:"<%=id.arch%>",
|
||||
uid:"<%=id.uid%>",
|
||||
version:"<%=id.version%>"
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
<%
|
||||
local luci_main = type(luci.config) == "table" and type(luci.config.main) == "table" and luci.config.main or {}
|
||||
-%>
|
||||
<script type="text/javascript">
|
||||
L = new LuCI(<%= luci.http.write_json({
|
||||
token = token,
|
||||
media = media,
|
||||
resource = resource,
|
||||
scriptname = luci.http.getenv("SCRIPT_NAME"),
|
||||
pathinfo = luci.http.getenv("PATH_INFO"),
|
||||
documentroot = luci.http.getenv("DOCUMENT_ROOT"),
|
||||
requestpath = luci.dispatcher.context.requestpath,
|
||||
dispatchpath = luci.dispatcher.context.path,
|
||||
pollinterval = luci_main.pollinterval or 5,
|
||||
ubuspath = luci_main.ubuspath or '/ubus/',
|
||||
sessionid = luci.dispatcher.context.authsession,
|
||||
nodespec = luci.dispatcher.context.dispatched,
|
||||
apply_rollback = math.max(applyconf and applyconf.rollback or 90, 30),
|
||||
apply_holdoff = math.max(applyconf and applyconf.holdoff or 4, 1),
|
||||
apply_timeout = math.max(applyconf and applyconf.timeout or 5, 1),
|
||||
apply_display = math.max(applyconf and applyconf.display or 1.5, 1),
|
||||
rollback_token = rollback_token
|
||||
}) %>);
|
||||
</script>
|
||||
<div id="app"></div>
|
||||
<link rel="stylesheet" href="/luci-static/istorerouter/style.css?v=<%=cache_tag%>">
|
||||
<script type="module" crossorigin src="/luci-static/istorerouter/index.js?v=<%=cache_tag%>"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,63 @@
|
||||
<%
|
||||
local ver = require "luci.version"
|
||||
-%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0" /> -->
|
||||
<meta name="viewport" content="width=1100" />
|
||||
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
<script src="<%=url('admin/translations', luci.i18n.context.lang)%><%# ?v=PKG_VERSION %>"></script>
|
||||
<script src="<%=resource%>/cbi.js<%# ?v=PKG_VERSION %>"></script>
|
||||
<script type="text/javascript" src="<%=resource%>/promis.min.js<%# ?v=PKG_VERSION %>"></script>
|
||||
<script type="text/javascript" src="<%=resource%>/luci.js<%# ?v=PKG_VERSION %>"></script>
|
||||
<%+tasks/embed%>
|
||||
<script>
|
||||
(function(){
|
||||
var pathe_prefix = "<%=prefix%>"
|
||||
window.istoreRouterVer = "<%# PKG_VERSION %>"
|
||||
window.HostName = "<%=luci.sys.hostname()%>"
|
||||
window.path_base = pathe_prefix
|
||||
window.token = "<%=token%>"
|
||||
window.model = "<%=model%>"
|
||||
window.device_id = {
|
||||
arch:"<%=id.arch%>",
|
||||
uid:"<%=id.uid%>",
|
||||
version:"<%=id.version%>"
|
||||
}
|
||||
|
||||
})();
|
||||
</script>
|
||||
<%
|
||||
local luci_main = type(luci.config) == "table" and type(luci.config.main) == "table" and luci.config.main or {}
|
||||
-%>
|
||||
<script type="text/javascript">
|
||||
L = new LuCI(<%= luci.http.write_json({
|
||||
token = token,
|
||||
media = media,
|
||||
resource = resource,
|
||||
scriptname = luci.http.getenv("SCRIPT_NAME"),
|
||||
pathinfo = luci.http.getenv("PATH_INFO"),
|
||||
documentroot = luci.http.getenv("DOCUMENT_ROOT"),
|
||||
requestpath = luci.dispatcher.context.requestpath,
|
||||
dispatchpath = luci.dispatcher.context.path,
|
||||
pollinterval = luci_main.pollinterval or 5,
|
||||
ubuspath = luci_main.ubuspath or '/ubus/',
|
||||
sessionid = luci.dispatcher.context.authsession,
|
||||
nodespec = luci.dispatcher.context.dispatched,
|
||||
apply_rollback = math.max(applyconf and applyconf.rollback or 90, 30),
|
||||
apply_holdoff = math.max(applyconf and applyconf.holdoff or 4, 1),
|
||||
apply_timeout = math.max(applyconf and applyconf.timeout or 5, 1),
|
||||
apply_display = math.max(applyconf and applyconf.display or 1.5, 1),
|
||||
rollback_token = rollback_token
|
||||
}) %>);
|
||||
</script>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="http://localhost:3000/src/main.ts"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,3 @@
|
||||
config istorerouter
|
||||
option 'enabled' '1'
|
||||
option 'model' 'router'
|
||||
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
|
||||
rm -f /tmp/luci-indexcache
|
||||
exit 0
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"admin/istorerouter": {
|
||||
"order": 0,
|
||||
"action": {
|
||||
"type": "template",
|
||||
"path": "istorerouter/index"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"luci-app-istorerouter": {
|
||||
"description": "Grant UCI access for luci-app-istorerouter",
|
||||
"read": {
|
||||
"uci": [ "istorerouter" ]
|
||||
},
|
||||
"write": {
|
||||
"uci": [ "istorerouter" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-passwall2
|
||||
PKG_VERSION:=26.9.2
|
||||
PKG_RELEASE:=109
|
||||
PKG_RELEASE:=110
|
||||
PKG_PO_VERSION:=$(PKG_VERSION)
|
||||
|
||||
PKG_CONFIG_DEPENDS:= \
|
||||
|
||||
@@ -857,14 +857,16 @@ acl_node() {
|
||||
unset _error_log_file
|
||||
continue
|
||||
fi
|
||||
local run_new_dnsmasq=1
|
||||
local DNSMASQ_TUN_DNS="127.0.0.1#${dns_listen_port}"
|
||||
local DNSMASQ_DEFAULT_DNS="${AUTO_DNS}"
|
||||
local DNSMASQ_LOCAL_DNS="${LOCAL_DNS:-${AUTO_DNS}}"
|
||||
[ -n "${DIRECT_DNS_DNSMASQ_SERVER}" ] && DNSMASQ_LOCAL_DNS="${DIRECT_DNS_DNSMASQ_SERVER}"
|
||||
if [ "${flag}" = "default" ]; then
|
||||
set_cache_var "GLOBAL_SOCKS_server" "127.0.0.1:$socks_port"
|
||||
set_cache_var "ACL_GLOBAL_node" "$node"
|
||||
local RUN_NEW_DNSMASQ=$(config_n_get @global[0] dns_redirect 1)
|
||||
local DNSMASQ_DEFAULT_DNS="${AUTO_DNS}"
|
||||
local DNSMASQ_LOCAL_DNS="${LOCAL_DNS:-${AUTO_DNS}}"
|
||||
local DNSMASQ_TUN_DNS="127.0.0.1#${dns_listen_port}"
|
||||
if [ "${RUN_NEW_DNSMASQ}" == "0" ]; then
|
||||
run_new_dnsmasq=$(config_n_get @global[0] dns_redirect 1)
|
||||
if [ "${run_new_dnsmasq}" != "1" ]; then
|
||||
#Rewrite the default DNS service configuration
|
||||
#Modify the default dnsmasq service
|
||||
lua $APP_PATH/helper_dnsmasq.lua stretch
|
||||
@@ -882,21 +884,16 @@ acl_node() {
|
||||
uci -q commit dhcp
|
||||
|
||||
lua $APP_PATH/helper_dnsmasq.lua logic_restart
|
||||
else
|
||||
#Run a copy dnsmasq instance, DNS hijack for that need proxy devices.
|
||||
dnsmasq_port=$(get_new_port auto)
|
||||
run_copy_dnsmasq flag="default" listen_port=${dnsmasq_port} local_dns="${DNSMASQ_LOCAL_DNS}" tun_dns="${DNSMASQ_TUN_DNS}" default_dns="${DNSMASQ_DEFAULT_DNS}"
|
||||
#dhcp.leases to hosts
|
||||
$APP_PATH/lease2hosts.sh > /dev/null 2>&1 &
|
||||
log 2 "Dnsmasq[${dnsmasq_port}]:(127.0.0.1:${dns_listen_port})"
|
||||
fi
|
||||
else
|
||||
fi
|
||||
[ "${run_new_dnsmasq}" == "1" ] && {
|
||||
#Run a copy dnsmasq instance, DNS hijack for that need proxy devices.
|
||||
dnsmasq_port=$(get_new_port auto)
|
||||
run_copy_dnsmasq flag="${flag}" listen_port=${dnsmasq_port} local_dns="${LOCAL_DNS:-${AUTO_DNS}}" tun_dns="127.0.0.1#${dns_listen_port}" default_dns="${AUTO_DNS}"
|
||||
#dhcp.leases to hostsMore actions
|
||||
run_copy_dnsmasq flag="${flag}" listen_port=${dnsmasq_port} local_dns="${DNSMASQ_LOCAL_DNS}" tun_dns="${DNSMASQ_TUN_DNS}" default_dns="${DNSMASQ_DEFAULT_DNS}"
|
||||
#dhcp.leases to hosts
|
||||
$APP_PATH/lease2hosts.sh > /dev/null 2>&1 &
|
||||
log 2 "Dnsmasq[${dnsmasq_port}]:(127.0.0.1:${dns_listen_port})"
|
||||
fi
|
||||
}
|
||||
rm -f ${TMP_ACL_PATH}/acl_node_${nid}
|
||||
done
|
||||
}
|
||||
@@ -1030,6 +1027,7 @@ get_direct_dns() {
|
||||
DIRECT_DNS_PROTO="${direct_dns_protocol}"
|
||||
DIRECT_DNS_SERVER=$(echo ${result} | awk '{print $1}')
|
||||
DIRECT_DNS_PORT=$(echo ${result} | awk '{print $2}')
|
||||
[ "${DIRECT_DNS_PROTO}" = "udp" ] && DIRECT_DNS_DNSMASQ_SERVER="${DIRECT_DNS_SERVER}#${DIRECT_DNS_PORT}"
|
||||
RETURN_DNS="${RETURN_DNS},${DIRECT_DNS_SERVER}#${DIRECT_DNS_PORT}#${DIRECT_DNS_PROTO}"
|
||||
}
|
||||
fi
|
||||
|
||||
@@ -140,6 +140,10 @@ function copy_instance(var)
|
||||
end
|
||||
end
|
||||
tinsert(conf_lines, "port=" .. LISTEN_PORT)
|
||||
--dhcp.leases to hostsMore actions
|
||||
local hosts = api.CACHE_PATH .. "/dhcp-hosts"
|
||||
sys.call("touch " .. hosts)
|
||||
tinsert(conf_lines, "addn-hosts=" .. hosts)
|
||||
if TMP_DNSMASQ_PATH then
|
||||
sys.call("rm -rf " .. TMP_DNSMASQ_PATH .. "/*passwall2*")
|
||||
end
|
||||
@@ -159,7 +163,6 @@ function add_rule(var)
|
||||
local FLAG = var["FLAG"]
|
||||
local TMP_DNSMASQ_PATH = var["TMP_DNSMASQ_PATH"]
|
||||
local DNSMASQ_CONF_FILE = var["DNSMASQ_CONF_FILE"]
|
||||
local LISTEN_PORT = var["LISTEN_PORT"]
|
||||
local DEFAULT_DNS = var["DEFAULT_DNS"]
|
||||
local LOCAL_DNS = var["LOCAL_DNS"]
|
||||
local TUN_DNS = var["TUN_DNS"]
|
||||
@@ -317,20 +320,6 @@ function add_rule(var)
|
||||
|
||||
if DNSMASQ_CONF_FILE ~= "nil" then
|
||||
local conf_lines = {}
|
||||
if LISTEN_PORT then
|
||||
--Copy dnsmasq instance
|
||||
conf_lines = copy_instance({
|
||||
["LISTEN_PORT"] = LISTEN_PORT,
|
||||
["TMP_DNSMASQ_PATH"] = TMP_DNSMASQ_PATH,
|
||||
["return"] = "1"
|
||||
})
|
||||
--dhcp.leases to hostsMore actions
|
||||
local hosts = api.CACHE_PATH .. "/dhcp-hosts"
|
||||
sys.call("touch " .. hosts)
|
||||
tinsert(conf_lines, "addn-hosts=" .. hosts)
|
||||
else
|
||||
--Modify the default dnsmasq service
|
||||
end
|
||||
tinsert(conf_lines, string.format("conf-dir=%s", TMP_DNSMASQ_PATH))
|
||||
if dnsmasq_default_dns then
|
||||
for s in string.gmatch(dnsmasq_default_dns, '[^' .. "," .. ']+') do
|
||||
|
||||
@@ -5,8 +5,8 @@ include $(TOPDIR)/rules.mk
|
||||
LUCI_TITLE:=LuCI shared OpenWrt auth bridge for LinkEase apps
|
||||
LUCI_PKGARCH:=all
|
||||
|
||||
PKG_VERSION:=1.0.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_VERSION:=1.0.1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
include $(TOPDIR)/feeds/luci/luci.mk
|
||||
|
||||
|
||||
@@ -40,6 +40,50 @@ local function authority_host(authority)
|
||||
return authority:match("^([^:]+)") or authority
|
||||
end
|
||||
|
||||
local function valid_authority(authority)
|
||||
return authority and authority ~= "" and authority:match("^[A-Za-z0-9%._%-%[%]:]+$") ~= nil
|
||||
end
|
||||
|
||||
local function request_authority()
|
||||
local http = require "luci.http"
|
||||
local forwarded_host = http.getenv("HTTP_X_FORWARDED_HOST") or ""
|
||||
local request_host = http.getenv("HTTP_HOST") or ""
|
||||
|
||||
if valid_authority(forwarded_host) then
|
||||
return forwarded_host
|
||||
end
|
||||
if valid_authority(request_host) then
|
||||
return request_host
|
||||
end
|
||||
return ""
|
||||
end
|
||||
|
||||
local function request_scheme()
|
||||
local http = require "luci.http"
|
||||
local forwarded_proto = http.getenv("HTTP_X_FORWARDED_PROTO") or ""
|
||||
|
||||
if forwarded_proto == "https" then
|
||||
return "https"
|
||||
end
|
||||
if http.getenv("HTTPS") == "on" then
|
||||
return "https"
|
||||
end
|
||||
return "http"
|
||||
end
|
||||
|
||||
local function absolute_luci_url(path)
|
||||
if not path or path == "" or path:match("^https?://") then
|
||||
return path
|
||||
end
|
||||
|
||||
local authority = request_authority()
|
||||
if authority == "" then
|
||||
return path
|
||||
end
|
||||
|
||||
return request_scheme() .. "://" .. authority .. path
|
||||
end
|
||||
|
||||
local function valid_apps_return(value)
|
||||
if not value or value == "" then
|
||||
return false
|
||||
@@ -62,7 +106,7 @@ local function valid_apps_return(value)
|
||||
|
||||
local http = require "luci.http"
|
||||
local uci = require "luci.model.uci".cursor()
|
||||
local request_host = http.getenv("HTTP_HOST") or ""
|
||||
local request_host = request_authority()
|
||||
local lan_host = uci:get("network", "lan", "ipaddr") or ""
|
||||
local authority_host_value = authority_host(authority)
|
||||
|
||||
@@ -135,7 +179,7 @@ end
|
||||
|
||||
local function auth_finish_url()
|
||||
local dispatcher = require "luci.dispatcher"
|
||||
return dispatcher.build_url("admin", "services", "linkease_auth", "auth_finish")
|
||||
return absolute_luci_url(dispatcher.build_url("admin", "services", "linkease_auth", "auth_finish"))
|
||||
end
|
||||
|
||||
function linkease_auth()
|
||||
|
||||
@@ -17,7 +17,7 @@ LUCI_NAME:=luci-theme-footstrap
|
||||
FOOTSTRAP_VERSION?=
|
||||
ifneq ($(FOOTSTRAP_VERSION),)
|
||||
PKG_VERSION:=$(FOOTSTRAP_VERSION)
|
||||
PKG_RELEASE:=55
|
||||
PKG_RELEASE:=56
|
||||
endif
|
||||
|
||||
LUCI_TITLE:=Footstrap Theme
|
||||
@@ -78,46 +78,105 @@ define Package/luci-theme-footstrap/conffiles
|
||||
/etc/config/footstrap
|
||||
endef
|
||||
|
||||
# reload, never restart: rpcd holds sessions in memory, so `restart` logs out every LuCI user,
|
||||
# including the admin who just clicked Update. A session survives `reload` and dies across
|
||||
# `restart` — verified on a live router.
|
||||
# NO `rpcd reload` HERE, on install or removal — it used to be, and it was the more dangerous of
|
||||
# the two rpcd calls this package could make. Measured on an owrt2512 stand:
|
||||
#
|
||||
# AND RELOAD RE-READS THE PLUGINS, not only /usr/share/rpcd/acl.d/*. That correction matters,
|
||||
# because it is what makes the check below necessary rather than decorative. Measured on a
|
||||
# SNAPSHOT stand, where the `luci` object comes from the ucode plugin
|
||||
# /usr/share/rpcd/ucode/luci (24.10 and 25.12 use /usr/libexec/rpcd/luci):
|
||||
# 1. RELOAD IS A RE-EXEC, NOT A REFRESH. `/etc/init.d/rpcd reload` is `procd_send_signal rpcd` ->
|
||||
# SIGHUP -> rpcd freezes sessions and calls exec_self(): a full re-exec that re-scans the plugin
|
||||
# dirs and dlopen()s every .so. A plugin file that is absent or mid-write at that instant is
|
||||
# DROPPED, past one stderr line, and does NOT come back on its own:
|
||||
#
|
||||
# file removed + reload -> `ubus list` loses `luci` (and it does NOT come back on its own)
|
||||
# file removed + restart -> still gone
|
||||
# file restored + reload -> back
|
||||
# mv /usr/lib/rpcd/file.so /tmp/ ; rpcd reload -> `ubus list` loses `file`
|
||||
# file restored, no reload -> still missing
|
||||
# reload (or restart) -> back
|
||||
#
|
||||
# So a reload that lands while another package is replacing that file leaves rpcd without the
|
||||
# object, and every luci/getFeatures, luci/getTimezones and luci/getMountPoints call answers
|
||||
# `-32000 Object not found` until something reloads it again — the page then renders with the
|
||||
# system time blank and an RPCError box per call. Reported from the field on a SNAPSHOT router,
|
||||
# cleared by a reboot; nine days of uptime before it, so it was an upgrade that did it.
|
||||
# First measured this way on the `luci` ucode plugin (24.10/25.12: /usr/libexec/rpcd/luci) — a
|
||||
# reload racing another package's file replacement left every luci/getFeatures,
|
||||
# luci/getTimezones and luci/getMountPoints call answering `-32000 Object not found`, reported
|
||||
# from the field on a SNAPSHOT router, cleared only by a reboot. The SAME race hits `file`, and
|
||||
# losing `file` is worse: it is what makes System -> Backup/Flash Firmware's "Reset to
|
||||
# defaults" row silently disappear. view/system/flash.js computes has_rootfs_data from
|
||||
# /proc/mtd and /proc/mounts read through fs.trimmed(), wrapped in L.resolveDefault(..., '') —
|
||||
# so the -32000 `file` answers with reads as "no overlay" instead of as an error (OpenWrt forum
|
||||
# thread 251930, posts 97 and 109 — "fixed" by installing an unrelated package whose OWN
|
||||
# postinst reload happened to re-register `file`).
|
||||
#
|
||||
# Hence: reload, then ASK whether the object is there, and reload once more if it is not. A second
|
||||
# reload and not a restart, because the table above is the whole argument — reload already does
|
||||
# everything restart would do to the plugin set, and restart adds only the logout. If the object is
|
||||
# still missing after that, it is not this package's reload that removed it, and throwing every
|
||||
# admin out of LuCI would not bring it back.
|
||||
# 2. THIS PACKAGE HAS NOTHING FOR A RELOAD TO REFRESH. It registers no rpcd object at all — no
|
||||
# /usr/libexec/rpcd/* script, no /usr/lib/rpcd/*.so, only root/usr/share/rpcd/acl.d/*.json — so
|
||||
# a reload here only runs the dlopen risk above for every OTHER plugin, for zero gain of its own.
|
||||
#
|
||||
# 3. rpcd READS acl.d/*.json AT LOGIN, not only at start or on SIGHUP. Measured: narrow
|
||||
# rpcd.@login[0].read/write from '*' to an explicit group list, remove the ACL file with rpcd
|
||||
# already running -> `session access` for uci footstrap write answers false; put the file back
|
||||
# with NO reload, log in again -> true. A fresh login already sees a just-installed ACL.
|
||||
#
|
||||
# 4. On a stock router, root's rpcd login grants read='*' write='*' — blanket. `session access`
|
||||
# answers true even for an INVENTED object (measured against `uci totally_made_up_pkg_xyz`), so
|
||||
# the theme's ACL group is irrelevant to a root session from the start.
|
||||
#
|
||||
# The one case #3 does not cover: a session that logged in BEFORE this install, on a RESTRICTED
|
||||
# (non-'*') rpcd login — its in-memory ACL set predates the new grant, and only a fresh login
|
||||
# re-reads acl.d. Measured: that session stays false until it is forced to re-authenticate.
|
||||
# Ending the session (not reloading rpcd) fixes exactly that, with a narrower blast radius: the
|
||||
# postinst below ends a session only when a fresh login would actually gain the scope — denied
|
||||
# uci/footstrap/write right now, AND its own username's rpcd login lists this theme's ACL group —
|
||||
# so a restricted login the theme's grant was never added to (a second admin account, a monitoring
|
||||
# script's login) is left running: re-authenticating would deny it exactly the same as before.
|
||||
# Verified verbatim on the stand: a blanket-root session survived, a stale restricted session was
|
||||
# destroyed, the unauthenticated all-zero session was left untouched, and a fresh login answered
|
||||
# true. The one visible price: an admin on a restricted account WHOSE LOGIN ALREADY LISTS the
|
||||
# theme's group is logged out by their own install action and must log back in — the narrowest set
|
||||
# this can be, since a session whose login never grants the group gains nothing from re-logging in.
|
||||
define Package/luci-theme-footstrap/postinst
|
||||
#!/bin/sh
|
||||
[ -n "$${IPKG_INSTROOT}" ] || {
|
||||
# uci-defaults registers the theme; refresh rpcd + drop caches so LuCI sees it without a
|
||||
# reboot. Calling it ourselves is belt-and-braces: OpenWrt's default_postinst also runs
|
||||
# (then deletes) every /etc/uci-defaults/* we ship, so it executes twice per install. It is
|
||||
# uci-defaults registers the theme; drop the LuCI caches so it is seen without a reboot.
|
||||
# Calling it ourselves is belt-and-braces: OpenWrt's default_postinst also runs (then
|
||||
# deletes) every /etc/uci-defaults/* we ship, so it executes twice per install. It is
|
||||
# idempotent: the second pass finds the theme already registered and changes nothing.
|
||||
[ -f /etc/uci-defaults/30_luci-theme-footstrap ] && \
|
||||
sh /etc/uci-defaults/30_luci-theme-footstrap >/dev/null 2>&1 || true
|
||||
rm -f /tmp/luci-indexcache* /tmp/luci-modulecache/* >/dev/null 2>&1 || true
|
||||
/etc/init.d/rpcd reload >/dev/null 2>&1 || true
|
||||
# see the note above the define: a reload that raced another package's file replacement leaves
|
||||
# rpcd without the `luci` object, and nothing brings it back on its own
|
||||
ubus list 2>/dev/null | grep -qx luci || {
|
||||
sleep 1
|
||||
/etc/init.d/rpcd reload >/dev/null 2>&1 || true
|
||||
# See the note above the define: no reload. Instead, end a session only when re-authenticating
|
||||
# would actually hand it the theme's scope: it must be denied uci/footstrap/write right now
|
||||
# AND its own rpcd login entry must list this theme's ACL group, in either read or write — a
|
||||
# denied session whose login never grants that group (a second admin account or a monitoring
|
||||
# script's login the theme was never added to) stays denied after a fresh login too, so ending
|
||||
# it would only cost someone a session for nothing. Guarded on the `session` object existing at
|
||||
# all (a router with rpcd built without ubus session support just does nothing here).
|
||||
ubus list 2>/dev/null | grep -qx session && {
|
||||
for s in $$(ubus call session list 2>/dev/null | grep -o '"ubus_rpc_session": "[a-f0-9]*"' | cut -d'"' -f4); do
|
||||
# skips the all-zero session: that one is the UNAUTHENTICATED default and is never
|
||||
# denied anything by an ACL, so it is not this sweep's business.
|
||||
case "$$s" in *[!0]*) ;; *) continue ;; esac
|
||||
ubus call session access "{\"ubus_rpc_session\":\"$$s\",\"scope\":\"uci\",\"object\":\"footstrap\",\"function\":\"write\"}" 2>/dev/null | grep -q true && continue
|
||||
# A '*' login already answered true above and never reaches here. What is left is a
|
||||
# denied session: only destroy it if ITS OWN username's rpcd login actually lists the
|
||||
# theme's ACL group, so a fresh login would gain the scope this sweep is chasing.
|
||||
u=$$(ubus call session get "{\"ubus_rpc_session\":\"$$s\"}" 2>/dev/null | grep -o '"username": *"[^"]*"' | cut -d'"' -f4)
|
||||
[ -n "$$u" ] || continue
|
||||
# Enumerate every login section from `uci show`, not a `uci -q get` index count: the
|
||||
# latter stops at the FIRST section with no username option (a login block missing that
|
||||
# option is legal UCI) and never looks at any section past it — fails safe (a session is
|
||||
# kept, never wrongly destroyed) but skips real sections. `while read` takes one line at
|
||||
# a time instead of `for`'s word-splitting, because a username may itself contain a
|
||||
# space, which would otherwise split one section's line into two and skip it. The loop
|
||||
# runs in a subshell, so its answer cannot survive in a variable — it is echoed out and
|
||||
# captured instead. A show line's value comes single-quoted
|
||||
# (`rpcd.@login[0].username='root'`), stripped below.
|
||||
grant=$$(uci show rpcd 2>/dev/null | grep -F .username= | while read -r kv; do
|
||||
sect=$${kv%%.username=*}
|
||||
un=$${kv#*.username=}
|
||||
un=$${un#\'}
|
||||
un=$${un%\'}
|
||||
[ "$$un" = "$$u" ] || continue
|
||||
for grp in $$(uci -q get "$$sect.read") $$(uci -q get "$$sect.write"); do
|
||||
[ "$$grp" = luci-theme-footstrap ] && { echo 1; break 2; }
|
||||
done
|
||||
done)
|
||||
[ -n "$$grant" ] || continue
|
||||
ubus call session destroy "{\"ubus_rpc_session\":\"$$s\"}" >/dev/null 2>&1 || true
|
||||
done
|
||||
}
|
||||
}
|
||||
exit 0
|
||||
@@ -146,7 +205,9 @@ case "$$1" in *upgrade*) exit 0 ;; esac
|
||||
# upgrade). A real removal is the one time it should go — this branch never runs on upgrade.
|
||||
rm -rf /etc/footstrap >/dev/null 2>&1 || true
|
||||
rm -f /tmp/luci-indexcache* /tmp/luci-modulecache/* >/dev/null 2>&1 || true
|
||||
/etc/init.d/rpcd reload >/dev/null 2>&1 || true # see the postinst note: reload keeps sessions
|
||||
# No rpcd reload here either — see the postinst note. A removal drops nothing rpcd needs to
|
||||
# be told about (no plugin object, ever); a session still holding the now-gone ACL group is
|
||||
# simply denied uci/footstrap/write on its next call, which is the correct answer anyway.
|
||||
}
|
||||
endef
|
||||
|
||||
|
||||
@@ -100,7 +100,12 @@ for _f in "$D"/root/etc/config/*; do
|
||||
done
|
||||
# There is no self-update backend to deploy any more: the theme upgrades through the package feed
|
||||
# the installer adds, which is what a package manager is for.
|
||||
ssh "$R" "/etc/init.d/rpcd reload 2>/dev/null; rm -f /tmp/luci-indexcache*"
|
||||
#
|
||||
# No rpcd reload here either — same race as the Makefile's postinst note (Package/luci-theme-
|
||||
# footstrap/postinst): this copies files onto a router where the theme registers no rpcd object,
|
||||
# rpcd re-reads acl.d/*.json at LOGIN (not only on reload), and a developer's root session already
|
||||
# carries read='*' write='*', so the theme's ACL group is irrelevant to it regardless.
|
||||
ssh "$R" "rm -f /tmp/luci-indexcache*"
|
||||
|
||||
ssh "$R" "
|
||||
# Sweep every pre-consolidation name, including $N-top: the top bar is not a theme any more, so a
|
||||
|
||||
@@ -150,10 +150,22 @@
|
||||
* Large while the fields beside it went 38 -> 32.3 -> 43.7. The switch is a box that holds a
|
||||
* knob, which is the
|
||||
* box tier by definition. Local names rather than new global tokens: one component needs one
|
||||
* number and three things derived from it. */
|
||||
.cbi-checkbox { display: inline-flex; align-items: center; }
|
||||
* number and three things derived from it.
|
||||
*
|
||||
* Scoped to `.cbi-checkbox > label[for]`, not a bare `.cbi-checkbox > label`: ui.js's
|
||||
* Checkbox.render() appends a SECOND label when `tooltip` is set (form.Flag.tooltip — e.g.
|
||||
* luci-app-firewall's zones.js on `masq`), `label.cbi-tooltip-container` holding the hint icon,
|
||||
* and the bare selector painted it as a second switch too — measured on the gallery's tooltip
|
||||
* fixture, both labels 40x22 at rgb(55,62,71), flush against each other with no gap. `[for]` is
|
||||
* the discriminator rather than `input[type="checkbox"] + label`: Checkbox.render() always
|
||||
* builds the switch label as `E('label', { 'for': id })` and the tooltip label with no `for` at
|
||||
* all, so the attribute alone tells the two apart, at a fifth of the bytes — the sibling
|
||||
* combinator repeated across five rules (this one, its ::before/::after, and the two
|
||||
* forced-colors rules in 95-a11y-media.css) put cascade.css 186 B over its budget; rescoping
|
||||
* dropped it back under. */
|
||||
.cbi-checkbox { display: inline-flex; align-items: center; gap: var(--fs-space-2); }
|
||||
.cbi-checkbox > input[type="checkbox"] { position: absolute; opacity: 0; width: 0; height: 0; margin: 0; }
|
||||
.cbi-checkbox > label {
|
||||
.cbi-checkbox > label[for] {
|
||||
--sw-w: calc(40px * var(--fs-density-box));
|
||||
--sw-h: calc(22px * var(--fs-density-box));
|
||||
--sw-knob: calc(16px * var(--fs-density-box));
|
||||
@@ -172,10 +184,10 @@
|
||||
* The inset stays literal while the pill above scales: this is an accessibility floor, and a
|
||||
* floor that shrinks with a density setting is not one. At Compact the target is still 38x26.7,
|
||||
* over the minimum. */
|
||||
.cbi-checkbox > label::before {
|
||||
.cbi-checkbox > label[for]::before {
|
||||
content: ""; position: absolute; inset: -4px -2px;
|
||||
}
|
||||
.cbi-checkbox > label::after {
|
||||
.cbi-checkbox > label[for]::after {
|
||||
content: ""; position: absolute; top: var(--sw-pad); inset-inline-start: var(--sw-pad);
|
||||
width: var(--sw-knob); height: var(--sw-knob); border-radius: 50%;
|
||||
background: var(--fs-dim);
|
||||
@@ -184,6 +196,17 @@
|
||||
transform: translateX(0);
|
||||
transition: transform var(--fs-dur-move), background var(--fs-dur);
|
||||
}
|
||||
/* The tooltip-container label (above) is now unstyled by the switch rules, so it falls back to
|
||||
* the browser's plain inline label plus base's `cursor: help` — the icon glyph, no pill. It still
|
||||
* needs a gap from the switch, and `.cbi-checkbox`'s own `gap` above gives it one instead of a
|
||||
* margin declared here: the checkbox input inside that flex row is `position: absolute`, so it is
|
||||
* never a flex item, and `gap` only ever opens BETWEEN flex items — an ordinary `.cbi-checkbox`
|
||||
* with just the switch label has one flex item and gets no gap at all (measured: cb1's box is
|
||||
* still 40px wide, unchanged), while the tooltip fixture's two labels get exactly one. --fs-space-2
|
||||
* (8px), same number the removed margin used — the gap the theme already uses beside an inline
|
||||
* checkbox glyph (`.btn > input[type="checkbox"]` above) — measured on the gallery fixture: top
|
||||
* edges 0.5px apart (the icon glyph's own line box, not this gap) and left-to-right edge 8px,
|
||||
* both unchanged from before this rescope. */
|
||||
.cbi-checkbox > input[type="checkbox"]:checked + label { background: var(--fs-accent); border-color: transparent; }
|
||||
/* The travel is derived rather than hand-written, so it cannot drift out of step with the three
|
||||
* sizes above. The `- 2px` is the pill's two 1px BORDERS and is the whole subtlety: --sw-w is a
|
||||
|
||||
@@ -121,13 +121,16 @@
|
||||
padding-inline-start: calc(var(--fs-space-3) - 3px);
|
||||
}
|
||||
/* the toggle switch is a bare rounded box in forced colors — give the knob and
|
||||
* the track an edge so on/off is distinguishable at all */
|
||||
.cbi-checkbox > label { border: 1px solid ButtonBorder; }
|
||||
* the track an edge so on/off is distinguishable at all. Scoped via `label[for]`, matching
|
||||
* 60-inputs.css: a bare `.cbi-checkbox > label` also reaches ui.Checkbox's `tooltip` label
|
||||
* (the hint-icon one, unstyled otherwise, and built with no `for` attribute), which would
|
||||
* grow the same border a switch does not own. */
|
||||
.cbi-checkbox > label[for] { border: 1px solid ButtonBorder; }
|
||||
.cbi-checkbox > input[type="checkbox"]:checked + label {
|
||||
background: Highlight;
|
||||
forced-color-adjust: none;
|
||||
}
|
||||
.cbi-checkbox > label::after { background: ButtonBorder; }
|
||||
.cbi-checkbox > label[for]::after { background: ButtonBorder; }
|
||||
.cbi-checkbox > input[type="checkbox"]:checked + label::after { background: HighlightText; }
|
||||
/* icon-only buttons (rail toggle, search/appearance, logout) lose their hover fill */
|
||||
.fs-railtoggle, .fs-themerow { border-color: ButtonBorder; }
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=mptcp
|
||||
PKG_VERSION:=6.1
|
||||
PKG_RELEASE:=11
|
||||
PKG_RELEASE:=12
|
||||
|
||||
PKG_MAINTAINER:=Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
|
||||
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
|
||||
|
||||
@@ -76,7 +76,10 @@ global_multipath_settings() {
|
||||
if [ -n "$mptcp_scheduler" ]; then
|
||||
local prev_sched="$(cat /proc/sys/net/mptcp/mptcp_scheduler 2>/dev/null)"
|
||||
sysctl -qew net.mptcp.mptcp_scheduler="$mptcp_scheduler"
|
||||
[ -n "$prev_sched" ] && [ "$prev_sched" != "$mptcp_scheduler" ] && restart_scheduler_dependent_services
|
||||
# Restart dependents only when the live scheduler actually changed
|
||||
# (a rejected value leaves it as it was).
|
||||
local new_sched="$(cat /proc/sys/net/mptcp/mptcp_scheduler 2>/dev/null)"
|
||||
[ -n "$prev_sched" ] && [ -n "$new_sched" ] && [ "$prev_sched" != "$new_sched" ] && restart_scheduler_dependent_services
|
||||
fi
|
||||
[ -z "$mptcp_checksum" ] || sysctl -qew net.mptcp.mptcp_checksum="$mptcp_checksum"
|
||||
[ -z "$mptcp_debug" ] || sysctl -qew net.mptcp.mptcp_debug="$mptcp_debug"
|
||||
@@ -117,8 +120,27 @@ global_multipath_settings() {
|
||||
local obj="/usr/share/bpf/scheduler/mptcp_${sched}.o"
|
||||
[ -f "$obj" ] && bpftool struct_ops register "$obj" "$pin_dir/" >/dev/null 2>&1
|
||||
fi
|
||||
# Only a scheduler the kernel lists can be set. A legacy name left
|
||||
# in uci ('blest' from the v0.9x defaults is not a 6.x scheduler)
|
||||
# or a BPF object that failed to register makes the sysctl fail;
|
||||
# fall back to 'default' rather than silently keeping whatever was
|
||||
# live. The restart decision below compares what was live before
|
||||
# with what is live after: comparing against the requested name
|
||||
# restarted the proxy on every single reload while the request
|
||||
# kept failing (27 "Scheduler changed" restarts in one test run).
|
||||
local avail_sched="$(cat /proc/sys/net/mptcp/available_schedulers 2>/dev/null)"
|
||||
if [ -n "$avail_sched" ]; then
|
||||
case " $avail_sched " in
|
||||
*" $sched "*) ;;
|
||||
*)
|
||||
logger -t "MPTCP" "Scheduler '$sched' is not available (kernel offers: $avail_sched), using 'default'"
|
||||
sched="default"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
sysctl -qew net.mptcp.scheduler="$sched" >/dev/null 2>&1
|
||||
[ -n "$prev_sched" ] && [ "$prev_sched" != "$sched" ] && restart_scheduler_dependent_services
|
||||
local new_sched="$(cat /proc/sys/net/mptcp/scheduler 2>/dev/null)"
|
||||
[ -n "$prev_sched" ] && [ -n "$new_sched" ] && [ "$prev_sched" != "$new_sched" ] && restart_scheduler_dependent_services
|
||||
fi
|
||||
fi
|
||||
[ -z "$congestion" ] || sysctl -qew net.ipv4.tcp_congestion_control="$congestion"
|
||||
|
||||
@@ -7,11 +7,20 @@
|
||||
}
|
||||
EEOF
|
||||
}
|
||||
# Upstream (6.x) MPTCP exposes the scheduler list; the out-of-tree v0.9x
|
||||
# stack (blest/roundrobin/redundant/ecf) does not. Pick a default the running
|
||||
# kernel accepts: 'blest' on 6.x is rejected by the sysctl and /etc/init.d/mptcp
|
||||
# then falls back to 'default' on every reload while logging about it.
|
||||
if [ -f /proc/sys/net/mptcp/available_schedulers ]; then
|
||||
_omr_default_sched='default'
|
||||
else
|
||||
_omr_default_sched='blest'
|
||||
fi
|
||||
if [ "$(uci -q get network.globals.mptcp_path_manager)" = "" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set network.globals.multipath='enable'
|
||||
set network.globals.mptcp_path_manager='fullmesh'
|
||||
set network.globals.mptcp_scheduler='blest'
|
||||
set network.globals.mptcp_scheduler='${_omr_default_sched}'
|
||||
set network.globals.congestion='bbr2'
|
||||
set network.globals.mptcp_checksum=0
|
||||
set network.globals.mptcp_debug=0
|
||||
@@ -29,6 +38,20 @@ if [ "$(uci -q get network.globals.mptcp_path_manager)" = "" ]; then
|
||||
commit network
|
||||
EOF
|
||||
fi
|
||||
# Legacy v0.9x scheduler names carried over to a 6.x kernel: only the names
|
||||
# that never exist upstream are migrated (BPF schedulers are not listed in
|
||||
# available_schedulers until their object is registered, so they must not be
|
||||
# touched here).
|
||||
if [ -f /proc/sys/net/mptcp/available_schedulers ]; then
|
||||
case "$(uci -q get network.globals.mptcp_scheduler)" in
|
||||
blest|roundrobin|redundant|ecf)
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
set network.globals.mptcp_scheduler='default'
|
||||
commit network
|
||||
EOF
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
# BBRv2 is replaced by BBRv3
|
||||
if [ "$(uci -q get network.globals.congestion)" = "bbr2" ] && [ -z "$(uname -a | grep 5.4)" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
|
||||
Reference in new issue
Block a user