设置界面改进

This commit is contained in:
zhbaor 2024-11-22 16:47:45 +08:00
parent 964088bab3
commit 9783912694
17 changed files with 385 additions and 333 deletions

1
ui/components.d.ts vendored
View file

@ -44,6 +44,7 @@ declare module 'vue' {
NGrid: typeof import('naive-ui')['NGrid']
NH1: typeof import('naive-ui')['NH1']
NH2: typeof import('naive-ui')['NH2']
NH4: typeof import('naive-ui')['NH4']
NIcon: typeof import('naive-ui')['NIcon']
NImage: typeof import('naive-ui')['NImage']
NInput: typeof import('naive-ui')['NInput']

View file

@ -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{a 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{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};

View file

@ -1 +1 @@
.sss-container[data-v-88cdcd3f]{display:flex;width:100%;gap:8px}.wrapper[data-v-88cdcd3f]{white-space:pre-wrap;-webkit-user-select:text;user-select:text}.title[data-v-88cdcd3f]{font-size:18px;font-weight:500;margin-bottom:6px}p[data-v-de0d813f]{margin:0 0 10px}.misc-container[data-v-de0d813f]{margin-top:12px;display:flex;align-items:center;gap:12px}.subtitle[data-v-d419b3ce]{font-weight:500;font-size:16px;margin:12px 0 6px}.tasktable[data-v-6e320a26]{margin-top:4px;width:100%;overflow:scroll}.tasktable table[data-v-6e320a26]{border-collapse:collapse;width:100%}.btn-clear[data-v-6e320a26]{margin:4px}@media screen and (max-width: 1399px){.tasktable[data-v-6e320a26]{max-height:300px}.tasktable td[data-v-6e320a26]{width:10.2857142857%}.tasktable td[data-v-6e320a26]:first-child{width:10%}.tasktable td[data-v-6e320a26]:nth-child(2){width:18%}.tasktable thead[data-v-6e320a26]{position:sticky;top:0;background-color:#7ea5b4;z-index:1}}@media screen and (min-width: 1400px){.tasktable td[data-v-6e320a26]{width:10.2857142857%}.tasktable td[data-v-6e320a26]:first-child{width:10%}.tasktable td[data-v-6e320a26]:nth-child(2){width:18%}.tasktable thead[data-v-6e320a26]{background-color:#7ea5b4}}.class1[data-v-6e320a26]{background-color:var(--538a206e);text-align:center;vertical-align:middle}.class2[data-v-6e320a26]{background-color:var(--1ba48200);text-align:center;vertical-align:middle}.custom-tag[data-v-6e320a26]{width:100%;height:100%;justify-content:space-between}.today[data-v-6e320a26]{font-weight:400;font-size:12px}.activity[data-v-6e320a26]{align-items:center;gap:4px!important}p[data-v-91c39920]{margin:0 0 8px}h4[data-v-91c39920]{margin:12px 0 10px}.big-table[data-v-91c39920]{margin-top:10px;max-width:320px}.big-table th[data-v-91c39920]{text-align:center}.big-table tr[data-v-91c39920]{width:70px}.big-table td[data-v-91c39920]{height:24px}.big-table td[data-v-91c39920]:nth-child(1){width:70px;text-align:center}.big-table td[data-v-91c39920]:nth-child(2){width:420px}.final[data-v-91c39920]{margin:16px 0 0}p[data-v-0f95bd0d]{margin:2px 0}h4[data-v-0f95bd0d]{margin:12px 0 8px}table[data-v-0f95bd0d]{width:100%}td[data-v-0f95bd0d]:nth-child(1){width:80px}.ignore-blacklist[data-v-0f95bd0d]{margin-bottom:10px;display:flex;gap:12px}.h4[data-v-0f95bd0d]{font-size:16px;font-weight:500}.maa-shop[data-v-0f95bd0d]{margin:8px 0}.item[data-v-0f95bd0d]{font-weight:500;font-size:16px}.email-title[data-v-87147c94]{width:100%}.expand[data-v-87147c94]{flex-grow:1}.email-table[data-v-87147c94]{width:100%;margin-bottom:12px}.email-test[data-v-87147c94]{display:flex;align-items:center;gap:16px}.email-mode[data-v-87147c94]{margin-left:20px}.email-label[data-v-87147c94]{width:68px}p[data-v-87147c94]{margin:0 0 10px}.mt-16[data-v-87147c94]{margin-top:16px}.item[data-v-1fd8f24a]{font-weight:500;font-size:16px}.n-divider[data-v-1fd8f24a]:not(.n-divider--vertical){margin:6px 0}.misc-container{margin-top:12px;display:flex;align-items:center;gap:12px}.threshold[data-v-01249c06]{display:flex;align-items:center;gap:14px;width:100%}.mower-basic[data-v-01249c06]{width:100%}.mower-basic td[data-v-01249c06]:nth-child(1){width:120px}.mower-basic td[data-v-01249c06]:nth-child(3){padding-left:6px;width:40px}.riic-conf[data-v-01249c06]{width:100%}.riic-conf td[data-v-01249c06]:nth-child(1){width:130px}.riic-conf td[data-v-01249c06]:nth-child(3){padding-left:12px;width:120px}.coord td[data-v-01249c06]{width:120px}.coord td[data-v-01249c06]:nth-child(1),.coord td[data-v-01249c06]:nth-child(3){width:30px}.coord td[data-v-01249c06]:nth-child(2){padding-right:30px}.coord-label[data-v-01249c06]{width:40px;padding-left:8px}p[data-v-01249c06]{margin:0 0 8px}h4[data-v-01249c06]{margin:12px 0 10px}.time-table[data-v-01249c06]{width:100%;margin-bottom:12px}.time-table td[data-v-01249c06]:nth-child(1){width:40px}.scale[data-v-01249c06]{width:60px;text-align:right}.scale-apply[data-v-01249c06]{margin-left:24px}.waiting-table th[data-v-01249c06],.waiting-table td[data-v-01249c06]{padding:4px;min-width:70px;width:100px}.waiting-table th[data-v-01249c06]:first-child,.waiting-table td[data-v-01249c06]:first-child{width:auto;padding:4px 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}
.sss-container[data-v-eb06be2c]{display:flex;width:100%;gap:8px}.wrapper[data-v-eb06be2c]{white-space:pre-wrap;-webkit-user-select:text;user-select:text}.title[data-v-eb06be2c]{font-size:18px;font-weight:500;margin-bottom:6px}p[data-v-a12cd2e1]{margin:0 0 10px}.misc-container[data-v-a12cd2e1]{display:flex;align-items:center;gap:12px}.header[data-v-a12cd2e1]{margin:12px 0}.tasktable[data-v-6d8d4bb9]{margin-top:4px;width:100%;overflow:scroll}.tasktable table[data-v-6d8d4bb9]{border-collapse:collapse;width:100%}.btn-clear[data-v-6d8d4bb9]{margin:4px}@media screen and (max-width: 1399px){.tasktable[data-v-6d8d4bb9]{max-height:300px}.tasktable td[data-v-6d8d4bb9]{width:10.2857142857%}.tasktable td[data-v-6d8d4bb9]:first-child{width:10%}.tasktable td[data-v-6d8d4bb9]:nth-child(2){width:18%}.tasktable thead[data-v-6d8d4bb9]{position:sticky;top:0;background-color:#7ea5b4;z-index:1}}@media screen and (min-width: 1400px){.tasktable td[data-v-6d8d4bb9]{width:10.2857142857%}.tasktable td[data-v-6d8d4bb9]:first-child{width:10%}.tasktable td[data-v-6d8d4bb9]:nth-child(2){width:18%}.tasktable thead[data-v-6d8d4bb9]{background-color:#7ea5b4}}.class1[data-v-6d8d4bb9]{background-color:var(--1e7f8d8a);text-align:center;vertical-align:middle}.class2[data-v-6d8d4bb9]{background-color:var(--32883e64);text-align:center;vertical-align:middle}.custom-tag[data-v-6d8d4bb9]{width:100%;height:100%;justify-content:space-between}.today[data-v-6d8d4bb9]{font-weight:400;font-size:12px}.activity[data-v-6d8d4bb9]{align-items:center;gap:4px!important}.card-title[data-v-6d8d4bb9]{transition:.3s}.disabled[data-v-6d8d4bb9]{color:var(--4cb52c16)}p[data-v-8148607c]{margin:2px 0}h4[data-v-8148607c]{margin:12px 0 8px}table[data-v-8148607c]{width:100%}td[data-v-8148607c]:nth-child(1){width:80px}.ignore-blacklist[data-v-8148607c]{margin-bottom:10px;display:flex;gap:12px}.h4[data-v-8148607c]{font-size:16px;font-weight:500}.maa-shop[data-v-8148607c]{margin:8px 0}.item[data-v-8148607c]{font-weight:500;font-size:16px}p[data-v-91c39920]{margin:0 0 8px}h4[data-v-91c39920]{margin:12px 0 10px}.big-table[data-v-91c39920]{margin-top:10px;max-width:320px}.big-table th[data-v-91c39920]{text-align:center}.big-table tr[data-v-91c39920]{width:70px}.big-table td[data-v-91c39920]{height:24px}.big-table td[data-v-91c39920]:nth-child(1){width:70px;text-align:center}.big-table td[data-v-91c39920]:nth-child(2){width:420px}.final[data-v-91c39920]{margin:16px 0 0}.item[data-v-04ac026a]{font-weight:500;font-size:16px}.n-divider[data-v-04ac026a]:not(.n-divider--vertical){margin:6px 0}.subtitle[data-v-1ac071b6]{margin:12px 0 6px}.misc-container{margin-top:12px;display:flex;align-items:center;gap:12px}.email-title[data-v-87147c94]{width:100%}.expand[data-v-87147c94]{flex-grow:1}.email-table[data-v-87147c94]{width:100%;margin-bottom:12px}.email-test[data-v-87147c94]{display:flex;align-items:center;gap:16px}.email-mode[data-v-87147c94]{margin-left:20px}.email-label[data-v-87147c94]{width:68px}p[data-v-87147c94]{margin:0 0 10px}.mt-16[data-v-87147c94]{margin-top:16px}.threshold[data-v-25a2ebac]{display:flex;align-items:center;gap:14px;width:100%}.mower-basic[data-v-25a2ebac]{width:100%}.mower-basic td[data-v-25a2ebac]:nth-child(1){width:120px}.mower-basic td[data-v-25a2ebac]:nth-child(3){padding-left:6px;width:40px}.riic-conf[data-v-25a2ebac]{width:100%}.riic-conf td[data-v-25a2ebac]:nth-child(1){width:130px}.riic-conf td[data-v-25a2ebac]:nth-child(3){padding-left:12px;width:120px}.coord td[data-v-25a2ebac]{width:120px}.coord td[data-v-25a2ebac]:nth-child(1),.coord td[data-v-25a2ebac]:nth-child(3){width:30px}.coord td[data-v-25a2ebac]:nth-child(2){padding-right:30px}.coord-label[data-v-25a2ebac]{width:40px;padding-left:8px}p[data-v-25a2ebac]{margin:0 0 8px}h4[data-v-25a2ebac]{margin:12px 0 10px}.time-table[data-v-25a2ebac]{width:100%;margin-bottom:12px}.time-table td[data-v-25a2ebac]:nth-child(1){width:40px}.scale[data-v-25a2ebac]{width:60px;text-align:right}.scale-apply[data-v-25a2ebac]{margin-left:24px}.waiting-table th[data-v-25a2ebac],.waiting-table td[data-v-25a2ebac]{padding:4px;min-width:70px;width:100px}.waiting-table th[data-v-25a2ebac]:first-child,.waiting-table td[data-v-25a2ebac]:first-child{width:auto;padding:4px 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}

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
import{ap as I,aq as F,w as N}from"./main.js";import{as as h,au as f,ar as b,ay as B,B as P,ax as V,b0 as H,j as L,aC as q,H as a,F as E,r as $,s as M,bC as S,bw as l,bv as c,bt as v,k as g,bE as y,by as W,bD as z,bo as A,b3 as G,bu as R}from"./_plugin-vue_export-helper.js";import{N 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"./Tag.js";const Y=h("thing",`
import{ap as I,aq as F,w as P}from"./main.js";import{as as h,au as f,ar as b,ay as B,B as V,ax as H,b0 as N,j as L,aC as q,H as a,F as E,r as $,s as M,bC as S,bw as l,bv as c,bt as v,k as g,bE as y,by as W,bD as z,bo as A,b3 as G,bu as R}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"./Tag.js";const Y=h("thing",`
display: flex;
transition: color .3s var(--n-bezier);
font-size: var(--n-font-size);
@ -31,4 +31,4 @@ import{ap as I,aq as F,w as N}from"./main.js";import{as as h,au as f,ar as b,ay
margin-top: 12px;
`)]),f("action",[b("&:not(:first-child)",`
margin-top: 12px;
`)])])]),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=P({name:"Thing",props:Z,setup(t,{slots:e}){const{mergedClsPrefixRef:_,inlineThemeDisabled:s,mergedRtlRef:u}=V(t),w=B("Thing","-thing",Y,I,t,_),m=H("Thing",u,_),p=L(()=>{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=s?q("thing",void 0,p,t):void 0;return()=>{var r;const{value:n}=_,o=m?m.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:s?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=F("depot",()=>{async function t(){return(await N.get("/depot/readdepot")).data}return{getDepotinfo:t}}),se={__name:"depot",setup(t){const e=te(),{getDepotinfo:_}=e,s=$([]);let u=$([]);async function w(){s.value=await _(),m()}function m(){u.value={...s.value[0]};for(const i in u.value)if(u.value.hasOwnProperty(i)){const r=u.value[i],n=Object.entries(r).map(([o,d])=>({key:o,...d})).sort((o,d)=>o.sort-d.sort);u.value[i]=n}}M(w);const p=async()=>{try{await navigator.clipboard.writeText(s.value[1]),console.log("Text copied:",s.value[1])}catch(i){console.error("Failed to copy text:",i)}};return $(!1),(i,r)=>{const n=G,o=U,d=Q,C=J,D=X,j=ee,k=K;return v(),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(s.value[2])+" ",1),r[1]||(r[1]=W("br",null,null,-1)),r[2]||(r[2]=g(" 注:万以下的数字并不会计入,如“龙门币 245万” “资质凭证 2万” ")),l(o)]),_:1}),(v(!0),S(E,null,z(A(u),(O,T)=>(v(),R(d,{key:T},{default:c(()=>[l(C,null,{default:c(()=>[g(y(T.slice(1)),1)]),_:2},1024),l(k,{"x-gap":"10px","y-gap":"10px",cols:"2 m:6 l:6 ",responsive:"screen"},{default:c(()=>[(v(!0),S(E,null,z(O,x=>(v(),R(d,{key:x},{default:c(()=>[l(j,null,{avatar:c(()=>[l(D,{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{se 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=V({name:"Thing",props:Z,setup(t,{slots:e}){const{mergedClsPrefixRef:_,inlineThemeDisabled:s,mergedRtlRef:u}=H(t),w=B("Thing","-thing",Y,I,t,_),m=N("Thing",u,_),p=L(()=>{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=s?q("thing",void 0,p,t):void 0;return()=>{var r;const{value:n}=_,o=m?m.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:s?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=F("depot",()=>{async function t(){return(await P.get("/depot/readdepot")).data}return{getDepotinfo:t}}),se={__name:"depot",setup(t){const e=te(),{getDepotinfo:_}=e,s=$([]);let u=$([]);async function w(){s.value=await _(),m()}function m(){u.value={...s.value[0]};for(const i in u.value)if(u.value.hasOwnProperty(i)){const r=u.value[i],n=Object.entries(r).map(([o,d])=>({key:o,...d})).sort((o,d)=>o.sort-d.sort);u.value[i]=n}}M(w);const p=async()=>{try{await navigator.clipboard.writeText(s.value[1]),console.log("Text copied:",s.value[1])}catch(i){console.error("Failed to copy text:",i)}};return $(!1),(i,r)=>{const n=G,o=U,d=Q,C=J,D=X,j=ee,k=K;return v(),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(s.value[2])+" ",1),r[1]||(r[1]=W("br",null,null,-1)),r[2]||(r[2]=g(" 注:万以下的数字并不会计入,如“龙门币 245万” “资质凭证 2万” ")),l(o)]),_:1}),(v(!0),S(E,null,z(A(u),(O,T)=>(v(),R(d,{key:T},{default:c(()=>[l(C,null,{default:c(()=>[g(y(T.slice(1)),1)]),_:2},1024),l(k,{"x-gap":"10px","y-gap":"10px",cols:"2 m:6 l:6 ",responsive:"screen"},{default:c(()=>[(v(!0),S(E,null,z(O,x=>(v(),R(d,{key:x},{default:c(()=>[l(j,null,{avatar:c(()=>[l(D,{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{se as default};

View file

@ -1,10 +1,10 @@
import{as as w,ar as d,av as h,ay as f,B as z,ax as $,j as c,aY as n,aC as T,H as B}from"./_plugin-vue_export-helper.js";import{al as H}from"./main.js";const R=w("h",`
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{al 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}),h("prefix-bar",{position:"relative",paddingLeft:"var(--n-prefix-width)"},[h("align-text",{paddingLeft:0},[d("&::before",{left:"calc(-1 * var(--n-prefix-width))"})]),d("&::before",`
`,[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);
@ -13,4 +13,4 @@ import{as as w,ar as d,av as h,ay as f,B as z,ax as $,j as c,aY as n,aC as T,H a
top: 0;
bottom: 0;
position: absolute;
`),d("&::before",{backgroundColor:"var(--n-bar-color)"})])]),P=Object.assign(Object.assign({},f.props),{type:{type:String,default:"default"},prefix:String,alignText:Boolean}),l=r=>z({name:`H${r}`,props:P,setup(e){const{mergedClsPrefixRef:i,inlineThemeDisabled:o}=$(e),a=f("Typography","-h",R,H,e,i),s=c(()=>{const{type:g}=e,{common:{cubicBezierEaseInOut:m},self:{headerFontWeight:p,headerTextColor:b,[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":p,"--n-text-color":b,"--n-prefix-width":u}}),t=o?T(`h${r}`,c(()=>e.type[0]),s,e):void 0;return{mergedClsPrefix:i,cssVars:o?void 0:s,themeClass:t==null?void 0:t.themeClass,onRender:t==null?void 0:t.onRender}},render(){var e;const{prefix:i,alignText:o,mergedClsPrefix:a,cssVars:s,$slots:t}=this;return(e=this.onRender)===null||e===void 0||e.call(this),B(`h${r}`,{class:[`${a}-h`,`${a}-h${r}`,this.themeClass,{[`${a}-h--prefix-bar`]:i,[`${a}-h--align-text`]:o}],style:s},t)}}),j=l("1"),L=l("2");export{L as N,j as a};
`),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};

File diff suppressed because one or more lines are too long

View file

@ -68,70 +68,16 @@ const show_map = ref(false)
</script>
<template>
<n-card title="线索收集与信用">
<n-flex>
<n-checkbox v-model:checked="conf.enable_party"><div class="item">线索收集</div></n-checkbox>
<n-checkbox v-model:checked="conf.leifeng_mode">
雷锋模式
<help-text>
<div>开启时向好友赠送多余的线索</div>
<div>关闭则超过9个线索才送好友</div>
</help-text>
<n-card>
<template #header>
<n-checkbox v-model:checked="conf.enable_party">
<div class="card-title">线索收集与信用</div>
</n-checkbox>
</n-flex>
</template>
<n-checkbox v-model:checked="conf.leifeng_mode">赠送多余的线索</n-checkbox>
<n-divider />
<n-form :label-placement="mobile ? 'top' : 'left'" :show-feedback="false" class="rogue">
<n-form-item :show-label="false">
<n-checkbox v-model:checked="conf.maa_credit_fight">
<div class="item">信用作战</div>
</n-checkbox>
<help-text>
<div>借助战打OF-1</div>
<div>使用指定编队中的指定干员</div>
</help-text>
</n-form-item>
<n-form-item label="编队">
<n-select :options="squads" v-model:value="conf.credit_fight.squad" />
</n-form-item>
<n-form-item label="干员">
<n-select
style="flex: 3; margin-right: 8px"
filterable
:options="operators"
v-model:value="conf.credit_fight.operator"
:filter="(p, o) => pinyin_match(o.label, p)"
:render-label="render_op_label"
/>
<n-select style="flex: 2" :options="skills" v-model:value="conf.credit_fight.skill" />
</n-form-item>
<n-form-item label="部署">
<div style="width: 40px; text-align: right">X</div>
<n-input-number
style="margin: 0 8px"
v-model:value="conf.credit_fight.x"
:show-button="false"
/>
<div style="width: 40px; text-align: right">Y</div>
<n-input-number
style="margin: 0 8px"
v-model:value="conf.credit_fight.y"
:show-button="false"
/>
<n-select
style="width: 250px; margin-right: 8px"
:options="deploy_directions"
v-model:value="conf.credit_fight.direction"
/>
<n-button @click="show_map = !show_map">{{ show_map ? '隐藏' : '显示' }}OF-1地图</n-button>
</n-form-item>
<n-form-item :show-label="false" v-if="show_map">
<n-image src="/map-OF-1.webp" width="100%" />
</n-form-item>
</n-form>
<n-divider />
<n-checkbox v-model:checked="conf.maa_enable" class="maa-shop">
<div class="item">信用商店购物</div>
</n-checkbox>
<n-h4>
信用商店购物
<help-text>
<span>性价比参考</span>
<n-button
@ -145,6 +91,7 @@ const show_map = ref(false)
</n-button>
<p>注意跑单时赤金与作战记录均大幅升值</p>
</help-text>
</n-h4>
<n-form
:label-placement="mobile ? 'top' : 'left'"
:show-feedback="false"
@ -183,6 +130,57 @@ const show_map = ref(false)
:render-label="render_label"
/>
</n-form-item>
<n-divider />
<n-form :label-placement="mobile ? 'top' : 'left'" :show-feedback="false" class="rogue">
<n-form-item :show-label="false">
<n-checkbox v-model:checked="conf.maa_credit_fight" :disabled="!conf.maa_enable">
<div class="item">信用作战</div>
</n-checkbox>
<help-text>
<div v-if="!conf.maa_enable">需开启日常任务</div>
<div v-else>借助战打OF-1</div>
</help-text>
</n-form-item>
<n-form-item label="编队">
<n-select :options="squads" v-model:value="conf.credit_fight.squad" />
</n-form-item>
<n-form-item label="干员">
<n-select
style="flex: 3; margin-right: 8px"
filterable
:options="operators"
v-model:value="conf.credit_fight.operator"
:filter="(p, o) => pinyin_match(o.label, p)"
:render-label="render_op_label"
/>
<n-select style="flex: 2" :options="skills" v-model:value="conf.credit_fight.skill" />
</n-form-item>
<n-form-item label="部署">
<div style="width: 40px; text-align: right">X</div>
<n-input-number
style="margin: 0 8px"
v-model:value="conf.credit_fight.x"
:show-button="false"
/>
<div style="width: 40px; text-align: right">Y</div>
<n-input-number
style="margin: 0 8px"
v-model:value="conf.credit_fight.y"
:show-button="false"
/>
<n-select
style="width: 250px; margin-right: 8px"
:options="deploy_directions"
v-model:value="conf.credit_fight.direction"
/>
<n-button @click="show_map = !show_map"
>{{ show_map ? '隐藏' : '显示' }}OF-1地图</n-button
>
</n-form-item>
<n-form-item :show-label="false" v-if="show_map">
<n-image src="/map-OF-1.webp" width="100%" />
</n-form-item>
</n-form>
</n-form>
</n-card>
</template>

View file

@ -27,9 +27,12 @@ const { conf } = storeToRefs(store)
</n-flex>
</div>
<n-divider />
<n-flex>
<n-checkbox v-model:checked="conf.check_mail_enable">
<div class="item">领取邮件</div>
</n-checkbox>
<n-checkbox v-model:checked="conf.delete_read_mail">删除已读邮件</n-checkbox>
</n-flex>
<n-divider />
<n-checkbox v-model:checked="conf.visit_friend">
<div class="item">访问好友</div>

View file

@ -19,16 +19,19 @@ const maa_long_task_options = [
<template>
<n-card>
<template #header>
<n-checkbox v-model:checked="conf.maa_rg_enable">
<n-checkbox v-model:checked="conf.maa_rg_enable" :disabled="!conf.maa_enable">
<div class="card-title">大型任务</div>
</n-checkbox>
<help-text>
<div v-if="!conf.maa_enable">需开启日常任务</div>
<template v-else>
<div>开始与结束时间设置为相同值时全天开启</div>
<div>若结束时间早于开始时间则表示开启至次日例如</div>
<ul>
<li>23:00开始8:00结束表示从23:00至次日8:00执行大型任务</li>
<li>10:00开始14:00结束表示从10:00至当日14:00执行大型任务</li>
</ul>
</template>
</help-text>
<n-select v-model:value="conf.maa_long_task_type" :options="maa_long_task_options" />
</template>

View file

@ -42,8 +42,8 @@ const maa_touch_options = ['maatouch', 'minitouch', 'adb'].map((x) => {
</script>
<template>
<n-card>
<template #header>Maa设置<help-text>集成战略</help-text></template>
<n-divider />
<n-h4 class="header">Maa设置</n-h4>
<n-form
:label-placement="mobile ? 'top' : 'left'"
:show-feedback="false"
@ -67,7 +67,7 @@ const maa_touch_options = ['maatouch', 'minitouch', 'adb'].map((x) => {
<n-button @click="test_maa">测试设置</n-button>
<div>{{ maa_msg }}</div>
</div>
</n-card>
<n-divider style="margin: 12px 0 16px" />
</template>
<style scoped lang="scss">
@ -76,9 +76,12 @@ p {
}
.misc-container {
margin-top: 12px;
display: flex;
align-items: center;
gap: 12px;
}
.header {
margin: 12px 0;
}
</style>

View file

@ -134,6 +134,7 @@ for (const c of col) {
</script>
<template>
<maa-basic />
<n-form :label-placement="mobile ? 'top' : 'left'" :show-feedback="false" class="conf.rogue">
<n-form-item label="主题">
<n-select v-model:value="conf.maa_rg_theme" :options="rogue_themes" />

View file

@ -60,6 +60,7 @@ async function test_maa() {
</div>
</template>
</n-dynamic-input>
<n-divider />
<div class="misc-container">
<n-button @click="test_maa">测试设置</n-button>
<div>{{ maa_msg }}</div>

View file

@ -116,7 +116,7 @@ const { conf } = storeToRefs(store)
<div class="wrapper" v-if="sss_data.exists">
<div class="title">{{ sss_data.title }}</div>
<n-scrollbar
style="max-height: 500px"
style="max-height: 240px"
content-style="padding-right: 12px"
trigger="none"
>

View file

@ -1,5 +1,5 @@
<script setup>
import { inject, ref } from 'vue'
import { inject } from 'vue'
const mobile = inject('mobile')
@ -17,7 +17,7 @@ const elite_options = [
</script>
<template>
<n-card title="自动战斗">
<n-card title="自动战斗设置">
<n-form
:label-placement="mobile ? 'top' : 'left'"
:show-feedback="false"
@ -27,7 +27,8 @@ const elite_options = [
<n-form-item :show-label="false">
<n-checkbox v-model:checked="conf.avatar_recog_pause">识别干员时暂停</n-checkbox>
</n-form-item>
<div class="subtitle">借助战</div>
<n-divider />
<n-h4 class="subtitle">借助战</n-h4>
<n-form-item label="精英化限制">
<n-select v-model:value="conf.support.elite" :options="elite_options" />
</n-form-item>
@ -43,8 +44,6 @@ const elite_options = [
<style scoped>
.subtitle {
font-weight: 500;
font-size: 16px;
margin: 12px 0 6px;
}
</style>

View file

@ -221,17 +221,22 @@ function drop(plan, ev) {
const data = ev.dataTransfer.getData('text')
changestage(plan, [data])
}
const disabled_color = computed(() => {
return conf.value.theme == 'light' ? 'rgba(194, 194, 194, 1)' : 'rgba(255, 255, 255, 0.38)'
})
</script>
<template>
<n-card>
<template #header>
<n-checkbox v-model:checked="conf.maa_enable">
<div class="card-title">刷理智周计划</div>
</n-checkbox>
<div class="card-title" :class="{ disabled: !conf.maa_enable }">刷理智周计划</div>
<help-text>
<div v-if="!conf.maa_enable">需开启日常任务</div>
<template v-else>
<div>支持所有主线关卡</div>
<div>含磨难的主线关卡仅需填写关卡名会自动选择难度</div>
</template>
</help-text>
</template>
@ -430,4 +435,12 @@ function drop(plan, ev) {
align-items: center;
gap: 4px !important;
}
.card-title {
transition: 0.3s;
}
.disabled {
color: v-bind(disabled_color);
}
</style>

View file

@ -37,6 +37,13 @@ const launch_options = [
{ label: '点击屏幕启动', value: 'tap' }
]
const stop_options = [
{ label: '什么都不做', value: 'do_nothing' },
{ label: '返回桌面', value: 'switch_to_home' },
{ label: '退出游戏', value: 'exit_game' },
{ label: '退出模拟器', value: 'close_simulator' }
]
async function select_simulator_folder() {
const folder_path = await folder_dialog()
if (folder_path) {
@ -118,35 +125,13 @@ const scene_name = {
<div class="grid-two">
<div class="grid-left">
<div>
<n-card title="Mower设置">
<n-card title="设备与游戏设置">
<n-form
:label-placement="mobile ? 'top' : 'left'"
:show-feedback="false"
label-width="120"
label-align="left"
>
<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 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>
<n-form-item label="模拟器">
<n-select v-model:value="conf.simulator.name" :options="simulator_types" />
</n-form-item>
@ -205,44 +190,20 @@ const scene_name = {
placeholder="留空停用;组合键用加号分隔"
/>
</n-form-item>
<n-form-item label="启动游戏">
<n-select v-model:value="conf.tap_to_launch_game.enable" :options="launch_options" />
<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 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 :show-label="false">
<n-checkbox
v-model:checked="conf.exit_game_when_idle"
:disabled="conf.simulator.name != '' && conf.close_simulator_when_idle"
>
任务结束后退出游戏
<help-text>降低功耗</help-text>
</n-checkbox>
</n-form-item>
<n-form-item :show-label="false" v-if="conf.simulator.name">
<n-checkbox v-model:checked="conf.close_simulator_when_idle">
任务结束后关闭模拟器
<help-text>减少空闲时的资源占用避免模拟器长时间运行出现问题</help-text>
</n-checkbox>
</n-form-item>
<n-form-item
:show-label="false"
v-if="conf.simulator.name == 'MuMu12' && conf.close_simulator_when_idle"
>
<n-checkbox v-model:checked="conf.fix_mumu12_adb_disconnect">
关闭MuMu模拟器12时结束adb进程
<n-form-item>
<template #label>
<span>ADB连接地址</span>
<help-text>
<div>运行命令<code>taskkill /f /t /im adb.exe</code></div>
<div>使用MuMu模拟器12时若遇到adb断连问题可尝试开启此选项</div>
<div>不同模拟器adb地址不同如不填系统会自动去寻找adb device中的第一个</div>
<div>夜神<code>127.0.0.1:62001</code></div>
</help-text>
</n-checkbox>
</n-form-item>
<n-form-item :show-label="false">
<n-checkbox v-model:checked="conf.start_automatically">启动后自动开始任务</n-checkbox>
</template>
<n-input v-model:value="conf.adb" />
</n-form-item>
<n-form-item label="截图方案">
<n-radio-group v-model:value="screenshot_method">
@ -283,88 +244,38 @@ const scene_name = {
<div>截图用时{{ elapsed }}ms</div>
</n-flex>
</n-form-item>
<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-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 :show-label="false">
<n-checkbox v-model:checked="conf.webview.tray">
使用托盘图标
<help-text>重启生效</help-text>
</n-checkbox>
</n-form-item>
<n-form-item label="显示主题">
<n-radio-group v-model:value="conf.theme">
<n-divider />
<n-form-item label="游戏服务器">
<n-radio-group v-model:value="conf.package_type">
<n-space>
<n-radio value="light">亮色</n-radio>
<n-radio value="dark">暗色</n-radio>
<n-radio value="official">官服</n-radio>
<n-radio value="bilibili">BiliBili服</n-radio>
</n-space>
</n-radio-group>
</n-form-item>
<n-form-item>
<template #label>
<span>日常任务间隔</span>
<n-form-item label="启动游戏">
<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="conf.simulator.name == 'MuMu12' && conf.strategy_when_idle == 'close_simulator'"
>
<n-checkbox v-model:checked="conf.fix_mumu12_adb_disconnect">
关闭MuMu模拟器12时结束adb进程
<help-text>
<div>可填小数</div>
<div>清理智日常/周常任务领取借助战打OF-1</div>
<div>运行命令<code>taskkill /f /t /im adb.exe</code></div>
<div>使用MuMu模拟器12时若遇到adb断连问题可尝试开启此选项</div>
</help-text>
</template>
<n-input-number v-model:value="conf.maa_gap">
<template #suffix>小时</template>
</n-input-number>
</n-checkbox>
</n-form-item>
</n-form>
</n-card>
@ -507,18 +418,137 @@ const scene_name = {
</n-form>
</n-card>
</div>
<div><SKLand /></div>
<div><Depotswitch /></div>
<div><DailyMission /></div>
<div><email /></div>
<div><SKLand /></div>
<div><support /></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><clue /></div>
<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><support /></div>
<div><maa-basic /></div>
<div><long-tasks /></div>
</div>
</div>