This commit is contained in:
parent
c08bcbafca
commit
8131d573c8
70 changed files with 3569 additions and 3594 deletions
10
ui/components.d.ts
vendored
10
ui/components.d.ts
vendored
|
@ -7,16 +7,10 @@ export {}
|
||||||
/* prettier-ignore */
|
/* prettier-ignore */
|
||||||
declare module 'vue' {
|
declare module 'vue' {
|
||||||
export interface GlobalComponents {
|
export interface GlobalComponents {
|
||||||
AutoFight: typeof import('./src/components/AutoFight.vue')['default']
|
|
||||||
Buffer: typeof import('./src/components/buffer.vue')['default']
|
Buffer: typeof import('./src/components/buffer.vue')['default']
|
||||||
Bufferinfo: typeof import('./src/components/bufferinfo.vue')['default']
|
Bufferinfo: typeof import('./src/components/bufferinfo.vue')['default']
|
||||||
Clue: typeof import('./src/components/Clue.vue')['default']
|
|
||||||
DailyMission: typeof import('./src/components/DailyMission.vue')['default']
|
|
||||||
Depotswitch: typeof import('./src/components/Depotswitch.vue')['default']
|
|
||||||
DropDown: typeof import('./src/components/DropDown.vue')['default']
|
DropDown: typeof import('./src/components/DropDown.vue')['default']
|
||||||
Email: typeof import('./src/components/Email.vue')['default']
|
|
||||||
HelpText: typeof import('./src/components/HelpText.vue')['default']
|
HelpText: typeof import('./src/components/HelpText.vue')['default']
|
||||||
LongTasks: typeof import('./src/components/LongTasks.vue')['default']
|
|
||||||
MaaBasic: typeof import('./src/components/MaaBasic.vue')['default']
|
MaaBasic: typeof import('./src/components/MaaBasic.vue')['default']
|
||||||
MaaRogue: typeof import('./src/components/MaaRogue.vue')['default']
|
MaaRogue: typeof import('./src/components/MaaRogue.vue')['default']
|
||||||
NAlert: typeof import('naive-ui')['NAlert']
|
NAlert: typeof import('naive-ui')['NAlert']
|
||||||
|
@ -71,6 +65,7 @@ declare module 'vue' {
|
||||||
NSwitch: typeof import('naive-ui')['NSwitch']
|
NSwitch: typeof import('naive-ui')['NSwitch']
|
||||||
NTab: typeof import('naive-ui')['NTab']
|
NTab: typeof import('naive-ui')['NTab']
|
||||||
NTable: typeof import('naive-ui')['NTable']
|
NTable: typeof import('naive-ui')['NTable']
|
||||||
|
NTabPane: typeof import('naive-ui')['NTabPane']
|
||||||
NTabs: typeof import('naive-ui')['NTabs']
|
NTabs: typeof import('naive-ui')['NTabs']
|
||||||
NTag: typeof import('naive-ui')['NTag']
|
NTag: typeof import('naive-ui')['NTag']
|
||||||
NTd: typeof import('naive-ui')['NTd']
|
NTd: typeof import('naive-ui')['NTd']
|
||||||
|
@ -85,17 +80,14 @@ declare module 'vue' {
|
||||||
NWatermark: typeof import('naive-ui')['NWatermark']
|
NWatermark: typeof import('naive-ui')['NWatermark']
|
||||||
PlanEditor: typeof import('./src/components/PlanEditor.vue')['default']
|
PlanEditor: typeof import('./src/components/PlanEditor.vue')['default']
|
||||||
ReclamationAlgorithm: typeof import('./src/components/ReclamationAlgorithm.vue')['default']
|
ReclamationAlgorithm: typeof import('./src/components/ReclamationAlgorithm.vue')['default']
|
||||||
Recruit: typeof import('./src/components/Recruit.vue')['default']
|
|
||||||
RouterLink: typeof import('vue-router')['RouterLink']
|
RouterLink: typeof import('vue-router')['RouterLink']
|
||||||
RouterView: typeof import('vue-router')['RouterView']
|
RouterView: typeof import('vue-router')['RouterView']
|
||||||
SecretFront: typeof import('./src/components/SecretFront.vue')['default']
|
SecretFront: typeof import('./src/components/SecretFront.vue')['default']
|
||||||
SKLand: typeof import('./src/components/SKLand.vue')['default']
|
|
||||||
SlickOperatorSelect: typeof import('./src/components/SlickOperatorSelect.vue')['default']
|
SlickOperatorSelect: typeof import('./src/components/SlickOperatorSelect.vue')['default']
|
||||||
Sss: typeof import('./src/components/Sss.vue')['default']
|
Sss: typeof import('./src/components/Sss.vue')['default']
|
||||||
TaskDialog: typeof import('./src/components/TaskDialog.vue')['default']
|
TaskDialog: typeof import('./src/components/TaskDialog.vue')['default']
|
||||||
TriggerDialog: typeof import('./src/components/TriggerDialog.vue')['default']
|
TriggerDialog: typeof import('./src/components/TriggerDialog.vue')['default']
|
||||||
TriggerEditor: typeof import('./src/components/TriggerEditor.vue')['default']
|
TriggerEditor: typeof import('./src/components/TriggerEditor.vue')['default']
|
||||||
TriggerString: typeof import('./src/components/TriggerString.vue')['default']
|
TriggerString: typeof import('./src/components/TriggerString.vue')['default']
|
||||||
WeeklyPlan: typeof import('./src/components/WeeklyPlan.vue')['default']
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
48
ui/dist/assets/Alert.js
vendored
48
ui/dist/assets/Alert.js
vendored
|
@ -1,48 +0,0 @@
|
||||||
import{an as M,am as u,aM as v,as as I,au as i,av as T,ar as O,ay as $,B as V,ax as N,b0 as D,j as R,aC as G,r as J,H as l,be as K,b1 as Y,aY as c,aF as q,b5 as Q,b4 as U,b2 as X,aG as Z}from"./_plugin-vue_export-helper.js";import{av as oo,L as eo,I as ro,W as no,J as so,S as lo}from"./main.js";function to(r){const{lineHeight:o,borderRadius:d,fontWeightStrong:f,baseColor:t,dividerColor:C,actionColor:y,textColor1:g,textColor2:s,closeColorHover:h,closeColorPressed:b,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,infoColor:e,successColor:x,warningColor:z,errorColor:S,fontSize:P}=r;return Object.assign(Object.assign({},oo),{fontSize:P,lineHeight:o,titleFontWeight:f,borderRadius:d,border:`1px solid ${C}`,color:y,titleTextColor:g,iconColor:s,contentTextColor:s,closeBorderRadius:d,closeColorHover:h,closeColorPressed:b,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,borderInfo:`1px solid ${u(t,v(e,{alpha:.25}))}`,colorInfo:u(t,v(e,{alpha:.08})),titleTextColorInfo:g,iconColorInfo:e,contentTextColorInfo:s,closeColorHoverInfo:h,closeColorPressedInfo:b,closeIconColorInfo:m,closeIconColorHoverInfo:p,closeIconColorPressedInfo:n,borderSuccess:`1px solid ${u(t,v(x,{alpha:.25}))}`,colorSuccess:u(t,v(x,{alpha:.08})),titleTextColorSuccess:g,iconColorSuccess:x,contentTextColorSuccess:s,closeColorHoverSuccess:h,closeColorPressedSuccess:b,closeIconColorSuccess:m,closeIconColorHoverSuccess:p,closeIconColorPressedSuccess:n,borderWarning:`1px solid ${u(t,v(z,{alpha:.33}))}`,colorWarning:u(t,v(z,{alpha:.08})),titleTextColorWarning:g,iconColorWarning:z,contentTextColorWarning:s,closeColorHoverWarning:h,closeColorPressedWarning:b,closeIconColorWarning:m,closeIconColorHoverWarning:p,closeIconColorPressedWarning:n,borderError:`1px solid ${u(t,v(S,{alpha:.25}))}`,colorError:u(t,v(S,{alpha:.08})),titleTextColorError:g,iconColorError:S,contentTextColorError:s,closeColorHoverError:h,closeColorPressedError:b,closeIconColorError:m,closeIconColorHoverError:p,closeIconColorPressedError:n})}const io={name:"Alert",common:M,self:to},ao=I("alert",`
|
|
||||||
line-height: var(--n-line-height);
|
|
||||||
border-radius: var(--n-border-radius);
|
|
||||||
position: relative;
|
|
||||||
transition: background-color .3s var(--n-bezier);
|
|
||||||
background-color: var(--n-color);
|
|
||||||
text-align: start;
|
|
||||||
word-break: break-word;
|
|
||||||
`,[i("border",`
|
|
||||||
border-radius: inherit;
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
transition: border-color .3s var(--n-bezier);
|
|
||||||
border: var(--n-border);
|
|
||||||
pointer-events: none;
|
|
||||||
`),T("closable",[I("alert-body",[i("title",`
|
|
||||||
padding-right: 24px;
|
|
||||||
`)])]),i("icon",{color:"var(--n-icon-color)"}),I("alert-body",{padding:"var(--n-padding)"},[i("title",{color:"var(--n-title-text-color)"}),i("content",{color:"var(--n-content-text-color)"})]),eo({originalTransition:"transform .3s var(--n-bezier)",enterToProps:{transform:"scale(1)"},leaveToProps:{transform:"scale(0.9)"}}),i("icon",`
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
display: flex;
|
|
||||||
width: var(--n-icon-size);
|
|
||||||
height: var(--n-icon-size);
|
|
||||||
font-size: var(--n-icon-size);
|
|
||||||
margin: var(--n-icon-margin);
|
|
||||||
`),i("close",`
|
|
||||||
transition:
|
|
||||||
color .3s var(--n-bezier),
|
|
||||||
background-color .3s var(--n-bezier);
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
margin: var(--n-close-margin);
|
|
||||||
`),T("show-icon",[I("alert-body",{paddingLeft:"calc(var(--n-icon-margin-left) + var(--n-icon-size) + var(--n-icon-margin-right))"})]),T("right-adjust",[I("alert-body",{paddingRight:"calc(var(--n-close-size) + var(--n-padding) + 2px)"})]),I("alert-body",`
|
|
||||||
border-radius: var(--n-border-radius);
|
|
||||||
transition: border-color .3s var(--n-bezier);
|
|
||||||
`,[i("title",`
|
|
||||||
transition: color .3s var(--n-bezier);
|
|
||||||
font-size: 16px;
|
|
||||||
line-height: 19px;
|
|
||||||
font-weight: var(--n-title-font-weight);
|
|
||||||
`,[O("& +",[i("content",{marginTop:"9px"})])]),i("content",{transition:"color .3s var(--n-bezier)",fontSize:"var(--n-font-size)"})]),i("icon",{transition:"color .3s var(--n-bezier)"})]),co=Object.assign(Object.assign({},$.props),{title:String,showIcon:{type:Boolean,default:!0},type:{type:String,default:"default"},bordered:{type:Boolean,default:!0},closable:Boolean,onClose:Function,onAfterLeave:Function,onAfterHide:Function}),uo=V({name:"Alert",inheritAttrs:!1,props:co,setup(r){const{mergedClsPrefixRef:o,mergedBorderedRef:d,inlineThemeDisabled:f,mergedRtlRef:t}=N(r),C=$("Alert","-alert",ao,io,r,o),y=D("Alert",t,o),g=R(()=>{const{common:{cubicBezierEaseInOut:n},self:e}=C.value,{fontSize:x,borderRadius:z,titleFontWeight:S,lineHeight:P,iconSize:E,iconMargin:H,iconMarginRtl:_,closeIconSize:W,closeBorderRadius:w,closeSize:A,closeMargin:B,closeMarginRtl:L,padding:j}=e,{type:a}=r,{left:k,right:F}=Y(H);return{"--n-bezier":n,"--n-color":e[c("color",a)],"--n-close-icon-size":W,"--n-close-border-radius":w,"--n-close-color-hover":e[c("closeColorHover",a)],"--n-close-color-pressed":e[c("closeColorPressed",a)],"--n-close-icon-color":e[c("closeIconColor",a)],"--n-close-icon-color-hover":e[c("closeIconColorHover",a)],"--n-close-icon-color-pressed":e[c("closeIconColorPressed",a)],"--n-icon-color":e[c("iconColor",a)],"--n-border":e[c("border",a)],"--n-title-text-color":e[c("titleTextColor",a)],"--n-content-text-color":e[c("contentTextColor",a)],"--n-line-height":P,"--n-border-radius":z,"--n-font-size":x,"--n-title-font-weight":S,"--n-icon-size":E,"--n-icon-margin":H,"--n-icon-margin-rtl":_,"--n-close-size":A,"--n-close-margin":B,"--n-close-margin-rtl":L,"--n-padding":j,"--n-icon-margin-left":k,"--n-icon-margin-right":F}}),s=f?G("alert",R(()=>r.type[0]),g,r):void 0,h=J(!0),b=()=>{const{onAfterLeave:n,onAfterHide:e}=r;n&&n(),e&&e()};return{rtlEnabled:y,mergedClsPrefix:o,mergedBordered:d,visible:h,handleCloseClick:()=>{var n;Promise.resolve((n=r.onClose)===null||n===void 0?void 0:n.call(r)).then(e=>{e!==!1&&(h.value=!1)})},handleAfterLeave:()=>{b()},mergedTheme:C,cssVars:f?void 0:g,themeClass:s==null?void 0:s.themeClass,onRender:s==null?void 0:s.onRender}},render(){var r;return(r=this.onRender)===null||r===void 0||r.call(this),l(K,{onAfterLeave:this.handleAfterLeave},{default:()=>{const{mergedClsPrefix:o,$slots:d}=this,f={class:[`${o}-alert`,this.themeClass,this.closable&&`${o}-alert--closable`,this.showIcon&&`${o}-alert--show-icon`,!this.title&&this.closable&&`${o}-alert--right-adjust`,this.rtlEnabled&&`${o}-alert--rtl`],style:this.cssVars,role:"alert"};return this.visible?l("div",Object.assign({},q(this.$attrs,f)),this.closable&&l(Q,{clsPrefix:o,class:`${o}-alert__close`,onClick:this.handleCloseClick}),this.bordered&&l("div",{class:`${o}-alert__border`}),this.showIcon&&l("div",{class:`${o}-alert__icon`,"aria-hidden":"true"},U(d.icon,()=>[l(X,{clsPrefix:o},{default:()=>{switch(this.type){case"success":return l(lo,null);case"info":return l(so,null);case"warning":return l(no,null);case"error":return l(ro,null);default:return null}}})])),l("div",{class:[`${o}-alert-body`,this.mergedBordered&&`${o}-alert-body--bordered`]},Z(d.header,t=>{const C=t||this.title;return C?l("div",{class:`${o}-alert-body__title`},C):null}),d.default&&l("div",{class:`${o}-alert-body__content`},d))):null}})}});export{uo as _};
|
|
30
ui/dist/assets/Avatar.js
vendored
30
ui/dist/assets/Avatar.js
vendored
|
@ -1,30 +0,0 @@
|
||||||
import{o as I,i as M}from"./utils.js";import{a as W}from"./Tag.js";import{z as G,as as T,a_ as K,ar as P,bT as N,au as _,ay as k,B as V,ax as A,r as p,c as H,j as y,aY as Y,aC as D,c2 as U,s as X,az as q,u as J,w as Q,b4 as Z,H as O,aG as ee,bf as re}from"./_plugin-vue_export-helper.js";import{at as oe}from"./main.js";const te=G("n-avatar-group"),ne=T("avatar",`
|
|
||||||
width: var(--n-merged-size);
|
|
||||||
height: var(--n-merged-size);
|
|
||||||
color: #FFF;
|
|
||||||
font-size: var(--n-font-size);
|
|
||||||
display: inline-flex;
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden;
|
|
||||||
text-align: center;
|
|
||||||
border: var(--n-border);
|
|
||||||
border-radius: var(--n-border-radius);
|
|
||||||
--n-merged-color: var(--n-color);
|
|
||||||
background-color: var(--n-merged-color);
|
|
||||||
transition:
|
|
||||||
border-color .3s var(--n-bezier),
|
|
||||||
background-color .3s var(--n-bezier),
|
|
||||||
color .3s var(--n-bezier);
|
|
||||||
`,[K(P("&","--n-merged-color: var(--n-color-modal);")),N(P("&","--n-merged-color: var(--n-color-popover);")),P("img",`
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
`),_("text",`
|
|
||||||
white-space: nowrap;
|
|
||||||
display: inline-block;
|
|
||||||
position: absolute;
|
|
||||||
left: 50%;
|
|
||||||
top: 50%;
|
|
||||||
`),T("icon",`
|
|
||||||
vertical-align: bottom;
|
|
||||||
font-size: calc(var(--n-merged-size) - 6px);
|
|
||||||
`),_("text","line-height: 1.25")]),ae=Object.assign(Object.assign({},k.props),{size:[String,Number],src:String,circle:{type:Boolean,default:void 0},objectFit:String,round:{type:Boolean,default:void 0},bordered:{type:Boolean,default:void 0},onError:Function,fallbackSrc:String,intersectionObserverOptions:Object,lazy:Boolean,onLoad:Function,renderPlaceholder:Function,renderFallback:Function,imgProps:Object,color:String}),ce=V({name:"Avatar",props:ae,setup(o){const{mergedClsPrefixRef:l,inlineThemeDisabled:m}=A(o),g=p(!1);let d=null;const c=p(null),s=p(null),R=()=>{const{value:e}=c;if(e&&(d===null||d!==e.innerHTML)){d=e.innerHTML;const{value:r}=s;if(r){const{offsetWidth:t,offsetHeight:a}=r,{offsetWidth:n,offsetHeight:j}=e,x=.9,S=Math.min(t/n*x,a/j*x,1);e.style.transform=`translateX(-50%) translateY(-50%) scale(${S})`}}},b=H(te,null),i=y(()=>{const{size:e}=o;if(e)return e;const{size:r}=b||{};return r||"medium"}),u=k("Avatar","-avatar",ne,oe,o,l),z=H(W,null),f=y(()=>{if(b)return!0;const{round:e,circle:r}=o;return e!==void 0||r!==void 0?e||r:z?z.roundRef.value:!1}),v=y(()=>b?!0:o.bordered||!1),F=y(()=>{const e=i.value,r=f.value,t=v.value,{color:a}=o,{self:{borderRadius:n,fontSize:j,color:x,border:S,colorModal:w,colorPopover:B},common:{cubicBezierEaseInOut:$}}=u.value;let E;return typeof e=="number"?E=`${e}px`:E=u.value.self[Y("height",e)],{"--n-font-size":j,"--n-border":t?S:"none","--n-border-radius":r?"50%":n,"--n-color":a||x,"--n-color-modal":a||w,"--n-color-popover":a||B,"--n-bezier":$,"--n-merged-size":`var(--n-avatar-size-override, ${E})`}}),h=m?D("avatar",y(()=>{const e=i.value,r=f.value,t=v.value,{color:a}=o;let n="";return e&&(typeof e=="number"?n+=`a${e}`:n+=e[0]),r&&(n+="b"),t&&(n+="c"),a&&(n+=U(a)),n}),F,o):void 0,L=p(!o.lazy);X(()=>{if(o.lazy&&o.intersectionObserverOptions){let e;const r=q(()=>{e==null||e(),e=void 0,o.lazy&&(e=I(s.value,o.intersectionObserverOptions,L))});J(()=>{r(),e==null||e()})}}),Q(()=>{var e;return o.src||((e=o.imgProps)===null||e===void 0?void 0:e.src)},()=>{g.value=!1});const C=p(!o.lazy);return{textRef:c,selfRef:s,mergedRoundRef:f,mergedClsPrefix:l,fitTextTransform:R,cssVars:m?void 0:F,themeClass:h==null?void 0:h.themeClass,onRender:h==null?void 0:h.onRender,hasLoadError:g,shouldStartLoading:L,loaded:C,mergedOnError:e=>{if(!L.value)return;g.value=!0;const{onError:r,imgProps:{onError:t}={}}=o;r==null||r(e),t==null||t(e)},mergedOnLoad:e=>{const{onLoad:r,imgProps:{onLoad:t}={}}=o;r==null||r(e),t==null||t(e),C.value=!0}}},render(){var o,l;const{$slots:m,src:g,mergedClsPrefix:d,lazy:c,onRender:s,loaded:R,hasLoadError:b,imgProps:i={}}=this;s==null||s();let u;const z=!R&&!b&&(this.renderPlaceholder?this.renderPlaceholder():(l=(o=this.$slots).placeholder)===null||l===void 0?void 0:l.call(o));return this.hasLoadError?u=this.renderFallback?this.renderFallback():Z(m.fallback,()=>[O("img",{src:this.fallbackSrc,style:{objectFit:this.objectFit}})]):u=ee(m.default,f=>{if(f)return O(re,{onResize:this.fitTextTransform},{default:()=>O("span",{ref:"textRef",class:`${d}-avatar__text`},f)});if(g||i.src){const v=this.src||i.src;return O("img",Object.assign(Object.assign({},i),{loading:M&&!this.intersectionObserverOptions&&c?"lazy":"eager",src:c&&this.intersectionObserverOptions?this.shouldStartLoading?v:void 0:v,"data-image-src":v,onLoad:this.mergedOnLoad,onError:this.mergedOnError,style:[i.style||"",{objectFit:this.objectFit},z?{height:"0",width:"0",visibility:"hidden",position:"absolute"}:""]}))}}),O("span",{ref:"selfRef",class:[`${d}-avatar`,this.themeClass],style:this.cssVars},u,c&&z)}});export{ce as _};
|
|
18
ui/dist/assets/BasementSkill.js
vendored
18
ui/dist/assets/BasementSkill.js
vendored
File diff suppressed because one or more lines are too long
34
ui/dist/assets/DebugConsole.js
vendored
34
ui/dist/assets/DebugConsole.js
vendored
|
@ -1,4 +1,4 @@
|
||||||
import{_ as U,a as X}from"./IosArrowForward.js";import{ar as z,as as v,av as C,au as b,a_ as q,bT as A,ay as S,B as O,ax as G,b0 as J,D as Q,b as W,j as L,aC as Y,H as p,z as Z,c as F,bH as ee,r as k,s as oe,w as re,bu as V,bv as i,bt as _,bw as s,bC as H,bD as M,bo as r,F as T,by as N,bE as I,bx as te,i as le,aX as ne,b3 as se,k as ie}from"./_plugin-vue_export-helper.js";import{ak as ae}from"./main.js";import{S as de,_ as ce,a as ue}from"./Scrollbar.js";import{_ as me}from"./Flex.js";import{_ as ve}from"./Slider.js";import"./utils.js";import"./use-locale.js";import"./download.js";import"./get-slot.js";const be=z([v("list",`
|
import{_ as K,a as U}from"./IosArrowForward.js";import{ay as z,aw as b,aJ as w,ax as m,b6 as J,b7 as Q,aA as H,D as O,az as W,aL as X,E as q,b as G,j as M,aD as Y,I as p,A as Z,c as A,bn as ee,r as C,u as oe,w as re,bR as V,bS as i,bQ as _,bT as s,bV as I,b_ as S,bM as r,F as T,bU as N,bX as L,bW as le,i as te,bm as ne,bo as se,k as ie}from"./_plugin-vue_export-helper.js";import{b3 as ae,b1 as de,S as ce,_ as ue,b4 as ve,D as be}from"./main.js";const me=z([b("list",`
|
||||||
--n-merged-border-color: var(--n-border-color);
|
--n-merged-border-color: var(--n-border-color);
|
||||||
--n-merged-color: var(--n-color);
|
--n-merged-color: var(--n-color);
|
||||||
--n-merged-color-hover: var(--n-color-hover);
|
--n-merged-color-hover: var(--n-color-hover);
|
||||||
|
@ -12,30 +12,30 @@ import{_ as U,a as X}from"./IosArrowForward.js";import{ar as z,as as v,av as C,a
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
color: var(--n-text-color);
|
color: var(--n-text-color);
|
||||||
background-color: var(--n-merged-color);
|
background-color: var(--n-merged-color);
|
||||||
`,[C("show-divider",[v("list-item",[z("&:not(:last-child)",[b("divider",`
|
`,[w("show-divider",[b("list-item",[z("&:not(:last-child)",[m("divider",`
|
||||||
background-color: var(--n-merged-border-color);
|
background-color: var(--n-merged-border-color);
|
||||||
`)])])]),C("clickable",[v("list-item",`
|
`)])])]),w("clickable",[b("list-item",`
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
`)]),C("bordered",`
|
`)]),w("bordered",`
|
||||||
border: 1px solid var(--n-merged-border-color);
|
border: 1px solid var(--n-merged-border-color);
|
||||||
border-radius: var(--n-border-radius);
|
border-radius: var(--n-border-radius);
|
||||||
`),C("hoverable",[v("list-item",`
|
`),w("hoverable",[b("list-item",`
|
||||||
border-radius: var(--n-border-radius);
|
border-radius: var(--n-border-radius);
|
||||||
`,[z("&:hover",`
|
`,[z("&:hover",`
|
||||||
background-color: var(--n-merged-color-hover);
|
background-color: var(--n-merged-color-hover);
|
||||||
`,[b("divider",`
|
`,[m("divider",`
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
`)])])]),C("bordered, hoverable",[v("list-item",`
|
`)])])]),w("bordered, hoverable",[b("list-item",`
|
||||||
padding: 12px 20px;
|
padding: 12px 20px;
|
||||||
`),b("header, footer",`
|
`),m("header, footer",`
|
||||||
padding: 12px 20px;
|
padding: 12px 20px;
|
||||||
`)]),b("header, footer",`
|
`)]),m("header, footer",`
|
||||||
padding: 12px 0;
|
padding: 12px 0;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
transition: border-color .3s var(--n-bezier);
|
transition: border-color .3s var(--n-bezier);
|
||||||
`,[z("&:not(:last-child)",`
|
`,[z("&:not(:last-child)",`
|
||||||
border-bottom: 1px solid var(--n-merged-border-color);
|
border-bottom: 1px solid var(--n-merged-border-color);
|
||||||
`)]),v("list-item",`
|
`)]),b("list-item",`
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 12px 0;
|
padding: 12px 0;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
@ -45,15 +45,15 @@ import{_ as U,a as X}from"./IosArrowForward.js";import{ar as z,as as v,av as C,a
|
||||||
transition:
|
transition:
|
||||||
background-color .3s var(--n-bezier),
|
background-color .3s var(--n-bezier),
|
||||||
border-color .3s var(--n-bezier);
|
border-color .3s var(--n-bezier);
|
||||||
`,[b("prefix",`
|
`,[m("prefix",`
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
flex: 0;
|
flex: 0;
|
||||||
`),b("suffix",`
|
`),m("suffix",`
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
flex: 0;
|
flex: 0;
|
||||||
`),b("main",`
|
`),m("main",`
|
||||||
flex: 1;
|
flex: 1;
|
||||||
`),b("divider",`
|
`),m("divider",`
|
||||||
height: 1px;
|
height: 1px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
|
@ -62,12 +62,12 @@ import{_ as U,a as X}from"./IosArrowForward.js";import{ar as z,as as v,av as C,a
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
transition: background-color .3s var(--n-bezier);
|
transition: background-color .3s var(--n-bezier);
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
`)])]),q(v("list",`
|
`)])]),J(b("list",`
|
||||||
--n-merged-color-hover: var(--n-color-hover-modal);
|
--n-merged-color-hover: var(--n-color-hover-modal);
|
||||||
--n-merged-color: var(--n-color-modal);
|
--n-merged-color: var(--n-color-modal);
|
||||||
--n-merged-border-color: var(--n-border-color-modal);
|
--n-merged-border-color: var(--n-border-color-modal);
|
||||||
`)),A(v("list",`
|
`)),Q(b("list",`
|
||||||
--n-merged-color-hover: var(--n-color-hover-popover);
|
--n-merged-color-hover: var(--n-color-hover-popover);
|
||||||
--n-merged-color: var(--n-color-popover);
|
--n-merged-color: var(--n-color-popover);
|
||||||
--n-merged-border-color: var(--n-border-color-popover);
|
--n-merged-border-color: var(--n-border-color-popover);
|
||||||
`))]),pe=Object.assign(Object.assign({},S.props),{size:{type:String,default:"medium"},bordered:Boolean,clickable:Boolean,hoverable:Boolean,showDivider:{type:Boolean,default:!0}}),K=Z("n-list"),_e=O({name:"List",props:pe,setup(e){const{mergedClsPrefixRef:o,inlineThemeDisabled:t,mergedRtlRef:m}=G(e),c=J("List",m,o),l=S("List","-list",be,ae,e,o);Q(K,{showDividerRef:W(e,"showDivider"),mergedClsPrefixRef:o});const f=L(()=>{const{common:{cubicBezierEaseInOut:g},self:{fontSize:R,textColor:n,color:d,colorModal:B,colorPopover:D,borderColor:w,borderColorModal:P,borderColorPopover:j,borderRadius:y,colorHover:$,colorHoverModal:E,colorHoverPopover:h}}=l.value;return{"--n-font-size":R,"--n-bezier":g,"--n-text-color":n,"--n-color":d,"--n-border-radius":y,"--n-border-color":w,"--n-border-color-modal":P,"--n-border-color-popover":j,"--n-color-modal":B,"--n-color-popover":D,"--n-color-hover":$,"--n-color-hover-modal":E,"--n-color-hover-popover":h}}),u=t?Y("list",void 0,f,e):void 0;return{mergedClsPrefix:o,rtlEnabled:c,cssVars:t?void 0:f,themeClass:u==null?void 0:u.themeClass,onRender:u==null?void 0:u.onRender}},render(){var e;const{$slots:o,mergedClsPrefix:t,onRender:m}=this;return m==null||m(),p("ul",{class:[`${t}-list`,this.rtlEnabled&&`${t}-list--rtl`,this.bordered&&`${t}-list--bordered`,this.showDivider&&`${t}-list--show-divider`,this.hoverable&&`${t}-list--hoverable`,this.clickable&&`${t}-list--clickable`,this.themeClass],style:this.cssVars},o.header?p("div",{class:`${t}-list__header`},o.header()):null,(e=o.default)===null||e===void 0?void 0:e.call(o),o.footer?p("div",{class:`${t}-list__footer`},o.footer()):null)}}),fe=O({name:"ListItem",setup(){const e=F(K,null);return e||ee("list-item","`n-list-item` must be placed in `n-list`."),{showDivider:e.showDividerRef,mergedClsPrefix:e.mergedClsPrefixRef}},render(){const{$slots:e,mergedClsPrefix:o}=this;return p("li",{class:`${o}-list-item`},e.prefix?p("div",{class:`${o}-list-item__prefix`},e.prefix()):null,e.default?p("div",{class:`${o}-list-item__main`},e):null,e.suffix?p("div",{class:`${o}-list-item__suffix`},e.suffix()):null,this.showDivider&&p("div",{class:`${o}-list-item__divider`}))}}),ge={style:{"text-align":"center",margin:"0"}},De={__name:"DebugConsole",setup(e){const o=F("axios"),t=k([]),m=k(""),c=k([]),l=k(0),f=k(null);oe(()=>{o.get("/debug/log").then(({data:n})=>{t.value=n}),u("runtime.log")});function u(n){m.value=n,o.get(`/debug/log/${n}`).then(({data:d})=>{l.value=0,c.value=d,l.value=c.value.length-1})}const g=L(()=>{var n;return(n=c.value[l.value])==null?void 0:n.screenshot}),R=L(()=>`/debug/screenshot/${g.value}`);return re(l,()=>{var n;(n=f.value)==null||n.scrollTo({top:0})}),(n,d)=>{const B=fe,D=_e,w=de,P=ce,j=ve,y=ne,$=se,E=ue,h=me;return _(),V(h,{style:{width:"100%",height:"100%",gap:"0","overflow-y":"hidden"}},{default:i(()=>[s(w,{style:{width:"220px"}},{default:i(()=>[s(D,{hoverable:"",clickable:"",bordered:""},{default:i(()=>[(_(!0),H(T,null,M(r(t),a=>(_(),V(B,{onClick:x=>u(a)},{default:i(()=>[ie(I(a),1)]),_:2},1032,["onClick"]))),256))]),_:1})]),_:1}),s(h,{vertical:"",style:{flex:"1",height:"100%",overflow:"hidden"}},{default:i(()=>[N("h2",ge,I(r(m)),1),r(g)?(_(),V(P,{key:0,src:r(R),alt:r(g),width:"100%",style:{"max-height":"50%"},"object-fit":"scale-down"},null,8,["src","alt"])):te("",!0),s(w,{ref_key:"log_scroll",ref:f,style:{width:"100%"},"content-style":"font-size: 16px; user-select: text; padding: 0 12px"},{default:i(()=>{var a;return[(_(!0),H(T,null,M((a=r(c)[r(l)])==null?void 0:a.log,x=>(_(),H("div",null,[N("code",null,I(x),1)]))),256))]}),_:1},512),s(h,{align:"center",style:{padding:"0 12px 6px"}},{default:i(()=>[s(j,{style:{flex:"1"},"show-tooltip":"",value:r(l),"onUpdate:value":d[0]||(d[0]=a=>le(l)?l.value=a:null),min:0,max:r(c).length-1,"format-tooltip":a=>{var x;return(x=r(c)[a])==null?void 0:x.time}},null,8,["value","max","format-tooltip"]),s(E,null,{default:i(()=>[s($,{disabled:r(l)==0,onClick:d[1]||(d[1]=a=>l.value--)},{icon:i(()=>[s(y,null,{default:i(()=>[s(r(U))]),_:1})]),_:1},8,["disabled"]),s($,{disabled:r(l)==r(c).length-1,onClick:d[2]||(d[2]=a=>l.value++)},{icon:i(()=>[s(y,null,{default:i(()=>[s(r(X))]),_:1})]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1})}}};export{De as default};
|
`))]),pe=Object.assign(Object.assign({},H.props),{size:{type:String,default:"medium"},bordered:Boolean,clickable:Boolean,hoverable:Boolean,showDivider:{type:Boolean,default:!0}}),F=Z("n-list"),_e=O({name:"List",props:pe,setup(e){const{mergedClsPrefixRef:o,inlineThemeDisabled:l,mergedRtlRef:v}=W(e),c=X("List",v,o),t=H("List","-list",me,ae,e,o);q(F,{showDividerRef:G(e,"showDivider"),mergedClsPrefixRef:o});const f=M(()=>{const{common:{cubicBezierEaseInOut:g},self:{fontSize:R,textColor:n,color:d,colorModal:D,colorPopover:B,borderColor:$,borderColorModal:P,borderColorPopover:j,borderRadius:k,colorHover:y,colorHoverModal:E,colorHoverPopover:h}}=t.value;return{"--n-font-size":R,"--n-bezier":g,"--n-text-color":n,"--n-color":d,"--n-border-radius":k,"--n-border-color":$,"--n-border-color-modal":P,"--n-border-color-popover":j,"--n-color-modal":D,"--n-color-popover":B,"--n-color-hover":y,"--n-color-hover-modal":E,"--n-color-hover-popover":h}}),u=l?Y("list",void 0,f,e):void 0;return{mergedClsPrefix:o,rtlEnabled:c,cssVars:l?void 0:f,themeClass:u==null?void 0:u.themeClass,onRender:u==null?void 0:u.onRender}},render(){var e;const{$slots:o,mergedClsPrefix:l,onRender:v}=this;return v==null||v(),p("ul",{class:[`${l}-list`,this.rtlEnabled&&`${l}-list--rtl`,this.bordered&&`${l}-list--bordered`,this.showDivider&&`${l}-list--show-divider`,this.hoverable&&`${l}-list--hoverable`,this.clickable&&`${l}-list--clickable`,this.themeClass],style:this.cssVars},o.header?p("div",{class:`${l}-list__header`},o.header()):null,(e=o.default)===null||e===void 0?void 0:e.call(o),o.footer?p("div",{class:`${l}-list__footer`},o.footer()):null)}}),fe=O({name:"ListItem",setup(){const e=A(F,null);return e||ee("list-item","`n-list-item` must be placed in `n-list`."),{showDivider:e.showDividerRef,mergedClsPrefix:e.mergedClsPrefixRef}},render(){const{$slots:e,mergedClsPrefix:o}=this;return p("li",{class:`${o}-list-item`},e.prefix?p("div",{class:`${o}-list-item__prefix`},e.prefix()):null,e.default?p("div",{class:`${o}-list-item__main`},e):null,e.suffix?p("div",{class:`${o}-list-item__suffix`},e.suffix()):null,this.showDivider&&p("div",{class:`${o}-list-item__divider`}))}}),ge={style:{"text-align":"center",margin:"0"}},Ce={__name:"DebugConsole",setup(e){const o=A("axios"),l=C([]),v=C(""),c=C([]),t=C(0),f=C(null);oe(()=>{o.get("/debug/log").then(({data:n})=>{l.value=n}),u("runtime.log")});function u(n){v.value=n,o.get(`/debug/log/${n}`).then(({data:d})=>{t.value=0,c.value=d,t.value=c.value.length-1})}const g=M(()=>{var n;return(n=c.value[t.value])==null?void 0:n.screenshot}),R=M(()=>`/debug/screenshot/${g.value}`);return re(t,()=>{var n;(n=f.value)==null||n.scrollTo({top:0})}),(n,d)=>{const D=fe,B=_e,$=ce,P=ue,j=ve,k=ne,y=se,E=be,h=de;return _(),V(h,{style:{width:"100%",height:"100%",gap:"0","overflow-y":"hidden"}},{default:i(()=>[s($,{style:{width:"220px"}},{default:i(()=>[s(B,{hoverable:"",clickable:"",bordered:""},{default:i(()=>[(_(!0),I(T,null,S(r(l),a=>(_(),V(D,{onClick:x=>u(a)},{default:i(()=>[ie(L(a),1)]),_:2},1032,["onClick"]))),256))]),_:1})]),_:1}),s(h,{vertical:"",style:{flex:"1",height:"100%",overflow:"hidden"}},{default:i(()=>[N("h2",ge,L(r(v)),1),r(g)?(_(),V(P,{key:0,src:r(R),alt:r(g),width:"100%",style:{"max-height":"50%"},"object-fit":"scale-down"},null,8,["src","alt"])):le("",!0),s($,{ref_key:"log_scroll",ref:f,style:{width:"100%"},"content-style":"font-size: 16px; user-select: text; padding: 0 12px"},{default:i(()=>{var a;return[(_(!0),I(T,null,S((a=r(c)[r(t)])==null?void 0:a.log,x=>(_(),I("div",null,[N("code",null,L(x),1)]))),256))]}),_:1},512),s(h,{align:"center",style:{padding:"0 12px 6px"}},{default:i(()=>[s(j,{style:{flex:"1"},"show-tooltip":"",value:r(t),"onUpdate:value":d[0]||(d[0]=a=>te(t)?t.value=a:null),min:0,max:r(c).length-1,"format-tooltip":a=>{var x;return(x=r(c)[a])==null?void 0:x.time}},null,8,["value","max","format-tooltip"]),s(E,null,{default:i(()=>[s(y,{disabled:r(t)==0,onClick:d[1]||(d[1]=a=>t.value--)},{icon:i(()=>[s(k,null,{default:i(()=>[s(r(K))]),_:1})]),_:1},8,["disabled"]),s(y,{disabled:r(t)==r(c).length-1,onClick:d[2]||(d[2]=a=>t.value++)},{icon:i(()=>[s(k,null,{default:i(()=>[s(r(U))]),_:1})]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1})}}};export{Ce as default};
|
||||||
|
|
42
ui/dist/assets/Divider.js
vendored
42
ui/dist/assets/Divider.js
vendored
|
@ -1,42 +0,0 @@
|
||||||
import{as as p,at as c,au as n,av as t,ay as v,B as u,ax as f,j as x,aC as b,H as d,F as _}from"./_plugin-vue_export-helper.js";import{as as C}from"./main.js";const $=p("divider",`
|
|
||||||
position: relative;
|
|
||||||
display: flex;
|
|
||||||
width: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
font-size: 16px;
|
|
||||||
color: var(--n-text-color);
|
|
||||||
transition:
|
|
||||||
color .3s var(--n-bezier),
|
|
||||||
background-color .3s var(--n-bezier);
|
|
||||||
`,[c("vertical",`
|
|
||||||
margin-top: 24px;
|
|
||||||
margin-bottom: 24px;
|
|
||||||
`,[c("no-title",`
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
`)]),n("title",`
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
margin-left: 12px;
|
|
||||||
margin-right: 12px;
|
|
||||||
white-space: nowrap;
|
|
||||||
font-weight: var(--n-font-weight);
|
|
||||||
`),t("title-position-left",[n("line",[t("left",{width:"28px"})])]),t("title-position-right",[n("line",[t("right",{width:"28px"})])]),t("dashed",[n("line",`
|
|
||||||
background-color: #0000;
|
|
||||||
height: 0px;
|
|
||||||
width: 100%;
|
|
||||||
border-style: dashed;
|
|
||||||
border-width: 1px 0 0;
|
|
||||||
`)]),t("vertical",`
|
|
||||||
display: inline-block;
|
|
||||||
height: 1em;
|
|
||||||
margin: 0 8px;
|
|
||||||
vertical-align: middle;
|
|
||||||
width: 1px;
|
|
||||||
`),n("line",`
|
|
||||||
border: none;
|
|
||||||
transition: background-color .3s var(--n-bezier), border-color .3s var(--n-bezier);
|
|
||||||
height: 1px;
|
|
||||||
width: 100%;
|
|
||||||
margin: 0;
|
|
||||||
`),c("dashed",[n("line",{backgroundColor:"var(--n-color)"})]),t("dashed",[n("line",{borderColor:"var(--n-color)"})]),t("vertical",{backgroundColor:"var(--n-color)"})]),w=Object.assign(Object.assign({},v.props),{titlePlacement:{type:String,default:"center"},dashed:Boolean,vertical:Boolean}),k=u({name:"Divider",props:w,setup(r){const{mergedClsPrefixRef:o,inlineThemeDisabled:l}=f(r),s=v("Divider","-divider",$,C,r,o),a=x(()=>{const{common:{cubicBezierEaseInOut:e},self:{color:h,textColor:g,fontWeight:m}}=s.value;return{"--n-bezier":e,"--n-color":h,"--n-text-color":g,"--n-font-weight":m}}),i=l?b("divider",void 0,a,r):void 0;return{mergedClsPrefix:o,cssVars:l?void 0:a,themeClass:i==null?void 0:i.themeClass,onRender:i==null?void 0:i.onRender}},render(){var r;const{$slots:o,titlePlacement:l,vertical:s,dashed:a,cssVars:i,mergedClsPrefix:e}=this;return(r=this.onRender)===null||r===void 0||r.call(this),d("div",{role:"separator",class:[`${e}-divider`,this.themeClass,{[`${e}-divider--vertical`]:s,[`${e}-divider--no-title`]:!o.default,[`${e}-divider--dashed`]:a,[`${e}-divider--title-position-${l}`]:o.default&&l}],style:i},s?null:d("div",{class:`${e}-divider__line ${e}-divider__line--left`}),!s&&o.default?d(_,null,d("div",{class:`${e}-divider__title`},this.$slots),d("div",{class:`${e}-divider__line ${e}-divider__line--right`})):null)}});export{k as _};
|
|
2
ui/dist/assets/Doc.js
vendored
2
ui/dist/assets/Doc.js
vendored
|
@ -1 +1 @@
|
||||||
import{br as _,r as i,bu as d,bv as a,bt as n,by as s,k as r,bw as p,bE as u,bo as m,bC as f,bx as b,b3 as g}from"./_plugin-vue_export-helper.js";import{_ as h}from"./Flex.js";import"./main.js";import"./get-slot.js";const v={key:0,class:"loading"},t="https://hedgedoc.zhaozuohong.vip/s/LfSzK2n0K",x={__name:"Doc",setup(y){const o=i(!0);return(k,e)=>{const c=g,l=h;return n(),d(l,{vertical:"",style:{width:"100%",height:"100%"},align:"center"},{default:a(()=>[s("div",null,[e[1]||(e[1]=r(" 《小刻也能学会的!Mower-NG简明教程!》 ")),p(c,{text:"",tag:"a",href:t,target:"_blank",type:"primary"},{default:a(()=>[r(u(t))]),_:1})]),s("iframe",{onLoad:e[0]||(e[0]=w=>o.value=!1),src:t,style:{width:"100%",height:"100%",border:"none"}},null,32),m(o)?(n(),f("div",v,"页面加载中……")):b("",!0)]),_:1})}}},C=_(x,[["__scopeId","data-v-f9ae5a23"]]);export{C as default};
|
import{bP as _,r as d,bR as i,bS as a,bQ as n,bU as s,k as r,bT as p,bX as u,bM as b,bV as f,bW as m,bo as g}from"./_plugin-vue_export-helper.js";import{b1 as h}from"./main.js";const v={key:0,class:"loading"},t="https://hedgedoc.zhaozuohong.vip/s/LfSzK2n0K",x={__name:"Doc",setup(k){const o=d(!0);return(y,e)=>{const c=g,l=h;return n(),i(l,{vertical:"",style:{width:"100%",height:"100%"},align:"center"},{default:a(()=>[s("div",null,[e[1]||(e[1]=r(" 《小刻也能学会的!Mower-NG简明教程!》 ")),p(c,{text:"",tag:"a",href:t,target:"_blank",type:"primary"},{default:a(()=>[r(u(t))]),_:1})]),s("iframe",{onLoad:e[0]||(e[0]=B=>o.value=!1),src:t,style:{width:"100%",height:"100%",border:"none"}},null,32),b(o)?(n(),f("div",v,"页面加载中……")):m("",!0)]),_:1})}}},w=_(x,[["__scopeId","data-v-f9ae5a23"]]);export{w as default};
|
||||||
|
|
10
ui/dist/assets/DropDown.js
vendored
10
ui/dist/assets/DropDown.js
vendored
File diff suppressed because one or more lines are too long
1
ui/dist/assets/Flex.js
vendored
1
ui/dist/assets/Flex.js
vendored
|
@ -1 +0,0 @@
|
||||||
import{ay as c,B as m,ax as p,b0 as g,j as d,H as x,aY as y,bS as h,bj as u}from"./_plugin-vue_export-helper.js";import{ap as v,X as b}from"./main.js";import{g as j}from"./get-slot.js";function w(){return v}const R={name:"Flex",self:w},z=Object.assign(Object.assign({},c.props),{align:String,justify:{type:String,default:"start"},inline:Boolean,vertical:Boolean,reverse:Boolean,size:{type:[String,Number,Array],default:"medium"},wrap:{type:Boolean,default:!0}}),_=m({name:"Flex",props:z,setup(r){const{mergedClsPrefixRef:t,mergedRtlRef:l}=p(r),a=c("Flex","-flex",void 0,R,r,t);return{rtlEnabled:g("Flex",l,t),mergedClsPrefix:t,margin:d(()=>{const{size:e}=r;if(Array.isArray(e))return{horizontal:e[0],vertical:e[1]};if(typeof e=="number")return{horizontal:e,vertical:e};const{self:{[y("gap",e)]:s}}=a.value,{row:n,col:i}=h(s);return{horizontal:u(i),vertical:u(n)}})}},render(){const{vertical:r,reverse:t,align:l,inline:a,justify:o,margin:e,wrap:s,mergedClsPrefix:n,rtlEnabled:i}=this,f=b(j(this),!1);return f.length?x("div",{role:"none",class:[`${n}-flex`,i&&`${n}-flex--rtl`],style:{display:a?"inline-flex":"flex",flexDirection:r&&!t?"column":r&&t?"column-reverse":!r&&t?"row-reverse":"row",justifyContent:o,flexWrap:!s||r?"nowrap":"wrap",alignItems:l,gap:`${e.vertical}px ${e.horizontal}px`}},f):null}});export{_};
|
|
2
ui/dist/assets/Forward.js
vendored
2
ui/dist/assets/Forward.js
vendored
|
@ -1 +1 @@
|
||||||
import{B as e,H as r}from"./_plugin-vue_export-helper.js";function t(n){switch(n){case"tiny":return"mini";case"small":return"tiny";case"medium":return"small";case"large":return"medium";case"huge":return"large"}throw new Error(`${n} has no smaller size.`)}const l=e({name:"Backward",render(){return r("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r("path",{d:"M12.2674 15.793C11.9675 16.0787 11.4927 16.0672 11.2071 15.7673L6.20572 10.5168C5.9298 10.2271 5.9298 9.7719 6.20572 9.48223L11.2071 4.23177C11.4927 3.93184 11.9675 3.92031 12.2674 4.206C12.5673 4.49169 12.5789 4.96642 12.2932 5.26634L7.78458 9.99952L12.2932 14.7327C12.5789 15.0326 12.5673 15.5074 12.2674 15.793Z",fill:"currentColor"}))}}),s=e({name:"FastBackward",render(){return r("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},r("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},r("g",{fill:"currentColor","fill-rule":"nonzero"},r("path",{d:"M8.73171,16.7949 C9.03264,17.0795 9.50733,17.0663 9.79196,16.7654 C10.0766,16.4644 10.0634,15.9897 9.76243,15.7051 L4.52339,10.75 L17.2471,10.75 C17.6613,10.75 17.9971,10.4142 17.9971,10 C17.9971,9.58579 17.6613,9.25 17.2471,9.25 L4.52112,9.25 L9.76243,4.29275 C10.0634,4.00812 10.0766,3.53343 9.79196,3.2325 C9.50733,2.93156 9.03264,2.91834 8.73171,3.20297 L2.31449,9.27241 C2.14819,9.4297 2.04819,9.62981 2.01448,9.8386 C2.00308,9.89058 1.99707,9.94459 1.99707,10 C1.99707,10.0576 2.00356,10.1137 2.01585,10.1675 C2.05084,10.3733 2.15039,10.5702 2.31449,10.7254 L8.73171,16.7949 Z"}))))}}),a=e({name:"FastForward",render(){return r("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},r("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},r("g",{fill:"currentColor","fill-rule":"nonzero"},r("path",{d:"M11.2654,3.20511 C10.9644,2.92049 10.4897,2.93371 10.2051,3.23464 C9.92049,3.53558 9.93371,4.01027 10.2346,4.29489 L15.4737,9.25 L2.75,9.25 C2.33579,9.25 2,9.58579 2,10.0000012 C2,10.4142 2.33579,10.75 2.75,10.75 L15.476,10.75 L10.2346,15.7073 C9.93371,15.9919 9.92049,16.4666 10.2051,16.7675 C10.4897,17.0684 10.9644,17.0817 11.2654,16.797 L17.6826,10.7276 C17.8489,10.5703 17.9489,10.3702 17.9826,10.1614 C17.994,10.1094 18,10.0554 18,10.0000012 C18,9.94241 17.9935,9.88633 17.9812,9.83246 C17.9462,9.62667 17.8467,9.42976 17.6826,9.27455 L11.2654,3.20511 Z"}))))}}),C=e({name:"Forward",render(){return r("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r("path",{d:"M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z",fill:"currentColor"}))}});export{l as B,s as F,C as a,a as b,t as s};
|
import{D as e,I as r}from"./_plugin-vue_export-helper.js";function t(n){switch(n){case"tiny":return"mini";case"small":return"tiny";case"medium":return"small";case"large":return"medium";case"huge":return"large"}throw new Error(`${n} has no smaller size.`)}const l=e({name:"Backward",render(){return r("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r("path",{d:"M12.2674 15.793C11.9675 16.0787 11.4927 16.0672 11.2071 15.7673L6.20572 10.5168C5.9298 10.2271 5.9298 9.7719 6.20572 9.48223L11.2071 4.23177C11.4927 3.93184 11.9675 3.92031 12.2674 4.206C12.5673 4.49169 12.5789 4.96642 12.2932 5.26634L7.78458 9.99952L12.2932 14.7327C12.5789 15.0326 12.5673 15.5074 12.2674 15.793Z",fill:"currentColor"}))}}),s=e({name:"FastBackward",render(){return r("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},r("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},r("g",{fill:"currentColor","fill-rule":"nonzero"},r("path",{d:"M8.73171,16.7949 C9.03264,17.0795 9.50733,17.0663 9.79196,16.7654 C10.0766,16.4644 10.0634,15.9897 9.76243,15.7051 L4.52339,10.75 L17.2471,10.75 C17.6613,10.75 17.9971,10.4142 17.9971,10 C17.9971,9.58579 17.6613,9.25 17.2471,9.25 L4.52112,9.25 L9.76243,4.29275 C10.0634,4.00812 10.0766,3.53343 9.79196,3.2325 C9.50733,2.93156 9.03264,2.91834 8.73171,3.20297 L2.31449,9.27241 C2.14819,9.4297 2.04819,9.62981 2.01448,9.8386 C2.00308,9.89058 1.99707,9.94459 1.99707,10 C1.99707,10.0576 2.00356,10.1137 2.01585,10.1675 C2.05084,10.3733 2.15039,10.5702 2.31449,10.7254 L8.73171,16.7949 Z"}))))}}),a=e({name:"FastForward",render(){return r("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},r("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},r("g",{fill:"currentColor","fill-rule":"nonzero"},r("path",{d:"M11.2654,3.20511 C10.9644,2.92049 10.4897,2.93371 10.2051,3.23464 C9.92049,3.53558 9.93371,4.01027 10.2346,4.29489 L15.4737,9.25 L2.75,9.25 C2.33579,9.25 2,9.58579 2,10.0000012 C2,10.4142 2.33579,10.75 2.75,10.75 L15.476,10.75 L10.2346,15.7073 C9.93371,15.9919 9.92049,16.4666 10.2051,16.7675 C10.4897,17.0684 10.9644,17.0817 11.2654,16.797 L17.6826,10.7276 C17.8489,10.5703 17.9489,10.3702 17.9826,10.1614 C17.994,10.1094 18,10.0554 18,10.0000012 C18,9.94241 17.9935,9.88633 17.9812,9.83246 C17.9462,9.62667 17.8467,9.42976 17.6826,9.27455 L11.2654,3.20511 Z"}))))}}),C=e({name:"Forward",render(){return r("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r("path",{d:"M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z",fill:"currentColor"}))}});export{l as B,s as F,C as a,a as b,t as s};
|
||||||
|
|
1
ui/dist/assets/Grid.js
vendored
1
ui/dist/assets/Grid.js
vendored
File diff suppressed because one or more lines are too long
1
ui/dist/assets/HelpText.css
vendored
1
ui/dist/assets/HelpText.css
vendored
|
@ -1 +0,0 @@
|
||||||
.help[data-v-e18814d8]{z-index:100}
|
|
1
ui/dist/assets/HelpText.js
vendored
1
ui/dist/assets/HelpText.js
vendored
|
@ -1 +0,0 @@
|
||||||
import{br as l,bt as _,bu as a,bv as t,bw as n,by as o,K as p,aX as u,b3 as d}from"./_plugin-vue_export-helper.js";import{a5 as m}from"./main.js";const w={};function f(r,e){const s=u,c=d,i=m;return _(),a(i,{trigger:"hover","content-style":"max-width: 500px"},{trigger:t(()=>[n(c,{tertiary:"",circle:"",class:"help",size:"tiny"},{icon:t(()=>[n(s,null,{default:t(()=>e[0]||(e[0]=[o("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[o("path",{d:"M160 164s1.44-33 33.54-59.46C212.6 88.83 235.49 84.28 256 84c18.73-.23 35.47 2.94 45.48 7.82C318.59 100.2 352 120.6 352 164c0 45.67-29.18 66.37-62.35 89.18S248 298.36 248 324",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-miterlimit":"10","stroke-width":"40"}),o("circle",{cx:"248",cy:"399.99",r:"32",fill:"currentColor"})],-1)])),_:1})]),_:1})]),default:t(()=>[p(r.$slots,"default",{},void 0,!0)]),_:3})}const b=l(w,[["render",f],["__scopeId","data-v-e18814d8"]]);export{b as _};
|
|
258
ui/dist/assets/Input.js
vendored
258
ui/dist/assets/Input.js
vendored
File diff suppressed because one or more lines are too long
2
ui/dist/assets/IosArrowForward.js
vendored
2
ui/dist/assets/IosArrowForward.js
vendored
|
@ -1,3 +1,3 @@
|
||||||
import{bm as r}from"./_plugin-vue_export-helper.js";var n={};Object.defineProperty(n,"__esModule",{value:!0});const e=r,l={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 512 512","enable-background":"new 0 0 512 512","xml:space":"preserve"},d=(0,e.createElementVNode)("path",{d:`M217.9,256L345,129c9.4-9.4,9.4-24.6,0-33.9c-9.4-9.4-24.6-9.3-34,0L167,239c-9.1,9.1-9.3,23.7-0.7,33.1L310.9,417
|
import{bK as r}from"./_plugin-vue_export-helper.js";var n={};Object.defineProperty(n,"__esModule",{value:!0});const e=r,l={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 512 512","enable-background":"new 0 0 512 512","xml:space":"preserve"},d=(0,e.createElementVNode)("path",{d:`M217.9,256L345,129c9.4-9.4,9.4-24.6,0-33.9c-9.4-9.4-24.6-9.3-34,0L167,239c-9.1,9.1-9.3,23.7-0.7,33.1L310.9,417
|
||||||
c4.7,4.7,10.9,7,17,7c6.1,0,12.3-2.3,17-7c9.4-9.4,9.4-24.6,0-33.9L217.9,256z`},null,-1),w=[d];var x=n.default=(0,e.defineComponent)({name:"IosArrowBack",render:function(s,a){return(0,e.openBlock)(),(0,e.createElementBlock)("svg",l,w)}}),t={};Object.defineProperty(t,"__esModule",{value:!0});const o=r,_={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 512 512","enable-background":"new 0 0 512 512","xml:space":"preserve"},i=(0,o.createElementVNode)("path",{d:`M294.1,256L167,129c-9.4-9.4-9.4-24.6,0-33.9s24.6-9.3,34,0L345,239c9.1,9.1,9.3,23.7,0.7,33.1L201.1,417
|
c4.7,4.7,10.9,7,17,7c6.1,0,12.3-2.3,17-7c9.4-9.4,9.4-24.6,0-33.9L217.9,256z`},null,-1),w=[d];var x=n.default=(0,e.defineComponent)({name:"IosArrowBack",render:function(s,a){return(0,e.openBlock)(),(0,e.createElementBlock)("svg",l,w)}}),t={};Object.defineProperty(t,"__esModule",{value:!0});const o=r,_={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 512 512","enable-background":"new 0 0 512 512","xml:space":"preserve"},i=(0,o.createElementVNode)("path",{d:`M294.1,256L167,129c-9.4-9.4-9.4-24.6,0-33.9s24.6-9.3,34,0L345,239c9.1,9.1,9.3,23.7,0.7,33.1L201.1,417
|
||||||
c-4.7,4.7-10.9,7-17,7c-6.1,0-12.3-2.3-17-7c-9.4-9.4-9.4-24.6,0-33.9L294.1,256z`},null,-1),p=[i];var v=t.default=(0,o.defineComponent)({name:"IosArrowForward",render:function(s,a){return(0,o.openBlock)(),(0,o.createElementBlock)("svg",_,p)}});export{x as _,v as a};
|
c-4.7,4.7-10.9,7-17,7c-6.1,0-12.3-2.3-17-7c-9.4-9.4-9.4-24.6,0-33.9L294.1,256z`},null,-1),p=[i];var v=t.default=(0,o.defineComponent)({name:"IosArrowForward",render:function(s,a){return(0,o.openBlock)(),(0,o.createElementBlock)("svg",_,p)}});export{x as _,v as a};
|
||||||
|
|
2
ui/dist/assets/Log.css
vendored
2
ui/dist/assets/Log.css
vendored
|
@ -1 +1 @@
|
||||||
.log[data-v-c4feeca6]{overflow:hidden;flex:1}.task-table[data-v-c4feeca6]{position:relative;max-width:600px}.task-table th[data-v-c4feeca6]{padding:2px 16px}.task-table td[data-v-c4feeca6]{height:24px;padding:2px 8px}.task-table td[data-v-c4feeca6]:last-child{width:100%}.action-container[data-v-c4feeca6]{display:flex;align-items:center;gap:12px}.scroll-container[data-v-c4feeca6]{display:flex;align-items:center;gap:4px}.expand[data-v-c4feeca6]{flex-grow:1}.toggle-table-collapse-btn[data-v-c4feeca6]{position:absolute;top:0;right:0}.toggle-fullscreen-btn[data-v-c4feeca6]{position:absolute;top:0;right:38px}.log-bg[data-v-c4feeca6]{content:"";width:100%;height:100%;position:absolute;top:0;left:0;opacity:var(--55f59a8a);background-image:url(/bg.webp);background-repeat:no-repeat;background-size:cover;background-position:65% 50%;pointer-events:none;z-index:14}.sc[data-v-c4feeca6]{max-width:480px;max-height:270px;border-radius:6px;z-index:15}.hljs-date{color:#f0a020!important;font-weight:700}.hljs-time{color:#2080f0!important;font-weight:700}.hljs-room{color:#18a058!important;font-weight:700}.hljs-operator{color:#d03050!important}.hljs-info{font-weight:700}.hljs-warning{color:#f0a020!important;font-weight:700}.hljs-error{color:#d03050!important;font-weight:700}.hljs-scene{font-style:italic}
|
.log[data-v-fdf2d9a8]{overflow:hidden;flex:1}.task-table[data-v-fdf2d9a8]{position:relative;max-width:600px}.task-table th[data-v-fdf2d9a8]{padding:2px 16px}.task-table td[data-v-fdf2d9a8]{height:24px;padding:2px 8px}.task-table td[data-v-fdf2d9a8]:last-child{width:100%}.action-container[data-v-fdf2d9a8]{display:flex;align-items:center;gap:12px}.scroll-container[data-v-fdf2d9a8]{display:flex;align-items:center;gap:4px}.expand[data-v-fdf2d9a8]{flex-grow:1}.toggle-table-collapse-btn[data-v-fdf2d9a8]{position:absolute;top:0;right:0}.toggle-fullscreen-btn[data-v-fdf2d9a8]{position:absolute;top:0;right:38px}.log-bg[data-v-fdf2d9a8]{content:"";width:100%;height:100%;position:absolute;top:0;left:0;opacity:var(--033b40dd);background-image:url(/bg.webp);background-repeat:no-repeat;background-size:cover;background-position:65% 50%;pointer-events:none;z-index:14}.sc[data-v-fdf2d9a8]{max-width:480px;max-height:270px;border-radius:6px;z-index:15}.hljs-date{color:#f0a020!important;font-weight:700}.hljs-time{color:#2080f0!important;font-weight:700}.hljs-room{color:#18a058!important;font-weight:700}.hljs-operator{color:#d03050!important}.hljs-info{font-weight:700}.hljs-warning{color:#f0a020!important;font-weight:700}.hljs-error{color:#d03050!important;font-weight:700}.hljs-scene{font-style:italic}
|
||||||
|
|
30
ui/dist/assets/Log.js
vendored
30
ui/dist/assets/Log.js
vendored
File diff suppressed because one or more lines are too long
24
ui/dist/assets/Material_all_in_one.js
vendored
24
ui/dist/assets/Material_all_in_one.js
vendored
File diff suppressed because one or more lines are too long
1
ui/dist/assets/MobileSettings.js
vendored
Normal file
1
ui/dist/assets/MobileSettings.js
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
import{ay as s,az as e,aA as t,aB as n,aC as c,aD as i,aE as _,aF as r,aG as o,aH as m,aI as l,aJ as p,aK as f}from"./main.js";import{bV as u,bT as a,F as b,bQ as F}from"./_plugin-vue_export-helper.js";const B={__name:"MobileSettings",setup($){return(g,k)=>(F(),u(b,null,[a(s),a(e),a(t),a(n),a(c),a(i),a(_),a(r),a(o),a(m),a(l),a(p),a(f)],64))}};export{B as default};
|
2
ui/dist/assets/NotFound.js
vendored
2
ui/dist/assets/NotFound.js
vendored
|
@ -1 +1 @@
|
||||||
import{br as e,bu as n,bv as r,bt as s,k as a}from"./_plugin-vue_export-helper.js";import{b as c}from"./headers.js";import"./main.js";const _={};function f(u,t){const o=c;return s(),n(o,null,{default:r(()=>t[0]||(t[0]=[a("404 Not Found")])),_:1})}const i=e(_,[["render",f]]);export{i as default};
|
import{bP as e,bR as n,bS as r,bQ as s,k as c}from"./_plugin-vue_export-helper.js";import{bc as a}from"./main.js";const _={};function f(d,o){const t=a;return s(),n(t,null,{default:r(()=>o[0]||(o[0]=[c("404 Not Found")])),_:1})}const m=e(_,[["render",f]]);export{m as default};
|
||||||
|
|
8
ui/dist/assets/Plan.js
vendored
8
ui/dist/assets/Plan.js
vendored
File diff suppressed because one or more lines are too long
2
ui/dist/assets/Play.js
vendored
2
ui/dist/assets/Play.js
vendored
|
@ -1 +1 @@
|
||||||
import{bm as o}from"./_plugin-vue_export-helper.js";var n={};Object.defineProperty(n,"__esModule",{value:!0});const e=o,c={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},a=(0,e.createElementVNode)("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 112v288"},null,-1),i=(0,e.createElementVNode)("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 256H112"},null,-1),u=[a,i];var k=n.default=(0,e.defineComponent)({name:"Add",render:function(d,s){return(0,e.openBlock)(),(0,e.createElementBlock)("svg",c,u)}}),r={};Object.defineProperty(r,"__esModule",{value:!0});const t=o,_={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},w=(0,t.createElementVNode)("path",{d:"M133 440a35.37 35.37 0 0 1-17.5-4.67c-12-6.8-19.46-20-19.46-34.33V111c0-14.37 7.46-27.53 19.46-34.33a35.13 35.13 0 0 1 35.77.45l247.85 148.36a36 36 0 0 1 0 61l-247.89 148.4A35.5 35.5 0 0 1 133 440z",fill:"currentColor"},null,-1),h=[w];var m=r.default=(0,t.defineComponent)({name:"Play",render:function(d,s){return(0,t.openBlock)(),(0,t.createElementBlock)("svg",_,h)}});export{k as _,m as a};
|
import{bK as o}from"./_plugin-vue_export-helper.js";var n={};Object.defineProperty(n,"__esModule",{value:!0});const e=o,c={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},a=(0,e.createElementVNode)("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M256 112v288"},null,-1),i=(0,e.createElementVNode)("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32",d:"M400 256H112"},null,-1),u=[a,i];var k=n.default=(0,e.defineComponent)({name:"Add",render:function(d,s){return(0,e.openBlock)(),(0,e.createElementBlock)("svg",c,u)}}),r={};Object.defineProperty(r,"__esModule",{value:!0});const t=o,_={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},w=(0,t.createElementVNode)("path",{d:"M133 440a35.37 35.37 0 0 1-17.5-4.67c-12-6.8-19.46-20-19.46-34.33V111c0-14.37 7.46-27.53 19.46-34.33a35.13 35.13 0 0 1 35.77.45l247.85 148.36a36 36 0 0 1 0 61l-247.89 148.4A35.5 35.5 0 0 1 133 440z",fill:"currentColor"},null,-1),h=[w];var m=r.default=(0,t.defineComponent)({name:"Play",render:function(d,s){return(0,t.openBlock)(),(0,t.createElementBlock)("svg",_,h)}});export{k as _,m as a};
|
||||||
|
|
157
ui/dist/assets/RadioGroup.js
vendored
157
ui/dist/assets/RadioGroup.js
vendored
|
@ -1,157 +0,0 @@
|
||||||
import{z as ne,c as ae,bF as O,r as F,b as A,aI as N,A as G,ax as H,aL as I,as as _,av as g,au as d,ar as R,at as j,ay as D,B as M,j as $,aY as V,b0 as K,aC as L,H as y,aG as ie,D as de}from"./_plugin-vue_export-helper.js";import{a9 as W,X as se}from"./main.js";import{g as le}from"./get-slot.js";const ce={name:String,value:{type:[String,Number,Boolean],default:"on"},checked:{type:Boolean,default:void 0},defaultChecked:Boolean,disabled:{type:Boolean,default:void 0},label:String,size:String,onUpdateChecked:[Function,Array],"onUpdate:checked":[Function,Array],checkedValue:{type:Boolean,default:void 0}},Y=ne("n-radio-group");function ue(o){const e=ae(Y,null),t=O(o,{mergedSize(r){const{size:s}=o;if(s!==void 0)return s;if(e){const{mergedSizeRef:{value:c}}=e;if(c!==void 0)return c}return r?r.mergedSize.value:"medium"},mergedDisabled(r){return!!(o.disabled||e!=null&&e.disabledRef.value||r!=null&&r.disabled.value)}}),{mergedSizeRef:i,mergedDisabledRef:n}=t,u=F(null),b=F(null),h=F(o.defaultChecked),a=A(o,"checked"),p=N(a,h),m=G(()=>e?e.valueRef.value===o.value:p.value),w=G(()=>{const{name:r}=o;if(r!==void 0)return r;if(e)return e.nameRef.value}),f=F(!1);function C(){if(e){const{doUpdateValue:r}=e,{value:s}=o;I(r,s)}else{const{onUpdateChecked:r,"onUpdate:checked":s}=o,{nTriggerFormInput:c,nTriggerFormChange:l}=t;r&&I(r,!0),s&&I(s,!0),c(),l(),h.value=!0}}function x(){n.value||m.value||C()}function k(){x(),u.value&&(u.value.checked=m.value)}function z(){f.value=!1}function S(){f.value=!0}return{mergedClsPrefix:e?e.mergedClsPrefixRef:H(o).mergedClsPrefixRef,inputRef:u,labelRef:b,mergedName:w,mergedDisabled:n,renderSafeChecked:m,focus:f,mergedSize:i,handleRadioInputChange:k,handleRadioInputBlur:z,handleRadioInputFocus:S}}const be=_("radio",`
|
|
||||||
line-height: var(--n-label-line-height);
|
|
||||||
outline: none;
|
|
||||||
position: relative;
|
|
||||||
user-select: none;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
display: inline-flex;
|
|
||||||
align-items: flex-start;
|
|
||||||
flex-wrap: nowrap;
|
|
||||||
font-size: var(--n-font-size);
|
|
||||||
word-break: break-word;
|
|
||||||
`,[g("checked",[d("dot",`
|
|
||||||
background-color: var(--n-color-active);
|
|
||||||
`)]),d("dot-wrapper",`
|
|
||||||
position: relative;
|
|
||||||
flex-shrink: 0;
|
|
||||||
flex-grow: 0;
|
|
||||||
width: var(--n-radio-size);
|
|
||||||
`),_("radio-input",`
|
|
||||||
position: absolute;
|
|
||||||
border: 0;
|
|
||||||
border-radius: inherit;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
opacity: 0;
|
|
||||||
z-index: 1;
|
|
||||||
cursor: pointer;
|
|
||||||
`),d("dot",`
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 0;
|
|
||||||
transform: translateY(-50%);
|
|
||||||
height: var(--n-radio-size);
|
|
||||||
width: var(--n-radio-size);
|
|
||||||
background: var(--n-color);
|
|
||||||
box-shadow: var(--n-box-shadow);
|
|
||||||
border-radius: 50%;
|
|
||||||
transition:
|
|
||||||
background-color .3s var(--n-bezier),
|
|
||||||
box-shadow .3s var(--n-bezier);
|
|
||||||
`,[R("&::before",`
|
|
||||||
content: "";
|
|
||||||
opacity: 0;
|
|
||||||
position: absolute;
|
|
||||||
left: 4px;
|
|
||||||
top: 4px;
|
|
||||||
height: calc(100% - 8px);
|
|
||||||
width: calc(100% - 8px);
|
|
||||||
border-radius: 50%;
|
|
||||||
transform: scale(.8);
|
|
||||||
background: var(--n-dot-color-active);
|
|
||||||
transition:
|
|
||||||
opacity .3s var(--n-bezier),
|
|
||||||
background-color .3s var(--n-bezier),
|
|
||||||
transform .3s var(--n-bezier);
|
|
||||||
`),g("checked",{boxShadow:"var(--n-box-shadow-active)"},[R("&::before",`
|
|
||||||
opacity: 1;
|
|
||||||
transform: scale(1);
|
|
||||||
`)])]),d("label",`
|
|
||||||
color: var(--n-text-color);
|
|
||||||
padding: var(--n-label-padding);
|
|
||||||
font-weight: var(--n-label-font-weight);
|
|
||||||
display: inline-block;
|
|
||||||
transition: color .3s var(--n-bezier);
|
|
||||||
`),j("disabled",`
|
|
||||||
cursor: pointer;
|
|
||||||
`,[R("&:hover",[d("dot",{boxShadow:"var(--n-box-shadow-hover)"})]),g("focus",[R("&:not(:active)",[d("dot",{boxShadow:"var(--n-box-shadow-focus)"})])])]),g("disabled",`
|
|
||||||
cursor: not-allowed;
|
|
||||||
`,[d("dot",{boxShadow:"var(--n-box-shadow-disabled)",backgroundColor:"var(--n-color-disabled)"},[R("&::before",{backgroundColor:"var(--n-dot-color-disabled)"}),g("checked",`
|
|
||||||
opacity: 1;
|
|
||||||
`)]),d("label",{color:"var(--n-text-color-disabled)"}),_("radio-input",`
|
|
||||||
cursor: not-allowed;
|
|
||||||
`)])]),he=Object.assign(Object.assign({},D.props),ce),Re=M({name:"Radio",props:he,setup(o){const e=ue(o),t=D("Radio","-radio",be,W,o,e.mergedClsPrefix),i=$(()=>{const{mergedSize:{value:p}}=e,{common:{cubicBezierEaseInOut:m},self:{boxShadow:w,boxShadowActive:f,boxShadowDisabled:C,boxShadowFocus:x,boxShadowHover:k,color:z,colorDisabled:S,colorActive:r,textColor:s,textColorDisabled:c,dotColorActive:l,dotColorDisabled:v,labelPadding:B,labelLineHeight:T,labelFontWeight:E,[V("fontSize",p)]:P,[V("radioSize",p)]:U}}=t.value;return{"--n-bezier":m,"--n-label-line-height":T,"--n-label-font-weight":E,"--n-box-shadow":w,"--n-box-shadow-active":f,"--n-box-shadow-disabled":C,"--n-box-shadow-focus":x,"--n-box-shadow-hover":k,"--n-color":z,"--n-color-active":r,"--n-color-disabled":S,"--n-dot-color-active":l,"--n-dot-color-disabled":v,"--n-font-size":P,"--n-radio-size":U,"--n-text-color":s,"--n-text-color-disabled":c,"--n-label-padding":B}}),{inlineThemeDisabled:n,mergedClsPrefixRef:u,mergedRtlRef:b}=H(o),h=K("Radio",b,u),a=n?L("radio",$(()=>e.mergedSize.value[0]),i,o):void 0;return Object.assign(e,{rtlEnabled:h,cssVars:n?void 0:i,themeClass:a==null?void 0:a.themeClass,onRender:a==null?void 0:a.onRender})},render(){const{$slots:o,mergedClsPrefix:e,onRender:t,label:i}=this;return t==null||t(),y("label",{class:[`${e}-radio`,this.themeClass,this.rtlEnabled&&`${e}-radio--rtl`,this.mergedDisabled&&`${e}-radio--disabled`,this.renderSafeChecked&&`${e}-radio--checked`,this.focus&&`${e}-radio--focus`],style:this.cssVars},y("input",{ref:"inputRef",type:"radio",class:`${e}-radio-input`,value:this.value,name:this.mergedName,checked:this.renderSafeChecked,disabled:this.mergedDisabled,onChange:this.handleRadioInputChange,onFocus:this.handleRadioInputFocus,onBlur:this.handleRadioInputBlur}),y("div",{class:`${e}-radio__dot-wrapper`}," ",y("div",{class:[`${e}-radio__dot`,this.renderSafeChecked&&`${e}-radio__dot--checked`]})),ie(o.default,n=>!n&&!i?null:y("div",{ref:"labelRef",class:`${e}-radio__label`},n||i)))}}),ve=_("radio-group",`
|
|
||||||
display: inline-block;
|
|
||||||
font-size: var(--n-font-size);
|
|
||||||
`,[d("splitor",`
|
|
||||||
display: inline-block;
|
|
||||||
vertical-align: bottom;
|
|
||||||
width: 1px;
|
|
||||||
transition:
|
|
||||||
background-color .3s var(--n-bezier),
|
|
||||||
opacity .3s var(--n-bezier);
|
|
||||||
background: var(--n-button-border-color);
|
|
||||||
`,[g("checked",{backgroundColor:"var(--n-button-border-color-active)"}),g("disabled",{opacity:"var(--n-opacity-disabled)"})]),g("button-group",`
|
|
||||||
white-space: nowrap;
|
|
||||||
height: var(--n-height);
|
|
||||||
line-height: var(--n-height);
|
|
||||||
`,[_("radio-button",{height:"var(--n-height)",lineHeight:"var(--n-height)"}),d("splitor",{height:"var(--n-height)"})]),_("radio-button",`
|
|
||||||
vertical-align: bottom;
|
|
||||||
outline: none;
|
|
||||||
position: relative;
|
|
||||||
user-select: none;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
display: inline-block;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding-left: 14px;
|
|
||||||
padding-right: 14px;
|
|
||||||
white-space: nowrap;
|
|
||||||
transition:
|
|
||||||
background-color .3s var(--n-bezier),
|
|
||||||
opacity .3s var(--n-bezier),
|
|
||||||
border-color .3s var(--n-bezier),
|
|
||||||
color .3s var(--n-bezier);
|
|
||||||
background: var(--n-button-color);
|
|
||||||
color: var(--n-button-text-color);
|
|
||||||
border-top: 1px solid var(--n-button-border-color);
|
|
||||||
border-bottom: 1px solid var(--n-button-border-color);
|
|
||||||
`,[_("radio-input",`
|
|
||||||
pointer-events: none;
|
|
||||||
position: absolute;
|
|
||||||
border: 0;
|
|
||||||
border-radius: inherit;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
opacity: 0;
|
|
||||||
z-index: 1;
|
|
||||||
`),d("state-border",`
|
|
||||||
z-index: 1;
|
|
||||||
pointer-events: none;
|
|
||||||
position: absolute;
|
|
||||||
box-shadow: var(--n-button-box-shadow);
|
|
||||||
transition: box-shadow .3s var(--n-bezier);
|
|
||||||
left: -1px;
|
|
||||||
bottom: -1px;
|
|
||||||
right: -1px;
|
|
||||||
top: -1px;
|
|
||||||
`),R("&:first-child",`
|
|
||||||
border-top-left-radius: var(--n-button-border-radius);
|
|
||||||
border-bottom-left-radius: var(--n-button-border-radius);
|
|
||||||
border-left: 1px solid var(--n-button-border-color);
|
|
||||||
`,[d("state-border",`
|
|
||||||
border-top-left-radius: var(--n-button-border-radius);
|
|
||||||
border-bottom-left-radius: var(--n-button-border-radius);
|
|
||||||
`)]),R("&:last-child",`
|
|
||||||
border-top-right-radius: var(--n-button-border-radius);
|
|
||||||
border-bottom-right-radius: var(--n-button-border-radius);
|
|
||||||
border-right: 1px solid var(--n-button-border-color);
|
|
||||||
`,[d("state-border",`
|
|
||||||
border-top-right-radius: var(--n-button-border-radius);
|
|
||||||
border-bottom-right-radius: var(--n-button-border-radius);
|
|
||||||
`)]),j("disabled",`
|
|
||||||
cursor: pointer;
|
|
||||||
`,[R("&:hover",[d("state-border",`
|
|
||||||
transition: box-shadow .3s var(--n-bezier);
|
|
||||||
box-shadow: var(--n-button-box-shadow-hover);
|
|
||||||
`),j("checked",{color:"var(--n-button-text-color-hover)"})]),g("focus",[R("&:not(:active)",[d("state-border",{boxShadow:"var(--n-button-box-shadow-focus)"})])])]),g("checked",`
|
|
||||||
background: var(--n-button-color-active);
|
|
||||||
color: var(--n-button-text-color-active);
|
|
||||||
border-color: var(--n-button-border-color-active);
|
|
||||||
`),g("disabled",`
|
|
||||||
cursor: not-allowed;
|
|
||||||
opacity: var(--n-opacity-disabled);
|
|
||||||
`)])]);function fe(o,e,t){var i;const n=[];let u=!1;for(let b=0;b<o.length;++b){const h=o[b],a=(i=h.type)===null||i===void 0?void 0:i.name;a==="RadioButton"&&(u=!0);const p=h.props;if(a!=="RadioButton"){n.push(h);continue}if(b===0)n.push(h);else{const m=n[n.length-1].props,w=e===m.value,f=m.disabled,C=e===p.value,x=p.disabled,k=(w?2:0)+(f?0:1),z=(C?2:0)+(x?0:1),S={[`${t}-radio-group__splitor--disabled`]:f,[`${t}-radio-group__splitor--checked`]:w},r={[`${t}-radio-group__splitor--disabled`]:x,[`${t}-radio-group__splitor--checked`]:C},s=k<z?r:S;n.push(y("div",{class:[`${t}-radio-group__splitor`,s]}),h)}}return{children:n,isButtonGroup:u}}const ge=Object.assign(Object.assign({},D.props),{name:String,value:[String,Number,Boolean],defaultValue:{type:[String,Number,Boolean],default:null},size:String,disabled:{type:Boolean,default:void 0},"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array]}),we=M({name:"RadioGroup",props:ge,setup(o){const e=F(null),{mergedSizeRef:t,mergedDisabledRef:i,nTriggerFormChange:n,nTriggerFormInput:u,nTriggerFormBlur:b,nTriggerFormFocus:h}=O(o),{mergedClsPrefixRef:a,inlineThemeDisabled:p,mergedRtlRef:m}=H(o),w=D("Radio","-radio-group",ve,W,o,a),f=F(o.defaultValue),C=A(o,"value"),x=N(C,f);function k(l){const{onUpdateValue:v,"onUpdate:value":B}=o;v&&I(v,l),B&&I(B,l),f.value=l,n(),u()}function z(l){const{value:v}=e;v&&(v.contains(l.relatedTarget)||h())}function S(l){const{value:v}=e;v&&(v.contains(l.relatedTarget)||b())}de(Y,{mergedClsPrefixRef:a,nameRef:A(o,"name"),valueRef:x,disabledRef:i,mergedSizeRef:t,doUpdateValue:k});const r=K("Radio",m,a),s=$(()=>{const{value:l}=t,{common:{cubicBezierEaseInOut:v},self:{buttonBorderColor:B,buttonBorderColorActive:T,buttonBorderRadius:E,buttonBoxShadow:P,buttonBoxShadowFocus:U,buttonBoxShadowHover:X,buttonColor:q,buttonColorActive:J,buttonTextColor:Q,buttonTextColorActive:Z,buttonTextColorHover:ee,opacityDisabled:oe,[V("buttonHeight",l)]:te,[V("fontSize",l)]:re}}=w.value;return{"--n-font-size":re,"--n-bezier":v,"--n-button-border-color":B,"--n-button-border-color-active":T,"--n-button-border-radius":E,"--n-button-box-shadow":P,"--n-button-box-shadow-focus":U,"--n-button-box-shadow-hover":X,"--n-button-color":q,"--n-button-color-active":J,"--n-button-text-color":Q,"--n-button-text-color-hover":ee,"--n-button-text-color-active":Z,"--n-height":te,"--n-opacity-disabled":oe}}),c=p?L("radio-group",$(()=>t.value[0]),s,o):void 0;return{selfElRef:e,rtlEnabled:r,mergedClsPrefix:a,mergedValue:x,handleFocusout:S,handleFocusin:z,cssVars:p?void 0:s,themeClass:c==null?void 0:c.themeClass,onRender:c==null?void 0:c.onRender}},render(){var o;const{mergedValue:e,mergedClsPrefix:t,handleFocusin:i,handleFocusout:n}=this,{children:u,isButtonGroup:b}=fe(se(le(this)),e,t);return(o=this.onRender)===null||o===void 0||o.call(this),y("div",{onFocusin:i,onFocusout:n,ref:"selfElRef",class:[`${t}-radio-group`,this.rtlEnabled&&`${t}-radio-group--rtl`,this.themeClass,b&&`${t}-radio-group--button-group`],style:this.cssVars},u)}});export{Re as _,we as a,ce as r,ue as s};
|
|
2
ui/dist/assets/RecordLine.js
vendored
2
ui/dist/assets/RecordLine.js
vendored
|
@ -1 +1 @@
|
||||||
import{u as N,C as V,a as j,L as D,T as L,b as P,P as R,c as O,p as H,d as I,e as T,f as F,A as q,g as J,h as X}from"./record.js";import{bm as w,br as Z,r as p,s as G,bC as y,by as u,bw as o,bv as l,bt as r,F as K,bD as Q,bo as e,bu as f,bI as U,bE as W,bJ as Y,aX as ee,b3 as te}from"./_plugin-vue_export-helper.js";import{b as oe,_ as ne}from"./Grid.js";import"./main.js";import"./get-slot.js";var M={};Object.defineProperty(M,"__esModule",{value:!0});const _=w,ae={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},se=(0,_.createStaticVNode)('<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 4h4v4"></path><path d="M14 10l6-6"></path><path d="M8 20H4v-4"></path><path d="M4 20l6-6"></path></g>',1),le=[se];var re=M.default=(0,_.defineComponent)({name:"ArrowsDiagonal",render:function(i,c){return(0,_.openBlock)(),(0,_.createElementBlock)("svg",ae,le)}}),C={};Object.defineProperty(C,"__esModule",{value:!0});const m=w,ie={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},ce=(0,m.createStaticVNode)('<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 10h-4V6"></path><path d="M20 4l-6 6"></path><path d="M6 14h4v4"></path><path d="M10 14l-6 6"></path></g>',1),de=[ce];var pe=C.default=(0,m.defineComponent)({name:"ArrowsDiagonalMinimize2",render:function(i,c){return(0,m.openBlock)(),(0,m.createElementBlock)("svg",ie,de)}}),$={};Object.defineProperty($,"__esModule",{value:!0});const n=w,ue={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},_e=(0,n.createElementVNode)("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[(0,n.createElementVNode)("path",{d:"M7 8l-4 4l4 4"}),(0,n.createElementVNode)("path",{d:"M17 8l4 4l-4 4"}),(0,n.createElementVNode)("path",{d:"M3 12h18"})],-1),me=[_e];var he=$.default=(0,n.defineComponent)({name:"ArrowsHorizontal",render:function(i,c){return(0,n.openBlock)(),(0,n.createElementBlock)("svg",ue,me)}});const ge={class:"line-outer-container"},fe={__name:"RecordLine",setup(h){const i=N(),{getMoodRatios:c}=i;V.register(j,D,L,P,R,O,H,I,T,F,q,J);const d=p(-1),t=p([]),g=p([]);G(async()=>{g.value=await c(),t.value=new Array(g.value.length).fill(100)});const B=p({responsive:!0,maintainAspectRatio:!1,scales:{x:{autoSkip:!0,type:"time",time:{unit:"day"}},y:{beginAtZero:!0,ticks:{min:0,max:24,stepSize:4}}},plugins:{datalabels:{display:!1}}});function S(a){t.value[a]==100?t.value[a]=300:t.value[a]==300?t.value[a]=700:t.value[a]=100}return(a,v)=>{const k=ee,b=te,E=ne,A=oe;return r(),y("div",null,[v[0]||(v[0]=u("h1",{class:"page-title"},"干员心情折线表",-1)),o(A,{"x-gap":12,"y-gap":8,collapsed:!1,cols:"1 s:1 m:2 l:3 xl:4 2xl:5",responsive:"screen"},{default:l(()=>[(r(!0),y(K,null,Q(e(g),(x,s)=>(r(),f(E,{key:s,class:U(["report-card",{"report-card-expand":e(d)==s}])},{default:l(()=>[u("h2",null,W(x.groupName),1),u("div",ge,[u("div",{class:"line-inner-container",style:Y({width:e(t)[s]+"%"})},[o(e(X),{data:x.moodData,options:e(B)},null,8,["data","options"])],4)]),o(b,{class:"toggle toggle-size",size:"small",onClick:z=>d.value=e(d)==-1?s:-1,focusable:!1},{icon:l(()=>[o(k,null,{default:l(()=>[e(d)==s?(r(),f(e(pe),{key:0})):(r(),f(e(re),{key:1}))]),_:2},1024)]),_:2},1032,["onClick"]),o(b,{class:"toggle toggle-width",size:"small",onClick:z=>S(s),focusable:!1},{icon:l(()=>[o(k,null,{default:l(()=>[o(e(he))]),_:1})]),_:2},1032,["onClick"])]),_:2},1032,["class"]))),128))]),_:1})])}}},ye=Z(fe,[["__scopeId","data-v-1d70fb0d"]]);export{ye as default};
|
import{u as N,C as V,a as j,L,T as D,b as P,P as R,c as O,p as T,d as H,e as F,f as I,A as q,g as K,h as Q}from"./record.js";import{bK as w,bP as U,r as u,u as X,bV as M,bU as p,bT as o,bS as l,bQ as r,F as Z,b_ as G,bM as e,bR as f,c0 as J,bX as W,bC as Y,bm as ee,bo as te}from"./_plugin-vue_export-helper.js";import{b5 as oe,b6 as ne}from"./main.js";var y={};Object.defineProperty(y,"__esModule",{value:!0});const _=w,ae={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},se=(0,_.createStaticVNode)('<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 4h4v4"></path><path d="M14 10l6-6"></path><path d="M8 20H4v-4"></path><path d="M4 20l6-6"></path></g>',1),le=[se];var re=y.default=(0,_.defineComponent)({name:"ArrowsDiagonal",render:function(i,c){return(0,_.openBlock)(),(0,_.createElementBlock)("svg",ae,le)}}),C={};Object.defineProperty(C,"__esModule",{value:!0});const h=w,ie={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},ce=(0,h.createStaticVNode)('<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 10h-4V6"></path><path d="M20 4l-6 6"></path><path d="M6 14h4v4"></path><path d="M10 14l-6 6"></path></g>',1),de=[ce];var ue=C.default=(0,h.defineComponent)({name:"ArrowsDiagonalMinimize2",render:function(i,c){return(0,h.openBlock)(),(0,h.createElementBlock)("svg",ie,de)}}),$={};Object.defineProperty($,"__esModule",{value:!0});const n=w,pe={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},_e=(0,n.createElementVNode)("g",{fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[(0,n.createElementVNode)("path",{d:"M7 8l-4 4l4 4"}),(0,n.createElementVNode)("path",{d:"M17 8l4 4l-4 4"}),(0,n.createElementVNode)("path",{d:"M3 12h18"})],-1),he=[_e];var me=$.default=(0,n.defineComponent)({name:"ArrowsHorizontal",render:function(i,c){return(0,n.openBlock)(),(0,n.createElementBlock)("svg",pe,he)}});const ge={class:"line-outer-container"},fe={__name:"RecordLine",setup(m){const i=N(),{getMoodRatios:c}=i;V.register(j,L,D,P,R,O,T,H,F,I,q,K);const d=u(-1),t=u([]),g=u([]);X(async()=>{g.value=await c(),t.value=new Array(g.value.length).fill(100)});const B=u({responsive:!0,maintainAspectRatio:!1,scales:{x:{autoSkip:!0,type:"time",time:{unit:"day"}},y:{beginAtZero:!0,ticks:{min:0,max:24,stepSize:4}}},plugins:{datalabels:{display:!1}}});function S(a){t.value[a]==100?t.value[a]=300:t.value[a]==300?t.value[a]=700:t.value[a]=100}return(a,v)=>{const k=ee,b=te,A=ne,E=oe;return r(),M("div",null,[v[0]||(v[0]=p("h1",{class:"page-title"},"干员心情折线表",-1)),o(E,{"x-gap":12,"y-gap":8,collapsed:!1,cols:"1 s:1 m:2 l:3 xl:4 2xl:5",responsive:"screen"},{default:l(()=>[(r(!0),M(Z,null,G(e(g),(x,s)=>(r(),f(A,{key:s,class:J(["report-card",{"report-card-expand":e(d)==s}])},{default:l(()=>[p("h2",null,W(x.groupName),1),p("div",ge,[p("div",{class:"line-inner-container",style:Y({width:e(t)[s]+"%"})},[o(e(Q),{data:x.moodData,options:e(B)},null,8,["data","options"])],4)]),o(b,{class:"toggle toggle-size",size:"small",onClick:z=>d.value=e(d)==-1?s:-1,focusable:!1},{icon:l(()=>[o(k,null,{default:l(()=>[e(d)==s?(r(),f(e(ue),{key:0})):(r(),f(e(re),{key:1}))]),_:2},1024)]),_:2},1032,["onClick"]),o(b,{class:"toggle toggle-width",size:"small",onClick:z=>S(s),focusable:!1},{icon:l(()=>[o(k,null,{default:l(()=>[o(e(me))]),_:1})]),_:2},1032,["onClick"])]),_:2},1032,["class"]))),128))]),_:1})])}}},be=U(fe,[["__scopeId","data-v-1d70fb0d"]]);export{be as default};
|
||||||
|
|
2
ui/dist/assets/RecordPie.js
vendored
2
ui/dist/assets/RecordPie.js
vendored
|
@ -1 +1 @@
|
||||||
import{u as b,C as S,a as x,L as y,T as k,b as v,P as C,c as E,p as P,d as R,e as h,f as w,A as B,g as L,i as D}from"./record.js";import{br as M,r as i,s as N,bC as c,by as p,bw as u,bv as _,bt as o,F as T,bD as A,bo as n,bu as F,bE as V}from"./_plugin-vue_export-helper.js";import{b as I,_ as O}from"./Grid.js";import"./main.js";import"./get-slot.js";const j={__name:"RecordPie",setup(q){const d=b(),{getMoodRatios:m}=d;S.register(x,y,k,v,C,E,P,R,h,w,B,L);const r=i([]);N(async()=>{r.value=await m()});const g=i({plugins:{datalabels:{color:"black",formatter:function(l,e){let t=e.dataset.data.reduce((s,a)=>s+a,0);return Math.round(l/t*100)+"%"}},legend:{display:!1}}});return(l,e)=>{const t=O,s=I;return o(),c("div",null,[e[0]||(e[0]=p("h1",{class:"page-title"},"工作休息比例报表",-1)),u(s,{"x-gap":12,"y-gap":8,collapsed:!1,cols:"1 s:1 m:2 l:3 xl:4 2xl:5",responsive:"screen"},{default:_(()=>[(o(!0),c(T,null,A(n(r),(a,f)=>(o(),F(t,{key:f,class:"report-card"},{default:_(()=>[p("h2",null,V(a.groupName),1),u(n(D),{data:a.workRestData,options:n(g)},null,8,["data","options"])]),_:2},1024))),128))]),_:1})])}}},Q=M(j,[["__scopeId","data-v-80502f5e"]]);export{Q as default};
|
import{u as b,C as S,a as x,L as k,T as y,b as P,P as R,c as h,p as v,d as B,e as C,f as E,A as L,g as M,i as T}from"./record.js";import{bP as w,r as c,u as N,bV as i,bU as p,bT as u,bS as _,bQ as o,F as V,b_ as A,bM as n,bR as D,bX as F}from"./_plugin-vue_export-helper.js";import{b5 as I,b6 as O}from"./main.js";const Q={__name:"RecordPie",setup(U){const d=b(),{getMoodRatios:m}=d;S.register(x,k,y,P,R,h,v,B,C,E,L,M);const r=c([]);N(async()=>{r.value=await m()});const g=c({plugins:{datalabels:{color:"black",formatter:function(l,e){let t=e.dataset.data.reduce((s,a)=>s+a,0);return Math.round(l/t*100)+"%"}},legend:{display:!1}}});return(l,e)=>{const t=O,s=I;return o(),i("div",null,[e[0]||(e[0]=p("h1",{class:"page-title"},"工作休息比例报表",-1)),u(s,{"x-gap":12,"y-gap":8,collapsed:!1,cols:"1 s:1 m:2 l:3 xl:4 2xl:5",responsive:"screen"},{default:_(()=>[(o(!0),i(V,null,A(n(r),(a,f)=>(o(),D(t,{key:f,class:"report-card"},{default:_(()=>[p("h2",null,F(a.groupName),1),u(n(T),{data:a.workRestData,options:n(g)},null,8,["data","options"])]),_:2},1024))),128))]),_:1})])}}},z=w(Q,[["__scopeId","data-v-80502f5e"]]);export{z as default};
|
||||||
|
|
90
ui/dist/assets/Scrollbar.js
vendored
90
ui/dist/assets/Scrollbar.js
vendored
File diff suppressed because one or more lines are too long
443
ui/dist/assets/Select.js
vendored
443
ui/dist/assets/Select.js
vendored
File diff suppressed because one or more lines are too long
1
ui/dist/assets/Settings.css
vendored
1
ui/dist/assets/Settings.css
vendored
|
@ -1 +0,0 @@
|
||||||
.sss-container[data-v-b52b1842]{display:flex;width:100%;gap:8px}.wrapper[data-v-b52b1842]{white-space:pre-wrap;-webkit-user-select:text;user-select:text}.title[data-v-b52b1842]{font-size:18px;font-weight:500;margin-bottom:6px}p[data-v-d479d5bf]{margin:0 0 10px}.misc-container[data-v-d479d5bf]{display:flex;align-items:center;gap:12px}.header[data-v-d479d5bf]{margin:12px 0}.tasktable[data-v-6e42e723]{margin-top:4px;width:100%;overflow:scroll}.tasktable table[data-v-6e42e723]{border-collapse:collapse;width:100%}.btn-clear[data-v-6e42e723]{margin:4px}@media screen and (max-width: 1399px){.tasktable[data-v-6e42e723]{max-height:300px}.tasktable td[data-v-6e42e723]{width:10.2857142857%}.tasktable td[data-v-6e42e723]:first-child{width:10%}.tasktable td[data-v-6e42e723]:nth-child(2){width:18%}.tasktable thead[data-v-6e42e723]{position:sticky;top:0;background-color:#7ea5b4;z-index:1}}@media screen and (min-width: 1400px){.tasktable td[data-v-6e42e723]{width:10.2857142857%}.tasktable td[data-v-6e42e723]:first-child{width:10%}.tasktable td[data-v-6e42e723]:nth-child(2){width:18%}.tasktable thead[data-v-6e42e723]{background-color:#7ea5b4}}.class1[data-v-6e42e723]{background-color:var(--06f96d6a);text-align:center;vertical-align:middle}.class2[data-v-6e42e723]{background-color:var(--292d8683);text-align:center;vertical-align:middle}.custom-tag[data-v-6e42e723]{width:100%;height:100%;justify-content:space-between}.today[data-v-6e42e723]{font-weight:400;font-size:12px}.activity[data-v-6e42e723]{align-items:center;gap:4px!important}.card-title[data-v-6e42e723]{transition:.3s}.disabled[data-v-6e42e723]{color:var(--6d545694)}.form-item[data-v-6e42e723]{margin:0 0 4px}p[data-v-748f667d]{margin:2px 0}h4[data-v-748f667d]{margin:12px 0 8px}table[data-v-748f667d]{width:100%}td[data-v-748f667d]:nth-child(1){width:80px}.ignore-blacklist[data-v-748f667d]{margin-bottom:10px;display:flex;gap:12px}.h4[data-v-748f667d]{font-size:16px;font-weight:500}.maa-shop[data-v-748f667d]{margin:8px 0}.item[data-v-748f667d]{font-weight:500;font-size:16px}p[data-v-707c6f48]{margin:0 0 8px}h4[data-v-707c6f48]{margin:12px 0 10px}.big-table[data-v-707c6f48]{margin-top:10px;max-width:320px}.big-table th[data-v-707c6f48]{text-align:center}.big-table tr[data-v-707c6f48]{width:70px}.big-table td[data-v-707c6f48]{height:24px}.big-table td[data-v-707c6f48]:nth-child(1){width:70px;text-align:center}.big-table td[data-v-707c6f48]:nth-child(2){width:420px}.final[data-v-707c6f48]{margin:16px 0 0}.item[data-v-e95953da]{font-weight:500;font-size:16px}.n-divider[data-v-e95953da]:not(.n-divider--vertical){margin:6px 0}.subtitle[data-v-31c5d919]{margin:12px 0 6px}.misc-container{margin-top:12px;display:flex;align-items:center;gap:12px}.email-title[data-v-7cbc22ce]{width:100%}.expand[data-v-7cbc22ce]{flex-grow:1}.email-table[data-v-7cbc22ce]{width:100%;margin-bottom:12px}.email-test[data-v-7cbc22ce]{display:flex;align-items:center;gap:16px}.email-mode[data-v-7cbc22ce]{margin-left:20px}.email-label[data-v-7cbc22ce]{width:68px}p[data-v-7cbc22ce]{margin:0 0 10px}.mt-16[data-v-7cbc22ce]{margin-top:16px}.threshold[data-v-9ecb0f84]{display:flex;align-items:center;gap:14px;width:100%}.mower-basic[data-v-9ecb0f84]{width:100%}.mower-basic td[data-v-9ecb0f84]:nth-child(1){width:120px}.mower-basic td[data-v-9ecb0f84]:nth-child(3){padding-left:6px;width:40px}.riic-conf[data-v-9ecb0f84]{width:100%}.riic-conf td[data-v-9ecb0f84]:nth-child(1){width:130px}.riic-conf td[data-v-9ecb0f84]:nth-child(3){padding-left:12px;width:120px}.coord td[data-v-9ecb0f84]{width:120px}.coord td[data-v-9ecb0f84]:nth-child(1),.coord td[data-v-9ecb0f84]:nth-child(3){width:30px}.coord td[data-v-9ecb0f84]:nth-child(2){padding-right:30px}.coord-label[data-v-9ecb0f84]{width:40px;padding-left:8px}p[data-v-9ecb0f84]{margin:0 0 8px}h4[data-v-9ecb0f84]{margin:12px 0 10px}.time-table[data-v-9ecb0f84]{width:100%;margin-bottom:12px}.time-table td[data-v-9ecb0f84]:nth-child(1){width:40px}.scale[data-v-9ecb0f84]{width:60px;text-align:right}.scale-apply[data-v-9ecb0f84]{margin-left:24px}.waiting-table th[data-v-9ecb0f84],.waiting-table td[data-v-9ecb0f84]{padding:4px;min-width:70px;width:100px}.waiting-table th[data-v-9ecb0f84]:first-child,.waiting-table td[data-v-9ecb0f84]:first-child{width:auto;padding:4px 8px}.card-title[data-v-9ecb0f84]{margin-right:8px}@media (max-width: 1399px){.grid-two{margin:0 0 -10px;width:100%;max-width:600px}.grid-left{display:grid;row-gap:10px;grid-template-columns:100%}.grid-right{display:grid;row-gap:10px;grid-template-columns:100%;margin-top:10px}}@media (min-width: 1400px){.grid-two{display:grid;grid-template-columns:minmax(0px,1fr) minmax(0px,1fr);align-items:flex-start;gap:5px}.grid-left,.grid-right{display:grid;gap:5px;grid-template-columns:100%;max-width:600px}}.n-divider:not(.n-divider--vertical){margin:14px 0 8px}
|
|
166
ui/dist/assets/Settings.js
vendored
166
ui/dist/assets/Settings.js
vendored
File diff suppressed because one or more lines are too long
1
ui/dist/assets/SlickOperatorSelect.css
vendored
1
ui/dist/assets/SlickOperatorSelect.css
vendored
|
@ -1 +0,0 @@
|
||||||
.width100[data-v-67be031c]{width:100%}
|
|
491
ui/dist/assets/SlickOperatorSelect.js
vendored
491
ui/dist/assets/SlickOperatorSelect.js
vendored
File diff suppressed because one or more lines are too long
159
ui/dist/assets/Slider.js
vendored
159
ui/dist/assets/Slider.js
vendored
File diff suppressed because one or more lines are too long
71
ui/dist/assets/Tag.js
vendored
71
ui/dist/assets/Tag.js
vendored
|
@ -1,71 +0,0 @@
|
||||||
import{an as co,aM as e,as as no,av as u,au as x,at as I,ar as z,B as so,r as to,ax as io,ay as N,D as ho,b as go,b0 as bo,j as D,aC as Co,aG as U,H as y,b5 as vo,z as uo,aL as po,aY as d,b1 as fo,c2 as L}from"./_plugin-vue_export-helper.js";import{au as ko}from"./main.js";function mo(l){const{textColor2:h,primaryColorHover:r,primaryColorPressed:p,primaryColor:c,infoColor:i,successColor:s,warningColor:n,errorColor:t,baseColor:f,borderColor:k,opacityDisabled:g,tagColor:C,closeIconColor:o,closeIconColorHover:a,closeIconColorPressed:v,borderRadiusSmall:b,fontSizeMini:m,fontSizeTiny:S,fontSizeSmall:B,fontSizeMedium:H,heightMini:$,heightTiny:R,heightSmall:M,heightMedium:_,closeColorHover:T,closeColorPressed:E,buttonColor2Hover:W,buttonColor2Pressed:j,fontWeightStrong:w}=l;return Object.assign(Object.assign({},ko),{closeBorderRadius:b,heightTiny:$,heightSmall:R,heightMedium:M,heightLarge:_,borderRadius:b,opacityDisabled:g,fontSizeTiny:m,fontSizeSmall:S,fontSizeMedium:B,fontSizeLarge:H,fontWeightStrong:w,textColorCheckable:h,textColorHoverCheckable:h,textColorPressedCheckable:h,textColorChecked:f,colorCheckable:"#0000",colorHoverCheckable:W,colorPressedCheckable:j,colorChecked:c,colorCheckedHover:r,colorCheckedPressed:p,border:`1px solid ${k}`,textColor:h,color:C,colorBordered:"rgb(250, 250, 252)",closeIconColor:o,closeIconColorHover:a,closeIconColorPressed:v,closeColorHover:T,closeColorPressed:E,borderPrimary:`1px solid ${e(c,{alpha:.3})}`,textColorPrimary:c,colorPrimary:e(c,{alpha:.12}),colorBorderedPrimary:e(c,{alpha:.1}),closeIconColorPrimary:c,closeIconColorHoverPrimary:c,closeIconColorPressedPrimary:c,closeColorHoverPrimary:e(c,{alpha:.12}),closeColorPressedPrimary:e(c,{alpha:.18}),borderInfo:`1px solid ${e(i,{alpha:.3})}`,textColorInfo:i,colorInfo:e(i,{alpha:.12}),colorBorderedInfo:e(i,{alpha:.1}),closeIconColorInfo:i,closeIconColorHoverInfo:i,closeIconColorPressedInfo:i,closeColorHoverInfo:e(i,{alpha:.12}),closeColorPressedInfo:e(i,{alpha:.18}),borderSuccess:`1px solid ${e(s,{alpha:.3})}`,textColorSuccess:s,colorSuccess:e(s,{alpha:.12}),colorBorderedSuccess:e(s,{alpha:.1}),closeIconColorSuccess:s,closeIconColorHoverSuccess:s,closeIconColorPressedSuccess:s,closeColorHoverSuccess:e(s,{alpha:.12}),closeColorPressedSuccess:e(s,{alpha:.18}),borderWarning:`1px solid ${e(n,{alpha:.35})}`,textColorWarning:n,colorWarning:e(n,{alpha:.15}),colorBorderedWarning:e(n,{alpha:.12}),closeIconColorWarning:n,closeIconColorHoverWarning:n,closeIconColorPressedWarning:n,closeColorHoverWarning:e(n,{alpha:.12}),closeColorPressedWarning:e(n,{alpha:.18}),borderError:`1px solid ${e(t,{alpha:.23})}`,textColorError:t,colorError:e(t,{alpha:.1}),colorBorderedError:e(t,{alpha:.08}),closeIconColorError:t,closeIconColorHoverError:t,closeIconColorPressedError:t,closeColorHoverError:e(t,{alpha:.12}),closeColorPressedError:e(t,{alpha:.18})})}const xo={name:"Tag",common:co,self:mo},yo={color:Object,type:{type:String,default:"default"},round:Boolean,size:{type:String,default:"medium"},closable:Boolean,disabled:{type:Boolean,default:void 0}},Po=no("tag",`
|
|
||||||
--n-close-margin: var(--n-close-margin-top) var(--n-close-margin-right) var(--n-close-margin-bottom) var(--n-close-margin-left);
|
|
||||||
white-space: nowrap;
|
|
||||||
position: relative;
|
|
||||||
box-sizing: border-box;
|
|
||||||
cursor: default;
|
|
||||||
display: inline-flex;
|
|
||||||
align-items: center;
|
|
||||||
flex-wrap: nowrap;
|
|
||||||
padding: var(--n-padding);
|
|
||||||
border-radius: var(--n-border-radius);
|
|
||||||
color: var(--n-text-color);
|
|
||||||
background-color: var(--n-color);
|
|
||||||
transition:
|
|
||||||
border-color .3s var(--n-bezier),
|
|
||||||
background-color .3s var(--n-bezier),
|
|
||||||
color .3s var(--n-bezier),
|
|
||||||
box-shadow .3s var(--n-bezier),
|
|
||||||
opacity .3s var(--n-bezier);
|
|
||||||
line-height: 1;
|
|
||||||
height: var(--n-height);
|
|
||||||
font-size: var(--n-font-size);
|
|
||||||
`,[u("strong",`
|
|
||||||
font-weight: var(--n-font-weight-strong);
|
|
||||||
`),x("border",`
|
|
||||||
pointer-events: none;
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
border-radius: inherit;
|
|
||||||
border: var(--n-border);
|
|
||||||
transition: border-color .3s var(--n-bezier);
|
|
||||||
`),x("icon",`
|
|
||||||
display: flex;
|
|
||||||
margin: 0 4px 0 0;
|
|
||||||
color: var(--n-text-color);
|
|
||||||
transition: color .3s var(--n-bezier);
|
|
||||||
font-size: var(--n-avatar-size-override);
|
|
||||||
`),x("avatar",`
|
|
||||||
display: flex;
|
|
||||||
margin: 0 6px 0 0;
|
|
||||||
`),x("close",`
|
|
||||||
margin: var(--n-close-margin);
|
|
||||||
transition:
|
|
||||||
background-color .3s var(--n-bezier),
|
|
||||||
color .3s var(--n-bezier);
|
|
||||||
`),u("round",`
|
|
||||||
padding: 0 calc(var(--n-height) / 3);
|
|
||||||
border-radius: calc(var(--n-height) / 2);
|
|
||||||
`,[x("icon",`
|
|
||||||
margin: 0 4px 0 calc((var(--n-height) - 8px) / -2);
|
|
||||||
`),x("avatar",`
|
|
||||||
margin: 0 6px 0 calc((var(--n-height) - 8px) / -2);
|
|
||||||
`),u("closable",`
|
|
||||||
padding: 0 calc(var(--n-height) / 4) 0 calc(var(--n-height) / 3);
|
|
||||||
`)]),u("icon, avatar",[u("round",`
|
|
||||||
padding: 0 calc(var(--n-height) / 3) 0 calc(var(--n-height) / 2);
|
|
||||||
`)]),u("disabled",`
|
|
||||||
cursor: not-allowed !important;
|
|
||||||
opacity: var(--n-opacity-disabled);
|
|
||||||
`),u("checkable",`
|
|
||||||
cursor: pointer;
|
|
||||||
box-shadow: none;
|
|
||||||
color: var(--n-text-color-checkable);
|
|
||||||
background-color: var(--n-color-checkable);
|
|
||||||
`,[I("disabled",[z("&:hover","background-color: var(--n-color-hover-checkable);",[I("checked","color: var(--n-text-color-hover-checkable);")]),z("&:active","background-color: var(--n-color-pressed-checkable);",[I("checked","color: var(--n-text-color-pressed-checkable);")])]),u("checked",`
|
|
||||||
color: var(--n-text-color-checked);
|
|
||||||
background-color: var(--n-color-checked);
|
|
||||||
`,[I("disabled",[z("&:hover","background-color: var(--n-color-checked-hover);"),z("&:active","background-color: var(--n-color-checked-pressed);")])])])]),Io=Object.assign(Object.assign(Object.assign({},N.props),yo),{bordered:{type:Boolean,default:void 0},checked:Boolean,checkable:Boolean,strong:Boolean,triggerClickOnClose:Boolean,onClose:[Array,Function],onMouseenter:Function,onMouseleave:Function,"onUpdate:checked":Function,onUpdateChecked:Function,internalCloseFocusable:{type:Boolean,default:!0},internalCloseIsButtonTag:{type:Boolean,default:!0},onCheckedChange:Function}),zo=uo("n-tag"),Ho=so({name:"Tag",props:Io,setup(l){const h=to(null),{mergedBorderedRef:r,mergedClsPrefixRef:p,inlineThemeDisabled:c,mergedRtlRef:i}=io(l),s=N("Tag","-tag",Po,xo,l,p);ho(zo,{roundRef:go(l,"round")});function n(){if(!l.disabled&&l.checkable){const{checked:o,onCheckedChange:a,onUpdateChecked:v,"onUpdate:checked":b}=l;v&&v(!o),b&&b(!o),a&&a(!o)}}function t(o){if(l.triggerClickOnClose||o.stopPropagation(),!l.disabled){const{onClose:a}=l;a&&po(a,o)}}const f={setTextContent(o){const{value:a}=h;a&&(a.textContent=o)}},k=bo("Tag",i,p),g=D(()=>{const{type:o,size:a,color:{color:v,textColor:b}={}}=l,{common:{cubicBezierEaseInOut:m},self:{padding:S,closeMargin:B,borderRadius:H,opacityDisabled:$,textColorCheckable:R,textColorHoverCheckable:M,textColorPressedCheckable:_,textColorChecked:T,colorCheckable:E,colorHoverCheckable:W,colorPressedCheckable:j,colorChecked:w,colorCheckedHover:V,colorCheckedPressed:K,closeBorderRadius:A,fontWeightStrong:G,[d("colorBordered",o)]:Y,[d("closeSize",a)]:q,[d("closeIconSize",a)]:J,[d("fontSize",a)]:Q,[d("height",a)]:O,[d("color",o)]:X,[d("textColor",o)]:Z,[d("border",o)]:oo,[d("closeIconColor",o)]:F,[d("closeIconColorHover",o)]:eo,[d("closeIconColorPressed",o)]:ro,[d("closeColorHover",o)]:lo,[d("closeColorPressed",o)]:ao}}=s.value,P=fo(B);return{"--n-font-weight-strong":G,"--n-avatar-size-override":`calc(${O} - 8px)`,"--n-bezier":m,"--n-border-radius":H,"--n-border":oo,"--n-close-icon-size":J,"--n-close-color-pressed":ao,"--n-close-color-hover":lo,"--n-close-border-radius":A,"--n-close-icon-color":F,"--n-close-icon-color-hover":eo,"--n-close-icon-color-pressed":ro,"--n-close-icon-color-disabled":F,"--n-close-margin-top":P.top,"--n-close-margin-right":P.right,"--n-close-margin-bottom":P.bottom,"--n-close-margin-left":P.left,"--n-close-size":q,"--n-color":v||(r.value?Y:X),"--n-color-checkable":E,"--n-color-checked":w,"--n-color-checked-hover":V,"--n-color-checked-pressed":K,"--n-color-hover-checkable":W,"--n-color-pressed-checkable":j,"--n-font-size":Q,"--n-height":O,"--n-opacity-disabled":$,"--n-padding":S,"--n-text-color":b||Z,"--n-text-color-checkable":R,"--n-text-color-checked":T,"--n-text-color-hover-checkable":M,"--n-text-color-pressed-checkable":_}}),C=c?Co("tag",D(()=>{let o="";const{type:a,size:v,color:{color:b,textColor:m}={}}=l;return o+=a[0],o+=v[0],b&&(o+=`a${L(b)}`),m&&(o+=`b${L(m)}`),r.value&&(o+="c"),o}),g,l):void 0;return Object.assign(Object.assign({},f),{rtlEnabled:k,mergedClsPrefix:p,contentRef:h,mergedBordered:r,handleClick:n,handleCloseClick:t,cssVars:c?void 0:g,themeClass:C==null?void 0:C.themeClass,onRender:C==null?void 0:C.onRender})},render(){var l,h;const{mergedClsPrefix:r,rtlEnabled:p,closable:c,color:{borderColor:i}={},round:s,onRender:n,$slots:t}=this;n==null||n();const f=U(t.avatar,g=>g&&y("div",{class:`${r}-tag__avatar`},g)),k=U(t.icon,g=>g&&y("div",{class:`${r}-tag__icon`},g));return y("div",{class:[`${r}-tag`,this.themeClass,{[`${r}-tag--rtl`]:p,[`${r}-tag--strong`]:this.strong,[`${r}-tag--disabled`]:this.disabled,[`${r}-tag--checkable`]:this.checkable,[`${r}-tag--checked`]:this.checkable&&this.checked,[`${r}-tag--round`]:s,[`${r}-tag--avatar`]:f,[`${r}-tag--icon`]:k,[`${r}-tag--closable`]:c}],style:this.cssVars,onClick:this.handleClick,onMouseenter:this.onMouseenter,onMouseleave:this.onMouseleave},k||f,y("span",{class:`${r}-tag__content`,ref:"contentRef"},(h=(l=this.$slots).default)===null||h===void 0?void 0:h.call(l)),!this.checkable&&c?y(vo,{clsPrefix:r,class:`${r}-tag__close`,disabled:this.disabled,onClick:this.handleCloseClick,focusable:this.internalCloseFocusable,round:s,isButtonTag:this.internalCloseIsButtonTag,absolute:!0}):null,!this.checkable&&this.mergedBordered?y("div",{class:`${r}-tag__border`,style:{borderColor:i}}):null)}});export{Ho as _,zo as a,yo as c,xo as t};
|
|
2
ui/dist/assets/TrashOutline.js
vendored
2
ui/dist/assets/TrashOutline.js
vendored
|
@ -1 +1 @@
|
||||||
import{bm as t}from"./_plugin-vue_export-helper.js";var o={};Object.defineProperty(o,"__esModule",{value:!0});const e=t,r={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},n=(0,e.createStaticVNode)('<path d="M112 112l20 320c.95 18.49 14.4 32 32 32h184c17.67 0 30.87-13.51 32-32l20-320" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="32" d="M80 112h352" fill="currentColor"></path><path d="M192 112V72h0a23.93 23.93 0 0 1 24-24h80a23.93 23.93 0 0 1 24 24h0v40" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M256 176v224"></path><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M184 176l8 224"></path><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M328 176l-8 224"></path>',6),l=[n];var h=o.default=(0,e.defineComponent)({name:"TrashOutline",render:function(s,a){return(0,e.openBlock)(),(0,e.createElementBlock)("svg",r,l)}});export{h as _};
|
import{bK as t}from"./_plugin-vue_export-helper.js";var o={};Object.defineProperty(o,"__esModule",{value:!0});const e=t,r={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},n=(0,e.createStaticVNode)('<path d="M112 112l20 320c.95 18.49 14.4 32 32 32h184c17.67 0 30.87-13.51 32-32l20-320" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="32" d="M80 112h352" fill="currentColor"></path><path d="M192 112V72h0a23.93 23.93 0 0 1 24-24h80a23.93 23.93 0 0 1 24 24h0v40" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32"></path><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M256 176v224"></path><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M184 176l8 224"></path><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="32" d="M328 176l-8 224"></path>',6),l=[n];var h=o.default=(0,e.defineComponent)({name:"TrashOutline",render:function(s,a){return(0,e.openBlock)(),(0,e.createElementBlock)("svg",r,l)}});export{h as _};
|
||||||
|
|
1
ui/dist/assets/VirtualList.js
vendored
1
ui/dist/assets/VirtualList.js
vendored
File diff suppressed because one or more lines are too long
431
ui/dist/assets/_plugin-vue_export-helper.js
vendored
431
ui/dist/assets/_plugin-vue_export-helper.js
vendored
File diff suppressed because one or more lines are too long
4
ui/dist/assets/depot.js
vendored
4
ui/dist/assets/depot.js
vendored
|
@ -1,4 +1,4 @@
|
||||||
import{aq as F,ar as P,v as V}from"./main.js";import{as as h,au as f,ar as b,ay as D,B as H,ax as N,b0 as L,j as q,aC as M,H as a,F as E,r as $,s as W,bC as S,bw as l,bv as c,bt as m,k as g,bE as y,bo as R,by as A,bD as T,b3 as G,bu as B}from"./_plugin-vue_export-helper.js";import{a as J}from"./headers.js";import{b as K,_ as Q}from"./Grid.js";import{_ as U}from"./Divider.js";import{_ as X}from"./Avatar.js";import"./get-slot.js";import"./utils.js";import"./Tag.js";const Y=h("thing",`
|
import{b7 as V,b8 as F,au as P,b5 as L,b9 as N,b6 as H,ba as M,v as A}from"./main.js";import{aw as h,ax as f,ay as b,aA as B,D as Q,az as U,aL as W,j as X,aD as q,I as a,F as E,r as $,u as G,bV as C,bT as o,bS as c,bQ as v,k as g,bX as y,bM as R,bU as J,b_ as T,bo as K,bR as D}from"./_plugin-vue_export-helper.js";const Y=h("thing",`
|
||||||
display: flex;
|
display: flex;
|
||||||
transition: color .3s var(--n-bezier);
|
transition: color .3s var(--n-bezier);
|
||||||
font-size: var(--n-font-size);
|
font-size: var(--n-font-size);
|
||||||
|
@ -31,4 +31,4 @@ import{aq as F,ar as P,v as V}from"./main.js";import{as as h,au as f,ar as b,ay
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
`)]),f("action",[b("&:not(:first-child)",`
|
`)]),f("action",[b("&:not(:first-child)",`
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
`)])])]),Z=Object.assign(Object.assign({},D.props),{title:String,titleExtra:String,description:String,descriptionClass:String,descriptionStyle:[String,Object],content:String,contentClass:String,contentStyle:[String,Object],contentIndented:Boolean}),ee=H({name:"Thing",props:Z,setup(t,{slots:e}){const{mergedClsPrefixRef:_,inlineThemeDisabled:u,mergedRtlRef:s}=N(t),w=D("Thing","-thing",Y,F,t,_),v=L("Thing",s,_),p=q(()=>{const{self:{titleTextColor:r,textColor:n,titleFontWeight:o,fontSize:d},common:{cubicBezierEaseInOut:C}}=w.value;return{"--n-bezier":C,"--n-font-size":d,"--n-text-color":n,"--n-title-font-weight":o,"--n-title-text-color":r}}),i=u?M("thing",void 0,p,t):void 0;return()=>{var r;const{value:n}=_,o=v?v.value:!1;return(r=i==null?void 0:i.onRender)===null||r===void 0||r.call(i),a("div",{class:[`${n}-thing`,i==null?void 0:i.themeClass,o&&`${n}-thing--rtl`],style:u?void 0:p.value},e.avatar&&t.contentIndented?a("div",{class:`${n}-thing-avatar`},e.avatar()):null,a("div",{class:`${n}-thing-main`},!t.contentIndented&&(e.header||t.title||e["header-extra"]||t.titleExtra||e.avatar)?a("div",{class:`${n}-thing-avatar-header-wrapper`},e.avatar?a("div",{class:`${n}-thing-avatar`},e.avatar()):null,e.header||t.title||e["header-extra"]||t.titleExtra?a("div",{class:`${n}-thing-header-wrapper`},a("div",{class:`${n}-thing-header`},e.header||t.title?a("div",{class:`${n}-thing-header__title`},e.header?e.header():t.title):null,e["header-extra"]||t.titleExtra?a("div",{class:`${n}-thing-header__extra`},e["header-extra"]?e["header-extra"]():t.titleExtra):null),e.description||t.description?a("div",{class:[`${n}-thing-main__description`,t.descriptionClass],style:t.descriptionStyle},e.description?e.description():t.description):null):null):a(E,null,e.header||t.title||e["header-extra"]||t.titleExtra?a("div",{class:`${n}-thing-header`},e.header||t.title?a("div",{class:`${n}-thing-header__title`},e.header?e.header():t.title):null,e["header-extra"]||t.titleExtra?a("div",{class:`${n}-thing-header__extra`},e["header-extra"]?e["header-extra"]():t.titleExtra):null):null,e.description||t.description?a("div",{class:[`${n}-thing-main__description`,t.descriptionClass],style:t.descriptionStyle},e.description?e.description():t.description):null),e.default||t.content?a("div",{class:[`${n}-thing-main__content`,t.contentClass],style:t.contentStyle},e.default?e.default():t.content):null,e.footer?a("div",{class:`${n}-thing-main__footer`},e.footer()):null,e.action?a("div",{class:`${n}-thing-main__action`},e.action()):null))}}}),te=P("depot",()=>{async function t(){return(await V.get("/depot/readdepot")).data}return{getDepotinfo:t}}),ue={__name:"depot",setup(t){const e=te(),{getDepotinfo:_}=e,u=$([]);let s=$([]);async function w(){u.value=await _(),v()}function v(){s.value={...u.value[0]};for(const i in s.value)if(s.value.hasOwnProperty(i)){const r=s.value[i],n=Object.entries(r).map(([o,d])=>({key:o,...d})).sort((o,d)=>o.sort-d.sort);s.value[i]=n}}W(w);const p=async()=>{try{await navigator.clipboard.writeText(u.value[1])}catch(i){console.error("Failed to copy text:",i)}};return $(!1),(i,r)=>{const n=G,o=U,d=Q,C=J,j=X,O=ee,k=K;return m(),S("div",null,[l(k,{cols:"1",responsive:"screen"},{default:c(()=>[l(d,null,{default:c(()=>[l(n,{onClick:p,tag:"a",href:"https://arkntools.app/#/material",target:"_blank"},{default:c(()=>r[0]||(r[0]=[g(" 明日方舟工具箱代码 点击复制 ")])),_:1}),l(o)]),_:1}),l(d,null,{default:c(()=>[g(" 扫描时间:"+y(R(u)[2])+" ",1),r[1]||(r[1]=A("br",null,null,-1)),r[2]||(r[2]=g(" 注:万以下的数字并不会计入,如“龙门币 245万” “资质凭证 2万” ")),l(o)]),_:1}),(m(!0),S(E,null,T(R(s),(I,z)=>(m(),B(d,{key:z},{default:c(()=>[l(C,null,{default:c(()=>[g(y(z.slice(1)),1)]),_:2},1024),l(k,{"x-gap":"10px","y-gap":"10px",cols:"2 m:6 l:6 ",responsive:"screen"},{default:c(()=>[(m(!0),S(E,null,T(I,x=>(m(),B(d,{key:x},{default:c(()=>[l(O,null,{avatar:c(()=>[l(j,{color:"000",size:"large",src:"/depot/"+x.icon+".webp"},null,8,["src"])]),header:c(()=>[g(y(x.key),1)]),description:c(()=>[g("拥有:"+y(x.number),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),l(o)]),_:2},1024))),128))]),_:1})])}}};export{ue as default};
|
`)])])]),Z=Object.assign(Object.assign({},B.props),{title:String,titleExtra:String,description:String,descriptionClass:String,descriptionStyle:[String,Object],content:String,contentClass:String,contentStyle:[String,Object],contentIndented:Boolean}),ee=Q({name:"Thing",props:Z,setup(t,{slots:e}){const{mergedClsPrefixRef:_,inlineThemeDisabled:u,mergedRtlRef:s}=U(t),w=B("Thing","-thing",Y,V,t,_),x=W("Thing",s,_),m=X(()=>{const{self:{titleTextColor:r,textColor:n,titleFontWeight:l,fontSize:d},common:{cubicBezierEaseInOut:S}}=w.value;return{"--n-bezier":S,"--n-font-size":d,"--n-text-color":n,"--n-title-font-weight":l,"--n-title-text-color":r}}),i=u?q("thing",void 0,m,t):void 0;return()=>{var r;const{value:n}=_,l=x?x.value:!1;return(r=i==null?void 0:i.onRender)===null||r===void 0||r.call(i),a("div",{class:[`${n}-thing`,i==null?void 0:i.themeClass,l&&`${n}-thing--rtl`],style:u?void 0:m.value},e.avatar&&t.contentIndented?a("div",{class:`${n}-thing-avatar`},e.avatar()):null,a("div",{class:`${n}-thing-main`},!t.contentIndented&&(e.header||t.title||e["header-extra"]||t.titleExtra||e.avatar)?a("div",{class:`${n}-thing-avatar-header-wrapper`},e.avatar?a("div",{class:`${n}-thing-avatar`},e.avatar()):null,e.header||t.title||e["header-extra"]||t.titleExtra?a("div",{class:`${n}-thing-header-wrapper`},a("div",{class:`${n}-thing-header`},e.header||t.title?a("div",{class:`${n}-thing-header__title`},e.header?e.header():t.title):null,e["header-extra"]||t.titleExtra?a("div",{class:`${n}-thing-header__extra`},e["header-extra"]?e["header-extra"]():t.titleExtra):null),e.description||t.description?a("div",{class:[`${n}-thing-main__description`,t.descriptionClass],style:t.descriptionStyle},e.description?e.description():t.description):null):null):a(E,null,e.header||t.title||e["header-extra"]||t.titleExtra?a("div",{class:`${n}-thing-header`},e.header||t.title?a("div",{class:`${n}-thing-header__title`},e.header?e.header():t.title):null,e["header-extra"]||t.titleExtra?a("div",{class:`${n}-thing-header__extra`},e["header-extra"]?e["header-extra"]():t.titleExtra):null):null,e.description||t.description?a("div",{class:[`${n}-thing-main__description`,t.descriptionClass],style:t.descriptionStyle},e.description?e.description():t.description):null),e.default||t.content?a("div",{class:[`${n}-thing-main__content`,t.contentClass],style:t.contentStyle},e.default?e.default():t.content):null,e.footer?a("div",{class:`${n}-thing-main__footer`},e.footer()):null,e.action?a("div",{class:`${n}-thing-main__action`},e.action()):null))}}}),te=F("depot",()=>{async function t(){return(await P.get("/depot/readdepot")).data}return{getDepotinfo:t}}),ie={__name:"depot",setup(t){const e=te(),{getDepotinfo:_}=e,u=$([]);let s=$([]);async function w(){u.value=await _(),x()}function x(){s.value={...u.value[0]};for(const i in s.value)if(s.value.hasOwnProperty(i)){const r=s.value[i],n=Object.entries(r).map(([l,d])=>({key:l,...d})).sort((l,d)=>l.sort-d.sort);s.value[i]=n}}G(w);const m=async()=>{try{await navigator.clipboard.writeText(u.value[1])}catch(i){console.error("Failed to copy text:",i)}};return $(!1),(i,r)=>{const n=K,l=N,d=H,S=M,j=A,O=ee,k=L;return v(),C("div",null,[o(k,{cols:"1",responsive:"screen"},{default:c(()=>[o(d,null,{default:c(()=>[o(n,{onClick:m,tag:"a",href:"https://arkntools.app/#/material",target:"_blank"},{default:c(()=>r[0]||(r[0]=[g(" 明日方舟工具箱代码 点击复制 ")])),_:1}),o(l)]),_:1}),o(d,null,{default:c(()=>[g(" 扫描时间:"+y(R(u)[2])+" ",1),r[1]||(r[1]=J("br",null,null,-1)),r[2]||(r[2]=g(" 注:万以下的数字并不会计入,如“龙门币 245万” “资质凭证 2万” ")),o(l)]),_:1}),(v(!0),C(E,null,T(R(s),(I,z)=>(v(),D(d,{key:z},{default:c(()=>[o(S,null,{default:c(()=>[g(y(z.slice(1)),1)]),_:2},1024),o(k,{"x-gap":"10px","y-gap":"10px",cols:"2 m:6 l:6 ",responsive:"screen"},{default:c(()=>[(v(!0),C(E,null,T(I,p=>(v(),D(d,{key:p},{default:c(()=>[o(O,null,{avatar:c(()=>[o(j,{color:"000",size:"large",src:"/depot/"+p.icon+".webp"},null,8,["src"])]),header:c(()=>[g(y(p.key),1)]),description:c(()=>[g("拥有:"+y(p.number),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),o(l)]),_:2},1024))),128))]),_:1})])}}};export{ie as default};
|
||||||
|
|
1
ui/dist/assets/download.js
vendored
1
ui/dist/assets/download.js
vendored
|
@ -1 +0,0 @@
|
||||||
function n(e,o){if(!e)return;const d=document.createElement("a");d.href=e,o!==void 0&&(d.download=o),document.body.appendChild(d),d.click(),document.body.removeChild(d)}export{n as d};
|
|
1
ui/dist/assets/get-slot.js
vendored
1
ui/dist/assets/get-slot.js
vendored
|
@ -1 +0,0 @@
|
||||||
function l(s,o="default",n=[]){const t=s.$slots[o];return t===void 0?n:t()}export{l as g};
|
|
16
ui/dist/assets/headers.js
vendored
16
ui/dist/assets/headers.js
vendored
|
@ -1,16 +0,0 @@
|
||||||
import{as as w,ar as d,av as c,ay as l,B as z,ax as $,j as f,aY as n,aC as T,H}from"./_plugin-vue_export-helper.js";import{D as B}from"./main.js";const R=w("h",`
|
|
||||||
font-size: var(--n-font-size);
|
|
||||||
font-weight: var(--n-font-weight);
|
|
||||||
margin: var(--n-margin);
|
|
||||||
transition: color .3s var(--n-bezier);
|
|
||||||
color: var(--n-text-color);
|
|
||||||
`,[d("&:first-child",{marginTop:0}),c("prefix-bar",{position:"relative",paddingLeft:"var(--n-prefix-width)"},[c("align-text",{paddingLeft:0},[d("&::before",{left:"calc(-1 * var(--n-prefix-width))"})]),d("&::before",`
|
|
||||||
content: "";
|
|
||||||
width: var(--n-bar-width);
|
|
||||||
border-radius: calc(var(--n-bar-width) / 2);
|
|
||||||
transition: background-color .3s var(--n-bezier);
|
|
||||||
left: 0;
|
|
||||||
top: 0;
|
|
||||||
bottom: 0;
|
|
||||||
position: absolute;
|
|
||||||
`),d("&::before",{backgroundColor:"var(--n-bar-color)"})])]),P=Object.assign(Object.assign({},l.props),{type:{type:String,default:"default"},prefix:String,alignText:Boolean}),h=r=>z({name:`H${r}`,props:P,setup(e){const{mergedClsPrefixRef:o,inlineThemeDisabled:i}=$(e),a=l("Typography","-h",R,B,e,o),s=f(()=>{const{type:g}=e,{common:{cubicBezierEaseInOut:m},self:{headerFontWeight:b,headerTextColor:p,[n("headerPrefixWidth",r)]:u,[n("headerFontSize",r)]:x,[n("headerMargin",r)]:C,[n("headerBarWidth",r)]:v,[n("headerBarColor",g)]:y}}=a.value;return{"--n-bezier":m,"--n-font-size":x,"--n-margin":C,"--n-bar-color":y,"--n-bar-width":v,"--n-font-weight":b,"--n-text-color":p,"--n-prefix-width":u}}),t=i?T(`h${r}`,f(()=>e.type[0]),s,e):void 0;return{mergedClsPrefix:o,cssVars:i?void 0:s,themeClass:t==null?void 0:t.themeClass,onRender:t==null?void 0:t.onRender}},render(){var e;const{prefix:o,alignText:i,mergedClsPrefix:a,cssVars:s,$slots:t}=this;return(e=this.onRender)===null||e===void 0||e.call(this),H(`h${r}`,{class:[`${a}-h`,`${a}-h${r}`,this.themeClass,{[`${a}-h--prefix-bar`]:o,[`${a}-h--align-text`]:i}],style:s},t)}}),S=h("1"),j=h("2"),L=h("4");export{L as N,j as a,S as b};
|
|
1
ui/dist/assets/index.js
vendored
1
ui/dist/assets/index.js
vendored
File diff suppressed because one or more lines are too long
2
ui/dist/assets/main.css
vendored
2
ui/dist/assets/main.css
vendored
File diff suppressed because one or more lines are too long
2413
ui/dist/assets/main.js
vendored
2413
ui/dist/assets/main.js
vendored
File diff suppressed because one or more lines are too long
6
ui/dist/assets/manager.js
vendored
6
ui/dist/assets/manager.js
vendored
File diff suppressed because one or more lines are too long
196
ui/dist/assets/op_select.js
vendored
196
ui/dist/assets/op_select.js
vendored
File diff suppressed because one or more lines are too long
12
ui/dist/assets/record.js
vendored
12
ui/dist/assets/record.js
vendored
File diff suppressed because one or more lines are too long
32
ui/dist/assets/report.js
vendored
32
ui/dist/assets/report.js
vendored
File diff suppressed because one or more lines are too long
1
ui/dist/assets/use-locale.js
vendored
1
ui/dist/assets/use-locale.js
vendored
File diff suppressed because one or more lines are too long
1
ui/dist/assets/utils.js
vendored
1
ui/dist/assets/utils.js
vendored
|
@ -1 +0,0 @@
|
||||||
import{N as m}from"./_plugin-vue_export-helper.js";const M=m&&"loading"in document.createElement("img");function O(e={}){var o;const{root:n=null}=e;return{hash:`${e.rootMargin||"0px 0px 0px 0px"}-${Array.isArray(e.threshold)?e.threshold.join(","):(o=e.threshold)!==null&&o!==void 0?o:"0"}`,options:Object.assign(Object.assign({},e),{root:(typeof n=="string"?document.querySelector(n):n)||document.documentElement})}}const c=new WeakMap,h=new WeakMap,u=new WeakMap,x=(e,o,n)=>{if(!e)return()=>{};const r=O(o),{root:i}=r.options;let s;const v=c.get(i);v?s=v:(s=new Map,c.set(i,s));let a,t;s.has(r.hash)?(t=s.get(r.hash),t[1].has(e)||(a=t[0],t[1].add(e),a.observe(e))):(a=new IntersectionObserver(p=>{p.forEach(d=>{if(d.isIntersecting){const b=h.get(d.target),g=u.get(d.target);b&&b(),g&&(g.value=!0)}})},r.options),a.observe(e),t=[a,new Set([e])],s.set(r.hash,t));let f=!1;const l=()=>{f||(h.delete(e),u.delete(e),f=!0,t[1].has(e)&&(t[0].unobserve(e),t[1].delete(e)),t[1].size<=0&&s.delete(r.hash),s.size||c.delete(i))};return h.set(e,l),u.set(e,n),l};export{M as i,x as o};
|
|
2
ui/dist/manager/index.html
vendored
2
ui/dist/manager/index.html
vendored
|
@ -9,8 +9,6 @@
|
||||||
<link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper.js">
|
<link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper.js">
|
||||||
<link rel="modulepreload" crossorigin href="/assets/Play.js">
|
<link rel="modulepreload" crossorigin href="/assets/Play.js">
|
||||||
<link rel="modulepreload" crossorigin href="/assets/TrashOutline.js">
|
<link rel="modulepreload" crossorigin href="/assets/TrashOutline.js">
|
||||||
<link rel="modulepreload" crossorigin href="/assets/use-locale.js">
|
|
||||||
<link rel="modulepreload" crossorigin href="/assets/Input.js">
|
|
||||||
<link rel="stylesheet" crossorigin href="/assets/manager.css">
|
<link rel="stylesheet" crossorigin href="/assets/manager.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
</n-tab>
|
</n-tab>
|
||||||
<n-tab name="设置" @click="$router.push('/settings')">
|
<n-tab name="设置" @click="$router.push('/settings')">
|
||||||
<div style="display: flex; flex-direction: column; align-items: center">
|
<div style="display: flex; flex-direction: column; align-items: center">
|
||||||
<n-icon size="20" style="margin-bottom: -1px" :component="Settings" />
|
<n-icon size="20" style="margin-bottom: -1px" :component="SettingsIcon" />
|
||||||
设置
|
设置
|
||||||
</div>
|
</div>
|
||||||
</n-tab>
|
</n-tab>
|
||||||
|
@ -108,6 +108,7 @@
|
||||||
</n-tabs>
|
</n-tabs>
|
||||||
</n-layout-footer>
|
</n-layout-footer>
|
||||||
</n-layout>
|
</n-layout>
|
||||||
|
<DesktopSettings v-if="!mobile" />
|
||||||
</n-loading-bar-provider>
|
</n-loading-bar-provider>
|
||||||
</n-message-provider>
|
</n-message-provider>
|
||||||
</n-dialog-provider>
|
</n-dialog-provider>
|
||||||
|
@ -125,7 +126,7 @@ import HelpCircle from '@vicons/ionicons5/HelpCircle'
|
||||||
import Home from '@vicons/ionicons5/Home'
|
import Home from '@vicons/ionicons5/Home'
|
||||||
import PieChart from '@vicons/ionicons5/PieChart'
|
import PieChart from '@vicons/ionicons5/PieChart'
|
||||||
import ReaderOutline from '@vicons/ionicons5/ReaderOutline'
|
import ReaderOutline from '@vicons/ionicons5/ReaderOutline'
|
||||||
import Settings from '@vicons/ionicons5/Settings'
|
import SettingsIcon from '@vicons/ionicons5/Settings'
|
||||||
import StatsChart from '@vicons/ionicons5/StatsChart'
|
import StatsChart from '@vicons/ionicons5/StatsChart'
|
||||||
import Storefront from '@vicons/ionicons5/Storefront'
|
import Storefront from '@vicons/ionicons5/Storefront'
|
||||||
import { NIcon } from 'naive-ui'
|
import { NIcon } from 'naive-ui'
|
||||||
|
@ -143,11 +144,6 @@ const menuOptions = [
|
||||||
icon: renderIcon(BookOutline),
|
icon: renderIcon(BookOutline),
|
||||||
key: 'go-to-log'
|
key: 'go-to-log'
|
||||||
},
|
},
|
||||||
{
|
|
||||||
label: () => h(RouterLink, { to: { path: '/settings' } }, { default: () => '全部设置' }),
|
|
||||||
icon: renderIcon(Settings),
|
|
||||||
key: 'go-to-allsetting'
|
|
||||||
},
|
|
||||||
// {
|
// {
|
||||||
// label: () => h(RouterLink, { to: { path: '/aio' } }, { default: () => 'aio' }),
|
// label: () => h(RouterLink, { to: { path: '/aio' } }, { default: () => 'aio' }),
|
||||||
// icon: renderIcon(Settings),
|
// icon: renderIcon(Settings),
|
||||||
|
@ -374,6 +370,11 @@ watch(
|
||||||
actions_on_resize()
|
actions_on_resize()
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
import DesktopSettings from '@/pages/DesktopSettings.vue'
|
||||||
|
|
||||||
|
const settings = ref(false)
|
||||||
|
provide('settings', settings)
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
|
@ -116,13 +116,7 @@ const { conf } = storeToRefs(store)
|
||||||
<n-flex vertical>
|
<n-flex vertical>
|
||||||
<div class="wrapper" v-if="sss_data.exists">
|
<div class="wrapper" v-if="sss_data.exists">
|
||||||
<div class="title">{{ sss_data.title }}</div>
|
<div class="title">{{ sss_data.title }}</div>
|
||||||
<n-scrollbar
|
{{ sss_data.details }}
|
||||||
style="max-height: 240px"
|
|
||||||
content-style="padding-right: 12px"
|
|
||||||
trigger="none"
|
|
||||||
>
|
|
||||||
{{ sss_data.details }}
|
|
||||||
</n-scrollbar>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-else>未选择作业</div>
|
<div v-else>未选择作业</div>
|
||||||
<n-flex v-for="o in sss_data.operators" align="center">
|
<n-flex v-for="o in sss_data.operators" align="center">
|
||||||
|
|
109
ui/src/pages/DesktopSettings.vue
Normal file
109
ui/src/pages/DesktopSettings.vue
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
<script setup>
|
||||||
|
import Device from '@/pages/settings/Device.vue'
|
||||||
|
import RIIC from '@/pages/settings/RIIC.vue'
|
||||||
|
import Email from '@/pages/settings/Email.vue'
|
||||||
|
import SKLand from '@/pages/settings/SKLand.vue'
|
||||||
|
import AutoFight from '@/pages/settings/AutoFight.vue'
|
||||||
|
import Appearance from '@/pages/settings/Appearance.vue'
|
||||||
|
import DailyMission from '@/pages/settings/DailyMission.vue'
|
||||||
|
import Recruit from '@/pages/settings/Recruit.vue'
|
||||||
|
import Depotswitch from '@/pages/settings/Depotswitch.vue'
|
||||||
|
import Regular from '@/pages/settings/Regular.vue'
|
||||||
|
import Clue from '@/pages/settings/Clue.vue'
|
||||||
|
import WeeklyPlan from '@/pages/settings/WeeklyPlan.vue'
|
||||||
|
import LongTasks from '@/pages/settings/LongTasks.vue'
|
||||||
|
|
||||||
|
const settings = inject('settings')
|
||||||
|
const tab = ref('device')
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<n-modal v-model:show="settings" transform-origin="center" preset="card" class="settings-card">
|
||||||
|
<template #header><div class="header">mower-ng 设置</div></template>
|
||||||
|
<n-tabs placement="left" type="card" v-model:value="tab">
|
||||||
|
<n-tab-pane name="device" tab="设备与游戏">
|
||||||
|
<n-scrollbar style="height: 640px" trigger="none">
|
||||||
|
<Device />
|
||||||
|
</n-scrollbar>
|
||||||
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="riic" tab="基建设置">
|
||||||
|
<n-scrollbar style="height: 640px" trigger="none">
|
||||||
|
<RIIC />
|
||||||
|
</n-scrollbar>
|
||||||
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="email" tab="邮件提醒">
|
||||||
|
<n-scrollbar style="height: 640px" trigger="none">
|
||||||
|
<Email />
|
||||||
|
</n-scrollbar>
|
||||||
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="skland" tab="森空岛账号">
|
||||||
|
<n-scrollbar style="height: 640px" trigger="none">
|
||||||
|
<SKLand />
|
||||||
|
</n-scrollbar>
|
||||||
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="auto_fight" tab="自动战斗设置">
|
||||||
|
<n-scrollbar style="height: 640px" trigger="none">
|
||||||
|
<AutoFight />
|
||||||
|
</n-scrollbar>
|
||||||
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="appearance" tab="外观、性能与其它">
|
||||||
|
<n-scrollbar style="height: 640px" trigger="none">
|
||||||
|
<Appearance />
|
||||||
|
</n-scrollbar>
|
||||||
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="daily" tab="每日任务">
|
||||||
|
<n-scrollbar style="height: 640px" trigger="none">
|
||||||
|
<DailyMission />
|
||||||
|
</n-scrollbar>
|
||||||
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="recruit" tab="公开招募">
|
||||||
|
<n-scrollbar style="height: 640px" trigger="none">
|
||||||
|
<Recruit />
|
||||||
|
</n-scrollbar>
|
||||||
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="depot" tab="仓库物品混合读取">
|
||||||
|
<n-scrollbar style="height: 640px" trigger="none">
|
||||||
|
<Depotswitch />
|
||||||
|
</n-scrollbar>
|
||||||
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="regular" tab="日常任务">
|
||||||
|
<n-scrollbar style="height: 640px" trigger="none">
|
||||||
|
<Regular />
|
||||||
|
</n-scrollbar>
|
||||||
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="clue" tab="线索收集与信用">
|
||||||
|
<n-scrollbar style="height: 640px" trigger="none">
|
||||||
|
<Clue />
|
||||||
|
</n-scrollbar>
|
||||||
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="weekly" tab="刷理智周计划">
|
||||||
|
<n-scrollbar style="height: 640px" trigger="none">
|
||||||
|
<WeeklyPlan />
|
||||||
|
</n-scrollbar>
|
||||||
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="long_task" tab="大型任务">
|
||||||
|
<n-scrollbar style="height: 640px" trigger="none">
|
||||||
|
<LongTasks />
|
||||||
|
</n-scrollbar>
|
||||||
|
</n-tab-pane>
|
||||||
|
</n-tabs>
|
||||||
|
</n-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.n-divider:not(.n-divider--vertical) {
|
||||||
|
margin: 14px 0 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.settings-card {
|
||||||
|
width: 840px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.header {
|
||||||
|
flex: 1;
|
||||||
|
text-align: center;
|
||||||
|
margin-left: 26px;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -61,6 +61,7 @@ import ExpandIcon from '@vicons/fluent/PanelTopExpand20Regular'
|
||||||
import AddIcon from '@vicons/ionicons5/Add'
|
import AddIcon from '@vicons/ionicons5/Add'
|
||||||
import PlayIcon from '@vicons/ionicons5/Play'
|
import PlayIcon from '@vicons/ionicons5/Play'
|
||||||
import StopIcon from '@vicons/ionicons5/Stop'
|
import StopIcon from '@vicons/ionicons5/Stop'
|
||||||
|
import SettingsIcon from '@vicons/ionicons5/Settings'
|
||||||
|
|
||||||
const show_task_table = ref(true)
|
const show_task_table = ref(true)
|
||||||
const show_task = ref(false)
|
const show_task = ref(false)
|
||||||
|
@ -90,6 +91,8 @@ function fullscreen() {
|
||||||
}
|
}
|
||||||
|
|
||||||
const sc_preview = ref(true)
|
const sc_preview = ref(true)
|
||||||
|
|
||||||
|
const settings = inject('settings')
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
@ -204,6 +207,14 @@ const sc_preview = ref(true)
|
||||||
<div>在Q群或者频道提以上问题,看心情踢人</div>
|
<div>在Q群或者频道提以上问题,看心情踢人</div>
|
||||||
</help-text>
|
</help-text>
|
||||||
<div class="expand"></div>
|
<div class="expand"></div>
|
||||||
|
<n-button type="info" @click="settings = true" v-if="!mobile">
|
||||||
|
<template #icon>
|
||||||
|
<n-icon>
|
||||||
|
<SettingsIcon />
|
||||||
|
</n-icon>
|
||||||
|
</template>
|
||||||
|
全部设置
|
||||||
|
</n-button>
|
||||||
<div class="scroll-container">
|
<div class="scroll-container">
|
||||||
<n-switch v-model:value="auto_scroll" />
|
<n-switch v-model:value="auto_scroll" />
|
||||||
<span class="scroll-label" v-if="!mobile">自动滚动</span>
|
<span class="scroll-label" v-if="!mobile">自动滚动</span>
|
||||||
|
|
31
ui/src/pages/MobileSettings.vue
Normal file
31
ui/src/pages/MobileSettings.vue
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
<script setup>
|
||||||
|
import Device from '@/pages/settings/Device.vue'
|
||||||
|
import RIIC from '@/pages/settings/RIIC.vue'
|
||||||
|
import Email from '@/pages/settings/Email.vue'
|
||||||
|
import SKLand from '@/pages/settings/SKLand.vue'
|
||||||
|
import AutoFight from '@/pages/settings/AutoFight.vue'
|
||||||
|
import Appearance from '@/pages/settings/Appearance.vue'
|
||||||
|
import DailyMission from '@/pages/settings/DailyMission.vue'
|
||||||
|
import Recruit from '@/pages/settings/Recruit.vue'
|
||||||
|
import Depotswitch from '@/pages/settings/Depotswitch.vue'
|
||||||
|
import Regular from '@/pages/settings/Regular.vue'
|
||||||
|
import Clue from '@/pages/settings/Clue.vue'
|
||||||
|
import WeeklyPlan from '@/pages/settings/WeeklyPlan.vue'
|
||||||
|
import LongTasks from '@/pages/settings/LongTasks.vue'
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<Device />
|
||||||
|
<RIIC />
|
||||||
|
<Email />
|
||||||
|
<SKLand />
|
||||||
|
<AutoFight />
|
||||||
|
<Appearance />
|
||||||
|
<DailyMission />
|
||||||
|
<Recruit />
|
||||||
|
<Depotswitch />
|
||||||
|
<Regular />
|
||||||
|
<Clue />
|
||||||
|
<WeeklyPlan />
|
||||||
|
<LongTasks />
|
||||||
|
</template>
|
|
@ -1,903 +0,0 @@
|
||||||
<script setup lang="jsx">
|
|
||||||
import { storeToRefs } from 'pinia'
|
|
||||||
|
|
||||||
import { useConfigStore } from '@/stores/config'
|
|
||||||
const config_store = useConfigStore()
|
|
||||||
const { conf } = storeToRefs(config_store)
|
|
||||||
|
|
||||||
import { usePlanStore } from '@/stores/plan'
|
|
||||||
const plan_store = usePlanStore()
|
|
||||||
const { operators } = storeToRefs(plan_store)
|
|
||||||
const { left_side_facility } = plan_store
|
|
||||||
|
|
||||||
import { pinyin_match } from '@/utils/common'
|
|
||||||
import { folder_dialog } from '@/utils/dialog'
|
|
||||||
|
|
||||||
const mobile = inject('mobile')
|
|
||||||
|
|
||||||
const facility_with_empty = computed(() => {
|
|
||||||
return [{ label: '(加速任意贸易站)', value: '' }].concat(left_side_facility)
|
|
||||||
})
|
|
||||||
|
|
||||||
const emulator_types = [
|
|
||||||
{ label: '夜神', value: '夜神' },
|
|
||||||
{ label: 'MuMu模拟器12', value: 'MuMu12' },
|
|
||||||
{ label: 'Waydroid', value: 'Waydroid' },
|
|
||||||
{ label: '雷电模拟器9', value: '雷电9' },
|
|
||||||
{ label: 'ReDroid', value: 'ReDroid' },
|
|
||||||
{ label: 'MuMu模拟器Pro', value: 'MuMuPro' },
|
|
||||||
{ label: 'Genymotion', value: 'Genymotion' },
|
|
||||||
{ label: '其它', value: '' }
|
|
||||||
]
|
|
||||||
|
|
||||||
const launch_options = [
|
|
||||||
{ label: '运行命令', value: 'command' },
|
|
||||||
{ label: '点击屏幕', value: 'tap' }
|
|
||||||
]
|
|
||||||
|
|
||||||
const stop_options = computed(() => {
|
|
||||||
const result = [
|
|
||||||
{ label: '什么都不做', value: 'do_nothing' },
|
|
||||||
{ label: '退出游戏', value: 'exit_game' }
|
|
||||||
]
|
|
||||||
if (!['adb_multiuser', 'scrcpy'].includes(conf.value.app_control_strategy)) {
|
|
||||||
result.push({ label: '返回桌面', value: 'switch_to_home' })
|
|
||||||
}
|
|
||||||
if (conf.value.app_control_strategy != 'adb_multiuser' && conf.value.emulator.name != '') {
|
|
||||||
result.push({ label: '退出模拟器', value: 'close_emulator' })
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
})
|
|
||||||
|
|
||||||
async function select_emulator_folder() {
|
|
||||||
const folder_path = await folder_dialog()
|
|
||||||
if (folder_path) {
|
|
||||||
conf.value.emulator.emulator_folder = folder_path
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
import { render_op_label } from '@/utils/op_select'
|
|
||||||
|
|
||||||
const scale_marks = {}
|
|
||||||
const display_marks = [0.5, 1.0, 1.5, 2.0, 3.0]
|
|
||||||
for (let i = 0.5; i <= 3.0; i += 0.25) {
|
|
||||||
scale_marks[i] = display_marks.includes(i) ? `${i * 100}%` : ''
|
|
||||||
}
|
|
||||||
|
|
||||||
const new_scale = ref(conf.value.webview.scale)
|
|
||||||
|
|
||||||
import { file_dialog } from '@/utils/dialog'
|
|
||||||
|
|
||||||
async function select_maa_adb_path() {
|
|
||||||
const file_path = await file_dialog()
|
|
||||||
if (file_path) {
|
|
||||||
conf.value.maa_adb_path = file_path
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const screencap_options = computed(() => {
|
|
||||||
const result = [
|
|
||||||
{ label: 'DroidCast_raw(主动,无损,较快)', value: 'droidcast_raw' },
|
|
||||||
{ label: 'ADB+Gzip(主动,无损,很慢)', value: 'adb' },
|
|
||||||
{ label: 'DroidCast(主动,有损,较快)', value: 'droidcast' },
|
|
||||||
{ label: 'scrcpy(被动,有损,特殊)', value: 'scrcpy' },
|
|
||||||
{ label: '自定义(以下命令需要向STDOUT打印截图文件)', value: 'diy' }
|
|
||||||
]
|
|
||||||
if (conf.value.emulator.name == 'MuMu12') {
|
|
||||||
result.push({ label: 'MuMu模拟器12截图API(主动,无损,超快)', value: 'mumuipc' })
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
})
|
|
||||||
|
|
||||||
const touch_options = computed(() => {
|
|
||||||
const result = [{ label: 'scrcpy', value: 'scrcpy' }]
|
|
||||||
if (conf.value.emulator.name == 'MuMu12') {
|
|
||||||
result.push({ label: 'MuMu模拟器12触控API', value: 'mumuipc' })
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
})
|
|
||||||
|
|
||||||
const app_control_options = computed(() => {
|
|
||||||
const result = [{ label: 'ADB', value: 'adb' }]
|
|
||||||
if (conf.value.emulator.name == 'MuMu12') {
|
|
||||||
result.push({ label: 'MuMu模拟器12应用管理器', value: 'mumumanager' })
|
|
||||||
if (conf.value.screencap_strategy == 'mumuipc' && conf.value.control_strategy == 'mumuipc') {
|
|
||||||
result.push({ label: 'MuMu模拟器12应用分身', value: 'adb_multiuser' })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (conf.value.screencap_strategy == 'scrcpy' && conf.value.control_strategy == 'scrcpy') {
|
|
||||||
result.push({ label: 'scrcpy virtual display', value: 'scrcpy' })
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
})
|
|
||||||
|
|
||||||
const tested = ref(false)
|
|
||||||
const image = ref('')
|
|
||||||
const elapsed = ref(0)
|
|
||||||
const screenshot_success = ref(true)
|
|
||||||
const reason = ref('')
|
|
||||||
const loading = ref(false)
|
|
||||||
const axios = inject('axios')
|
|
||||||
|
|
||||||
async function test_screenshot() {
|
|
||||||
loading.value = true
|
|
||||||
tested.value = false
|
|
||||||
try {
|
|
||||||
const { data } = await axios.get(`${import.meta.env.VITE_HTTP_URL}/test-screenshot`)
|
|
||||||
screenshot_success.value = data.success
|
|
||||||
if (screenshot_success.value) {
|
|
||||||
image.value = data.screenshot
|
|
||||||
elapsed.value = data.elapsed
|
|
||||||
} else {
|
|
||||||
reason.value = data.reason
|
|
||||||
}
|
|
||||||
} finally {
|
|
||||||
loading.value = false
|
|
||||||
tested.value = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const scene_name = {
|
|
||||||
CONNECTING: '正在提交反馈至神经',
|
|
||||||
UNKNOWN: '未知',
|
|
||||||
UNKNOWN_WITH_NAVBAR: '有导航栏的未知场景',
|
|
||||||
LOADING: '场景跳转时的等待界面',
|
|
||||||
LOGIN_LOADING: '登录中',
|
|
||||||
LOGIN_MAIN_NOENTRY: '登录页面(无按钮入口)',
|
|
||||||
OPERATOR_ONGOING: '代理作战'
|
|
||||||
}
|
|
||||||
|
|
||||||
const screenshot_type = computed(() => {
|
|
||||||
if (elapsed.value <= 50) {
|
|
||||||
return 'success'
|
|
||||||
} else if (elapsed.value <= 200) {
|
|
||||||
return 'default'
|
|
||||||
} else if (elapsed.value <= 500) {
|
|
||||||
return 'warning'
|
|
||||||
} else {
|
|
||||||
return 'error'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const auto_fill_enable = computed(() => {
|
|
||||||
return ['夜神', 'MuMu12', '雷电9', 'ReDroid', 'Waydroid'].includes(conf.value.emulator.name)
|
|
||||||
})
|
|
||||||
|
|
||||||
const auto_fill_animation = ref(false)
|
|
||||||
|
|
||||||
async function auto_fill() {
|
|
||||||
auto_fill_animation.value = true
|
|
||||||
const [r1, r2] = await Promise.all([
|
|
||||||
axios.get(`${import.meta.env.VITE_HTTP_URL}/auto-get-path`),
|
|
||||||
axios.get(`${import.meta.env.VITE_HTTP_URL}/get-adb-serial`)
|
|
||||||
])
|
|
||||||
auto_fill_animation.value = false
|
|
||||||
if (r2.data != 'OK') {
|
|
||||||
message.error('请填写正确的多开编号!')
|
|
||||||
} else {
|
|
||||||
message.success('自动填写成功!')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const message = useMessage()
|
|
||||||
|
|
||||||
const preset = ref('custom')
|
|
||||||
|
|
||||||
watch(preset, () => {
|
|
||||||
if (preset.value == 'mumu') {
|
|
||||||
conf.value.emulator.name = 'MuMu12'
|
|
||||||
conf.value.screencap_strategy = 'mumuipc'
|
|
||||||
conf.value.control_strategy = 'mumuipc'
|
|
||||||
conf.value.app_control_strategy = 'mumumanager'
|
|
||||||
conf.value.kill_server_when_idle = true
|
|
||||||
} else if (preset.value == 'mumultiuser') {
|
|
||||||
conf.value.emulator.name = 'MuMu12'
|
|
||||||
conf.value.screencap_strategy = 'mumuipc'
|
|
||||||
conf.value.control_strategy = 'mumuipc'
|
|
||||||
conf.value.app_control_strategy = 'adb_multiuser'
|
|
||||||
conf.value.kill_server_when_idle = true
|
|
||||||
} else if (preset.value == 'scrcpy') {
|
|
||||||
conf.value.screencap_strategy = 'scrcpy'
|
|
||||||
conf.value.control_strategy = 'scrcpy'
|
|
||||||
conf.value.app_control_strategy = 'scrcpy'
|
|
||||||
conf.value.kill_server_when_idle = true
|
|
||||||
conf.value.strategy_when_idle = 'exit_game'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const presets = [
|
|
||||||
{ label: 'MuMu全家桶', value: 'mumu' },
|
|
||||||
{ label: 'MuMu应用分身', value: 'mumultiuser' },
|
|
||||||
{ label: 'virtual display', value: 'scrcpy' },
|
|
||||||
{ label: '自定义', value: 'custom' }
|
|
||||||
]
|
|
||||||
|
|
||||||
onMounted(() => {
|
|
||||||
if (
|
|
||||||
conf.value.emulator.name == 'MuMu12' &&
|
|
||||||
conf.value.screencap_strategy == 'mumuipc' &&
|
|
||||||
conf.value.control_strategy == 'mumuipc' &&
|
|
||||||
conf.value.app_control_strategy == 'mumumanager' &&
|
|
||||||
conf.value.kill_server_when_idle == true
|
|
||||||
) {
|
|
||||||
preset.value = 'mumu'
|
|
||||||
} else if (
|
|
||||||
conf.value.emulator.name == 'MuMu12' &&
|
|
||||||
conf.value.screencap_strategy == 'mumuipc' &&
|
|
||||||
conf.value.control_strategy == 'mumuipc' &&
|
|
||||||
conf.value.app_control_strategy == 'adb_multiuser' &&
|
|
||||||
conf.value.kill_server_when_idle == true
|
|
||||||
) {
|
|
||||||
preset.value = 'mumultiuser'
|
|
||||||
} else if (
|
|
||||||
conf.value.screencap_strategy == 'scrcpy' &&
|
|
||||||
conf.value.control_strategy == 'scrcpy' &&
|
|
||||||
conf.value.app_control_strategy == 'scrcpy' &&
|
|
||||||
conf.value.kill_server_when_idle == true &&
|
|
||||||
conf.value.strategy_when_idle == 'exit_game'
|
|
||||||
) {
|
|
||||||
preset.value = 'scrcpy'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
import SettingsAutomation from '@vicons/tabler/SettingsAutomation'
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div class="grid-two">
|
|
||||||
<div class="grid-left">
|
|
||||||
<div>
|
|
||||||
<n-card>
|
|
||||||
<template #header>
|
|
||||||
<div class="card-title">设备与游戏</div>
|
|
||||||
<n-select v-model:value="preset" :options="presets" />
|
|
||||||
<n-button
|
|
||||||
class="dialog-btn"
|
|
||||||
v-if="auto_fill_enable"
|
|
||||||
@click="auto_fill"
|
|
||||||
:loading="auto_fill_animation"
|
|
||||||
>
|
|
||||||
<template #icon>
|
|
||||||
<n-icon>
|
|
||||||
<settings-automation />
|
|
||||||
</n-icon>
|
|
||||||
</template>
|
|
||||||
<template v-if="!mobile">自动填写设置</template>
|
|
||||||
</n-button>
|
|
||||||
</template>
|
|
||||||
<n-form
|
|
||||||
:label-placement="mobile ? 'top' : 'left'"
|
|
||||||
:show-feedback="false"
|
|
||||||
label-width="120"
|
|
||||||
label-align="left"
|
|
||||||
>
|
|
||||||
<n-form-item label="模拟器" v-if="!preset.startsWith('mumu')">
|
|
||||||
<n-select v-model:value="conf.emulator.name" :options="emulator_types" />
|
|
||||||
</n-form-item>
|
|
||||||
<template v-if="conf.emulator.name">
|
|
||||||
<n-form-item>
|
|
||||||
<template #label>
|
|
||||||
<span>多开编号</span>
|
|
||||||
<help-text>
|
|
||||||
<div>MuMu模拟器12的多开器中,第一个实例(锁形图标)的序号为0</div>
|
|
||||||
<div>夜神模拟器单开请填写-1</div>
|
|
||||||
<div>其它模拟器请填写多开器中的序号</div>
|
|
||||||
</help-text>
|
|
||||||
</template>
|
|
||||||
<n-input v-model:value="conf.emulator.index" />
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item>
|
|
||||||
<template #label>
|
|
||||||
<span>模拟器文件夹</span>
|
|
||||||
<help-text>
|
|
||||||
<div>夜神:写到bin文件夹</div>
|
|
||||||
<div>MuMu12: 写到shell文件夹</div>
|
|
||||||
</help-text>
|
|
||||||
</template>
|
|
||||||
<n-input
|
|
||||||
v-model:value="conf.emulator.emulator_folder"
|
|
||||||
type="textarea"
|
|
||||||
:autosize="true"
|
|
||||||
/>
|
|
||||||
<n-button @click="select_emulator_folder" class="dialog-btn">...</n-button>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item label="模拟器启动时间">
|
|
||||||
<n-input-number v-model:value="conf.emulator.wait_time">
|
|
||||||
<template #suffix>秒</template>
|
|
||||||
</n-input-number>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item>
|
|
||||||
<template #label>
|
|
||||||
<span>模拟器老板键</span>
|
|
||||||
<help-text>
|
|
||||||
<div>启动模拟器后按此快捷键</div>
|
|
||||||
<div>若不需要此功能,请留空</div>
|
|
||||||
<div>加号分隔按键,不要空格</div>
|
|
||||||
<div>
|
|
||||||
按键名参考
|
|
||||||
<n-button
|
|
||||||
text
|
|
||||||
tag="a"
|
|
||||||
href="https://pyautogui.readthedocs.io/en/latest/keyboard.html#keyboard-keys"
|
|
||||||
target="_blank"
|
|
||||||
type="primary"
|
|
||||||
>
|
|
||||||
KEYBOARD_KEYS
|
|
||||||
</n-button>
|
|
||||||
</div>
|
|
||||||
</help-text>
|
|
||||||
</template>
|
|
||||||
<n-input
|
|
||||||
v-model:value="conf.emulator.hotkey"
|
|
||||||
placeholder="留空停用;组合键用加号分隔"
|
|
||||||
/>
|
|
||||||
</n-form-item>
|
|
||||||
</template>
|
|
||||||
<template v-if="preset != 'mumu'">
|
|
||||||
<n-divider />
|
|
||||||
<n-form-item label="ADB路径">
|
|
||||||
<n-input type="textarea" :autosize="true" v-model:value="conf.maa_adb_path" />
|
|
||||||
<n-button @click="select_maa_adb_path" class="dialog-btn">...</n-button>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item>
|
|
||||||
<template #label>
|
|
||||||
<span>ADB连接地址</span>
|
|
||||||
<help-text>
|
|
||||||
<div>不同模拟器adb地址不同。如不填,系统会自动去寻找adb device中的第一个。</div>
|
|
||||||
<div>夜神:<code>127.0.0.1:62001</code></div>
|
|
||||||
</help-text>
|
|
||||||
</template>
|
|
||||||
<n-input v-model:value="conf.adb" />
|
|
||||||
</n-form-item>
|
|
||||||
</template>
|
|
||||||
<template v-if="preset == 'custom'">
|
|
||||||
<n-divider />
|
|
||||||
<n-form-item label="截图方案">
|
|
||||||
<n-select v-model:value="conf.screencap_strategy" :options="screencap_options" />
|
|
||||||
</n-form-item>
|
|
||||||
<n-alert
|
|
||||||
title="推荐使用MuMu模拟器12专属截图"
|
|
||||||
style="margin: 8px 0"
|
|
||||||
type="success"
|
|
||||||
v-if="conf.emulator.name == 'MuMu12' && conf.screencap_strategy != 'mumuipc'"
|
|
||||||
>
|
|
||||||
通过共享内存的方式直接获取无损截图,避免了编码、解码、跨进程传输等环节的开销,截图速度远高于通用截图方案。
|
|
||||||
</n-alert>
|
|
||||||
<n-form-item label="触控方案">
|
|
||||||
<n-select v-model:value="conf.control_strategy" :options="touch_options" />
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item label="应用控制方案">
|
|
||||||
<n-select
|
|
||||||
v-model:value="conf.app_control_strategy"
|
|
||||||
:options="app_control_options"
|
|
||||||
/>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item label="旋转截图" v-if="conf.screencap_strategy == 'droidcast'">
|
|
||||||
<n-radio-group v-model:value="conf.droidcast.rotate">
|
|
||||||
<n-flex>
|
|
||||||
<n-radio :value="false">不旋转</n-radio>
|
|
||||||
<n-radio :value="true">旋转180度</n-radio>
|
|
||||||
</n-flex>
|
|
||||||
</n-radio-group>
|
|
||||||
</n-form-item>
|
|
||||||
<template v-if="conf.screencap_strategy == 'droidcast_raw'">
|
|
||||||
<n-form-item label="屏幕朝向">
|
|
||||||
<n-radio-group v-model:value="conf.droidcast_raw.orientation">
|
|
||||||
<n-flex>
|
|
||||||
<n-radio value="portrait">竖屏</n-radio>
|
|
||||||
<n-radio value="landscape">横屏</n-radio>
|
|
||||||
</n-flex>
|
|
||||||
</n-radio-group>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item label="旋转截图" v-if="conf.screencap_strategy == 'droidcast_raw'">
|
|
||||||
<n-radio-group v-model:value="conf.droidcast_raw.rotate">
|
|
||||||
<n-flex>
|
|
||||||
<n-radio :value="0">不旋转</n-radio>
|
|
||||||
<n-radio :value="90">旋转90度</n-radio>
|
|
||||||
<n-radio :value="180">旋转180度</n-radio>
|
|
||||||
<n-radio :value="270">旋转270度</n-radio>
|
|
||||||
</n-flex>
|
|
||||||
</n-radio-group>
|
|
||||||
</n-form-item>
|
|
||||||
</template>
|
|
||||||
<n-form-item label="截图命令" v-if="conf.screencap_strategy == 'diy'">
|
|
||||||
<n-input
|
|
||||||
v-model:value="conf.custom_screenshot.command"
|
|
||||||
type="textarea"
|
|
||||||
:autosize="true"
|
|
||||||
/>
|
|
||||||
</n-form-item>
|
|
||||||
</template>
|
|
||||||
<n-divider />
|
|
||||||
<n-form-item label="游戏服务器">
|
|
||||||
<n-radio-group v-model:value="conf.package_type">
|
|
||||||
<n-space>
|
|
||||||
<n-radio value="official">官服</n-radio>
|
|
||||||
<n-radio value="bilibili">BiliBili服</n-radio>
|
|
||||||
</n-space>
|
|
||||||
</n-radio-group>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item v-if="conf.app_control_strategy == 'adb_multiuser'">
|
|
||||||
<template #label>
|
|
||||||
分身编号
|
|
||||||
<help-text>
|
|
||||||
<div>主应用的编号是0</div>
|
|
||||||
<div>第一个分身的编号是1</div>
|
|
||||||
<div>第二个分身的编号是2</div>
|
|
||||||
<div>其余分身同理</div>
|
|
||||||
</help-text>
|
|
||||||
</template>
|
|
||||||
<n-input-number v-model:value="conf.mumu_multi_app.app_index" />
|
|
||||||
</n-form-item>
|
|
||||||
<n-alert
|
|
||||||
title="请开启MuMu模拟器12的后台保活!"
|
|
||||||
style="margin: 8px 0"
|
|
||||||
type="warning"
|
|
||||||
v-if="conf.app_control_strategy == 'adb_multiuser'"
|
|
||||||
/>
|
|
||||||
<n-form-item label="启动游戏" v-if="preset == 'custom'">
|
|
||||||
<n-select v-model:value="conf.tap_to_launch_game.enable" :options="launch_options" />
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item v-if="conf.tap_to_launch_game.enable == 'tap'" label="点击坐标">
|
|
||||||
<span class="coord-label">X:</span>
|
|
||||||
<n-input-number v-model:value="conf.tap_to_launch_game.x" />
|
|
||||||
<span class="coord-label">Y:</span>
|
|
||||||
<n-input-number v-model:value="conf.tap_to_launch_game.y" />
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item label="任务结束">
|
|
||||||
<n-select v-model:value="conf.strategy_when_idle" :options="stop_options" />
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item :show-label="false" v-if="preset == 'custom'">
|
|
||||||
<n-checkbox v-model:checked="conf.kill_server_when_idle">
|
|
||||||
<span>任务结束时关闭ADB Server</span>
|
|
||||||
<help-text>建议开启,多开不受影响</help-text>
|
|
||||||
</n-checkbox>
|
|
||||||
</n-form-item>
|
|
||||||
<n-divider />
|
|
||||||
<n-form-item :show-label="false">
|
|
||||||
<n-flex vertical style="gap: 12px">
|
|
||||||
<n-flex align="center" style="gap: 12px">
|
|
||||||
<n-button @click="test_screenshot" :loading="loading">测试截图设置</n-button>
|
|
||||||
<template v-if="tested">
|
|
||||||
<div v-if="screenshot_success">
|
|
||||||
截图用时:<n-text strong :type="screenshot_type">{{ elapsed }}ms</n-text>
|
|
||||||
</div>
|
|
||||||
<template v-else>
|
|
||||||
<n-text type="error">截图失败!</n-text>
|
|
||||||
<div>{{ reason }}</div>
|
|
||||||
</template>
|
|
||||||
</template>
|
|
||||||
</n-flex>
|
|
||||||
<n-image
|
|
||||||
v-if="tested && screenshot_success"
|
|
||||||
:src="'data:image/jpeg;base64,' + image"
|
|
||||||
width="100%"
|
|
||||||
/>
|
|
||||||
</n-flex>
|
|
||||||
</n-form-item>
|
|
||||||
</n-form>
|
|
||||||
</n-card>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<n-card title="基建设置">
|
|
||||||
<n-form
|
|
||||||
:label-placement="mobile ? 'top' : 'left'"
|
|
||||||
:show-feedback="false"
|
|
||||||
label-width="160"
|
|
||||||
label-align="left"
|
|
||||||
>
|
|
||||||
<n-form-item label="宿舍黑名单(非主力)">
|
|
||||||
<n-transfer
|
|
||||||
v-if="mobile"
|
|
||||||
virtual-scroll
|
|
||||||
source-filterable
|
|
||||||
target-filterable
|
|
||||||
:options="operators"
|
|
||||||
v-model:value="conf.free_blacklist"
|
|
||||||
:render-source-label="(o) => render_op_label(o.option)"
|
|
||||||
:render-target-label="(o) => render_op_label(o.option)"
|
|
||||||
:filter="(p, o) => (p ? pinyin_match(o.label, p) : true)"
|
|
||||||
/>
|
|
||||||
<slick-operator-select v-else v-model="conf.free_blacklist" />
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item>
|
|
||||||
<template #label>
|
|
||||||
<span>跑单前置延时</span>
|
|
||||||
<help-text>
|
|
||||||
<div>推荐范围5-10</div>
|
|
||||||
<div>可填小数</div>
|
|
||||||
</help-text>
|
|
||||||
</template>
|
|
||||||
<n-input-number v-model:value="conf.run_order_delay">
|
|
||||||
<template #suffix>分钟</template>
|
|
||||||
</n-input-number>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item :show-label="false">
|
|
||||||
<n-checkbox v-model:checked="conf.run_order_grandet_mode.enable"
|
|
||||||
>葛朗台跑单</n-checkbox
|
|
||||||
>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item v-if="conf.run_order_grandet_mode.enable">
|
|
||||||
<template #label>
|
|
||||||
<span>葛朗台缓冲时间</span>
|
|
||||||
<help-text>推荐范围:15-30</help-text>
|
|
||||||
</template>
|
|
||||||
<n-input-number v-model:value="conf.run_order_grandet_mode.buffer_time">
|
|
||||||
<template #suffix>秒</template>
|
|
||||||
</n-input-number>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item v-if="conf.run_order_grandet_mode.enable" :show-label="false">
|
|
||||||
<n-checkbox v-model:checked="conf.run_order_grandet_mode.back_to_index">
|
|
||||||
跑单前返回主界面以保持登录状态
|
|
||||||
</n-checkbox>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item>
|
|
||||||
<template #label>
|
|
||||||
<span>无人机使用房间</span>
|
|
||||||
<help-text>
|
|
||||||
<div>加速制造站为指定制造站加速</div>
|
|
||||||
<div>(加速任意贸易站)只会加速有跑单人员作备班的站</div>
|
|
||||||
<div>例:没填龙舌兰但书的卖玉站 (加速任意贸易站) 不会被加速</div>
|
|
||||||
<div>如需要加速特定某个贸易站请指定对应房间</div>
|
|
||||||
</help-text>
|
|
||||||
</template>
|
|
||||||
<n-select :options="facility_with_empty" v-model:value="conf.drone_room" />
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item>
|
|
||||||
<template #label>
|
|
||||||
<span>无人机使用阈值</span>
|
|
||||||
<help-text>
|
|
||||||
<div>如加速贸易,推荐大于 贸易站数*x + 92</div>
|
|
||||||
<div>如加速制造,推荐大于 贸易站数*x</div>
|
|
||||||
<div>葛朗台跑单模式下x=0,非葛朗台推荐x=10</div>
|
|
||||||
</help-text>
|
|
||||||
</template>
|
|
||||||
<n-input-number v-model:value="conf.drone_count_limit" />
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item>
|
|
||||||
<template #label>
|
|
||||||
<span>无人机加速间隔</span>
|
|
||||||
<help-text>
|
|
||||||
<div>可填小数</div>
|
|
||||||
</help-text>
|
|
||||||
</template>
|
|
||||||
<n-input-number v-model:value="conf.drone_interval">
|
|
||||||
<template #suffix>小时</template>
|
|
||||||
</n-input-number>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item label="搓玉补货房间">
|
|
||||||
<n-select
|
|
||||||
multiple
|
|
||||||
filterable
|
|
||||||
tag
|
|
||||||
:options="left_side_facility"
|
|
||||||
v-model:value="conf.reload_room"
|
|
||||||
/>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item>
|
|
||||||
<template #label>
|
|
||||||
<span>心情阈值</span>
|
|
||||||
<help-text>
|
|
||||||
<div>2电站推荐不低于65%</div>
|
|
||||||
<div>3电站推荐不低于50%</div>
|
|
||||||
<div>即将大更新推荐设置成80%</div>
|
|
||||||
</help-text>
|
|
||||||
</template>
|
|
||||||
<div class="threshold">
|
|
||||||
<n-slider
|
|
||||||
v-model:value="conf.resting_threshold"
|
|
||||||
:step="5"
|
|
||||||
:min="50"
|
|
||||||
:max="80"
|
|
||||||
:format-tooltip="(v) => `${v}%`"
|
|
||||||
/>
|
|
||||||
<n-input-number
|
|
||||||
v-model:value="conf.resting_threshold"
|
|
||||||
:step="5"
|
|
||||||
:min="50"
|
|
||||||
:max="80"
|
|
||||||
>
|
|
||||||
<template #suffix>%</template>
|
|
||||||
</n-input-number>
|
|
||||||
</div>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item :show-label="false">
|
|
||||||
<n-checkbox v-model:checked="conf.free_room">
|
|
||||||
宿舍不养闲人
|
|
||||||
<help-text>干员心情回满后,立即释放宿舍空位</help-text>
|
|
||||||
</n-checkbox>
|
|
||||||
</n-form-item>
|
|
||||||
</n-form>
|
|
||||||
</n-card>
|
|
||||||
</div>
|
|
||||||
<div><email /></div>
|
|
||||||
<div><SKLand /></div>
|
|
||||||
<div><auto-fight /></div>
|
|
||||||
<div>
|
|
||||||
<n-card title="外观、性能与其它设置">
|
|
||||||
<n-form
|
|
||||||
:label-placement="mobile ? 'top' : 'left'"
|
|
||||||
:show-feedback="false"
|
|
||||||
label-width="120"
|
|
||||||
label-align="left"
|
|
||||||
>
|
|
||||||
<n-form-item label="界面缩放">
|
|
||||||
<n-slider
|
|
||||||
v-model:value="new_scale"
|
|
||||||
:step="0.25"
|
|
||||||
:min="0.5"
|
|
||||||
:max="3.0"
|
|
||||||
:marks="scale_marks"
|
|
||||||
:format-tooltip="(x) => `${x * 100}%`"
|
|
||||||
/>
|
|
||||||
<n-button
|
|
||||||
class="scale-apply"
|
|
||||||
:disabled="new_scale == conf.webview.scale"
|
|
||||||
@click="conf.webview.scale = new_scale"
|
|
||||||
>
|
|
||||||
应用
|
|
||||||
</n-button>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item label="显示主题">
|
|
||||||
<n-radio-group v-model:value="conf.theme">
|
|
||||||
<n-space>
|
|
||||||
<n-radio value="light">亮色</n-radio>
|
|
||||||
<n-radio value="dark">暗色</n-radio>
|
|
||||||
</n-space>
|
|
||||||
</n-radio-group>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item :show-label="false">
|
|
||||||
<n-checkbox v-model:checked="conf.webview.tray">
|
|
||||||
使用托盘图标
|
|
||||||
<help-text>重启生效</help-text>
|
|
||||||
</n-checkbox>
|
|
||||||
</n-form-item>
|
|
||||||
<n-divider />
|
|
||||||
<n-form-item label="截图最短间隔">
|
|
||||||
<n-input-number v-model:value="conf.screenshot_interval" :precision="0">
|
|
||||||
<template #suffix>毫秒</template>
|
|
||||||
</n-input-number>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item>
|
|
||||||
<template #label>
|
|
||||||
<span>截图保存时间</span>
|
|
||||||
<help-text>可填小数</help-text>
|
|
||||||
</template>
|
|
||||||
<n-input-number v-model:value="conf.screenshot">
|
|
||||||
<template #suffix>小时</template>
|
|
||||||
</n-input-number>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item label="等待时间">
|
|
||||||
<n-table size="small" class="waiting-table">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>场景</th>
|
|
||||||
<th>截图间隔</th>
|
|
||||||
<th>超时时长</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr v-for="(value, key) in conf.waiting_scene_v2">
|
|
||||||
<td>{{ scene_name[key] }}</td>
|
|
||||||
<td>
|
|
||||||
<n-input-number v-model:value="value[0]" :show-button="false" :precision="0">
|
|
||||||
<template #suffix>毫秒</template>
|
|
||||||
</n-input-number>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<n-input-number v-model:value="value[1]" :show-button="false" :precision="0">
|
|
||||||
<template #suffix>秒</template>
|
|
||||||
</n-input-number>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</n-table>
|
|
||||||
</n-form-item>
|
|
||||||
<n-divider />
|
|
||||||
<n-form-item :show-label="false">
|
|
||||||
<n-checkbox v-model:checked="conf.start_automatically"
|
|
||||||
>启动mower-ng后直接开始运行</n-checkbox
|
|
||||||
>
|
|
||||||
</n-form-item>
|
|
||||||
</n-form>
|
|
||||||
</n-card>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="grid-right">
|
|
||||||
<div><DailyMission /></div>
|
|
||||||
<div><recruit /></div>
|
|
||||||
<div><Depotswitch /></div>
|
|
||||||
<div>
|
|
||||||
<n-card>
|
|
||||||
<template #header>
|
|
||||||
<n-checkbox v-model:checked="conf.maa_enable">
|
|
||||||
<div class="card-title">日常任务</div>
|
|
||||||
</n-checkbox>
|
|
||||||
<help-text>
|
|
||||||
<div>刷理智周计划、每日/每周任务、信用作战</div>
|
|
||||||
</help-text>
|
|
||||||
</template>
|
|
||||||
<n-form
|
|
||||||
:label-placement="mobile ? 'top' : 'left'"
|
|
||||||
:show-feedback="false"
|
|
||||||
label-width="100"
|
|
||||||
label-align="left"
|
|
||||||
>
|
|
||||||
<n-form-item>
|
|
||||||
<template #label>
|
|
||||||
<span>任务间隔</span>
|
|
||||||
<help-text>
|
|
||||||
<div>可填小数</div>
|
|
||||||
<div>清理智、日常/周常任务领取、借助战打OF-1</div>
|
|
||||||
</help-text>
|
|
||||||
</template>
|
|
||||||
<n-input-number v-model:value="conf.maa_gap">
|
|
||||||
<template #suffix>小时</template>
|
|
||||||
</n-input-number>
|
|
||||||
</n-form-item>
|
|
||||||
</n-form>
|
|
||||||
</n-card>
|
|
||||||
</div>
|
|
||||||
<div><clue /></div>
|
|
||||||
<div><weekly-plan /></div>
|
|
||||||
<div><long-tasks /></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style scoped lang="scss">
|
|
||||||
.threshold {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 14px;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mower-basic {
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
td:nth-child(1) {
|
|
||||||
width: 120px;
|
|
||||||
}
|
|
||||||
|
|
||||||
td:nth-child(3) {
|
|
||||||
padding-left: 6px;
|
|
||||||
width: 40px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.riic-conf {
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
td {
|
|
||||||
&:nth-child(1) {
|
|
||||||
width: 130px;
|
|
||||||
}
|
|
||||||
&:nth-child(3) {
|
|
||||||
padding-left: 12px;
|
|
||||||
width: 120px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.coord {
|
|
||||||
td {
|
|
||||||
width: 120px;
|
|
||||||
|
|
||||||
&:nth-child(1),
|
|
||||||
&:nth-child(3) {
|
|
||||||
width: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:nth-child(2) {
|
|
||||||
padding-right: 30px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.coord-label {
|
|
||||||
width: 40px;
|
|
||||||
padding-left: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 8px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
h4 {
|
|
||||||
margin: 12px 0 10px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.time-table {
|
|
||||||
width: 100%;
|
|
||||||
margin-bottom: 12px;
|
|
||||||
|
|
||||||
td:nth-child(1) {
|
|
||||||
width: 40px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.scale {
|
|
||||||
width: 60px;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
.scale-apply {
|
|
||||||
margin-left: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.waiting-table {
|
|
||||||
th,
|
|
||||||
td {
|
|
||||||
padding: 4px;
|
|
||||||
min-width: 70px;
|
|
||||||
width: 100px;
|
|
||||||
|
|
||||||
&:first-child {
|
|
||||||
width: auto;
|
|
||||||
padding: 4px 8px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.card-title {
|
|
||||||
margin-right: 8px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
/*小于1400的内容!*/
|
|
||||||
@media (max-width: 1399px) {
|
|
||||||
.grid-two {
|
|
||||||
margin: 0 0 -10px 0;
|
|
||||||
width: 100%;
|
|
||||||
max-width: 600px;
|
|
||||||
}
|
|
||||||
.grid-left {
|
|
||||||
display: grid;
|
|
||||||
row-gap: 10px;
|
|
||||||
grid-template-columns: 100%;
|
|
||||||
}
|
|
||||||
.grid-right {
|
|
||||||
display: grid;
|
|
||||||
row-gap: 10px;
|
|
||||||
grid-template-columns: 100%;
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*双栏 大于1400的内容 */
|
|
||||||
@media (min-width: 1400px) {
|
|
||||||
.grid-two {
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr);
|
|
||||||
align-items: flex-start;
|
|
||||||
gap: 5px;
|
|
||||||
}
|
|
||||||
.grid-left {
|
|
||||||
display: grid;
|
|
||||||
gap: 5px;
|
|
||||||
grid-template-columns: 100%;
|
|
||||||
max-width: 600px;
|
|
||||||
}
|
|
||||||
.grid-right {
|
|
||||||
display: grid;
|
|
||||||
gap: 5px;
|
|
||||||
grid-template-columns: 100%;
|
|
||||||
max-width: 600px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.n-divider:not(.n-divider--vertical) {
|
|
||||||
margin: 14px 0 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* .results {
|
|
||||||
display: grid;
|
|
||||||
grid-template-rows: masonry;
|
|
||||||
grid-template-columns: repeat(2, 600px);
|
|
||||||
gap: 10px 10px ;
|
|
||||||
justify-content: center;
|
|
||||||
} */
|
|
||||||
/* 实验性瀑布流(firefox nightly) */
|
|
||||||
</style>
|
|
142
ui/src/pages/settings/Appearance.vue
Normal file
142
ui/src/pages/settings/Appearance.vue
Normal file
|
@ -0,0 +1,142 @@
|
||||||
|
<script setup>
|
||||||
|
import { storeToRefs } from 'pinia'
|
||||||
|
|
||||||
|
import { useConfigStore } from '@/stores/config'
|
||||||
|
const config_store = useConfigStore()
|
||||||
|
const { conf } = storeToRefs(config_store)
|
||||||
|
|
||||||
|
const mobile = inject('mobile')
|
||||||
|
|
||||||
|
const new_scale = ref(conf.value.webview.scale)
|
||||||
|
|
||||||
|
const scene_name = {
|
||||||
|
CONNECTING: '正在提交反馈至神经',
|
||||||
|
UNKNOWN: '未知',
|
||||||
|
UNKNOWN_WITH_NAVBAR: '有导航栏的未知场景',
|
||||||
|
LOADING: '场景跳转时的等待界面',
|
||||||
|
LOGIN_LOADING: '登录中',
|
||||||
|
LOGIN_MAIN_NOENTRY: '登录页面(无按钮入口)',
|
||||||
|
OPERATOR_ONGOING: '代理作战'
|
||||||
|
}
|
||||||
|
|
||||||
|
const scale_marks = {}
|
||||||
|
const display_marks = [0.5, 1.0, 1.5, 2.0, 3.0]
|
||||||
|
for (let i = 0.5; i <= 3.0; i += 0.25) {
|
||||||
|
scale_marks[i] = display_marks.includes(i) ? `${i * 100}%` : ''
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<n-card title="外观、性能与其它">
|
||||||
|
<n-form
|
||||||
|
:label-placement="mobile ? 'top' : 'left'"
|
||||||
|
:show-feedback="false"
|
||||||
|
label-width="120"
|
||||||
|
label-align="left"
|
||||||
|
>
|
||||||
|
<n-form-item label="界面缩放">
|
||||||
|
<n-slider
|
||||||
|
v-model:value="new_scale"
|
||||||
|
:step="0.25"
|
||||||
|
:min="0.5"
|
||||||
|
:max="3.0"
|
||||||
|
:marks="scale_marks"
|
||||||
|
:format-tooltip="(x) => `${x * 100}%`"
|
||||||
|
/>
|
||||||
|
<n-button
|
||||||
|
class="scale-apply"
|
||||||
|
:disabled="new_scale == conf.webview.scale"
|
||||||
|
@click="conf.webview.scale = new_scale"
|
||||||
|
>
|
||||||
|
应用
|
||||||
|
</n-button>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item label="显示主题">
|
||||||
|
<n-radio-group v-model:value="conf.theme">
|
||||||
|
<n-space>
|
||||||
|
<n-radio value="light">亮色</n-radio>
|
||||||
|
<n-radio value="dark">暗色</n-radio>
|
||||||
|
</n-space>
|
||||||
|
</n-radio-group>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item :show-label="false">
|
||||||
|
<n-checkbox v-model:checked="conf.webview.tray">
|
||||||
|
使用托盘图标
|
||||||
|
<help-text>重启生效</help-text>
|
||||||
|
</n-checkbox>
|
||||||
|
</n-form-item>
|
||||||
|
<n-divider />
|
||||||
|
<n-form-item label="截图最短间隔">
|
||||||
|
<n-input-number v-model:value="conf.screenshot_interval" :precision="0">
|
||||||
|
<template #suffix>毫秒</template>
|
||||||
|
</n-input-number>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item>
|
||||||
|
<template #label>
|
||||||
|
<span>截图保存时间</span>
|
||||||
|
<help-text>可填小数</help-text>
|
||||||
|
</template>
|
||||||
|
<n-input-number v-model:value="conf.screenshot">
|
||||||
|
<template #suffix>小时</template>
|
||||||
|
</n-input-number>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item label="等待时间">
|
||||||
|
<n-table size="small" class="waiting-table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>场景</th>
|
||||||
|
<th>截图间隔</th>
|
||||||
|
<th>超时时长</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr v-for="(value, key) in conf.waiting_scene_v2">
|
||||||
|
<td>{{ scene_name[key] }}</td>
|
||||||
|
<td>
|
||||||
|
<n-input-number v-model:value="value[0]" :show-button="false" :precision="0">
|
||||||
|
<template #suffix>毫秒</template>
|
||||||
|
</n-input-number>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<n-input-number v-model:value="value[1]" :show-button="false" :precision="0">
|
||||||
|
<template #suffix>秒</template>
|
||||||
|
</n-input-number>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</n-table>
|
||||||
|
</n-form-item>
|
||||||
|
<n-divider />
|
||||||
|
<n-form-item :show-label="false">
|
||||||
|
<n-checkbox v-model:checked="conf.start_automatically">
|
||||||
|
启动mower-ng后直接开始运行
|
||||||
|
</n-checkbox>
|
||||||
|
</n-form-item>
|
||||||
|
</n-form>
|
||||||
|
</n-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.scale {
|
||||||
|
width: 60px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scale-apply {
|
||||||
|
margin-left: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.waiting-table {
|
||||||
|
th,
|
||||||
|
td {
|
||||||
|
padding: 4px;
|
||||||
|
min-width: 70px;
|
||||||
|
width: 100px;
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
width: auto;
|
||||||
|
padding: 4px 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
448
ui/src/pages/settings/Device.vue
Normal file
448
ui/src/pages/settings/Device.vue
Normal file
|
@ -0,0 +1,448 @@
|
||||||
|
<script setup>
|
||||||
|
import { storeToRefs } from 'pinia'
|
||||||
|
|
||||||
|
import { useConfigStore } from '@/stores/config'
|
||||||
|
const config_store = useConfigStore()
|
||||||
|
const { conf } = storeToRefs(config_store)
|
||||||
|
|
||||||
|
import { folder_dialog } from '@/utils/dialog'
|
||||||
|
|
||||||
|
const mobile = inject('mobile')
|
||||||
|
|
||||||
|
const emulator_types = [
|
||||||
|
{ label: '夜神', value: '夜神' },
|
||||||
|
{ label: 'MuMu模拟器12', value: 'MuMu12' },
|
||||||
|
{ label: 'Waydroid', value: 'Waydroid' },
|
||||||
|
{ label: '雷电模拟器9', value: '雷电9' },
|
||||||
|
{ label: 'ReDroid', value: 'ReDroid' },
|
||||||
|
{ label: 'MuMu模拟器Pro', value: 'MuMuPro' },
|
||||||
|
{ label: 'Genymotion', value: 'Genymotion' },
|
||||||
|
{ label: '其它', value: '' }
|
||||||
|
]
|
||||||
|
|
||||||
|
const launch_options = [
|
||||||
|
{ label: '运行命令', value: 'command' },
|
||||||
|
{ label: '点击屏幕', value: 'tap' }
|
||||||
|
]
|
||||||
|
|
||||||
|
const stop_options = computed(() => {
|
||||||
|
const result = [
|
||||||
|
{ label: '什么都不做', value: 'do_nothing' },
|
||||||
|
{ label: '退出游戏', value: 'exit_game' }
|
||||||
|
]
|
||||||
|
if (!['adb_multiuser', 'scrcpy'].includes(conf.value.app_control_strategy)) {
|
||||||
|
result.push({ label: '返回桌面', value: 'switch_to_home' })
|
||||||
|
}
|
||||||
|
if (conf.value.app_control_strategy != 'adb_multiuser' && conf.value.emulator.name != '') {
|
||||||
|
result.push({ label: '退出模拟器', value: 'close_emulator' })
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
})
|
||||||
|
|
||||||
|
async function select_emulator_folder() {
|
||||||
|
const folder_path = await folder_dialog()
|
||||||
|
if (folder_path) {
|
||||||
|
conf.value.emulator.emulator_folder = folder_path
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
import { file_dialog } from '@/utils/dialog'
|
||||||
|
|
||||||
|
async function select_maa_adb_path() {
|
||||||
|
const file_path = await file_dialog()
|
||||||
|
if (file_path) {
|
||||||
|
conf.value.maa_adb_path = file_path
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const screencap_options = computed(() => {
|
||||||
|
const result = [
|
||||||
|
{ label: 'DroidCast_raw(主动,无损,较快)', value: 'droidcast_raw' },
|
||||||
|
{ label: 'ADB+Gzip(主动,无损,很慢)', value: 'adb' },
|
||||||
|
{ label: 'DroidCast(主动,有损,较快)', value: 'droidcast' },
|
||||||
|
{ label: 'scrcpy(被动,有损,特殊)', value: 'scrcpy' },
|
||||||
|
{ label: '自定义(以下命令需要向STDOUT打印截图文件)', value: 'diy' }
|
||||||
|
]
|
||||||
|
if (conf.value.emulator.name == 'MuMu12') {
|
||||||
|
result.push({ label: 'MuMu模拟器12截图API(主动,无损,超快)', value: 'mumuipc' })
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
})
|
||||||
|
|
||||||
|
const touch_options = computed(() => {
|
||||||
|
const result = [{ label: 'scrcpy', value: 'scrcpy' }]
|
||||||
|
if (conf.value.emulator.name == 'MuMu12') {
|
||||||
|
result.push({ label: 'MuMu模拟器12触控API', value: 'mumuipc' })
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
})
|
||||||
|
|
||||||
|
const app_control_options = computed(() => {
|
||||||
|
const result = [{ label: 'ADB', value: 'adb' }]
|
||||||
|
if (conf.value.emulator.name == 'MuMu12') {
|
||||||
|
result.push({ label: 'MuMu模拟器12应用管理器', value: 'mumumanager' })
|
||||||
|
if (conf.value.screencap_strategy == 'mumuipc' && conf.value.control_strategy == 'mumuipc') {
|
||||||
|
result.push({ label: 'MuMu模拟器12应用分身', value: 'adb_multiuser' })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (conf.value.screencap_strategy == 'scrcpy' && conf.value.control_strategy == 'scrcpy') {
|
||||||
|
result.push({ label: 'scrcpy virtual display', value: 'scrcpy' })
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
})
|
||||||
|
|
||||||
|
const tested = ref(false)
|
||||||
|
const image = ref('')
|
||||||
|
const elapsed = ref(0)
|
||||||
|
const screenshot_success = ref(true)
|
||||||
|
const reason = ref('')
|
||||||
|
const loading = ref(false)
|
||||||
|
const axios = inject('axios')
|
||||||
|
|
||||||
|
async function test_screenshot() {
|
||||||
|
loading.value = true
|
||||||
|
tested.value = false
|
||||||
|
try {
|
||||||
|
const { data } = await axios.get(`${import.meta.env.VITE_HTTP_URL}/test-screenshot`)
|
||||||
|
screenshot_success.value = data.success
|
||||||
|
if (screenshot_success.value) {
|
||||||
|
image.value = data.screenshot
|
||||||
|
elapsed.value = data.elapsed
|
||||||
|
} else {
|
||||||
|
reason.value = data.reason
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
loading.value = false
|
||||||
|
tested.value = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const screenshot_type = computed(() => {
|
||||||
|
if (elapsed.value <= 50) {
|
||||||
|
return 'success'
|
||||||
|
} else if (elapsed.value <= 200) {
|
||||||
|
return 'default'
|
||||||
|
} else if (elapsed.value <= 500) {
|
||||||
|
return 'warning'
|
||||||
|
} else {
|
||||||
|
return 'error'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const auto_fill_enable = computed(() => {
|
||||||
|
return ['夜神', 'MuMu12', '雷电9', 'ReDroid', 'Waydroid'].includes(conf.value.emulator.name)
|
||||||
|
})
|
||||||
|
|
||||||
|
const auto_fill_animation = ref(false)
|
||||||
|
|
||||||
|
async function auto_fill() {
|
||||||
|
auto_fill_animation.value = true
|
||||||
|
const [r1, r2] = await Promise.all([
|
||||||
|
axios.get(`${import.meta.env.VITE_HTTP_URL}/auto-get-path`),
|
||||||
|
axios.get(`${import.meta.env.VITE_HTTP_URL}/get-adb-serial`)
|
||||||
|
])
|
||||||
|
auto_fill_animation.value = false
|
||||||
|
if (r2.data != 'OK') {
|
||||||
|
message.error('请填写正确的多开编号!')
|
||||||
|
} else {
|
||||||
|
message.success('自动填写成功!')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const message = useMessage()
|
||||||
|
|
||||||
|
const preset = ref('custom')
|
||||||
|
|
||||||
|
watch(preset, () => {
|
||||||
|
if (preset.value == 'mumu') {
|
||||||
|
conf.value.emulator.name = 'MuMu12'
|
||||||
|
conf.value.screencap_strategy = 'mumuipc'
|
||||||
|
conf.value.control_strategy = 'mumuipc'
|
||||||
|
conf.value.app_control_strategy = 'mumumanager'
|
||||||
|
conf.value.kill_server_when_idle = true
|
||||||
|
} else if (preset.value == 'mumultiuser') {
|
||||||
|
conf.value.emulator.name = 'MuMu12'
|
||||||
|
conf.value.screencap_strategy = 'mumuipc'
|
||||||
|
conf.value.control_strategy = 'mumuipc'
|
||||||
|
conf.value.app_control_strategy = 'adb_multiuser'
|
||||||
|
conf.value.kill_server_when_idle = true
|
||||||
|
} else if (preset.value == 'scrcpy') {
|
||||||
|
conf.value.screencap_strategy = 'scrcpy'
|
||||||
|
conf.value.control_strategy = 'scrcpy'
|
||||||
|
conf.value.app_control_strategy = 'scrcpy'
|
||||||
|
conf.value.kill_server_when_idle = true
|
||||||
|
conf.value.strategy_when_idle = 'exit_game'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const presets = [
|
||||||
|
{ label: 'MuMu全家桶', value: 'mumu' },
|
||||||
|
{ label: 'MuMu应用分身', value: 'mumultiuser' },
|
||||||
|
{ label: 'virtual display', value: 'scrcpy' },
|
||||||
|
{ label: '自定义', value: 'custom' }
|
||||||
|
]
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
if (
|
||||||
|
conf.value.emulator.name == 'MuMu12' &&
|
||||||
|
conf.value.screencap_strategy == 'mumuipc' &&
|
||||||
|
conf.value.control_strategy == 'mumuipc' &&
|
||||||
|
conf.value.app_control_strategy == 'mumumanager' &&
|
||||||
|
conf.value.kill_server_when_idle == true
|
||||||
|
) {
|
||||||
|
preset.value = 'mumu'
|
||||||
|
} else if (
|
||||||
|
conf.value.emulator.name == 'MuMu12' &&
|
||||||
|
conf.value.screencap_strategy == 'mumuipc' &&
|
||||||
|
conf.value.control_strategy == 'mumuipc' &&
|
||||||
|
conf.value.app_control_strategy == 'adb_multiuser' &&
|
||||||
|
conf.value.kill_server_when_idle == true
|
||||||
|
) {
|
||||||
|
preset.value = 'mumultiuser'
|
||||||
|
} else if (
|
||||||
|
conf.value.screencap_strategy == 'scrcpy' &&
|
||||||
|
conf.value.control_strategy == 'scrcpy' &&
|
||||||
|
conf.value.app_control_strategy == 'scrcpy' &&
|
||||||
|
conf.value.kill_server_when_idle == true &&
|
||||||
|
conf.value.strategy_when_idle == 'exit_game'
|
||||||
|
) {
|
||||||
|
preset.value = 'scrcpy'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
import SettingsAutomation from '@vicons/tabler/SettingsAutomation'
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<n-card>
|
||||||
|
<template #header>
|
||||||
|
<div class="card-title">设备与游戏</div>
|
||||||
|
<n-select v-model:value="preset" :options="presets" />
|
||||||
|
<n-button
|
||||||
|
class="dialog-btn"
|
||||||
|
v-if="auto_fill_enable"
|
||||||
|
@click="auto_fill"
|
||||||
|
:loading="auto_fill_animation"
|
||||||
|
>
|
||||||
|
<template #icon>
|
||||||
|
<n-icon>
|
||||||
|
<settings-automation />
|
||||||
|
</n-icon>
|
||||||
|
</template>
|
||||||
|
<template v-if="!mobile">自动填写设置</template>
|
||||||
|
</n-button>
|
||||||
|
</template>
|
||||||
|
<n-form
|
||||||
|
:label-placement="mobile ? 'top' : 'left'"
|
||||||
|
:show-feedback="false"
|
||||||
|
label-width="120"
|
||||||
|
label-align="left"
|
||||||
|
>
|
||||||
|
<n-form-item label="模拟器" v-if="!preset.startsWith('mumu')">
|
||||||
|
<n-select v-model:value="conf.emulator.name" :options="emulator_types" />
|
||||||
|
</n-form-item>
|
||||||
|
<template v-if="conf.emulator.name">
|
||||||
|
<n-form-item>
|
||||||
|
<template #label>
|
||||||
|
<span>多开编号</span>
|
||||||
|
<help-text>
|
||||||
|
<div>MuMu模拟器12的多开器中,第一个实例(锁形图标)的序号为0</div>
|
||||||
|
<div>夜神模拟器单开请填写-1</div>
|
||||||
|
<div>其它模拟器请填写多开器中的序号</div>
|
||||||
|
</help-text>
|
||||||
|
</template>
|
||||||
|
<n-input v-model:value="conf.emulator.index" />
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item>
|
||||||
|
<template #label>
|
||||||
|
<span>模拟器文件夹</span>
|
||||||
|
<help-text>
|
||||||
|
<div>夜神:写到bin文件夹</div>
|
||||||
|
<div>MuMu12: 写到shell文件夹</div>
|
||||||
|
</help-text>
|
||||||
|
</template>
|
||||||
|
<n-input v-model:value="conf.emulator.emulator_folder" type="textarea" :autosize="true" />
|
||||||
|
<n-button @click="select_emulator_folder" class="dialog-btn">...</n-button>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item label="模拟器启动时间">
|
||||||
|
<n-input-number v-model:value="conf.emulator.wait_time">
|
||||||
|
<template #suffix>秒</template>
|
||||||
|
</n-input-number>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item>
|
||||||
|
<template #label>
|
||||||
|
<span>模拟器老板键</span>
|
||||||
|
<help-text>
|
||||||
|
<div>启动模拟器后按此快捷键</div>
|
||||||
|
<div>若不需要此功能,请留空</div>
|
||||||
|
<div>加号分隔按键,不要空格</div>
|
||||||
|
<div>
|
||||||
|
按键名参考
|
||||||
|
<n-button
|
||||||
|
text
|
||||||
|
tag="a"
|
||||||
|
href="https://pyautogui.readthedocs.io/en/latest/keyboard.html#keyboard-keys"
|
||||||
|
target="_blank"
|
||||||
|
type="primary"
|
||||||
|
>
|
||||||
|
KEYBOARD_KEYS
|
||||||
|
</n-button>
|
||||||
|
</div>
|
||||||
|
</help-text>
|
||||||
|
</template>
|
||||||
|
<n-input v-model:value="conf.emulator.hotkey" placeholder="留空停用;组合键用加号分隔" />
|
||||||
|
</n-form-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="preset != 'mumu'">
|
||||||
|
<n-divider />
|
||||||
|
<n-form-item label="ADB路径">
|
||||||
|
<n-input type="textarea" :autosize="true" v-model:value="conf.maa_adb_path" />
|
||||||
|
<n-button @click="select_maa_adb_path" class="dialog-btn">...</n-button>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item>
|
||||||
|
<template #label>
|
||||||
|
<span>ADB连接地址</span>
|
||||||
|
<help-text>
|
||||||
|
<div>不同模拟器adb地址不同。如不填,系统会自动去寻找adb device中的第一个。</div>
|
||||||
|
<div>夜神:<code>127.0.0.1:62001</code></div>
|
||||||
|
</help-text>
|
||||||
|
</template>
|
||||||
|
<n-input v-model:value="conf.adb" />
|
||||||
|
</n-form-item>
|
||||||
|
</template>
|
||||||
|
<template v-if="preset == 'custom'">
|
||||||
|
<n-divider />
|
||||||
|
<n-form-item label="截图方案">
|
||||||
|
<n-select v-model:value="conf.screencap_strategy" :options="screencap_options" />
|
||||||
|
</n-form-item>
|
||||||
|
<n-alert
|
||||||
|
title="推荐使用MuMu模拟器12专属截图"
|
||||||
|
style="margin: 8px 0"
|
||||||
|
type="success"
|
||||||
|
v-if="conf.emulator.name == 'MuMu12' && conf.screencap_strategy != 'mumuipc'"
|
||||||
|
>
|
||||||
|
通过共享内存的方式直接获取无损截图,避免了编码、解码、跨进程传输等环节的开销,截图速度远高于通用截图方案。
|
||||||
|
</n-alert>
|
||||||
|
<n-form-item label="触控方案">
|
||||||
|
<n-select v-model:value="conf.control_strategy" :options="touch_options" />
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item label="应用控制方案">
|
||||||
|
<n-select v-model:value="conf.app_control_strategy" :options="app_control_options" />
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item label="旋转截图" v-if="conf.screencap_strategy == 'droidcast'">
|
||||||
|
<n-radio-group v-model:value="conf.droidcast.rotate">
|
||||||
|
<n-flex>
|
||||||
|
<n-radio :value="false">不旋转</n-radio>
|
||||||
|
<n-radio :value="true">旋转180度</n-radio>
|
||||||
|
</n-flex>
|
||||||
|
</n-radio-group>
|
||||||
|
</n-form-item>
|
||||||
|
<template v-if="conf.screencap_strategy == 'droidcast_raw'">
|
||||||
|
<n-form-item label="屏幕朝向">
|
||||||
|
<n-radio-group v-model:value="conf.droidcast_raw.orientation">
|
||||||
|
<n-flex>
|
||||||
|
<n-radio value="portrait">竖屏</n-radio>
|
||||||
|
<n-radio value="landscape">横屏</n-radio>
|
||||||
|
</n-flex>
|
||||||
|
</n-radio-group>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item label="旋转截图" v-if="conf.screencap_strategy == 'droidcast_raw'">
|
||||||
|
<n-radio-group v-model:value="conf.droidcast_raw.rotate">
|
||||||
|
<n-flex>
|
||||||
|
<n-radio :value="0">不旋转</n-radio>
|
||||||
|
<n-radio :value="90">旋转90度</n-radio>
|
||||||
|
<n-radio :value="180">旋转180度</n-radio>
|
||||||
|
<n-radio :value="270">旋转270度</n-radio>
|
||||||
|
</n-flex>
|
||||||
|
</n-radio-group>
|
||||||
|
</n-form-item>
|
||||||
|
</template>
|
||||||
|
<n-form-item label="截图命令" v-if="conf.screencap_strategy == 'diy'">
|
||||||
|
<n-input
|
||||||
|
v-model:value="conf.custom_screenshot.command"
|
||||||
|
type="textarea"
|
||||||
|
:autosize="true"
|
||||||
|
/>
|
||||||
|
</n-form-item>
|
||||||
|
</template>
|
||||||
|
<n-divider />
|
||||||
|
<n-form-item label="游戏服务器">
|
||||||
|
<n-radio-group v-model:value="conf.package_type">
|
||||||
|
<n-space>
|
||||||
|
<n-radio value="official">官服</n-radio>
|
||||||
|
<n-radio value="bilibili">BiliBili服</n-radio>
|
||||||
|
</n-space>
|
||||||
|
</n-radio-group>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item v-if="conf.app_control_strategy == 'adb_multiuser'">
|
||||||
|
<template #label>
|
||||||
|
分身编号
|
||||||
|
<help-text>
|
||||||
|
<div>主应用的编号是0</div>
|
||||||
|
<div>第一个分身的编号是1</div>
|
||||||
|
<div>第二个分身的编号是2</div>
|
||||||
|
<div>其余分身同理</div>
|
||||||
|
</help-text>
|
||||||
|
</template>
|
||||||
|
<n-input-number v-model:value="conf.mumu_multi_app.app_index" />
|
||||||
|
</n-form-item>
|
||||||
|
<n-alert
|
||||||
|
title="请开启MuMu模拟器12的后台保活!"
|
||||||
|
style="margin: 8px 0"
|
||||||
|
type="warning"
|
||||||
|
v-if="conf.app_control_strategy == 'adb_multiuser'"
|
||||||
|
/>
|
||||||
|
<n-form-item label="启动游戏" v-if="preset == 'custom'">
|
||||||
|
<n-select v-model:value="conf.tap_to_launch_game.enable" :options="launch_options" />
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item v-if="conf.tap_to_launch_game.enable == 'tap'" label="点击坐标">
|
||||||
|
<span class="coord-label">X:</span>
|
||||||
|
<n-input-number v-model:value="conf.tap_to_launch_game.x" />
|
||||||
|
<span class="coord-label">Y:</span>
|
||||||
|
<n-input-number v-model:value="conf.tap_to_launch_game.y" />
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item label="任务结束">
|
||||||
|
<n-select v-model:value="conf.strategy_when_idle" :options="stop_options" />
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item :show-label="false" v-if="preset == 'custom'">
|
||||||
|
<n-checkbox v-model:checked="conf.kill_server_when_idle">
|
||||||
|
<span>任务结束时关闭ADB Server</span>
|
||||||
|
<help-text>建议开启,多开不受影响</help-text>
|
||||||
|
</n-checkbox>
|
||||||
|
</n-form-item>
|
||||||
|
<n-divider />
|
||||||
|
<n-form-item :show-label="false">
|
||||||
|
<n-flex vertical style="gap: 12px">
|
||||||
|
<n-flex align="center" style="gap: 12px">
|
||||||
|
<n-button @click="test_screenshot" :loading="loading">测试截图设置</n-button>
|
||||||
|
<template v-if="tested">
|
||||||
|
<div v-if="screenshot_success">
|
||||||
|
截图用时:<n-text strong :type="screenshot_type">{{ elapsed }}ms</n-text>
|
||||||
|
</div>
|
||||||
|
<template v-else>
|
||||||
|
<n-text type="error">截图失败!</n-text>
|
||||||
|
<div>{{ reason }}</div>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
</n-flex>
|
||||||
|
<n-image
|
||||||
|
v-if="tested && screenshot_success"
|
||||||
|
:src="'data:image/jpeg;base64,' + image"
|
||||||
|
width="100%"
|
||||||
|
/>
|
||||||
|
</n-flex>
|
||||||
|
</n-form-item>
|
||||||
|
</n-form>
|
||||||
|
</n-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.coord-label {
|
||||||
|
width: 40px;
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-title {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
</style>
|
157
ui/src/pages/settings/RIIC.vue
Normal file
157
ui/src/pages/settings/RIIC.vue
Normal file
|
@ -0,0 +1,157 @@
|
||||||
|
<script setup>
|
||||||
|
import { storeToRefs } from 'pinia'
|
||||||
|
|
||||||
|
import { useConfigStore } from '@/stores/config'
|
||||||
|
const config_store = useConfigStore()
|
||||||
|
const { conf } = storeToRefs(config_store)
|
||||||
|
|
||||||
|
import { usePlanStore } from '@/stores/plan'
|
||||||
|
const plan_store = usePlanStore()
|
||||||
|
const { operators } = storeToRefs(plan_store)
|
||||||
|
const { left_side_facility } = plan_store
|
||||||
|
|
||||||
|
import { pinyin_match } from '@/utils/common'
|
||||||
|
|
||||||
|
const mobile = inject('mobile')
|
||||||
|
|
||||||
|
const facility_with_empty = computed(() => {
|
||||||
|
return [{ label: '(加速任意贸易站)', value: '' }].concat(left_side_facility)
|
||||||
|
})
|
||||||
|
|
||||||
|
import { render_op_label } from '@/utils/op_select'
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<n-card title="基建设置">
|
||||||
|
<n-form
|
||||||
|
:label-placement="mobile ? 'top' : 'left'"
|
||||||
|
:show-feedback="false"
|
||||||
|
label-width="160"
|
||||||
|
label-align="left"
|
||||||
|
>
|
||||||
|
<n-form-item label="宿舍黑名单(非主力)">
|
||||||
|
<n-transfer
|
||||||
|
v-if="mobile"
|
||||||
|
virtual-scroll
|
||||||
|
source-filterable
|
||||||
|
target-filterable
|
||||||
|
:options="operators"
|
||||||
|
v-model:value="conf.free_blacklist"
|
||||||
|
:render-source-label="(o) => render_op_label(o.option)"
|
||||||
|
:render-target-label="(o) => render_op_label(o.option)"
|
||||||
|
:filter="(p, o) => (p ? pinyin_match(o.label, p) : true)"
|
||||||
|
/>
|
||||||
|
<slick-operator-select v-else v-model="conf.free_blacklist" />
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item>
|
||||||
|
<template #label>
|
||||||
|
<span>跑单前置延时</span>
|
||||||
|
<help-text>
|
||||||
|
<div>推荐范围5-10</div>
|
||||||
|
<div>可填小数</div>
|
||||||
|
</help-text>
|
||||||
|
</template>
|
||||||
|
<n-input-number v-model:value="conf.run_order_delay">
|
||||||
|
<template #suffix>分钟</template>
|
||||||
|
</n-input-number>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item :show-label="false">
|
||||||
|
<n-checkbox v-model:checked="conf.run_order_grandet_mode.enable">葛朗台跑单</n-checkbox>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item v-if="conf.run_order_grandet_mode.enable">
|
||||||
|
<template #label>
|
||||||
|
<span>葛朗台缓冲时间</span>
|
||||||
|
<help-text>推荐范围:15-30</help-text>
|
||||||
|
</template>
|
||||||
|
<n-input-number v-model:value="conf.run_order_grandet_mode.buffer_time">
|
||||||
|
<template #suffix>秒</template>
|
||||||
|
</n-input-number>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item v-if="conf.run_order_grandet_mode.enable" :show-label="false">
|
||||||
|
<n-checkbox v-model:checked="conf.run_order_grandet_mode.back_to_index">
|
||||||
|
跑单前返回主界面以保持登录状态
|
||||||
|
</n-checkbox>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item>
|
||||||
|
<template #label>
|
||||||
|
<span>无人机使用房间</span>
|
||||||
|
<help-text>
|
||||||
|
<div>加速制造站为指定制造站加速</div>
|
||||||
|
<div>(加速任意贸易站)只会加速有跑单人员作备班的站</div>
|
||||||
|
<div>例:没填龙舌兰但书的卖玉站 (加速任意贸易站) 不会被加速</div>
|
||||||
|
<div>如需要加速特定某个贸易站请指定对应房间</div>
|
||||||
|
</help-text>
|
||||||
|
</template>
|
||||||
|
<n-select :options="facility_with_empty" v-model:value="conf.drone_room" />
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item>
|
||||||
|
<template #label>
|
||||||
|
<span>无人机使用阈值</span>
|
||||||
|
<help-text>
|
||||||
|
<div>如加速贸易,推荐大于 贸易站数*x + 92</div>
|
||||||
|
<div>如加速制造,推荐大于 贸易站数*x</div>
|
||||||
|
<div>葛朗台跑单模式下x=0,非葛朗台推荐x=10</div>
|
||||||
|
</help-text>
|
||||||
|
</template>
|
||||||
|
<n-input-number v-model:value="conf.drone_count_limit" />
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item>
|
||||||
|
<template #label>
|
||||||
|
<span>无人机加速间隔</span>
|
||||||
|
<help-text>
|
||||||
|
<div>可填小数</div>
|
||||||
|
</help-text>
|
||||||
|
</template>
|
||||||
|
<n-input-number v-model:value="conf.drone_interval">
|
||||||
|
<template #suffix>小时</template>
|
||||||
|
</n-input-number>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item label="搓玉补货房间">
|
||||||
|
<n-select
|
||||||
|
multiple
|
||||||
|
filterable
|
||||||
|
tag
|
||||||
|
:options="left_side_facility"
|
||||||
|
v-model:value="conf.reload_room"
|
||||||
|
/>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item>
|
||||||
|
<template #label>
|
||||||
|
<span>心情阈值</span>
|
||||||
|
<help-text>
|
||||||
|
<div>2电站推荐不低于65%</div>
|
||||||
|
<div>3电站推荐不低于50%</div>
|
||||||
|
<div>即将大更新推荐设置成80%</div>
|
||||||
|
</help-text>
|
||||||
|
</template>
|
||||||
|
<div class="threshold">
|
||||||
|
<n-slider
|
||||||
|
v-model:value="conf.resting_threshold"
|
||||||
|
:step="5"
|
||||||
|
:min="50"
|
||||||
|
:max="80"
|
||||||
|
:format-tooltip="(v) => `${v}%`"
|
||||||
|
/>
|
||||||
|
<n-input-number v-model:value="conf.resting_threshold" :step="5" :min="50" :max="80">
|
||||||
|
<template #suffix>%</template>
|
||||||
|
</n-input-number>
|
||||||
|
</div>
|
||||||
|
</n-form-item>
|
||||||
|
<n-form-item :show-label="false">
|
||||||
|
<n-checkbox v-model:checked="conf.free_room">
|
||||||
|
宿舍不养闲人
|
||||||
|
<help-text>干员心情回满后,立即释放宿舍空位</help-text>
|
||||||
|
</n-checkbox>
|
||||||
|
</n-form-item>
|
||||||
|
</n-form>
|
||||||
|
</n-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.threshold {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 14px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
41
ui/src/pages/settings/Regular.vue
Normal file
41
ui/src/pages/settings/Regular.vue
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
<script setup>
|
||||||
|
import { storeToRefs } from 'pinia'
|
||||||
|
|
||||||
|
import { useConfigStore } from '@/stores/config'
|
||||||
|
const config_store = useConfigStore()
|
||||||
|
const { conf } = storeToRefs(config_store)
|
||||||
|
|
||||||
|
const mobile = inject('mobile')
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<n-card>
|
||||||
|
<template #header>
|
||||||
|
<n-checkbox v-model:checked="conf.maa_enable">
|
||||||
|
<div class="card-title">日常任务</div>
|
||||||
|
</n-checkbox>
|
||||||
|
<help-text>
|
||||||
|
<div>刷理智周计划、每日/每周任务、信用作战</div>
|
||||||
|
</help-text>
|
||||||
|
</template>
|
||||||
|
<n-form
|
||||||
|
:label-placement="mobile ? 'top' : 'left'"
|
||||||
|
:show-feedback="false"
|
||||||
|
label-width="100"
|
||||||
|
label-align="left"
|
||||||
|
>
|
||||||
|
<n-form-item>
|
||||||
|
<template #label>
|
||||||
|
<span>任务间隔</span>
|
||||||
|
<help-text>
|
||||||
|
<div>可填小数</div>
|
||||||
|
<div>清理智、日常/周常任务领取、借助战打OF-1</div>
|
||||||
|
</help-text>
|
||||||
|
</template>
|
||||||
|
<n-input-number v-model:value="conf.maa_gap">
|
||||||
|
<template #suffix>小时</template>
|
||||||
|
</n-input-number>
|
||||||
|
</n-form-item>
|
||||||
|
</n-form>
|
||||||
|
</n-card>
|
||||||
|
</template>
|
|
@ -270,7 +270,9 @@ const disabled_color = computed(() => {
|
||||||
|
|
||||||
<n-flex class="activity">
|
<n-flex class="activity">
|
||||||
<template v-if="activity.length > 0">
|
<template v-if="activity.length > 0">
|
||||||
<n-tag v-for="a in activity" draggable="true" @dragstart="drag(a, $event)">{{ a }}</n-tag>
|
<n-tag v-for="a in activity" draggable="true" @dragstart="drag(a, $event)">
|
||||||
|
{{ a }}
|
||||||
|
</n-tag>
|
||||||
</template>
|
</template>
|
||||||
<div v-else>当前暂无活动开放</div>
|
<div v-else>当前暂无活动开放</div>
|
||||||
<n-button text type="primary" @click="get_activity">
|
<n-button text type="primary" @click="get_activity">
|
||||||
|
@ -323,6 +325,7 @@ const disabled_color = computed(() => {
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
@dragover.prevent
|
@dragover.prevent
|
||||||
|
@dragenter.prevent
|
||||||
@drop="drop(index, $event)"
|
@drop="drop(index, $event)"
|
||||||
/>
|
/>
|
||||||
<n-tag
|
<n-tag
|
||||||
|
@ -336,6 +339,7 @@ const disabled_color = computed(() => {
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
@dragover.prevent
|
@dragover.prevent
|
||||||
|
@dragenter.prevent
|
||||||
@drop="drop(index, $event)"
|
@drop="drop(index, $event)"
|
||||||
>
|
>
|
||||||
{{ stage }}
|
{{ stage }}
|
||||||
|
@ -361,57 +365,31 @@ const disabled_color = computed(() => {
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
.btn-clear {
|
||||||
|
margin: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
.tasktable {
|
.tasktable {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
|
td {
|
||||||
|
width: calc(72% / 7);
|
||||||
|
&:first-child {
|
||||||
|
width: 10%;
|
||||||
|
}
|
||||||
|
&:nth-child(2) {
|
||||||
|
width: 18%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
table {
|
table {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.btn-clear {
|
thead {
|
||||||
margin: 4px;
|
background-color: hsl(196, 26%, 60%);
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 1399px) {
|
|
||||||
.tasktable {
|
|
||||||
max-height: 300px;
|
|
||||||
|
|
||||||
td {
|
|
||||||
width: calc(72% / 7);
|
|
||||||
&:first-child {
|
|
||||||
width: 10%;
|
|
||||||
}
|
|
||||||
&:nth-child(2) {
|
|
||||||
width: 18%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
thead {
|
|
||||||
position: sticky;
|
|
||||||
top: 0;
|
|
||||||
background-color: hsl(196, 26%, 60%);
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: 1400px) {
|
|
||||||
.tasktable {
|
|
||||||
td {
|
|
||||||
width: calc(72% / 7);
|
|
||||||
&:first-child {
|
|
||||||
width: 10%;
|
|
||||||
}
|
|
||||||
&:nth-child(2) {
|
|
||||||
width: 18%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
thead {
|
|
||||||
background-color: hsl(196, 26%, 60%);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ export const routes = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'settings',
|
path: 'settings',
|
||||||
component: () => import('@/pages/Settings.vue'),
|
component: () => import('@/pages/MobileSettings.vue'),
|
||||||
meta: { title: '设置' },
|
meta: { title: '设置' },
|
||||||
name: 'settings'
|
name: 'settings'
|
||||||
},
|
},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue