mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-22 16:43:35 +00:00
chore: update frontend build for v1.1.255 [skip ci]
This commit is contained in:
@@ -6,5 +6,5 @@ This branch contains the pre-built frontend assets for Claude Relay Service.
|
||||
|
||||
These files are automatically generated by the CI/CD pipeline.
|
||||
|
||||
Version: 1.1.254
|
||||
Build Date: 2026-01-08 04:09:07 UTC
|
||||
Version: 1.1.255
|
||||
Build Date: 2026-01-09 07:55:53 UTC
|
||||
|
||||
2
web/admin-spa/dist/assets/AccountUsageRecordsView-CQBbs_4H.js
vendored
Normal file
2
web/admin-spa/dist/assets/AccountUsageRecordsView-CQBbs_4H.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
web/admin-spa/dist/assets/AccountsView-BQst4KVn.css
vendored
Normal file
1
web/admin-spa/dist/assets/AccountsView-BQst4KVn.css
vendored
Normal file
File diff suppressed because one or more lines are too long
71
web/admin-spa/dist/assets/AccountsView-CSPWTAmg.js
vendored
Normal file
71
web/admin-spa/dist/assets/AccountsView-CSPWTAmg.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
.max-h-60[data-v-8ae1c2f4]::-webkit-scrollbar{width:6px}.max-h-60[data-v-8ae1c2f4]::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.max-h-60[data-v-8ae1c2f4]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.max-h-60[data-v-8ae1c2f4]::-webkit-scrollbar-thumb:hover{background:#9ca3af}
|
||||
1
web/admin-spa/dist/assets/ActionDropdown-CL6ANAoL.js
vendored
Normal file
1
web/admin-spa/dist/assets/ActionDropdown-CL6ANAoL.js
vendored
Normal file
File diff suppressed because one or more lines are too long
2
web/admin-spa/dist/assets/ApiKeyUsageRecordsView-Bq-VtO9R.js
vendored
Normal file
2
web/admin-spa/dist/assets/ApiKeyUsageRecordsView-Bq-VtO9R.js
vendored
Normal file
File diff suppressed because one or more lines are too long
30
web/admin-spa/dist/assets/ApiKeysView-BhDnZYtt.js
vendored
Normal file
30
web/admin-spa/dist/assets/ApiKeysView-BhDnZYtt.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
web/admin-spa/dist/assets/ApiStatsView-CRlzwPqI.css
vendored
Normal file
1
web/admin-spa/dist/assets/ApiStatsView-CRlzwPqI.css
vendored
Normal file
File diff suppressed because one or more lines are too long
6
web/admin-spa/dist/assets/ApiStatsView-YkEVUWSj.js
vendored
Normal file
6
web/admin-spa/dist/assets/ApiStatsView-YkEVUWSj.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
.modal[data-v-c629d8ff]{background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dark{background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
|
||||
1
web/admin-spa/dist/assets/ConfirmModal-DRYJxukj.js
vendored
Normal file
1
web/admin-spa/dist/assets/ConfirmModal-DRYJxukj.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as n}from"./index-CPpuj8f9.js";import{I as i,y as r,x as d,L as c,z as e,P as a,a5 as m}from"./vue-vendor-R8HMg95E.js";const f={key:0,class:"modal fixed inset-0 z-50 flex items-center justify-center p-4"},x={class:"modal-content mx-auto w-full max-w-md rounded-2xl bg-white p-6 shadow-xl dark:bg-gray-800"},g={class:"mb-6 flex items-start gap-4"},y={class:"flex-1"},u={class:"mb-2 text-lg font-bold text-gray-900 dark:text-white"},p={class:"whitespace-pre-line text-sm leading-relaxed text-gray-700 dark:text-gray-300"},h={class:"flex gap-3"},w={__name:"ConfirmModal",props:{show:{type:Boolean,required:!0},title:{type:String,default:""},message:{type:String,default:""},confirmText:{type:String,default:"继续"},cancelText:{type:String,default:"取消"}},emits:["confirm","cancel"],setup(o){return(s,t)=>(r(),i(m,{to:"body"},[o.show?(r(),d("div",f,[e("div",x,[e("div",g,[t[2]||(t[2]=e("div",{class:"flex h-12 w-12 flex-shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-yellow-400 to-yellow-500"},[e("i",{class:"fas fa-exclamation text-xl text-white"})],-1)),e("div",y,[e("h3",u,a(o.title),1),e("p",p,a(o.message),1)])]),e("div",h,[e("button",{class:"flex-1 rounded-xl bg-gray-100 px-4 py-2.5 font-medium text-gray-700 transition-colors hover:bg-gray-200 dark:bg-gray-700 dark:text-gray-200 dark:hover:bg-gray-600",onClick:t[0]||(t[0]=l=>s.$emit("cancel"))},a(o.cancelText),1),e("button",{class:"flex-1 rounded-xl bg-gradient-to-r from-yellow-500 to-orange-500 px-4 py-2.5 font-medium text-white shadow-sm transition-colors hover:from-yellow-600 hover:to-orange-600",onClick:t[1]||(t[1]=l=>s.$emit("confirm"))},a(o.confirmText),1)])])])):c("",!0)]))}},v=n(w,[["__scopeId","data-v-c629d8ff"]]);export{v as C};
|
||||
1
web/admin-spa/dist/assets/DashboardView-CJCkJ1Cw.css
vendored
Normal file
1
web/admin-spa/dist/assets/DashboardView-CJCkJ1Cw.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.custom-date-picker[data-v-a189a0de]{font-size:13px}@keyframes spin-a189a0de{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin[data-v-a189a0de]{animation:spin-a189a0de 1s linear infinite}
|
||||
1
web/admin-spa/dist/assets/DashboardView-Dkuct3B-.js
vendored
Normal file
1
web/admin-spa/dist/assets/DashboardView-Dkuct3B-.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
web/admin-spa/dist/assets/LoginView-B26F8DuK.js
vendored
Normal file
1
web/admin-spa/dist/assets/LoginView-B26F8DuK.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{c as b,r as f,q as y,x as a,z as s,R as w,L as d,Q as h,u as o,P as m,Y as _,K as u,aq as c,O as p,y as r}from"./vue-vendor-R8HMg95E.js";import{_ as v,u as k,a as S}from"./index-CPpuj8f9.js";import{T as L}from"./ThemeToggle-DuLHM0LE.js";import"./element-plus-BUfCkBQO.js";import"./vendor-Dr8jvgFu.js";const V={class:"flex min-h-screen items-center justify-center p-4 sm:p-6"},T={class:"fixed right-4 top-4 z-50"},N={class:"glass-strong w-full max-w-md rounded-xl p-6 shadow-2xl sm:rounded-2xl sm:p-8 md:rounded-3xl md:p-10"},I={class:"mb-6 text-center sm:mb-8"},q={class:"mx-auto mb-4 flex h-16 w-16 items-center justify-center overflow-hidden rounded-xl border border-gray-300/30 bg-gradient-to-br from-blue-500/20 to-purple-500/20 backdrop-blur-sm sm:mb-6 sm:h-20 sm:w-20 sm:rounded-2xl"},D=["src"],E={key:1,class:"fas fa-cloud text-2xl text-gray-700 sm:text-3xl"},j={key:1,class:"h-10 w-10 animate-pulse rounded bg-gray-300/50 sm:h-12 sm:w-12"},B={key:0,class:"header-title mb-2 text-2xl font-bold text-white sm:text-3xl"},M={key:1,class:"mx-auto mb-2 h-8 w-48 animate-pulse rounded bg-gray-300/50 sm:h-9 sm:w-64"},z=["disabled"],F={key:0,class:"fas fa-sign-in-alt mr-2"},O={key:1,class:"loading-spinner mr-2"},U={key:0,class:"mt-4 rounded-lg border border-red-500/30 bg-red-500/20 p-3 text-center text-xs text-red-800 backdrop-blur-sm dark:text-red-400 sm:mt-6 sm:rounded-xl sm:p-4 sm:text-sm"},A={__name:"LoginView",setup(C){const e=k(),g=S(),i=b(()=>e.oemLoading),n=f({username:"",password:""});y(()=>{g.initTheme(),e.loadOemSettings()});const x=async()=>{await e.login(n.value)};return(K,t)=>(r(),a("div",V,[s("div",T,[w(L,{mode:"dropdown"})]),s("div",N,[s("div",I,[s("div",q,[i.value?(r(),a("div",j)):(r(),a(h,{key:0},[o(e).oemSettings.siteIconData||o(e).oemSettings.siteIcon?(r(),a("img",{key:0,alt:"Logo",class:"h-10 w-10 object-contain sm:h-12 sm:w-12",src:o(e).oemSettings.siteIconData||o(e).oemSettings.siteIcon,onError:t[0]||(t[0]=l=>l.target.style.display="none")},null,40,D)):(r(),a("i",E))],64))]),!i.value&&o(e).oemSettings.siteName?(r(),a("h1",B,m(o(e).oemSettings.siteName),1)):i.value?(r(),a("div",M)):d("",!0),t[3]||(t[3]=s("p",{class:"text-base text-gray-600 dark:text-gray-400 sm:text-lg"},"管理后台",-1))]),s("form",{class:"space-y-4 sm:space-y-6",onSubmit:_(x,["prevent"])},[s("div",null,[t[4]||(t[4]=s("label",{class:"mb-2 block text-sm font-semibold text-gray-900 dark:text-gray-100 sm:mb-3",for:"username"},"用户名",-1)),u(s("input",{id:"username","onUpdate:modelValue":t[1]||(t[1]=l=>n.value.username=l),autocomplete:"username",class:"form-input w-full",name:"username",placeholder:"请输入用户名",required:"",type:"text"},null,512),[[c,n.value.username]])]),s("div",null,[t[5]||(t[5]=s("label",{class:"mb-2 block text-sm font-semibold text-gray-900 dark:text-gray-100 sm:mb-3",for:"password"},"密码",-1)),u(s("input",{id:"password","onUpdate:modelValue":t[2]||(t[2]=l=>n.value.password=l),autocomplete:"current-password",class:"form-input w-full",name:"password",placeholder:"请输入密码",required:"",type:"password"},null,512),[[c,n.value.password]])]),s("button",{class:"btn btn-primary w-full px-4 py-3 text-base font-semibold sm:px-6 sm:py-4 sm:text-lg",disabled:o(e).loginLoading,type:"submit"},[o(e).loginLoading?d("",!0):(r(),a("i",F)),o(e).loginLoading?(r(),a("div",O)):d("",!0),p(" "+m(o(e).loginLoading?"登录中...":"登录"),1)],8,z)],32),o(e).loginError?(r(),a("div",U,[t[6]||(t[6]=s("i",{class:"fas fa-exclamation-triangle mr-2"},null,-1)),p(m(o(e).loginError),1)])):d("",!0)])]))}},H=v(A,[["__scopeId","data-v-34e2cac0"]]);export{H as default};
|
||||
1
web/admin-spa/dist/assets/LogoTitle-BRJaHf96.js
vendored
Normal file
1
web/admin-spa/dist/assets/LogoTitle-BRJaHf96.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as d}from"./index-CPpuj8f9.js";import{x as t,y as a,z as l,Q as n,L as o,A as c,C as g,P as r}from"./vue-vendor-R8HMg95E.js";const u={class:"flex items-center gap-4"},y={class:"flex h-12 w-12 flex-shrink-0 items-center justify-center overflow-hidden rounded-xl border border-gray-300/30 bg-gradient-to-br from-blue-500/20 to-purple-500/20 backdrop-blur-sm dark:border-gray-600/30 dark:from-blue-600/20 dark:to-purple-600/20"},f=["src"],m={key:1,class:"fas fa-cloud text-xl text-gray-700 dark:text-gray-300"},h={key:1,class:"h-8 w-8 animate-pulse rounded bg-gray-300/50 dark:bg-gray-600/50"},x={class:"flex min-h-[48px] flex-col justify-center"},b={class:"flex items-center gap-3"},k={key:1,class:"h-8 w-64 animate-pulse rounded bg-gray-300/50 dark:bg-gray-600/50"},_={key:0,class:"mt-0.5 text-sm leading-tight text-gray-600 dark:text-gray-400"},p={__name:"LogoTitle",props:{loading:{type:Boolean,default:!1},title:{type:String,default:""},subtitle:{type:String,default:""},logoSrc:{type:String,default:""},titleClass:{type:String,default:"text-gray-900"}},setup(e){const i=s=>{s.target.style.display="none"};return(s,S)=>(a(),t("div",u,[l("div",y,[e.loading?(a(),t("div",h)):(a(),t(n,{key:0},[e.logoSrc?(a(),t("img",{key:0,alt:"Logo",class:"h-8 w-8 object-contain",src:e.logoSrc,onError:i},null,40,f)):(a(),t("i",m))],64))]),l("div",x,[l("div",b,[!e.loading&&e.title?(a(),t("h1",{key:0,class:g(["header-title text-2xl font-bold leading-tight",e.titleClass])},r(e.title),3)):e.loading?(a(),t("div",k)):o("",!0),c(s.$slots,"after-title",{},void 0,!0)]),e.subtitle?(a(),t("p",_,r(e.subtitle),1)):o("",!0)])]))}},w=d(p,[["__scopeId","data-v-15eb26fd"]]);export{w as L};
|
||||
@@ -1 +0,0 @@
|
||||
@keyframes pulse-15eb26fd{0%{opacity:.7}50%{opacity:.4}to{opacity:.7}}.animate-pulse[data-v-15eb26fd]{animation:pulse-15eb26fd 2s cubic-bezier(.4,0,.6,1) infinite}.header-title[data-v-15eb26fd]{text-shadow:0 1px 2px rgba(0,0,0,.1)}
|
||||
@@ -1 +0,0 @@
|
||||
.user-menu-button[data-v-1d65ae6c]{position:relative;overflow:hidden;min-height:38px}.user-menu-button[data-v-1d65ae6c]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.user-menu-button[data-v-1d65ae6c]:hover:before{left:100%}.user-menu-dropdown[data-v-1d65ae6c]{margin-top:8px;animation:slideDown-1d65ae6c .3s ease-out}@keyframes slideDown-1d65ae6c{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fade-enter-active[data-v-1d65ae6c],.fade-leave-active[data-v-1d65ae6c]{transition:opacity .3s}.fade-enter-from[data-v-1d65ae6c],.fade-leave-to[data-v-1d65ae6c]{opacity:0}
|
||||
1
web/admin-spa/dist/assets/MainLayout-CVynnN_X.js
vendored
Normal file
1
web/admin-spa/dist/assets/MainLayout-CVynnN_X.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
web/admin-spa/dist/assets/RecordDetailModal-BPCv9yhz.js
vendored
Normal file
1
web/admin-spa/dist/assets/RecordDetailModal-BPCv9yhz.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
web/admin-spa/dist/assets/RecordDetailModal-BqG3nD3p.css
vendored
Normal file
1
web/admin-spa/dist/assets/RecordDetailModal-BqG3nD3p.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.record-detail-modal[data-v-61b5b1eb] .el-dialog__header{margin:0;padding:16px 16px 0}.record-detail-modal[data-v-61b5b1eb] .el-dialog__body{padding:12px 16px 4px}.record-detail-modal[data-v-61b5b1eb] .el-dialog__footer{padding:8px 16px 16px}
|
||||
3
web/admin-spa/dist/assets/SettingsView-CCXyGwNL.js
vendored
Normal file
3
web/admin-spa/dist/assets/SettingsView-CCXyGwNL.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
web/admin-spa/dist/assets/SettingsView-CRb2BaAt.css
vendored
Normal file
1
web/admin-spa/dist/assets/SettingsView-CRb2BaAt.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.settings-container[data-v-d2705d9a]{min-height:calc(100vh - 300px)}.card[data-v-d2705d9a]{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;border:1px solid #e5e7eb}:root.dark .card[data-v-d2705d9a]{background:#1f2937;border:1px solid #374151;box-shadow:0 2px 12px #0000004d}.table-container[data-v-d2705d9a]{overflow:hidden;border-radius:8px;border:1px solid #f3f4f6}:root.dark .table-container[data-v-d2705d9a]{border:1px solid #4b5563}.table-row[data-v-d2705d9a]{transition:background-color .2s ease}.table-row[data-v-d2705d9a]:hover{background-color:#f9fafb}:root.dark .table-row[data-v-d2705d9a]:hover{background-color:#374151}.form-input[data-v-d2705d9a]{width:100%;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding:.5rem 1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.form-input[data-v-d2705d9a]:focus{border-color:transparent;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.btn[data-v-d2705d9a]{display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:600;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.btn[data-v-d2705d9a]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 2px}.btn-primary[data-v-d2705d9a]{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.btn-primary[data-v-d2705d9a]:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.btn-primary[data-v-d2705d9a]:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.btn-success[data-v-d2705d9a]{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.btn-success[data-v-d2705d9a]:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.btn-success[data-v-d2705d9a]:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.loading-spinner[data-v-d2705d9a]{height:1.25rem;width:1.25rem}@keyframes spin-d2705d9a{to{transform:rotate(360deg)}}.loading-spinner[data-v-d2705d9a]{animation:spin-d2705d9a 1s linear infinite;border-radius:9999px;border-width:2px;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-border-opacity: 1;border-top-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}
|
||||
File diff suppressed because one or more lines are too long
1
web/admin-spa/dist/assets/ThemeToggle-DuLHM0LE.js
vendored
Normal file
1
web/admin-spa/dist/assets/ThemeToggle-DuLHM0LE.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{c as f,x as s,y as t,L as u,R as k,J as v,u as o,T as g,z as e,C as d,Q as p,ac as y,P as b}from"./vue-vendor-R8HMg95E.js";import{_ as T,a as w}from"./index-CPpuj8f9.js";const M={class:"theme-toggle-container"},C=["title"],L={key:"sun",class:"fas fa-sun"},x={key:"moon",class:"fas fa-moon"},B={key:"auto",class:"fas fa-circle-half-stroke"},S={key:1,class:"theme-switch-wrapper"},N=["title"],V={class:"switch-handle"},z={class:"handle-icon"},$={key:0,class:"fas fa-sun"},D={key:1,class:"fas fa-moon"},E={key:2,class:"fas fa-circle-half-stroke"},F={key:2,class:"theme-segmented"},I=["title","onClick"],J={key:0,class:"ml-1 hidden sm:inline"},O={__name:"ThemeToggle",props:{mode:{type:String,default:"compact",validator:l=>["compact","dropdown","segmented"].includes(l)},showLabel:{type:Boolean,default:!1}},setup(l){const a=w(),h=[{value:"light",label:"浅色模式",shortLabel:"浅色",icon:"fas fa-sun"},{value:"dark",label:"深色模式",shortLabel:"深色",icon:"fas fa-moon"},{value:"auto",label:"跟随系统",shortLabel:"自动",icon:"fas fa-circle-half-stroke"}],m=f(()=>{const n=h.find(i=>i.value===a.themeMode);return n?`点击切换主题 - ${n.label}`:"切换主题"}),r=()=>{a.cycleThemeMode()},_=n=>{a.setThemeMode(n)};return(n,i)=>(t(),s("div",M,[l.mode==="compact"?(t(),s("button",{key:0,class:"theme-toggle-button",title:m.value,onClick:r},[k(g,{mode:"out-in",name:"fade"},{default:v(()=>[o(a).themeMode==="light"?(t(),s("i",L)):o(a).themeMode==="dark"?(t(),s("i",x)):(t(),s("i",B))]),_:1})],8,C)):l.mode==="dropdown"?(t(),s("div",S,[e("button",{class:d(["theme-switch",{"is-dark":o(a).themeMode==="dark","is-auto":o(a).themeMode==="auto"}]),title:m.value,onClick:r},[i[0]||(i[0]=e("div",{class:"switch-bg"},[e("div",{class:"stars"},[e("span"),e("span"),e("span")]),e("div",{class:"clouds"},[e("span"),e("span")])],-1)),e("div",V,[e("div",z,[o(a).themeMode==="light"?(t(),s("i",$)):o(a).themeMode==="dark"?(t(),s("i",D)):(t(),s("i",E))])])],10,N)])):l.mode==="segmented"?(t(),s("div",F,[(t(),s(p,null,y(h,c=>e("button",{key:c.value,class:d(["theme-segment",{active:o(a).themeMode===c.value}]),title:c.label,onClick:P=>_(c.value)},[e("i",{class:d(c.icon)},null,2),l.showLabel?(t(),s("span",J,b(c.shortLabel),1)):u("",!0)],10,I)),64))])):u("",!0)]))}},j=T(O,[["__scopeId","data-v-78f09a8c"]]);export{j as T};
|
||||
1
web/admin-spa/dist/assets/TutorialView-BjIHOtH3.css
vendored
Normal file
1
web/admin-spa/dist/assets/TutorialView-BjIHOtH3.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.tutorial-container[data-v-01fa9f4e]{min-height:calc(100vh - 300px)}.tutorial-content[data-v-01fa9f4e]{animation:fadeIn-01fa9f4e .3s ease-in-out}@keyframes fadeIn-01fa9f4e{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}code[data-v-01fa9f4e]{font-family:Fira Code,Monaco,Menlo,Ubuntu Mono,monospace}.tutorial-content h4[data-v-01fa9f4e]{scroll-margin-top:100px}.tutorial-content .bg-gradient-to-r[data-v-01fa9f4e]{transition:all .2s ease}.tutorial-content .bg-gradient-to-r[data-v-01fa9f4e]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}html.dark[data-v-01fa9f4e] .bg-gray-100{background-color:#1f2937!important;border:1px solid rgba(75,85,99,.5)}html.dark[data-v-01fa9f4e] .bg-gray-700{background-color:#1a202c!important;border:1px solid rgba(75,85,99,.6)}html.dark[data-v-01fa9f4e] button.bg-gray-800{background-color:#3b82f6!important;border:1px solid rgba(59,130,246,.8);box-shadow:0 2px 8px #3b82f666;color:#fff!important}html.dark[data-v-01fa9f4e] button:not(.bg-gray-800).text-gray-600{color:#9ca3af!important}html.dark[data-v-01fa9f4e] button:not(.bg-gray-800).hover\:text-gray-900:hover{color:#d1d5db!important}html.dark[data-v-01fa9f4e] .bg-gray-900{background-color:#1e293b!important;border:1px solid rgba(71,85,105,.6);box-shadow:inset 0 1px 2px #0003}html.dark[data-v-01fa9f4e] a{color:#60a5fa!important;text-decoration:underline}html.dark[data-v-01fa9f4e] a:hover{color:#93c5fd!important}html.dark[data-v-01fa9f4e] code.rounded{background-color:#334155!important;border:1px solid rgba(100,116,139,.6);color:#fbbf24!important;padding:.125rem .375rem}html.dark[data-v-01fa9f4e] .border-blue-200{border-color:#3b82f680!important}html.dark[data-v-01fa9f4e] .bg-blue-50{background-color:#2563eb26!important;border:1px solid rgba(59,130,246,.3)}html.dark[data-v-01fa9f4e] .border-green-200{border-color:#22c55e80!important}html.dark[data-v-01fa9f4e] .bg-green-50{background-color:#22c55e26!important;border:1px solid rgba(34,197,94,.3)}html.dark[data-v-01fa9f4e] .border-yellow-200{border-color:#facc1580!important}html.dark[data-v-01fa9f4e] .bg-yellow-50{background-color:#facc1526!important;border:1px solid rgba(250,204,21,.3)}html.dark[data-v-01fa9f4e] .border-indigo-200{border-color:#6366f180!important}html.dark[data-v-01fa9f4e] .bg-indigo-50{background-color:#6366f126!important;border:1px solid rgba(99,102,241,.3)}html.dark[data-v-01fa9f4e] .border-purple-200{border-color:#a855f780!important}html.dark[data-v-01fa9f4e] .from-purple-50{background:linear-gradient(to right,#a855f726,#ec489926)!important;border:1px solid rgba(168,85,247,.3)}html.dark[data-v-01fa9f4e] .from-blue-50{background:linear-gradient(to right,#3b82f626,#6366f126)!important;border:1px solid rgba(59,130,246,.3)}html.dark[data-v-01fa9f4e] .from-green-50{background:linear-gradient(to right,#22c55e26,#10b98126)!important;border:1px solid rgba(34,197,94,.3)}html.dark[data-v-01fa9f4e] .text-gray-400{color:#9ca3af!important}html.dark[data-v-01fa9f4e] .text-gray-600{color:#d1d5db!important}html.dark[data-v-01fa9f4e] .text-gray-700{color:#e5e7eb!important}html.dark[data-v-01fa9f4e] .text-gray-800{color:#f3f4f6!important}html.dark[data-v-01fa9f4e] .text-blue-600,html.dark[data-v-01fa9f4e] .text-blue-700{color:#60a5fa!important}html.dark[data-v-01fa9f4e] .text-blue-800{color:#93c5fd!important}html.dark[data-v-01fa9f4e] .text-green-700{color:#4ade80!important}html.dark[data-v-01fa9f4e] .text-green-800{color:#86efac!important}html.dark[data-v-01fa9f4e] .text-yellow-700{color:#facc15!important}html.dark[data-v-01fa9f4e] .text-yellow-800{color:#fde047!important}html.dark[data-v-01fa9f4e] .text-indigo-700{color:#818cf8!important}html.dark[data-v-01fa9f4e] .text-indigo-800{color:#a5b4fc!important}html.dark[data-v-01fa9f4e] h3,html.dark[data-v-01fa9f4e] h4,html.dark[data-v-01fa9f4e] h5,html.dark[data-v-01fa9f4e] h6{color:#f9fafb!important}html.dark[data-v-01fa9f4e] .bg-yellow-100{background-color:#facc1533!important}html.dark[data-v-01fa9f4e] .bg-indigo-100{background-color:#6366f133!important}html.dark[data-v-01fa9f4e] .bg-white{background-color:#374151!important;border:1px solid rgba(107,114,128,.5)}html.dark[data-v-01fa9f4e] .border-purple-700{border-color:#a855f799!important}html.dark[data-v-01fa9f4e] .border-blue-100{border-color:#3b82f666!important}html.dark[data-v-01fa9f4e] .border-green-100{border-color:#22c55e66!important}html.dark[data-v-01fa9f4e] .border-purple-100{border-color:#a855f766!important}html.dark[data-v-01fa9f4e] .text-green-400{color:#4ade80!important}html.dark[data-v-01fa9f4e] .text-gray-300{color:#d1d5db!important}
|
||||
1
web/admin-spa/dist/assets/TutorialView-D8ufWLHi.js
vendored
Normal file
1
web/admin-spa/dist/assets/TutorialView-D8ufWLHi.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
web/admin-spa/dist/assets/UserDashboardView-Dul2P1E2.js
vendored
Normal file
1
web/admin-spa/dist/assets/UserDashboardView-Dul2P1E2.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
web/admin-spa/dist/assets/UserLoginView-BfwyxG_p.js
vendored
Normal file
1
web/admin-spa/dist/assets/UserLoginView-BfwyxG_p.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
web/admin-spa/dist/assets/UserManagementView-Xv_8lzwW.js
vendored
Normal file
1
web/admin-spa/dist/assets/UserManagementView-Xv_8lzwW.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
web/admin-spa/dist/assets/WindowCountdown-DF7xS2EZ.js
vendored
Normal file
1
web/admin-spa/dist/assets/WindowCountdown-DF7xS2EZ.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
import{r as P,c as y,o as L,q as R,V as B,x as r,y as o,z as n,L as c,P as l,O as g,B as w,C as v}from"./vue-vendor-R8HMg95E.js";const E={class:"space-y-1"},I={class:"flex items-center justify-between text-xs"},j={class:"text-gray-500"},F={key:0,class:"font-medium text-gray-700"},V={key:1,class:"font-medium text-orange-600"},z={key:2,class:"font-medium text-gray-500"},D={key:3,class:"font-medium text-gray-400"},W={key:0,class:"space-y-0.5"},K={key:0,class:"space-y-0.5"},O={class:"flex items-center justify-between text-xs"},U={class:"text-gray-600"},A={class:"h-1 w-full rounded-full bg-gray-200"},G={key:1,class:"space-y-0.5"},H={class:"flex items-center justify-between text-xs"},J={class:"text-gray-600"},Q={class:"h-1 w-full rounded-full bg-gray-200"},X={key:2,class:"space-y-0.5"},Y={class:"flex items-center justify-between text-xs"},Z={class:"text-gray-600"},ee={class:"h-1 w-full rounded-full bg-gray-200"},te={key:1,class:"text-xs text-gray-500"},se={key:0},ne={key:1},re={key:2},ie={__name:"WindowCountdown",props:{label:{type:String,default:"窗口限制"},rateLimitWindow:{type:Number,required:!0},windowStartTime:{type:Number,default:null},windowEndTime:{type:Number,default:null},windowRemainingSeconds:{type:Number,default:null},currentRequests:{type:Number,default:0},requestLimit:{type:Number,default:0},currentTokens:{type:Number,default:0},tokenLimit:{type:Number,default:0},currentCost:{type:Number,default:0},costLimit:{type:Number,default:0},showProgress:{type:Boolean,default:!0},showTooltip:{type:Boolean,default:!1}},setup(a){const s=a,i=P(s.windowRemainingSeconds);let u=null;const m=y(()=>s.windowStartTime===null?"notStarted":i.value===0?"expired":i.value>0?"active":"unknown"),_=y(()=>s.requestLimit>0),T=y(()=>s.tokenLimit>0),C=y(()=>s.costLimit>0),q=e=>{if(e==null)return"--:--";const t=Math.floor(e/3600),d=Math.floor(e%3600/60),k=e%60;return t>0?`${t}h ${d}m`:d>0?`${d}m ${k}s`:`${k}s`},N=e=>{const t=Math.floor(e/3600),d=Math.floor(e%3600/60);return t>0?`${t}小时${d}分钟`:`${d}分钟`},h=e=>e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),x=()=>{if(!s.requestLimit||s.requestLimit===0)return 0;const e=(s.currentRequests||0)/s.requestLimit*100;return Math.min(e,100)},S=()=>{const e=x();return e>=100?"bg-red-500":e>=80?"bg-yellow-500":"bg-blue-500"},p=()=>{if(!s.tokenLimit||s.tokenLimit===0)return 0;const e=(s.currentTokens||0)/s.tokenLimit*100;return Math.min(e,100)},M=()=>{const e=p();return e>=100?"bg-red-500":e>=80?"bg-yellow-500":"bg-purple-500"},b=()=>{if(!s.costLimit||s.costLimit===0)return 0;const e=(s.currentCost||0)/s.costLimit*100;return Math.min(e,100)},$=()=>{const e=b();return e>=100?"bg-red-500":e>=80?"bg-yellow-500":"bg-green-500"},f=()=>{if(s.windowEndTime&&i.value>0){const e=Date.now(),t=Math.max(0,Math.floor((s.windowEndTime-e)/1e3));i.value=t,t===0&&u&&(clearInterval(u),u=null)}};return L(()=>s.windowRemainingSeconds,e=>{i.value=e}),L(()=>s.windowEndTime,e=>{e&&(f(),!u&&i.value>0&&(u=setInterval(f,1e3)))}),R(()=>{s.windowEndTime&&i.value>0&&(f(),u=setInterval(f,1e3))}),B(()=>{u&&clearInterval(u)}),(e,t)=>(o(),r("div",E,[n("div",I,[n("span",j,l(a.label),1),m.value==="active"?(o(),r("span",F,[t[0]||(t[0]=n("i",{class:"fas fa-clock mr-1 text-blue-500"},null,-1)),g(" "+l(q(i.value)),1)])):m.value==="expired"?(o(),r("span",V,t[1]||(t[1]=[n("i",{class:"fas fa-sync-alt mr-1"},null,-1),g(" 窗口已过期 ",-1)]))):m.value==="notStarted"?(o(),r("span",z,t[2]||(t[2]=[n("i",{class:"fas fa-pause-circle mr-1"},null,-1),g(" 窗口未激活 ",-1)]))):(o(),r("span",D,l(a.rateLimitWindow)+" 分钟 ",1))]),a.showProgress?(o(),r("div",W,[_.value?(o(),r("div",K,[n("div",O,[t[3]||(t[3]=n("span",{class:"text-gray-400"},"请求",-1)),n("span",U,l(a.currentRequests||0)+"/"+l(a.requestLimit),1)]),n("div",A,[n("div",{class:v(["h-1 rounded-full transition-all duration-300",S()]),style:w({width:x()+"%"})},null,6)])])):c("",!0),T.value?(o(),r("div",G,[n("div",H,[t[4]||(t[4]=n("span",{class:"text-gray-400"},"Token",-1)),n("span",J,l(h(a.currentTokens||0))+"/"+l(h(a.tokenLimit)),1)]),n("div",Q,[n("div",{class:v(["h-1 rounded-full transition-all duration-300",M()]),style:w({width:p()+"%"})},null,6)])])):c("",!0),C.value?(o(),r("div",X,[n("div",Y,[t[5]||(t[5]=n("span",{class:"text-gray-400"},"费用",-1)),n("span",Z," $"+l((a.currentCost||0).toFixed(2))+"/$"+l(a.costLimit.toFixed(2)),1)]),n("div",ee,[n("div",{class:v(["h-1 rounded-full transition-all duration-300",$()]),style:w({width:b()+"%"})},null,6)])])):c("",!0)])):c("",!0),m.value==="active"&&a.showTooltip?(o(),r("div",te,[t[6]||(t[6]=n("i",{class:"fas fa-info-circle mr-1"},null,-1)),i.value<60?(o(),r("span",se,"即将重置")):i.value<300?(o(),r("span",ne,l(Math.ceil(i.value/60))+" 分钟后重置",1)):(o(),r("span",re,l(N(i.value))+"后重置",1))])):c("",!0)]))}};export{ie as _};
|
||||
13
web/admin-spa/dist/assets/chart-yFHxLHpB.js
vendored
Normal file
13
web/admin-spa/dist/assets/chart-yFHxLHpB.js
vendored
Normal file
File diff suppressed because one or more lines are too long
13
web/admin-spa/dist/assets/element-plus-BUfCkBQO.js
vendored
Normal file
13
web/admin-spa/dist/assets/element-plus-BUfCkBQO.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
BIN
web/admin-spa/dist/assets/fa-brands-400-D1LuMI3I.ttf
vendored
BIN
web/admin-spa/dist/assets/fa-brands-400-D1LuMI3I.ttf
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
web/admin-spa/dist/assets/fa-solid-900-D0aA9rwL.ttf
vendored
BIN
web/admin-spa/dist/assets/fa-solid-900-D0aA9rwL.ttf
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
23
web/admin-spa/dist/assets/index-CPpuj8f9.js
vendored
Normal file
23
web/admin-spa/dist/assets/index-CPpuj8f9.js
vendored
Normal file
File diff suppressed because one or more lines are too long
5
web/admin-spa/dist/assets/index-D5kx_c7_.css
vendored
Normal file
5
web/admin-spa/dist/assets/index-D5kx_c7_.css
vendored
Normal file
File diff suppressed because one or more lines are too long
171
web/admin-spa/dist/assets/vendor-Dr8jvgFu.js
vendored
171
web/admin-spa/dist/assets/vendor-Dr8jvgFu.js
vendored
File diff suppressed because one or more lines are too long
25
web/admin-spa/dist/assets/vue-vendor-R8HMg95E.js
vendored
Normal file
25
web/admin-spa/dist/assets/vue-vendor-R8HMg95E.js
vendored
Normal file
File diff suppressed because one or more lines are too long
34
web/admin-spa/dist/index.html
vendored
34
web/admin-spa/dist/index.html
vendored
@@ -1,34 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Claude Relay Service - 管理后台</title>
|
||||
|
||||
<!-- Google Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- Font Awesome -->
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
||||
|
||||
<!-- 预连接到CDN域名,加速资源加载 -->
|
||||
<link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>
|
||||
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
|
||||
<link rel="dns-prefetch" href="https://cdn.jsdelivr.net">
|
||||
<link rel="dns-prefetch" href="https://cdnjs.cloudflare.com">
|
||||
<script type="module" crossorigin src="/admin-next/assets/index-CPpuj8f9.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/admin-next/assets/vue-vendor-R8HMg95E.js">
|
||||
<link rel="modulepreload" crossorigin href="/admin-next/assets/vendor-Dr8jvgFu.js">
|
||||
<link rel="modulepreload" crossorigin href="/admin-next/assets/element-plus-BUfCkBQO.js">
|
||||
<link rel="stylesheet" crossorigin href="/admin-next/assets/element-plus-BWHEPMNp.css">
|
||||
<link rel="stylesheet" crossorigin href="/admin-next/assets/index-D5kx_c7_.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user