feat(admin): strip SPA ops menus; redirect old hashes to native WP (Phase 4)
SPA shop/forum/payment/users sections now keep configuration pages only. Operational workbenches were removed from the sidebar and loaders; legacy hash routes open NativeOpsRedirect into the matching WP native admin page. Admin SPA production build refreshed accordingly.
This commit is contained in:
1 parent
bf061f43ee
commit
a3dde3874a
85 files changed
+15987
-249
No files matched your search
@@ -0,0 +1 @@
|
||||
import{o as q,X as U,a4 as l,a3 as o,r as w,a1 as m,e as F,_ as $,W as x,f as z,Y as s,F as D,R as E,a2 as G,Z as P,c as H}from"./vendor-vue.Bykizn0M.js";import{a as f}from"./shared-api.D5_fnN32.js";import{P as L}from"./PageHeader.Di3JTPjc.js";import{_ as T}from"./FaIcon.CX_hGmM4.js";import{_ as W}from"./index.js";import{u as X}from"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const Y={class:"aksrt-page-container"},Z={class:"aksrt-attach__summary"},j={class:"aksrt-form-actions"},J={__name:"AttachmentPermissions",setup(K){const y=$(),v=X(),g=w(!0),k=w(!1),p=w({}),e=F({allow_avatar_upload:!0,allow_cover_upload:!0,allow_background_upload:!1,avatar_max_size:2,allow_submit_images:!0,submit_image_max_size:5,allow_comment_images:!1,comment_image_max_size:2,allow_resource_upload:!0,resource_max_size:50,ai_moderate_background:!0,ai_moderate_submit:!1}),M=H(()=>[{key:"avatar",icon:"fas fa-user-circle",label:"头像上传",enabled:e.allow_avatar_upload},{key:"cover",icon:"fas fa-image",label:"封面上传",enabled:e.allow_cover_upload},{key:"background",icon:"fas fa-photo-video",label:"背景图上传",enabled:e.allow_background_upload},{key:"submit",icon:"fas fa-edit",label:"投稿图片",enabled:e.allow_submit_images},{key:"comment",icon:"fas fa-comment-dots",label:"评论图片",enabled:e.allow_comment_images},{key:"resource",icon:"fas fa-file-archive",label:"资源附件",enabled:e.allow_resource_upload}]);function B(i){y.push(i)}function N(){y.push("/permissions/moderation")}async function S(){g.value=!0;try{const[i,a]=await Promise.all([f.getPermissionsAttachmentSettings(),f.getPermissionsModerationSettings()]),n=(i==null?void 0:i.data)??i??{},_=(a==null?void 0:a.data)??a??{};e.allow_avatar_upload=n.allow_avatar_upload!==!1,e.allow_cover_upload=n.allow_cover_upload!==!1,e.allow_background_upload=!!n.allow_background_upload,e.avatar_max_size=Number(n.avatar_max_size||2),e.allow_submit_images=n.allow_submit_images!==!1,e.submit_image_max_size=Number(n.submit_image_max_size||5),e.allow_comment_images=!!n.allow_comment_images,e.comment_image_max_size=Number(n.comment_image_max_size||2),e.allow_resource_upload=n.allow_resource_upload!==!1,e.resource_max_size=Number(n.resource_max_size||50),e.ai_moderate_background=_.ai_moderate_background!==!1,e.ai_moderate_submit=!!_.ai_moderate_submit,p.value={..._}}catch(i){v.error(i.message||"加载附件权限失败")}finally{g.value=!1}}async function A(){k.value=!0;try{await Promise.all([f.savePermissionsAttachmentSettings({allow_avatar_upload:e.allow_avatar_upload,allow_cover_upload:e.allow_cover_upload,allow_background_upload:e.allow_background_upload,avatar_max_size:e.avatar_max_size,allow_submit_images:e.allow_submit_images,submit_image_max_size:e.submit_image_max_size,allow_comment_images:e.allow_comment_images,comment_image_max_size:e.comment_image_max_size,allow_resource_upload:e.allow_resource_upload,resource_max_size:e.resource_max_size}),f.savePermissionsModerationSettings({...p.value,ai_moderate_background:e.ai_moderate_background,ai_moderate_submit:e.ai_moderate_submit})]),p.value={...p.value,ai_moderate_background:e.ai_moderate_background,ai_moderate_submit:e.ai_moderate_submit},v.success("附件治理配置已保存")}catch(i){v.error(i.message||"保存失败")}finally{k.value=!1}}return q(S),(i,a)=>{const n=m("n-button"),_=m("n-space"),C=m("n-grid-item"),I=m("n-grid"),d=m("n-card"),u=m("n-switch"),r=m("n-form-item"),c=m("n-input-number"),b=m("n-form"),V=m("n-spin");return x(),U("div",Y,[l(L,{title:"附件治理",desc:"统一管理全站上传行为:头像、封面、投稿图片、评论图片、背景图和资源附件。"},{actions:o(()=>[l(_,null,{default:o(()=>[l(n,{quaternary:"",onClick:a[0]||(a[0]=t=>B("/permissions/download"))},{default:o(()=>[...a[13]||(a[13]=[z("下载权限",-1)])]),_:1}),l(n,{quaternary:"",onClick:N},{default:o(()=>[...a[14]||(a[14]=[z("审核策略",-1)])]),_:1})]),_:1})]),_:1}),l(V,{show:g.value,style:{width:"100%","min-height":"200px"}},{default:o(()=>[l(d,{class:"aksrt-section-card"},{default:o(()=>[a[15]||(a[15]=s("div",{class:"aksrt-section-header"},[s("h3",null,"上传策略总览")],-1)),l(I,{cols:3,"x-gap":12,"y-gap":12},{default:o(()=>[(x(!0),U(D,null,E(M.value,t=>(x(),G(C,{key:t.key},{default:o(()=>[s("div",Z,[l(T,{icon:t.icon,size:16,color:t.enabled?"#52c41a":"#8a909c"},null,8,["icon","color"]),s("div",null,[s("strong",null,P(t.label),1),s("p",null,P(t.enabled?"已启用":"已关闭"),1)])])]),_:2},1024))),128))]),_:1})]),_:1}),l(d,{class:"aksrt-section-card"},{default:o(()=>[a[19]||(a[19]=s("div",{class:"aksrt-section-header"},[s("h3",null,"头像与封面")],-1)),l(b,{model:e,"label-placement":"left","label-width":"200",class:"aksrt-form"},{default:o(()=>[l(r,{label:"允许用户上传头像"},{feedback:o(()=>[...a[16]||(a[16]=[s("span",{class:"aksrt-hint-text"},"关闭后用户只能使用 Gravatar/Cravatar 自动头像。",-1)])]),default:o(()=>[l(u,{value:e.allow_avatar_upload,"onUpdate:value":a[1]Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-attach__summary[data-v-a728445f]{display:flex;align-items:center;gap:10px;padding:12px;border-radius:6px;background:#fafafa}.aksrt-attach__summary strong[data-v-a728445f]{display:block;font-size:13px;color:#1a1a2e}.aksrt-attach__summary p[data-v-a728445f]{margin:2px 0 0;font-size:12px;color:#8a909c}
|
||||
@@ -0,0 +1 @@
|
||||
import{o as K,X as U,a4 as t,a3 as n,a1 as i,r as m,_ as O,W as g,Y as o,N as c,f as _,a2 as T,Z as Q,a5 as ee,k as d}from"./vendor-vue.Bykizn0M.js";import{a as f}from"./shared-api.D5_fnN32.js";import{o as ae}from"./media.BHNcAGK-.js";import{P as te}from"./PageHeader.Di3JTPjc.js";import{_ as le}from"./index.js";import{u as ne,a as se,B as p,d as E,b as z}from"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const oe={class:"aksrt-page-container content-page"},re={class:"aksrt-card-header-row"},ie={class:"aksrt-inline-setting"},ue={class:"aksrt-inline-setting__actions"},de={class:"aksrt-card-header-row"},me={class:"aksrt-card-header-row__left"},pe={class:"header-icon"},ce={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",style:{width:"18px",height:"18px"},"aria-hidden":"true"},ve={class:"aksrt-card-header-row__title"},_e={key:0,class:"aksrt-modal-preview"},fe={class:"aksrt-modal-grid"},ge={class:"aksrt-modal-footer"},be={__name:"BannerManager",setup(ye){const P=O(),r=ne(),V=se();function j(){P.push("/page-display/header-components")}const x=m(!0),C=m(!1),b=m(!1),y=m(!1),h=m([]),k=m(!0),v=m(!1),l=m(S());function S(){return{id:0,title:"",subtitle:"",image_url:"",link_url:"",show_text:!0,enabled:!0,show_meta:!1,sort_order:0}}const D=[{title:"预览",key:"image_url",width:90,render(e){return e.image_url?d(E,{src:e.image_url,width:64,height:36,objectFit:"cover",previewSrc:e.image_url,style:"border-radius:4px;display:block;"}):d("span",{style:"color:#bbb;font-size:12px;"},"无")}},{title:"标题",key:"title",ellipsis:{tooltip:!0},render(e){return e.title||d("span",{style:"color:#bbb;"},"未命名")}},{title:"文字",key:"show_text",width:70,className:"aksrt-table-mobile-hide",render(e){return d(z,{size:"small",type:e.show_text?"info":"default"},{default:()=>e.show_text?"显示":"隐藏"})}},{title:"排序",key:"sort_order",width:64,className:"aksrt-table-mobile-hide"},{title:"元信息",key:"show_meta",width:78,className:"aksrt-table-mobile-hide",render(e){return d(z,{size:"small",type:e.show_meta?"info":"default"},{default:()=>e.show_meta?"显示":"隐藏"})}},{title:"状态",key:"enabled",width:84,render(e){return d(z,{size:"small",type:e.enabled?"success":"default"},{default:()=>e.enabled?"启用":"禁用"})}},{title:"操作",key:"actions",width:130,render(e){return d("div",{style:"display:flex;gap:6px;"},[d(p,{size:"tiny",onClick:()=>q(e)},{default:()=>"编辑"}),d(p,{size:"tiny",type:"error",quaternary:!0,onClick:()=>W(e)},{default:()=>"删除"})])}}];async function N(){try{x.value=!0;const e=await f.getHomepageBanners();e.code==="success"&&(h.value=e.data||[])}catch(e){r.error(e.message||"加载失败")}finally{x.value=!1}}async function I(){b.value=!0;try{const e=await f.getHomepageSettings(),a=(e==null?void 0:e.data)||{};k.value=a.homepage_module_banner_enabled!==!1}catch(e){r.error(e.message||"加载 Banner 开关失败")}finally{b.value=!1}}async function F(){y.value=!0;try{const e=await f.saveHomepageSettings({homepage_module_banner_enabled:k.value});if((e==null?void 0:e.code)==="success"){r.success("Banner 开关已保存");return}throw new Error((e==null?void 0:e.message)||"保存 Banner 开关失败")}catch(e){r.error(e.message||"保存 Banner 开关失败")}finally{y.value=!1}}function $(){l.value=S(),v.value=!0}function q(e){l.value={id:e.id,title:e.title||"",subtitle:e.subtitle||"",image_url:e.image_url||"",link_url:e.link_url||"",show_text:e.show_text!==!1,enabled:!!e.enabled,show_meta:e.show_meta===!0,sort_order:Number(e.sort_order)||0},v.value=!0}async function L(){try{const e=await ae({title:"选择 Banner 图片",buttonText:"使用这张 Banner 图"});e!=null&&e.url&&(l.value.image_url=e.url)}catch(e){r.error(e.message||"打开媒体库失败")}}async function R(){if(!l.value.image_url){r.warning("请填写 Banner 图片");return}C.value=!0;try{l.value.id?(await f.updateHomepageBanner(l.value.id,l.value),r.success("已保存")):(await f.createHomepageBanner(l.value),r.success("已添加")),v.value=!1,await N()}catch(e){r.error(e.message||"保存失败")}finally{C.value=!1}}function W(e){V.warning({title:"确认删除",content:`确定删除 Banner「${e.title||"未命名"}」?`,positiveText:"删除",negativeText:"取消",onPositiveClick:async()=>{try{await f.deleteHomepageBanner(e.id),r.success("已删除"),await N()}catch(a){r.error(a.message||"删除失败")}}})}return K(()=>{N(),I()}),(e,a)=>{const w=i("n-switch"),u=i("n-form-item"),H=i("n-form"),M=i("n-card"),X=i("n-data-table"),Y=i("n-empty"),Z=i("n-spin"),B=i("n-input"),A=i("n-input-group"),G=i("n-input-number"),J=i("n-modal");return g(),U("div",oe,[t(te,{title:"Banner 管理",desc:"管理首页内容流 Banner 幻灯片(图片、文案、跳转、启用状态)。"}),t(M,{class:"aksrt-section-card",style:{"margin-bottom":"16px"}},{header:n(()=>[o("div",re,[a[12]||(a[12]=o("strong",null,"Banner 显示开关",-1Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-inline-setting[data-v-ef7a491f]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.aksrt-inline-setting__hint[data-v-ef7a491f]{color:#7a7f8a;font-size:13px}.aksrt-inline-setting__actions[data-v-ef7a491f]{display:flex;justify-content:flex-end}.aksrt-modal-preview[data-v-ef7a491f]{margin:-8px 0 18px;border-radius:8px;overflow:hidden;border:1px solid #eef1f6}.aksrt-modal-grid[data-v-ef7a491f]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.aksrt-modal-footer[data-v-ef7a491f]{display:flex;justify-content:flex-end;gap:10px}@media(max-width:768px){.aksrt-modal-grid[data-v-ef7a491f]{grid-template-columns:1fr}}
|
||||
@@ -0,0 +1 @@
|
||||
import{a as w}from"./shared-api.D5_fnN32.js";import{u as x}from"./vendor-naive.BuHWlEgf.js";import{o as U,X as C,Y as s,a4 as a,a3 as n,a1 as o,r as g,e as N,W as S,f as J}from"./vendor-vue.Bykizn0M.js";import"./vendor-misc.1adHN6i_.js";const O={class:"aksrt-page-container"},q={class:"aksrt-form-footer"},W={__name:"CmsCredits",setup(B){const p=x(),l=N({enabled:!0,currency_name:"",register_bonus:10,daily_signin:{enabled:!0,base:1,streak:{3:2,7:5,30:20}},comment_reward:{enabled:!0,amount:1,daily_cap:5,min_length:10,on_approved:!0},invite_reward:{enabled:!0,inviter_amount:5,invitee_amount:2,require_verify:!0,ip_daily_cap:3,register_field:"optional",reject_invalid:!0},download_default_cost:0}),_=g("{}"),f=g(!1);async function k(){var i;try{const e=await w.getCreditSettings();Object.assign(l,e),_.value=JSON.stringify(((i=l.daily_signin)==null?void 0:i.streak)||{},null,0)}catch(e){p.error(e.message||"加载失败")}}async function y(){f.value=!0;try{let i={};try{i=JSON.parse(_.value||"{}")}catch{}l.daily_signin.streak=i,await w.saveCreditSettings(l),p.success("已保存")}catch(i){p.error(i.message||"保存失败")}finally{f.value=!1}}return U(()=>{k()}),(i,e)=>{const u=o("n-switch"),r=o("n-form-item"),b=o("n-input"),d=o("n-input-number"),m=o("n-form"),v=o("n-card"),c=o("n-button");return S(),C("div",O,[e[26]||(e[26]=s("h2",{class:"”aksrt-page-title”"},"积分配置",-1)),e[27]||(e[27]=s("p",{class:"”aksrt-page-desc”"}," 配置积分规则与发放策略。可自定义货币名称(如”金币”、”魔石”等)。用户余额与手工调整已迁移到 WordPress 原生”用户”菜单中管理。 ",-1)),a(v,{class:"aksrt-section-card"},{default:n(()=>[e[18]||(e[18]=s("div",{class:"aksrt-section-header"},[s("h3",null,"主开关 + 基础设置")],-1)),a(m,{model:l,"label-placement":"left","label-width":"200",class:"aksrt-form"},{default:n(()=>[a(r,{label:"启用积分系统"},{default:n(()=>[a(u,{value:l.enabled,"onUpdate:value":e[0]||(e[0]=t=>l.enabled=t)},null,8,["value"])]),_:1}),a(r,{label:"自定义货币名称"},{feedback:n(()=>[...e[17]||(e[17]=[s("span",{class:"aksrt-hint-text"},'自定义货币显示名称,如"金币"、"魔石"等。留空则使用默认名称"积分"。',-1)])]),default:n(()=>[a(b,{value:l.currency_name,"onUpdate:value":e[1]||(e[1]=t=>l.currency_name=t),placeholder:"积分",maxlength:"20"},null,8,["value"])]),_:1}),a(r,{label:"注册赠送积分"},{default:n(()=>[a(d,{value:l.register_bonus,"onUpdate:value":e[2]||(e[2]=t=>l.register_bonus=t),min:0,max:1e4},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),a(v,{class:"aksrt-section-card"},{default:n(()=>[e[20]||(e[20]=s("div",{class:"aksrt-section-header"},[s("h3",null,"每日签到")],-1)),a(m,{model:l.daily_signin,"label-placement":"left","label-width":"200",class:"aksrt-form"},{default:n(()=>[a(r,{label:"启用"},{default:n(()=>[a(u,{value:l.daily_signin.enabled,"onUpdate:value":e[3]||(e[3]=t=>l.daily_signin.enabled=t)},null,8,["value"])]),_:1}),a(r,{label:"基础奖励"},{default:n(()=>[a(d,{value:l.daily_signin.base,"onUpdate:value":e[4]||(e[4]=t=>l.daily_signin.base=t),min:0,max:1e4},null,8,["value"])]),_:1}),a(r,{label:"连续奖励(JSON)"},{feedback:n(()=>[...e[19]||(e[19]=[s("span",{class:"aksrt-hint-text"},"连续 N 天时额外发放的积分。",-1)])]),default:n(()=>[a(b,{type:"textarea",value:_.value,"onUpdate:value":e[5]||(e[5]=t=>_.value=t),placeholder:'{"3":2,"7":5,"30":20}',autosize:{minRows:2}},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),a(v,{class:"aksrt-section-card"},{default:n(()=>[e[21]||(e[21]=s("div",{class:"aksrt-section-header"},[s("h3",null,"评论奖励")],-1)),a(m,{model:l.comment_reward,"label-placement":"left","label-width":"200",class:"aksrt-form"},{default:n(()=>[a(r,{label:"启用"},{default:n(()=>[a(u,{value:l.comment_reward.enabled,"onUpdate:value":e[6]||(e[6]=t=>l.comment_reward.enabled=t)},null,8,["value"])]),_:1}),a(r,{label:"单次奖励"},{default:n(()=>[a(d,{value:l.comment_reward.amount,"onUpdate:value":e[7]||(e[7]=t=>l.comment_reward.amount=t),min:0,max:1e4},null,8,["value"])]),_:1}),a(r,{label:"每日上限"},{default:n(()=>[a(d,{value:l.comment_reward.daily_cap,"onUpdate:value":e[8]||(e[8]=t=>l.comment_reward.daily_cap=t),min:0,max:100},null,8,["value"])]),_:1}),a(r,{label:"最少字符数"},{default:n(()=>[a(d,{value:l.comment_reward.min_length,"onUpdate:value":e[9]||(e[9]=t=>l.comment_reward.min_length=t),min:0,max:500},null,8,["value"])]),_:1}),a(r,{label:"审核通过后发放"},{default:n(()=>[a(u,{value:l.comment_reward.on_approved,"onUpdate:value":e[10]||(e[10]=t=>l.comment_reward.on_approved=t)},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),a(v,{class:"aksrt-section-card"},{default:n(()=>[e[22]||(e[22]=s("div",{class:"aksrt-section-header"},[s("h3",null,"邀请奖励")],-1)),a(m,{model:l.invite_reward,"label-placement":"left","label-width":"200",class:"aksrt-form"},{default:n(()=>[a(r,{label:"启用"},{default:n(()=>[a(u,{value:l.invite_Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{o as M,X as N,a4 as t,a3 as n,r as C,a1 as r,e as E,_ as R,W as V,f as m,Y as u,Z as f}from"./vendor-vue.Bykizn0M.js";import{a as y}from"./shared-api.D5_fnN32.js";import{P as A}from"./PageHeader.Di3JTPjc.js";import{u as U}from"./vendor-naive.BuHWlEgf.js";import"./index.js";import"./vendor-misc.1adHN6i_.js";const $={class:"aksrt-page-container"},H={class:"aksrt-form-actions"},z={__name:"CommentPermissions",setup(K){const q=R(),g=U(),b=C(!0),v=C(!1),s=E({comment_require_login:!1,comment_allow_reply:!0}),a=E({commentCaptchaEnabled:!1,moderationEnabled:!1,rateLimitEnabled:!1,keywordRuleCount:0});function w(o){q.push(o)}function P(o){return String(o||"").split(/\r?\n/).map(e=>e.trim()).filter(Boolean)}async function S(){b.value=!0;try{const[o,e,i]=await Promise.all([y.getSchemaPage("post_list","comment"),y.getPermissionsLoginSettings(),y.getPermissionsModerationSettings()]),c=(o==null?void 0:o.data)??o??{},l=(e==null?void 0:e.data)??e??{},d=(i==null?void 0:i.data)??i??{},p=Array.isArray(l.disabled_scenarios)?l.disabled_scenarios:[];s.comment_require_login=!!c.comment_require_login,s.comment_allow_reply=c.comment_allow_reply!==!1,a.commentCaptchaEnabled=!!l.enabled&&!!l.active_provider&&!p.includes("comment"),a.moderationEnabled=!!d.enabled,a.rateLimitEnabled=!!d.rate_limit_enabled,a.keywordRuleCount=P(d.blocked_keywords).length}catch(o){g.error(o.message||"加载评论权限失败")}finally{b.value=!1}}async function x(){v.value=!0;try{await y.saveSchemaPage("post_list","comment",{comment_require_login:s.comment_require_login,comment_allow_reply:s.comment_allow_reply}),g.success("评论权限已保存")}catch(o){g.error(o.message||"保存失败")}finally{v.value=!1}}return M(S),(o,e)=>{const i=r("n-button"),c=r("n-space"),l=r("n-tag"),d=r("n-card"),p=r("n-switch"),k=r("n-form-item"),h=r("n-form"),L=r("n-alert"),B=r("n-spin");return V(),N("div",$,[t(A,{title:"评论权限",desc:"管理评论入口的登录要求与回复权限,并查看当前验证码与审核策略状态。"},{actions:n(()=>[t(c,null,{default:n(()=>[t(i,{quaternary:"",onClick:e[0]||(e[0]=_=>w("/permissions/login"))},{default:n(()=>[...e[4]||(e[4]=[m("人机验证",-1)])]),_:1}),t(i,{quaternary:"",onClick:e[1]||(e[1]=_=>w("/permissions/moderation"))},{default:n(()=>[...e[5]||(e[5]=[m("审核策略",-1)])]),_:1})]),_:1})]),_:1}),t(B,{show:b.value,style:{width:"100%","min-height":"200px"}},{default:n(()=>[t(d,{class:"aksrt-section-card"},{default:n(()=>[e[6]||(e[6]=u("div",{class:"aksrt-section-header"},[u("h3",null,"当前联动状态")],-1)),t(c,null,{default:n(()=>[t(l,{type:a.commentCaptchaEnabled?"success":"default",round:""},{default:n(()=>[m(" 评论验证码:"+f(a.commentCaptchaEnabled?"已启用":"未启用"),1)]),_:1},8,["type"]),t(l,{type:a.moderationEnabled?"warning":"default",round:""},{default:n(()=>[m(" 审核链路:"+f(a.moderationEnabled?"已启用":"未启用"),1)]),_:1},8,["type"]),t(l,{type:a.rateLimitEnabled?"warning":"default",round:""},{default:n(()=>[m(" 评论限流:"+f(a.rateLimitEnabled?"已启用":"未启用"),1)]),_:1},8,["type"]),t(l,{type:a.keywordRuleCount>0?"error":"default",round:""},{default:n(()=>[m(" 敏感词:"+f(a.keywordRuleCount)+" 条 ",1)]),_:1},8,["type"])]),_:1})]),_:1}),t(d,{class:"aksrt-section-card"},{default:n(()=>[e[9]||(e[9]=u("div",{class:"aksrt-section-header"},[u("h3",null,"评论准入")],-1)),t(h,{model:s,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:n(()=>[t(k,{label:"评论需要登录"},{feedback:n(()=>[...e[7]||(e[7]=[u("span",{class:"aksrt-hint-text"},"开启后,游客只能浏览评论,不能直接提交评论。",-1)])]),default:n(()=>[t(p,{value:s.comment_require_login,"onUpdate:value":e[2]||(e[2]=_=>s.comment_require_login=_)},null,8,["value"])]),_:1}),t(k,{label:"允许楼中回复"},{feedback:n(()=>[...e[8]||(e[8]=[u("span",{class:"aksrt-hint-text"},"关闭后,前台评论列表将不再展示回复按钮。",-1)])]),default:n(()=>[t(p,{value:s.comment_allow_reply,"onUpdate:value":e[3]||(e[3]=_=>s.comment_allow_reply=_)},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),t(d,{class:"aksrt-section-card"},{default:n(()=>[t(L,{type:"info","show-icon":!1},{default:n(()=>[...e[10]||(e[10]=[m(" 评论排序、分页方式、头像大小和空状态文案继续在“文章&列表 -> 评论设置”中维护;本页只负责准入与治理联动。 ",-1)])]),_:1})]),_:1}),u("div",H,[t(i,{type:"primary",loading:v.value,onClick:x},{default:n(()=>[...e[11]||(e[11]=[m("保存配置",-1)])]),_:1},8,["loading"])])]),_:1},8,["show"])])}}};export{z as default};
|
||||
@@ -0,0 +1 @@
|
||||
import t from"./SchemaPage.CSkx936u.js";import{a2 as o,W as m}from"./vendor-vue.Bykizn0M.js";import"./shared-api.B7o7Pzvu.js";import"./FaIcon.CX_hGmM4.js";import"./index.js";import"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";import"./shared-api.D5_fnN32.js";const u={__name:"CommentSettings",setup(r){return(e,p)=>(m(),o(t,{domain:"post_list",section:"comment"}))}};export{u as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{X as n,Y as r,a4 as u,Z as l,a3 as c,a2 as y,a5 as f,F as h,R as P,c as o,a1 as V,$ as b,W as a,f as _}from"./vendor-vue.Bykizn0M.js";import{_ as S}from"./FaIcon.CX_hGmM4.js";import{_ as C}from"./index.js";import"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const F={class:"aksrt-deferred-page"},R={class:"aksrt-deferred-page__icon"},w={class:"aksrt-deferred-page__title"},A={class:"aksrt-deferred-page__desc"},I={class:"aksrt-deferred-page__meta"},T={key:0,class:"aksrt-deferred-page__depends"},$={class:"aksrt-deferred-page__depends-list"},E={key:1,class:"aksrt-deferred-page__reason"},L={key:2,class:"aksrt-deferred-page__features"},W={class:"aksrt-deferred-page__badge"},X={__name:"DeferredPage",props:{title:{type:String,default:""},description:{type:String,default:""},icon:{type:String,default:""},features:{type:Array,default:()=>[]},status:{type:String,default:""},phase:{type:String,default:""},dependsOn:{type:Array,default:()=>[]},reason:{type:String,default:""}},setup(z){const t=z,d=b(),O=o(()=>{var s,e;return t.title||((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.title)||"功能开发中"}),x=o(()=>{var s,e;return t.description||((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.description)||"此功能正在规划开发中,将在后续版本上线。"}),D=o(()=>{var s,e;return t.icon||((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.icon)||"fas fa-rocket"}),B=o(()=>{var s,e;return t.status||((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.status)||"deferred"}),g=o(()=>{var s,e;return t.phase||((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.phase)||""}),m=o(()=>{var s,e;return t.dependsOn&&t.dependsOn.length?t.dependsOn:((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.dependsOn)||[]}),k=o(()=>{var s,e;return t.reason||((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.reason)||""}),v=o(()=>{var s,e;return t.features&&t.features.length?t.features:((e=(s=d.meta)==null?void 0:s.deferredProps)==null?void 0:e.features)||[]});return(s,e)=>{const p=V("n-tag");return a(),n("div",F,[r("div",R,[u(S,{icon:D.value,size:48},null,8,["icon"])]),r("h2",w,l(O.value),1),r("p",A,l(x.value),1),r("div",I,[u(p,{size:"small",type:"info"},{default:c(()=>[_(l(B.value),1)]),_:1}),g.value?(a(),y(p,{key:0,size:"small",type:"warning"},{default:c(()=>[_("Phase "+l(g.value),1)]),_:1})):f("",!0)]),m.value.length?(a(),n("div",T,[e[0]||(e[0]=r("span",{class:"aksrt-deferred-page__label"},"依赖",-1)),r("div",$,[(a(!0),n(h,null,P(m.value,i=>(a(),y(p,{key:i,size:"small",type:"default"},{default:c(()=>[_(l(i),1)]),_:2},1024))),128))])])):f("",!0),k.value?(a(),n("div",E,[e[1]||(e[1]=r("span",{class:"aksrt-deferred-page__label"},"原因",-1)),r("p",null,l(k.value),1)])):f("",!0),v.value&&v.value.length?(a(),n("div",L,[(a(!0),n(h,null,P(v.value,(i,N)=>(a(),n("div",{key:N,class:"aksrt-deferred-page__feature"},[u(S,{icon:"fas fa-check-circle",size:14}),r("span",null,l(i),1)]))),128))])):f("",!0),r("div",W,[u(p,{type:"info",size:"small"},{default:c(()=>[...e[2]||(e[2]=[_("即将推出",-1)])]),_:1})])])}}},H=C(X,[["__scopeId","data-v-e3307067"]]);export{H as default};
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-deferred-page[data-v-e3307067]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:40px 20px}.aksrt-deferred-page__icon[data-v-e3307067]{color:#c0c4cc;margin-bottom:20px}.aksrt-deferred-page__title[data-v-e3307067]{margin:0 0 10px;font-size:20px;font-weight:600;color:#1a1a2e}.aksrt-deferred-page__desc[data-v-e3307067]{margin:0 0 20px;font-size:14px;color:#8a909c;max-width:400px;line-height:1.6}.aksrt-deferred-page__meta[data-v-e3307067]{display:flex;gap:10px;margin-bottom:18px}.aksrt-deferred-page__depends[data-v-e3307067],.aksrt-deferred-page__reason[data-v-e3307067]{width:min(520px,100%);margin-bottom:18px;text-align:left}.aksrt-deferred-page__label[data-v-e3307067]{display:inline-block;margin-bottom:8px;font-size:12px;font-weight:600;color:#4b5563}.aksrt-deferred-page__depends-list[data-v-e3307067]{display:flex;flex-wrap:wrap;gap:8px}.aksrt-deferred-page__reason p[data-v-e3307067]{margin:0;color:#666;line-height:1.7}.aksrt-deferred-page__features[data-v-e3307067]{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.aksrt-deferred-page__feature[data-v-e3307067]{display:flex;align-items:center;gap:8px;font-size:13px;color:#666}.aksrt-deferred-page__feature[data-v-e3307067] i{color:#52c41a}
|
||||
@@ -0,0 +1 @@
|
||||
import{P as I}from"./PageHeader.Di3JTPjc.js";import{_ as n}from"./FaIcon.CX_hGmM4.js";import{a as g}from"./shared-api.D5_fnN32.js";import{_ as K}from"./index.js";import{r as f,o as N,X as y,a4 as o,a3 as s,Y as a,F as P,R as A,a1 as i,W as _,Z as c,f as r,a2 as v,I as E}from"./vendor-vue.Bykizn0M.js";import"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const F={class:"aksrt-page-container"},H={class:"aksrt-docs__mode-status"},L={class:"aksrt-docs__mode-info"},M={class:"aksrt-docs__stat"},R={class:"aksrt-docs__action"},W={class:"aksrt-docs__action"},Z={class:"aksrt-docs__action"},q={class:"aksrt-docs__action"},J={class:"aksrt-docs__grid"},O={class:"aksrt-docs__card-inner"},U={class:"aksrt-docs__card-body"},X={class:"aksrt-docs__card-title"},Y={class:"aksrt-docs__card-desc"},j={__name:"DocsPage",setup(G){var x;const C=f(((x=window.aksrtAdminData)==null?void 0:x.themeVersion)||"3.4.0-dev"),b=f("—"),u=f(!1),z=f(0),k=f([{key:"total",icon:"fas fa-file-alt",color:"#1890ff",value:0,label:"文档页面"},{key:"nav",icon:"fas fa-sitemap",color:"#722ed1",value:0,label:"导航页"},{key:"special",icon:"fas fa-layer-group",color:"#fa8c16",value:0,label:"专题页"}]),D=f([{key:"admin-ia-map",title:"后台 IA 蓝图",description:"完整的后台信息架构映射,12 个顶级分区及子页面清单。",icon:"fas fa-sitemap",color:"#1890ff",file:"admin-ia-map.md"},{key:"zibll-gap-matrix",title:"对标差异矩阵",description:"AKSRT 当前 → Zibll 参考 → AKSRT 目标三层对照表。",icon:"fas fa-columns",color:"#722ed1",file:"zibll-gap-matrix.md"},{key:"frontend-page-matrix",title:"前端页面矩阵",description:"前端模板、CSS、JS 资产映射与覆盖范围。",icon:"fas fa-desktop",color:"#13c2c2",file:"frontend-page-matrix.md"},{key:"manual-acceptance-baseline",title:"验收基线",description:"每个 Phase 的人工验收标准和检查清单。",icon:"fas fa-clipboard-check",color:"#52c41a",file:"manual-acceptance-baseline.md"},{key:"feature-domain-map",title:"功能域地图",description:"业务域划分、依赖关系和模块边界说明。",icon:"fas fa-map",color:"#fa8c16",file:"feature-domain-map.md"},{key:"migration-map",title:"迁移地图",description:"设置 key 迁移、旧选项兼容和 Schema 版本对照。",icon:"fas fa-exchange-alt",color:"#eb2f96",file:"migration-map.md"}]);N(async()=>{try{const t=await g.getSchemaPage("extensions","docs-mode");t!=null&&t.data&&(u.value=!!t.data.docs_mode_enabled)}catch{}try{const t=await g.request("/docs/stats");t!=null&&t.data&&(z.value=t.data.total||0,k.value[0].value=t.data.total||0,k.value[1].value=t.data.nav_count||0,k.value[2].value=t.data.special_count||0)}catch{}try{const t=await g.getHealthCheck();t!=null&&t.data&&(b.value=t.data.db_schema_version||"—")}catch{}});function V(t){var d;const e=((d=window.aksrtAdminData)==null?void 0:d.siteUrl)||window.location.origin;window.open(`${e}/wp-content/themes/AKSRT-theme/docs/${t.file}`,"_blank")}return(t,e)=>{const d=i("router-link"),B=i("n-space"),m=i("n-card"),T=i("n-alert"),p=i("n-grid-item"),w=i("n-grid"),S=i("n-tag"),h=i("n-descriptions-item"),$=i("n-descriptions");return _(),y("div",F,[o(I,{title:"文档中心",desc:"主题使用文档、开发指南、迁移说明和更新日志。"}),o(m,{class:"aksrt-docs__section",size:"small"},{default:s(()=>[a("div",H,[a("div",L,[o(n,{icon:u.value?"fas fa-book-open":"fas fa-book",size:18,color:u.value?"#52c41a":"#8a909c"},null,8,["icon","color"]),a("div",null,[a("strong",null,c(u.value?"文档模式已启用":"文档模式未启用"),1),a("p",null,c(u.value?"文档导航页面和文档站式侧边栏已激活":"启用后将激活文档导航页面模板和文档站式侧边栏"),1)])]),o(B,null,{default:s(()=>[o(d,{to:"/extensions/docs-mode",class:"aksrt-docs__mode-link"},{default:s(()=>[o(n,{icon:"fas fa-cog",size:12}),r(" "+c(u.value?"管理文档模式":"启用文档模式"),1)]),_:1})]),_:1})])]),_:1}),o(m,{title:"文档页面",size:"small",class:"aksrt-docs__section"},{default:s(()=>[z.value===0?(_(),v(T,{key:0,type:"info",size:"small"},{default:s(()=>[...e[0]||(e[0]=[r(' 尚未创建文档页面。在 WordPress 后台新建页面时,选择"文档导航页"或"专题聚合页"模板。 ',-1)])]),_:1})):(_(),v(w,{key:1,cols:3,"x-gap":12,"y-gap":12},{default:s(()=>[(_(!0),y(P,null,A(k.value,l=>(_(),v(p,{key:l.key},{default:s(()=>[a("div",M,[o(n,{icon:l.icon,size:16,color:l.color},null,8,["icon","color"]),a("div",null,[a("strong",null,c(l.value),1),a("p",null,c(l.label),1)])])]),_:2},1024))),128))]),_:1}))]),_:1}),o(m,{title:"常用操作",size:"small",class:"aksrt-docs__section"},{default:s(()=>[o(w,{cols:2,"x-gap":12,"y-gap":12},{default:s(()=>[o(p,null,{default:s(()=>[a("div",R,[o(n,{icon:"fas fa-palette",size:16}),a("div",null,[e[2]||(e[2]=a("strong",null,"全局设置",-1)),e[3]||(e[3]=a("p",null,"Logo、背景、菜单装饰、自定义代码",-1)),o(d,{to:"/global/common"},{default:s(()=>[...e[1]||(e[1]=[r("前往配置Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-docs__mode-status[data-v-ec6dbd74]{display:flex;align-items:center;justify-content:space-between;gap:16px}.aksrt-docs__mode-info[data-v-ec6dbd74]{display:flex;align-items:center;gap:12px}.aksrt-docs__mode-info strong[data-v-ec6dbd74]{display:block;font-size:14px;color:#1a1a2e}.aksrt-docs__mode-info p[data-v-ec6dbd74]{margin:2px 0 0;font-size:12px;color:#8a909c}.aksrt-docs__mode-link[data-v-ec6dbd74]{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;background:#f5f7fa;color:#1890ff;text-decoration:none;font-size:13px;transition:background .2s}.aksrt-docs__mode-link[data-v-ec6dbd74]:hover{background:#e6f4ff}.aksrt-docs__stat[data-v-ec6dbd74]{display:flex;align-items:center;gap:10px;padding:12px;border-radius:6px;background:#fafafa}.aksrt-docs__stat strong[data-v-ec6dbd74]{display:block;font-size:20px;color:#1a1a2e}.aksrt-docs__stat p[data-v-ec6dbd74]{margin:0;font-size:12px;color:#8a909c}.aksrt-docs__grid[data-v-ec6dbd74]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px;margin-bottom:16px}.aksrt-docs__card[data-v-ec6dbd74]{cursor:pointer;transition:box-shadow .2s}.aksrt-docs__card[data-v-ec6dbd74]:hover{box-shadow:0 2px 12px #00000014}.aksrt-docs__card-inner[data-v-ec6dbd74]{display:flex;align-items:center;gap:12px}.aksrt-docs__card-icon[data-v-ec6dbd74]{flex-shrink:0;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}.aksrt-docs__card-body[data-v-ec6dbd74]{flex:1;min-width:0}.aksrt-docs__card-title[data-v-ec6dbd74]{margin:0 0 2px;font-size:14px;font-weight:600;color:#1a1a2e}.aksrt-docs__card-desc[data-v-ec6dbd74]{margin:0;font-size:12px;color:#8a909c;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aksrt-docs__card-arrow[data-v-ec6dbd74]{flex-shrink:0;color:#c0c4cc}.aksrt-docs__section[data-v-ec6dbd74]{margin-bottom:16px}.aksrt-docs__action[data-v-ec6dbd74]{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:6px;background:#fafafa}.aksrt-docs__action i[data-v-ec6dbd74]{color:#1890ff;margin-top:2px}.aksrt-docs__action strong[data-v-ec6dbd74]{display:block;font-size:14px;color:#1a1a2e;margin-bottom:2px}.aksrt-docs__action p[data-v-ec6dbd74]{margin:0 0 4px;font-size:12px;color:#8a909c}.aksrt-docs__action a[data-v-ec6dbd74]{font-size:12px;color:#1890ff;text-decoration:none}.aksrt-docs__action a[data-v-ec6dbd74]:hover{text-decoration:underline}
|
||||
@@ -0,0 +1 @@
|
||||
import{o as B,X as U,a4 as a,a3 as t,r as p,a1 as n,e as q,_ as D,W as F,f as l,Y as r,Z as f}from"./vendor-vue.Bykizn0M.js";import{a as b}from"./shared-api.D5_fnN32.js";import{P as M}from"./PageHeader.Di3JTPjc.js";import{u as $}from"./vendor-naive.BuHWlEgf.js";import"./index.js";import"./vendor-misc.1adHN6i_.js";const E={class:"aksrt-page-container"},H={class:"aksrt-form-actions"},z={__name:"DownloadPermissions",setup(I){const x=D(),w=$(),m=p(!0),g=p(!1),h=p(0),i=p({resource_cpt_enabled:!0,search_include_resource:!0,download_login:!0,download_credit:!0,download_captcha:!1}),e=q({download_login:!0,download_credit:!0,download_captcha:!1});function C(u){x.push(u)}async function P(){var u;m.value=!0;try{const[o,d]=await Promise.all([b.getCmsFeatures(),b.getCreditSettings()]),s=(o==null?void 0:o.cms_features)??((u=o==null?void 0:o.data)==null?void 0:u.cms_features)??{},c=(d==null?void 0:d.data)??d??{};i.value={resource_cpt_enabled:s.resource_cpt_enabled!==!1,search_include_resource:s.search_include_resource!==!1,download_login:s.download_login!==!1,download_credit:s.download_credit!==!1,download_captcha:!!s.download_captcha},e.download_login=i.value.download_login,e.download_credit=i.value.download_credit,e.download_captcha=i.value.download_captcha,h.value=Number(c.download_default_cost||0)}catch(o){w.error(o.message||"加载下载权限失败")}finally{m.value=!1}}async function S(){g.value=!0;try{await b.saveCmsFeatures({...i.value,download_login:e.download_login,download_credit:e.download_credit,download_captcha:e.download_captcha}),i.value={...i.value,download_login:e.download_login,download_credit:e.download_credit,download_captcha:e.download_captcha},w.success("下载权限已保存")}catch(u){w.error(u.message||"保存失败")}finally{g.value=!1}}return B(P),(u,o)=>{const d=n("n-button"),s=n("n-space"),c=n("n-tag"),v=n("n-card"),y=n("n-switch"),k=n("n-form-item"),N=n("n-form"),T=n("n-alert"),V=n("n-spin");return F(),U("div",E,[a(M,{title:"下载权限",desc:"管理资源下载的登录、积分购买模式与验证码门槛。付费解锁走收银台订单,下载 token 不再按次扣积分。"},{actions:t(()=>[a(s,null,{default:t(()=>[a(d,{quaternary:"",onClick:o[0]||(o[0]=_=>C("/payment/paid"))},{default:t(()=>[...o[5]||(o[5]=[l("资源下载页",-1)])]),_:1}),a(d,{quaternary:"",onClick:o[1]||(o[1]=_=>C("/permissions/login"))},{default:t(()=>[...o[6]||(o[6]=[l("人机验证",-1)])]),_:1})]),_:1})]),_:1}),a(V,{show:m.value,style:{width:"100%","min-height":"200px"}},{default:t(()=>[a(v,{class:"aksrt-section-card"},{default:t(()=>[o[8]||(o[8]=r("div",{class:"aksrt-section-header"},[r("h3",null,"当前门槛摘要")],-1)),a(s,null,{default:t(()=>[a(c,{type:e.download_login?"warning":"default",round:""},{default:t(()=>[l(" 登录要求:"+f(e.download_login?"已启用":"已关闭"),1)]),_:1},8,["type"]),a(c,{type:e.download_credit?"warning":"default",round:""},{default:t(()=>[l(" 积分购买模式:"+f(e.download_credit?"已启用":"已关闭"),1)]),_:1},8,["type"]),a(c,{type:e.download_captcha?"warning":"default",round:""},{default:t(()=>[l(" 下载验证码:"+f(e.download_captcha?"已启用":"已关闭"),1)]),_:1},8,["type"]),a(c,{type:"info",round:""},{default:t(()=>[l("默认积分价参考:"+f(h.value),1)]),_:1}),a(c,{type:"info",round:""},{default:t(()=>[...o[7]||(o[7]=[l("Token TTL:10 分钟",-1)])]),_:1})]),_:1})]),_:1}),a(v,{class:"aksrt-section-card"},{default:t(()=>[o[12]||(o[12]=r("div",{class:"aksrt-section-header"},[r("h3",null,"下载门槛")],-1)),a(N,{model:e,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:t(()=>[a(k,{label:"下载需要登录"},{feedback:t(()=>[...o[9]||(o[9]=[r("span",{class:"aksrt-hint-text"},"关闭后,单个资源的登录要求仍可通过资源元字段单独覆盖。",-1)])]),default:t(()=>[a(y,{value:e.download_login,"onUpdate:value":o[2]||(o[2]=_=>e.download_login=_)},null,8,["value"])]),_:1}),a(k,{label:"允许积分购买模式"},{feedback:t(()=>[...o[10]||(o[10]=[r("span",{class:"aksrt-hint-text"},"开启后,文章 pay_modo=积分 可走收银台一次购买解锁;下载 token 不再按次扣积分。关闭时积分模式资源按免费/需登录策略处理。",-1)])]),default:t(()=>[a(y,{value:e.download_credit,"onUpdate:value":o[3]||(o[3]=_=>e.download_credit=_)},null,8,["value"])]),_:1}),a(k,{label:"下载启用验证码"},{feedback:t(()=>[...o[11]||(o[11]=[r("span",{class:"aksrt-hint-text"},"具体验证码服务商与场景白名单仍在“登录权限”页维护。",-1)])]),default:t(()=>[a(y,{value:e.download_captcha,"onUpdate:value":o[4]||(o[4]=_=>e.download_captcha=_)},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),a(v,{class:"aksrt-section-card"},{default:t(()=>[a(T,{type:"info","show-icon":!1},{default:t(()=>[...o[13]||(o[13]=[l(" 实际价格以文章「付费内容设置」为准;本页只维护全局访问门槛。VIP 白名单与收银台策略见「支付 & 付费」相关页面。 ",-1)])]Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-ai__status[data-v-800595b0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.aksrt-ai__status-card[data-v-800595b0]{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:8px;border:1px solid #e8e8e8}.aksrt-ai__status-icon[data-v-800595b0]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}.aksrt-ai__status-icon--ok[data-v-800595b0]{background:#d4edda;color:#155724}.aksrt-ai__status-icon--warn[data-v-800595b0]{background:#fff3cd;color:#856404}.aksrt-ai__status-icon--off[data-v-800595b0]{background:#f8d7da;color:#721c24}.aksrt-ai__status-icon--info[data-v-800595b0]{background:#d1ecf1;color:#0c5460}.aksrt-ai__status-value[data-v-800595b0]{font-size:18px;font-weight:600;color:#1a1a2e}.aksrt-ai__status-label[data-v-800595b0]{font-size:12px;color:#888}.aksrt-ai__form-card[data-v-800595b0]{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:24px;margin-bottom:16px}.aksrt-ai__form-card h3[data-v-800595b0]{margin:0 0 16px;font-size:16px;font-weight:600}.aksrt-form-hint[data-v-800595b0]{font-size:12px;color:#888;margin-top:4px}.aksrt-ai__load-error[data-v-800595b0]{background:#fdecea;border-color:#f5c2c0;color:#842029;margin-bottom:16px}.aksrt-ai__notice[data-v-800595b0]{background:#fff8e1;border-color:#ffe082}.aksrt-ai__notice h3[data-v-800595b0]{color:#e65100}.aksrt-ai__notice ul[data-v-800595b0]{margin:0;padding-left:20px}.aksrt-ai__notice li[data-v-800595b0]{margin-bottom:8px;font-size:14px}.aksrt-ai__notice code[data-v-800595b0]{background:#0000000f;padding:2px 6px;border-radius:3px;font-size:13px}.aksrt-badge[data-v-800595b0]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px}.aksrt-badge--success[data-v-800595b0]{background:#d4edda;color:#155724}.aksrt-badge--warning[data-v-800595b0]{background:#fff3cd;color:#856404}.aksrt-table[data-v-800595b0]{width:100%;border-collapse:collapse}.aksrt-table th[data-v-800595b0],.aksrt-table td[data-v-800595b0]{border-bottom:1px solid #eee;padding:10px 8px;text-align:left}.aksrt-form-group[data-v-800595b0]{margin-bottom:14px}.aksrt-input[data-v-800595b0],.aksrt-select[data-v-800595b0]{width:100%;max-width:480px;padding:8px 10px}.aksrt-button[data-v-800595b0]{padding:8px 16px;border:0;border-radius:6px;cursor:pointer}.aksrt-button--primary[data-v-800595b0]{background:#1677ff;color:#fff}.aksrt-button[data-v-800595b0]:disabled{opacity:.6;cursor:not-allowed}
|
||||
@@ -0,0 +1 @@
|
||||
import{X as l,a4 as I,Y as a,f as d,Z as i,a5 as m,L as k,j as _,af as P,ah as w,ag as u,F as S,R as E,o as V,c as g,r as f,e as C,a1 as O,W as r}from"./vendor-vue.Bykizn0M.js";import{P as U}from"./PageHeader.Di3JTPjc.js";import{a as A}from"./shared-api.D5_fnN32.js";import{_ as L}from"./index.js";import"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const W={name:"ExtensionAI",components:{PageHeader:U},setup(){const n=f({enabled:!1,provider:"none",configured:!1,model:"",api_key:"",rate_limit:10,available:!1,backend:"none",wp_ai_available:!1,theme_available:!1,seo_ai_enabled:!1,write_assist:!1}),s=C({enabled:!1,provider:"none",api_key:"",api_base:"https://api.openai.com/v1",model:"gpt-3.5-turbo",max_tokens:1e3,rate_limit:10}),v=f(!1),e=f(""),b=g(()=>({wp_ai:"WP AI Client",theme:"主题 Provider",none:"无"})[n.value.backend]||n.value.backend||"无"),c=g(()=>{const t=!!n.value.available;return[{key:"seo",name:"AI 生成 SEO",scene:"文章/分类「独立 SEO」框",ready:t&&!!n.value.seo_ai_enabled},{key:"summary",name:"AI 生成摘要",scene:"前台投稿页",ready:t},{key:"tags",name:"AI 建议标签",scene:"前台投稿页",ready:t}]});function p(t){!t||typeof t!="object"||(n.value={enabled:!!t.enabled,provider:t.provider||"none",configured:!!t.configured,model:t.model||"",api_key:"",rate_limit:t.rate_limit||10,available:!!t.available,backend:t.backend||"none",wp_ai_available:!!t.wp_ai_available,theme_available:!!t.theme_available,seo_ai_enabled:!!t.seo_ai_enabled,write_assist:!!t.write_assist},s.enabled=!!t.enabled,s.provider=t.provider||"none",s.model=t.model||"gpt-3.5-turbo",s.rate_limit=t.rate_limit||10,t.api_base&&(s.api_base=t.api_base),typeof t.max_tokens=="number"&&t.max_tokens>0&&(s.max_tokens=t.max_tokens))}async function o(){e.value="";try{const t=await A.getAiStatus();p(t.data||{})}catch(t){console.error("Load AI status failed:",t),e.value=(t==null?void 0:t.message)||"加载 AI 状态失败"}}async function x(){v.value=!0;try{const t={enabled:s.enabled,provider:s.provider,api_base:s.api_base,model:s.model,max_tokens:s.max_tokens,rate_limit:s.rate_limit};s.api_key&&s.api_key!=="***"&&(t.api_key=s.api_key);const y=await A.updateAiSettings(t);alert(y.message||"设置已保存"),await o()}catch(t){console.error("Save failed:",t),alert((t==null?void 0:t.message)||"保存失败")}finally{v.value=!1}}return V(()=>o()),{status:n,form:s,saving:v,loadError:e,features:c,backendLabel:b,saveSettings:x}}},N={class:"aksrt-page-container"},j={key:0,class:"aksrt-ai__form-card aksrt-ai__load-error",role:"alert"},B={class:"aksrt-ai__status"},M={class:"aksrt-ai__status-card"},R={class:"aksrt-ai__status-info"},F={class:"aksrt-ai__status-value"},H={class:"aksrt-ai__status-card"},T={class:"aksrt-ai__status-info"},D={class:"aksrt-ai__status-value"},K={class:"aksrt-ai__status-card"},z={class:"aksrt-ai__status-info"},X={class:"aksrt-ai__status-value"},Y={class:"aksrt-ai__status-card"},Z={class:"aksrt-ai__status-info"},q={class:"aksrt-ai__status-value"},G={class:"aksrt-ai__form-card"},J={class:"aksrt-form-group"},Q={class:"aksrt-form-group"},h={key:0,class:"aksrt-form-group"},$={key:1,class:"aksrt-form-group"},ss={key:2,class:"aksrt-form-group"},as={key:3,class:"aksrt-form-group"},ts={key:4,class:"aksrt-form-group"},es={class:"aksrt-form-actions"},os=["disabled"],ls={class:"aksrt-ai__form-card"},is={class:"aksrt-table aksrt-table--sm"};function rs(n,s,v,e,b,c){const p=O("PageHeader");return r(),l("div",N,[I(p,{title:"AI 连接配置",desc:"配置 AI 生成能力的连接方式。优先使用 WordPress AI Connectors;也可填写 OpenAI 兼容接口。SEO 生成入口在文章「独立 SEO」框,摘要/标签入口在前台投稿页。"}),e.loadError?(r(),l("div",j,[s[8]||(s[8]=a("strong",null,"加载失败:",-1)),d(i(e.loadError),1)])):m("",!0),a("div",B,[a("div",M,[a("div",{class:k(["aksrt-ai__status-icon",e.status.available?"aksrt-ai__status-icon--ok":"aksrt-ai__status-icon--off"])},[...s[9]||(s[9]=[a("i",{class:"fas fa-robot"},null,-1)])],2),a("div",R,[s[10]||(s[10]=a("div",{class:"aksrt-ai__status-label"},"可用状态",-1)),a("div",F,i(e.status.available?"可用":"不可用"),1)])]),a("div",H,[a("div",{class:k(["aksrt-ai__status-icon",e.status.wp_ai_available?"aksrt-ai__status-icon--ok":"aksrt-ai__status-icon--warn"])},[...s[11]||(s[11]=[a("i",{class:"fas fa-plug"},null,-1)])],2),a("div",T,[s[12]||(s[12]=a("div",{class:"aksrt-ai__status-label"},"WP AI Client",-1)),a("div",D,i(e.status.wp_ai_available?"已就绪":"不可用"),1)])]),a("div",K,[a("div",{class:k(["aksrt-ai__status-icon",e.status.theme_available?"aksrt-ai__status-icon--ok":"aksrt-ai__status-icon--warn"])},[...s[13]||(s[13]=[a("i",{class:"fas fa-key"},null,-1)])],2),a("div",z,[s[14]||(s[14]=a("div",{class:"aksrt-ai__status-label"},"主题 Provider",-1)),a("div",X,i(e.status.theme_available?"已配置":"未配置"),1)])]),a("div",Y,[s[16]||(s[16]=a("div",{class:"aksrt-ai__status-icon aksrt-ai__status-icon--info"},[a("i",{class:"fas faLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as H,a1 as s,W as i,X as h,a4 as a,a3 as t,a2 as m,F as q,R as O,f as d,Z as g,a5 as C,l as W,o as X,r as x,Y as $}from"./vendor-vue.Bykizn0M.js";import{P as Y}from"./PageHeader.Di3JTPjc.js";import{_ as L}from"./FaIcon.CX_hGmM4.js";import{a as R}from"./shared-api.D5_fnN32.js";import{_ as Z}from"./index.js";import{u as K}from"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const Q={class:"aksrt-page-container"},ee={__name:"ExtensionsSectionPage",props:{title:{type:String,required:!0},desc:{type:String,default:""},note:{type:String,default:""},links:{type:Array,default:()=>[]}},setup(y){const p=H();function z(o){p.push(o)}return(o,k)=>{const _=s("n-button"),S=s("n-space"),u=s("n-alert"),c=s("n-card");return i(),h("div",Q,[a(Y,{title:y.title,desc:y.desc},{actions:t(()=>[y.links.length?(i(),m(S,{key:0},{default:t(()=>[(i(!0),h(q,null,O(y.links,I=>(i(),m(_,{key:I.path,quaternary:"",onClick:V=>z(I.path)},{default:t(()=>[d(g(I.label),1)]),_:2},1032,["onClick"]))),128))]),_:1})):C("",!0)]),_:1},8,["title","desc"]),y.note?(i(),m(c,{key:0,class:"aksrt-section-card"},{default:t(()=>[a(u,{type:"info","show-icon":!1},{default:t(()=>[d(g(y.note),1)]),_:1})]),_:1})):C("",!0),W(o.$slots,"default")])}}},te={class:"aksrt-security__overview-card"},ae={key:0,class:"aksrt-security__output"},le={key:0,class:"aksrt-security__output"},ne={__name:"ExtensionSecurity",setup(y){const p=K(),z=x(!1),o=x([{key:"email_gate",icon:"fas fa-envelope",color:"#1890ff",value:"—",label:"邮箱验证"},{key:"captcha",icon:"fas fa-shield-alt",color:"#52c41a",value:"—",label:"验证码保护"},{key:"moderation",icon:"fas fa-gavel",color:"#722ed1",value:"—",label:"内容审核"},{key:"ip_geo",icon:"fas fa-map-marker-alt",color:"#fa8c16",value:"—",label:"IP 归属地"}]),k=x([{key:"email_verification",icon:"fas fa-envelope",color:"#1890ff",name:"邮箱验证",description:"新用户注册需要邮箱验证",enabled:!1,settingsRoute:"/users/auth"},{key:"captcha_comment",icon:"fas fa-shield-alt",color:"#52c41a",name:"评论验证码",description:"发表评论时需要人机验证",enabled:!1,settingsRoute:"/permissions/login"},{key:"captcha_download",icon:"fas fa-shield-alt",color:"#52c41a",name:"下载验证码",description:"下载资源时需要人机验证",enabled:!1,settingsRoute:"/permissions/login"},{key:"content_audit",icon:"fas fa-shield-virus",color:"#722ed1",name:"内容审核 API",description:"接入第三方内容安全审核",enabled:!1,settingsRoute:"/extensions/audit"},{key:"ip_geolocation",icon:"fas fa-map-marker-alt",color:"#fa8c16",name:"IP 归属地",description:"在评论和用户主页显示 IP 归属地",enabled:!1,settingsRoute:"/extensions/ip"}]),_=x({show_unapproved_comments:!1,skip_submit_moderation:!1,guest_comment:!1}),S=x([]),u=x({ip:"8.8.8.8",loading:!1,result:""}),c=x({text:"这是一段用于审核测试的示例文本。",loading:!1,result:""});X(async()=>{var n;try{const e=await R.request("/settings/security");if(e!=null&&e.data){const r=e.data,w=e.services||{},f=r.captcha||w.captcha||{},N=!!(f.enabled&&f.configured),U=f.scenes||{},v=r.content_audit||w.audit||{},b=r.ip_geo||w.ip_geo||{};o.value[0].value=r.email_gate_enabled?"已开启":"未开启",o.value[0].color=r.email_gate_enabled?"#52c41a":"#8a909c",o.value[1].value=N?"已开启":"未开启",o.value[1].color=N?"#52c41a":"#8a909c",v.enabled?(o.value[2].value=v.configured?"已配置":"待补全",o.value[2].color=v.configured?"#52c41a":"#faad14"):(o.value[2].value="未开启",o.value[2].color="#8a909c"),b.enabled?(o.value[3].value=b.configured?"已配置":"待补全",o.value[3].color=b.configured?"#52c41a":"#faad14"):(o.value[3].value="未开启",o.value[3].color="#8a909c"),k.value[0].enabled=!!r.email_gate_enabled,k.value[1].enabled=!!U.comment,k.value[2].enabled=!!f.download_active,k.value[3].enabled=!!v.enabled,k.value[4].enabled=!!b.enabled,r.risk_switches&&(_.value={..._.value,...r.risk_switches})}}catch{}try{const e=await R.request("/security/audit-log");(n=e==null?void 0:e.data)!=null&&n.logs&&(S.value=e.data.logs.slice(0,10))}catch{}});async function I(){z.value=!0;try{await R.request("/settings/security",{method:"POST",body:JSON.stringify({risk_switches:_.value})}),p.success("风险设置已保存")}catch(n){p.error("保存失败: "+((n==null?void 0:n.message)||"未知错误"))}finally{z.value=!1}}async function V(){u.value.loading=!0,u.value.result="";try{const n=await R.testIpGeo(String(u.value.ip||"").trim()),e=(n==null?void 0:n.data)||{};u.value.result=JSON.stringify(e,null,2),e.ok?p.success(e.display?`IP 测试成功:${e.display}`:"IP 接口测试完成"):p.warning(e.message||"未查询到归属地信息")}catch(n){p.error((n==null?void 0:n.message)||"IP 测试失败")}finally{u.value.loading=!1}}async function M(){c.value.loading=!0,c.value.result="";try{const n=await R.testContentAudit(String(c.value.text||"").trim()),e=(n==null?void 0:n.data)||{};c.value.result=JSON.stringify(e,null,2),e.ok?p.success(e.message||"内Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-security__section[data-v-1628ae71]{margin-bottom:16px}.aksrt-security__overview-card[data-v-1628ae71]{display:flex;align-items:center;gap:10px;padding:14px;border-radius:8px;background:#fafafa;border:1px solid #f0f0f0}.aksrt-security__overview-card strong[data-v-1628ae71]{display:block;font-size:14px;color:#1a1a2e}.aksrt-security__overview-card p[data-v-1628ae71]{margin:2px 0 0;font-size:12px;color:#8a909c}.aksrt-security__config-link[data-v-1628ae71]{font-size:12px;color:#1890ff;text-decoration:none;white-space:nowrap}.aksrt-security__config-link[data-v-1628ae71]:hover{text-decoration:underline}.aksrt-security__output[data-v-1628ae71]{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#101828;color:#d0d7e2;font-size:12px;line-height:1.7;white-space:pre-wrap;word-break:break-word}
|
||||
@@ -0,0 +1 @@
|
||||
import{o as D,X as P,a4 as t,a3 as s,r as O,a1 as u,_ as H,W as p,F as T,R as N,a2 as q,Y as d,L,Z as k,I as M,f as S}from"./vendor-vue.Bykizn0M.js";import{P as R}from"./PageHeader.Di3JTPjc.js";import{_ as m}from"./FaIcon.CX_hGmM4.js";import{a as y}from"./shared-api.D5_fnN32.js";import{_ as W}from"./index.js";import{u as $}from"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const A={class:"aksrt-page-container"},G=["onClick"],X={class:"aksrt-tools__tool-body"},Y={__name:"ExtensionTools",setup(Z){const I=H(),c=$(),_=O([{key:"php",icon:"fas fa-code",color:"#1890ff",value:"—",label:"PHP 版本",status:"ok"},{key:"wp",icon:"fab fa-wordpress",color:"#722ed1",value:"—",label:"WordPress",status:"ok"},{key:"db",icon:"fas fa-database",color:"#52c41a",value:"—",label:"数据库",status:"ok"},{key:"uploads",icon:"fas fa-folder-open",color:"#fa8c16",value:"—",label:"上传目录",status:"ok"}]),B=O([{key:"import-export",icon:"fas fa-exchange-alt",bg:"#1890ff",title:"导入导出",desc:"设置导入、导出和重置",route:"/tools/import-export"},{key:"health",icon:"fas fa-heartbeat",bg:"#52c41a",title:"健康检查",desc:"系统状态检测和诊断",route:"/tools/health"},{key:"email-rollback",icon:"fas fa-undo",bg:"#fa8c16",title:"邮箱回滚",desc:"邮箱变更 14 天内回滚",route:"/tools/email-rollback"}]),n=O([{key:"sms",icon:"fas fa-sms",color:"#1890ff",name:"短信服务",description:"验证码和通知短信",available:!1},{key:"wechat",icon:"fab fa-weixin",color:"#52c41a",name:"微信通知",description:"微信模板消息和订阅通知",available:!1},{key:"captcha",icon:"fas fa-shield-alt",color:"#722ed1",name:"验证码服务",description:"人机验证(极验/腾讯/阿里云)",available:!1},{key:"push",icon:"fas fa-paper-plane",color:"#fa8c16",name:"搜索引擎推送",description:"百度/Google 主动推送",available:!1},{key:"audit",icon:"fas fa-shield-virus",color:"#f5222d",name:"内容审核",description:"第三方内容安全审核 API",available:!1}]);D(async()=>{var a,r,b,h,f,g,w,x,z,v,C,e;try{const i=await y.request("/tools/health");if(i!=null&&i.data){const o=i.data;o.php_version&&(_.value[0].value=o.php_version),o.wp_version&&(_.value[1].value=o.wp_version),o.db_status&&(_.value[2].value=o.db_status,_.value[2].status=o.db_ok?"ok":"warn"),o.upload_dir&&(_.value[3].value=o.upload_dir,_.value[3].status=o.upload_ok?"ok":"warn")}}catch{}try{const i=await y.request("/settings/extensions");if(i!=null&&i.data){const o=i.data,l=i.services||{};n.value[0].available=!!(((a=l.sms)==null?void 0:a.available)??o.sms_enabled),n.value[0].status=((r=l.sms)==null?void 0:r.provider)||(o.sms_enabled?"已启用":"未配置"),n.value[1].available=!!(((b=l.wechat)==null?void 0:b.available)??o.wechat_enabled),n.value[1].status=((h=l.wechat)==null?void 0:h.provider)||(o.wechat_enabled?"已启用":"未配置"),n.value[2].available=!!(((f=l.captcha)==null?void 0:f.available)??((g=l.captcha)==null?void 0:g.configured)),n.value[2].status=((w=l.captcha)==null?void 0:w.provider)||((x=l.captcha)!=null&&x.enabled?"已启用":"未配置"),n.value[3].available=!!(((z=l.push)==null?void 0:z.available)??o.baidu_push_enabled),n.value[3].status=((v=l.push)==null?void 0:v.provider)||(o.baidu_push_enabled?"已启用":"未配置"),n.value[4].available=!!(((C=l.audit)==null?void 0:C.available)??o.content_audit_enabled),n.value[4].status=((e=l.audit)==null?void 0:e.provider)||(o.content_audit_enabled?"已启用":"未配置")}}catch{}});function E(a){I.push(a)}async function F(){c.info("正在清除缓存...");try{const a=await y.request("/tools/maintenance",{method:"POST",body:JSON.stringify({action:"flush_cache"})});c.success((a==null?void 0:a.message)||"缓存已清除")}catch(a){c.error((a==null?void 0:a.message)||"清除缓存失败")}}async function J(){c.info("正在优化数据表...");try{const a=await y.request("/tools/maintenance",{method:"POST",body:JSON.stringify({action:"optimize_db"})});c.success((a==null?void 0:a.message)||"数据表已优化")}catch(a){c.error((a==null?void 0:a.message)||"优化数据表失败")}}async function V(){c.info("正在重建索引...");try{const a=await y.request("/tools/maintenance",{method:"POST",body:JSON.stringify({action:"rebuild_index"})});c.success((a==null?void 0:a.message)||"索引重建完成")}catch(a){c.error((a==null?void 0:a.message)||"重建索引失败")}}return(a,r)=>{const b=u("n-grid-item"),h=u("n-grid"),f=u("n-card"),g=u("n-tag"),w=u("n-thing"),x=u("n-list-item"),z=u("n-list"),v=u("n-button"),C=u("n-space");return p(),P("div",A,[t(R,{title:"系统工具",desc:"额外运维工具与扩展能力。"}),t(f,{title:"系统健康",size:"small",class:"aksrt-tools__section"},{default:s(()=>[t(h,{cols:4,"x-gap":12,"y-gap":12},{default:s(()=>[(p(!0),P(T,null,N(_.value,e=>(p(),q(b,{key:e.key},{default:s(()=>[d("div",{class:L(["aksrt-tools__health-card","aksrt-tools__health-card--"+e.status])},[t(m,{icon:e.icon,size:18,color:e.color},null,8,["icon","color"]Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-tools__section[data-v-dc044b00]{margin-bottom:16px}.aksrt-tools__health-card[data-v-dc044b00]{display:flex;align-items:center;gap:10px;padding:14px;border-radius:8px;background:#fafafa;border:1px solid #f0f0f0}.aksrt-tools__health-card strong[data-v-dc044b00]{display:block;font-size:14px;color:#1a1a2e}.aksrt-tools__health-card p[data-v-dc044b00]{margin:2px 0 0;font-size:12px;color:#8a909c}.aksrt-tools__health-card--warn[data-v-dc044b00]{border-color:#faad14;background:#fffbe6}.aksrt-tools__tool-card[data-v-dc044b00]{display:flex;align-items:center;gap:12px;padding:14px;border-radius:8px;background:#fafafa;border:1px solid #f0f0f0;cursor:pointer;transition:all .2s}.aksrt-tools__tool-card[data-v-dc044b00]:hover{border-color:#1890ff;box-shadow:0 2px 8px #1890ff1a}.aksrt-tools__tool-icon[data-v-dc044b00]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.aksrt-tools__tool-body[data-v-dc044b00]{flex:1;min-width:0}.aksrt-tools__tool-body strong[data-v-dc044b00]{display:block;font-size:14px;color:#1a1a2e}.aksrt-tools__tool-body p[data-v-dc044b00]{margin:2px 0 0;font-size:12px;color:#8a909c}
|
||||
@@ -0,0 +1 @@
|
||||
import{W as r,X as p,I as u,L as f,c as a}from"./vendor-vue.Bykizn0M.js";const c={__name:"FaIcon",props:{icon:{type:String,required:!0},size:{type:[Number,String],default:null},fw:{type:Boolean,default:!1},spin:{type:Boolean,default:!1},pulse:{type:Boolean,default:!1},rotate:{type:[Number,String],default:null},flip:{type:String,default:null},extraClass:{type:String,default:""}},setup(l){const e=l,i=a(()=>{const t=[],s=e.icon.trim();return s.startsWith("fa-")?t.push("fas",s):t.push(...s.split(/\s+/)),e.fw&&t.push("fa-fw"),e.spin&&t.push("fa-spin"),e.pulse&&t.push("fa-pulse"),e.rotate&&t.push(`fa-rotate-${e.rotate}`),e.flip&&t.push(`fa-flip-${e.flip}`),e.extraClass&&t.push(e.extraClass),t.join(" ")}),n=a(()=>e.size?{fontSize:typeof e.size=="number"?`${e.size}px`:e.size}:{});return(t,s)=>(r(),p("i",{class:f(i.value),style:u(n.value),"aria-hidden":"true"},null,6))}};export{c as _};
|
||||
@@ -0,0 +1 @@
|
||||
import{d as ae}from"./vendor-draggable.CceJcfGJ.js";import{a as se}from"./shared-api.D5_fnN32.js";import{P as Qe}from"./PageHeader.Di3JTPjc.js";import{_ as Ae}from"./index.js";import{u as Fe,a as Be,B as k,b as T}from"./vendor-naive.BuHWlEgf.js";import{o as De,X as f,a4 as a,a3 as s,r as L,a1 as c,e as oe,W as r,N as p,f as u,Y as o,a2 as m,L as $,a5 as g,Z as x,F as ie,R as ne,c as C}from"./vendor-vue.Bykizn0M.js";import"./vendor-misc.1adHN6i_.js";const Ve={class:"aksrt-page-container content-page"},Pe={class:"aksrt-card-header-row"},Se={class:"aksrt-card-header-row__left"},Te={class:"aksrt-card-header-row__title"},Le={class:"float-btn-sort__item"},Me={class:"float-btn-sort__main"},je={class:"float-btn-sort__icon"},He={class:"float-btn-sort__meta"},Ne={class:"float-btn-sort__title-row"},Oe={class:"float-btn-sort__desc"},Ee={class:"float-btn-sort__actions"},Ie={class:"aksrt-form-actions"},Re={class:"icon-preview-row"},We={key:0,class:"theme-icon-preview-inline"},Xe={key:2,class:"muted-text"},Ye={key:6,class:"add-items-editor"},Ze={class:"add-items-editor__head"},Ge={class:"add-items-editor__head-actions"},Je={key:0,class:"add-items-editor__list"},Ke={class:"add-items-editor__row"},et={class:"add-items-preview"},tt={class:"add-items-preview__panel add-items-preview__panel--light"},lt={class:"add-items-preview__trigger"},at={class:"add-items-preview__menu"},st={key:0,class:"add-items-preview__list"},ot={key:1,class:"add-items-preview__empty"},it={class:"add-items-preview__panel add-items-preview__panel--dark"},nt={class:"add-items-preview__trigger add-items-preview__trigger--dark"},dt={class:"add-items-preview__menu add-items-preview__menu--dark"},rt={key:0,class:"add-items-preview__list"},ut={key:1,class:"add-items-preview__empty add-items-preview__empty--dark"},_t={class:"aksrt-modal-footer"},ct={__name:"FloatingButtonsSettings",setup(pt){var Y,Z;const v=Fe(),de=Be(),M=L(!0),A=L(!1),U=L(!1),q=L(-1),z=(((Y=window.aksrtAdminData)==null?void 0:Y.siteUrl)||"").replace(/\/$/,""),N=(((Z=window.aksrtAdminData)==null?void 0:Z.adminUrl)||"").replace(/\/$/,""),n=oe({enabled:!0,style:"round",position:"bottom",scroll_hide:!1,scroll_down_hide:!0,filter_blur:["mobile"],items:[]}),t=oe(B()),O=[{label:"自定义链接",value:"custom"},{label:"回到顶部",value:"back_top"},{label:"主题切换",value:"theme_mode"},{label:"页面二维码",value:"qrcode"},{label:"发布入口",value:"add"},{label:"购物车",value:"shop_cart"},{label:"QQ 客服",value:"service_qq"},{label:"微信客服",value:"service_wechat"},{label:"会员入口",value:"pay_vip"}],j=Object.fromEntries(O.map(i=>[i.value,i.label])),re=C(()=>[{label:"写文章",key:"post"},{label:"投稿页",key:"submit"},{label:"用户中心创作",key:"profile"}].map(e=>{const d=R(e.key);return{...e,disabled:d,label:d?`${e.label}(已存在)`:e.label}})),F=C(()=>["custom","pay_vip","add","shop_cart"].includes(t.type)&&!t.hover),Q=C(()=>["custom","pay_vip"].includes(t.type)),E=C(()=>["service_qq","service_wechat"].includes(t.type)),I=C(()=>["service_qq","service_wechat"].includes(t.type)&&t.action_mode==="qrcode"),ue=C(()=>!I.value);function B(){return{id:"",type:"custom",icon:"fas fa-link",icon_dark:"",icon_light:"",text:"",desc:"",action_mode:"link",qq:"",qrcode_img:"",wechat_img:"",link:"",add_items:[],hover:"",qr_size:120,hover_width:200,pc_s:!0,m_s:!0,color:null,bg:null,enabled:!0,sort_order:0}}function _e(i){const e={custom:{icon:"fas fa-link",icon_dark:"",icon_light:"",text:"链接",desc:"",link:"",hover:"",action_mode:"link",qr_size:120},back_top:{icon:"fas fa-chevron-up",icon_dark:"",icon_light:"",text:"顶部",desc:"返回顶部",link:"",hover:"",action_mode:"link",qr_size:120},theme_mode:{icon:"fas fa-sun",icon_dark:"",icon_light:"",text:"主题",desc:"切换主题",link:"",hover:"",action_mode:"link",qr_size:120},qrcode:{icon:"fas fa-qrcode",icon_dark:"",icon_light:"",text:"二维码",desc:"扫码继续浏览",link:"",hover:"",action_mode:"qrcode",qr_size:120},service_qq:{icon:"fab fa-qq",icon_dark:"",icon_light:"",text:"QQ",desc:"QQ 联系",link:"",hover:"",action_mode:"link",qr_size:120},service_wechat:{icon:"fab fa-weixin",icon_dark:"",icon_light:"",text:"微信",desc:"扫码添加微信",link:"",hover:"",action_mode:"link",qr_size:120},pay_vip:{icon:"fas fa-crown",icon_dark:"",icon_light:"",text:"会员",desc:"会员入口",link:"",hover:"",action_mode:"link",qr_size:120},add:{icon:"fas fa-plus",icon_dark:"",icon_light:"",text:"发布",desc:"发布内容",link:"",hover:"",action_mode:"link",qr_size:120},shop_cart:{icon:"fas fa-shopping-cart",icon_dark:"",icon_light:"",text:"购物车",desc:"购物车入口",link:"",hover:"",action_mode:"link",qr_size:120}};return e[i]||e.custom}function ce(i){const e=_e(i);t.icon=e.icon,t.icon_dark=e.icon_dark,t.icon_light=e.icon_light,t.action_mode=e.action_mode,t.qr_size=e.qr_size,t.text||(t.text=e.text),t.desc||(t.desc=e.desc),Q.value||(t.hover=""),i==="service_qq"&&t.action_mode==="qrcode"&&(t.qq=""),i==="service_weLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
.icon-preview-row[data-v-3f29cff8]{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:13px}.theme-icon-preview[data-v-3f29cff8]{display:flex;flex-direction:column;gap:6px;color:var(--n-text-color-3);font-size:13px}.theme-icon-preview span[data-v-3f29cff8],.theme-icon-preview-inline[data-v-3f29cff8]{display:inline-flex;align-items:center;gap:6px}.icon-preview-row a[data-v-3f29cff8]{color:var(--n-primary-color);text-decoration:none}.icon-preview-row a[data-v-3f29cff8]:hover{text-decoration:underline}.muted-text[data-v-3f29cff8]{color:#999;font-size:12px}.aksrt-modal-footer[data-v-3f29cff8]{display:flex;justify-content:flex-end;gap:10px}.section-desc[data-v-3f29cff8]{color:var(--n-text-color-3);font-size:13px;margin:0 0 16px}.float-btn-sort[data-v-3f29cff8]{display:flex;flex-direction:column;gap:12px}.float-btn-sort__item[data-v-3f29cff8]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--n-border-color);border-radius:14px;background:var(--n-card-color)}.float-btn-sort__main[data-v-3f29cff8]{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.float-btn-sort__handle[data-v-3f29cff8]{width:30px;height:30px;border:0;background:transparent;color:var(--n-text-color-3);cursor:grab}.float-btn-sort__handle[data-v-3f29cff8]:active{cursor:grabbing}.float-btn-sort__icon[data-v-3f29cff8]{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#88abda1f;color:var(--n-text-color-2)}.float-btn-sort__meta[data-v-3f29cff8]{min-width:0;flex:1}.float-btn-sort__title-row[data-v-3f29cff8]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}.float-btn-sort__desc[data-v-3f29cff8]{font-size:13px;color:var(--n-text-color-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.float-btn-sort__actions[data-v-3f29cff8]{display:flex;gap:8px;flex-shrink:0}.float-btn-sort__ghost[data-v-3f29cff8]{opacity:.45}.add-items-editor[data-v-3f29cff8]{margin-bottom:16px}.add-items-editor__head[data-v-3f29cff8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.add-items-editor__head-actions[data-v-3f29cff8]{display:flex;gap:8px}.add-items-editor__list[data-v-3f29cff8]{display:flex;flex-direction:column;gap:10px}.add-items-editor__row[data-v-3f29cff8]{display:grid;grid-template-columns:auto 1fr 1fr 1.4fr auto;gap:10px;align-items:center}.add-items-editor__drag[data-v-3f29cff8]{width:32px;height:32px;border:0;border-radius:8px;background:#88abda1f;color:var(--n-text-color-3);cursor:grab}.add-items-editor__drag[data-v-3f29cff8]:active{cursor:grabbing}.add-items-editor__ghost[data-v-3f29cff8]{opacity:.45}.add-items-preview[data-v-3f29cff8]{margin-top:14px;padding:14px;border:1px dashed var(--n-border-color);border-radius:14px;background:#88abda0a}.add-items-preview__title[data-v-3f29cff8]{font-size:13px;color:var(--n-text-color-3);margin-bottom:10px}.add-items-preview__panel[data-v-3f29cff8]{display:flex;align-items:center;gap:12px;margin-top:12px}.add-items-preview__panel[data-v-3f29cff8]:first-of-type{margin-top:0}.add-items-preview__mode[data-v-3f29cff8]{width:40px;flex-shrink:0;font-size:12px;color:var(--n-text-color-3)}.add-items-preview__trigger[data-v-3f29cff8]{width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--n-border-color);display:inline-flex;align-items:center;justify-content:center;color:var(--n-text-color-2);box-shadow:0 8px 20px #11182714}.add-items-preview__trigger--dark[data-v-3f29cff8]{background:#232734;border-color:#ffffff14;color:#d8dee9;box-shadow:0 12px 28px #00000047}.add-items-preview__menu[data-v-3f29cff8]{flex:1;min-width:0;padding:10px;border-radius:14px;background:#fff;border:1px solid var(--n-border-color)}.add-items-preview__menu--dark[data-v-3f29cff8]{background:#232734;border-color:#ffffff14}.add-items-preview__list[data-v-3f29cff8]{display:flex;flex-direction:column;gap:6px}.add-items-preview__item[data-v-3f29cff8]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#88abda0f;color:var(--n-text-color-2);text-decoration:none}.add-items-preview__item i[data-v-3f29cff8]{width:18px;text-align:center;color:var(--n-primary-color)}.add-items-preview__item--dark[data-v-3f29cff8]{background:#ffffff0d;color:#e5e7eb}.add-items-preview__item--dark i[data-v-3f29cff8]{color:#9fc0ec}.add-items-preview__empty[data-v-3f29cff8]{font-size:13px;color:var(--n-text-color-3);padding:10px 12px}.add-items-preview__empty--dark[data-v-3f29cff8]{color:#e5e7ebb8}
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-modal-footer[data-v-75e6f4e1]{display:flex;justify-content:flex-end;gap:10px}.aksrt-media-row[data-v-75e6f4e1]{display:flex;align-items:center;gap:8px;width:100%}.aksrt-media-preview[data-v-75e6f4e1]{display:block;max-width:200px;max-height:80px;margin-top:8px;border-radius:6px;border:1px solid var(--n-border-color, #e0e0e6);object-fit:contain}.aksrt-media-preview--sm[data-v-75e6f4e1]{max-width:64px;max-height:64px}.aksrt-mini-img-row[data-v-75e6f4e1]{padding:10px 0;border-bottom:1px solid var(--n-border-color, #e0e0e6)}.aksrt-mini-img-row[data-v-75e6f4e1]:last-child{border-bottom:none}
|
||||
@@ -0,0 +1 @@
|
||||
import{a as P}from"./shared-api.D5_fnN32.js";import{P as Be}from"./PageHeader.Di3JTPjc.js";import{o as se}from"./media.BHNcAGK-.js";import{_ as Re}from"./index.js";import{u as je,a as He,B as r,b as ie,c as Pe}from"./vendor-naive.BuHWlEgf.js";import{o as Ne,X as q,a4 as t,a3 as l,r as y,a1 as c,e as N,W as m,N as _,f as d,Y as s,a5 as I,a2 as h,Z as Ie,F as Se,R as Ve,k}from"./vendor-vue.Bykizn0M.js";import"./vendor-misc.1adHN6i_.js";const Oe={class:"aksrt-page-container content-page"},Qe={class:"aksrt-media-row"},De=["src"],Ee={class:"aksrt-media-row"},Ge=["src"],Xe={class:"aksrt-card-header-row"},Ye={class:"aksrt-media-row"},Ze=["src"],We={class:"aksrt-card-header-row"},Je={class:"aksrt-card-header-row"},Ke={class:"aksrt-card-header-row"},et={class:"aksrt-card-header-row"},tt={class:"aksrt-card-header-row__left"},ot={class:"aksrt-card-header-row__title"},lt={class:"aksrt-card-header-row"},at={class:"aksrt-media-row",style:{flex:"1"}},nt=["src","alt"],st={class:"aksrt-form-actions"},it={class:"aksrt-modal-footer"},rt={class:"aksrt-modal-footer"},dt={class:"aksrt-modal-footer"},ut={class:"aksrt-modal-footer"},_t={__name:"FooterSettings",setup(ct){const w=je(),O=He(),Q=y(!0),S=y(!1),K=y("contacts"),o=N({contacts:[],quick_links:[],more_links:[],hot_categories:5,copyright_text:"",layout_template:"template_1",footer_t1_m_s:["pc","mobile"],footer_t1_img:"",footer_t1_img_dark:"",footer_t1_t:"",fcode_t1_code:"",footer_contact_wechat_img:"",footer_contact_qq:"",footer_contact_weibo:"",footer_contact_email:"",footer_contact_m_s:["pc","mobile"],footer_contact_more:[],fcode_t2_code_1:"",fcode_t2_code_2:"",footer_mini_img_m_s:["pc","mobile"],footer_mini_img:[],fcode_customize_code:""}),L=y(!1),M=y(-1),f=N({icon:"",url:"",title:"",enabled:!0});let ee=0;const te=[{label:"GitHub",value:"github"},{label:"X (Twitter)",value:"x"},{label:"Email",value:"email"},{label:"微信",value:"wechat"},{label:"QQ",value:"qq"},{label:"微博",value:"weibo"},{label:"Telegram",value:"telegram"},{label:"Discord",value:"discord"},{label:"Bilibili",value:"bilibili"},{label:"LinkedIn",value:"linkedin"},{label:"Facebook",value:"facebook"},{label:"YouTube",value:"youtube"},{label:"Instagram",value:"instagram"},{label:"RSS / 网站",value:"web"}];function re(){Object.assign(f,{icon:"",url:"",title:"",enabled:!0}),M.value=-1,L.value=!0}function de(n,e){Object.assign(f,{icon:n.icon,url:n.url,title:n.title,enabled:n.enabled}),M.value=e,L.value=!0}function ue(){if(!f.icon||!f.url){w.warning("请填写图标类型和链接地址");return}const n={_uid:M.value>=0?o.contacts[M.value]._uid:++ee,icon:f.icon,url:f.url,title:f.title,enabled:f.enabled};M.value>=0?o.contacts[M.value]=n:o.contacts.push(n),L.value=!1}function _e(n){O.warning({title:"确认删除",content:"确定删除这个联系方式图标吗?",positiveText:"删除",negativeText:"取消",onPositiveClick:()=>{o.contacts.splice(n,1)}})}const ce=[{title:"平台",key:"icon",width:120,render:n=>{var e;return((e=te.find(p=>p.value===n.icon))==null?void 0:e.label)||n.icon}},{title:"链接",key:"url",ellipsis:{tooltip:!0}},{title:"提示",key:"title",ellipsis:{tooltip:!0},className:"aksrt-table-mobile-hide"},{title:"状态",key:"enabled",width:80,render:n=>k(ie,{size:"small",type:n.enabled?"success":"default"},{default:()=>n.enabled?"启用":"禁用"})},{title:"操作",key:"actions",width:130,render:(n,e)=>k("div",{style:"display:flex;gap:6px;"},[k(r,{size:"tiny",onClick:()=>de(o.contacts[e],e)},{default:()=>"编辑"}),k(r,{size:"tiny",type:"error",quaternary:!0,onClick:()=>_e(e)},{default:()=>"删除"})])}],T=y(!1),D=y("quick_links"),E=y(-1),g=N({id:"",name:"",url:"",enabled:!0,sort_order:0});function G(n,e=null,p=-1){D.value=n,E.value=p,Object.assign(g,e||{id:"",name:"",url:"",enabled:!0,sort_order:n==="quick_links"?o.quick_links.length:o.more_links.length}),T.value=!0}function me(){if(!g.name||!g.url){w.warning("请填写链接名称和链接地址");return}const n=o[D.value],e={id:g.id||`link_${Date.now()}`,name:g.name,url:g.url,enabled:g.enabled,sort_order:g.sort_order??n.length};E.value>=0?n[E.value]=e:n.push(e),T.value=!1}function fe(n,e){O.warning({title:"确认删除",content:"确定删除这个链接吗?",positiveText:"删除",negativeText:"取消",onPositiveClick:()=>{o[n].splice(e,1)}})}function oe(n){return[{title:"名称",key:"name",width:160},{title:"URL",key:"url",ellipsis:{tooltip:!0}},{title:"状态",key:"enabled",width:80,render:e=>k(ie,{size:"small",type:e.enabled?"success":"default"},{default:()=>e.enabled?"启用":"禁用"})},{title:"操作",key:"actions",width:130,render:(e,p)=>k("div",{style:"display:flex;gap:6px;"},[k(r,{size:"tiny",onClick:()=>G(n,o[n][p],p)},{default:()=>"编辑"}),k(r,{size:"tiny",type:"error",quaternary:!0,onClick:()=>fe(n,p)},{default:()=>"删除"})])}]}const $=y([]),A=y(!1),X=y(!1),v=N({name:"",url:"",logo:"",description:""}),pe=[{title:"Logo",key:"logo",width:60,render:n=>n.logo?k(Pe,{src:n.logo,size:32,round:!0}):k("span",{style:"color:#bbb;font-Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{d as E}from"./vendor-draggable.CceJcfGJ.js";import{a as V}from"./shared-api.D5_fnN32.js";import{P as pe}from"./PageHeader.Di3JTPjc.js";import{_ as fe}from"./index.js";import{u as _e,a as ce,B as b,b as I}from"./vendor-naive.BuHWlEgf.js";import{o as me,X as c,a4 as o,a3 as s,r as C,a1 as _,e as L,W as u,N as f,f as i,Y as n,Z as w,a2 as y,L as j,a5 as g,F as $,R as be,c as ye}from"./vendor-vue.Bykizn0M.js";import"./vendor-misc.1adHN6i_.js";const ge={class:"aksrt-page-container content-page"},ve={class:"aksrt-card-header-row"},ke={class:"aksrt-card-header-row__left"},we={class:"aksrt-card-header-row__title"},he={class:"section-desc section-desc--tight"},xe={class:"tabbar-sort__item"},Te={class:"tabbar-sort__main"},Ue={class:"tabbar-sort__icon"},Ce={class:"tabbar-sort__meta"},$e={class:"tabbar-sort__title-row"},ze={class:"tabbar-sort__desc"},Ie={class:"tabbar-sort__actions"},Ae={class:"aksrt-form-actions"},Fe={class:"icon-preview-row"},De={key:1,class:"muted-text"},Ve={key:5,class:"add-items-editor"},Ne={class:"add-items-editor__head"},Se={class:"add-items-editor__presets"},Pe={key:0,class:"add-items-editor__list"},Be={class:"add-items-editor__row"},Oe={key:1,class:"muted-text"},Me={class:"aksrt-modal-footer"},qe={__name:"FooterTabbarSettings",setup(Ee){const m=_e(),W=ce(),A=C(!0),z=C(!1),T=C(!1),h=C(-1),F=C([]),d=L({enabled:!0,scroll_hide:!1,scroll_down_hide:!0,footer_tabbar_single:"default",items:[]}),a=L({id:"",type:"link",icon:"",text:"",link:"",badge:"",badge_mode:"static",category_id:null,search_default_type:"post",new_window:!1,add_items:[],enabled:!0,sort_order:0,ontop:!1}),H=[{label:"首页",value:"home"},{label:"分类页",value:"category"},{label:"链接",value:"link"},{label:"中央发布按钮",value:"add"},{label:"用户中心",value:"user"},{label:"登录/我的",value:"auth"},{label:"搜索",value:"search"},{label:"消息中心",value:"msg"},{label:"开通会员",value:"pay_vip"},{label:"购物车",value:"shop_cart"}],R={home:"首页",category:"分类页",link:"链接",add:"中央发布按钮",user:"用户中心",auth:"登录/我的",search:"搜索",msg:"消息中心",pay_vip:"开通会员",shop_cart:"购物车"},N={home:{icon:"fas fa-home",text:"首页"},category:{icon:"fas fa-th-large",text:"分类"},link:{icon:"fas fa-link",text:"链接"},add:{icon:"fas fa-plus",text:"发布"},user:{icon:"fas fa-user",text:"用户中心"},auth:{icon:"fas fa-user",text:"我的"},search:{icon:"fas fa-search",text:"搜索"},msg:{icon:"fas fa-bell",text:"消息"},pay_vip:{icon:"fas fa-crown",text:"会员"},shop_cart:{icon:"fas fa-shopping-cart",text:"购物车"}},X=ye(()=>d.items.filter(t=>t.enabled));function Y(t){var e;if(t.type==="home")return t.ontop?"首页按钮,滚动后切换返回顶部":"首页按钮";if(t.type==="category"){if(t.category_id){const r=F.value.find(p=>p.value===t.category_id);return r?`跳转到分类: ${r.label}`:`跳转到分类 ID ${t.category_id}`}return"跳转到分类聚合页"}return t.type==="add"?(e=t.add_items)!=null&&e.length?`展开 ${t.add_items.length} 个发布入口`:"点击后打开默认发布入口":t.type==="search"?`打开顶部搜索面板,默认搜索${t.search_default_type==="category"?"分类":t.search_default_type==="tag"?"标签":"文章"}`:t.type==="user"?"自动跳转到用户中心或登录页":t.type==="auth"?"登录用户显示我的,游客显示登录":t.type==="msg"?"跳转到消息中心页面":t.type==="pay_vip"?t.link||"跳转到会员开通页":t.type==="shop_cart"?t.link||"跳转到购物车页面":t.link||"自定义链接按钮"}const Z=[{label:"写文章",icon:"fas fa-pen-fancy",url:"/post-new"},{label:"投稿页",icon:"fas fa-file-alt",url:"/submit"},{label:"发布资源",icon:"fas fa-cloud-upload-alt",url:"/resource-new"},{label:"创作中心",icon:"fas fa-palette",url:"/creator"}];function G(t){a.add_items.some(e=>e.url===t.url)||a.add_items.push({id:`add_${Date.now()}_${a.add_items.length}`,label:t.label,icon:t.icon,url:t.url})}function J(){a.add_items.push({id:`add_${Date.now()}_${a.add_items.length}`,label:"",icon:"fas fa-pen",url:""})}function K(t){a.add_items.splice(t,1)}function S(){d.items=d.items.map((t,e)=>({...t,sort_order:e}))}function Q(t,e=!1){const r=N[t]||N.link;(e||!a.icon)&&(a.icon=r.icon),(e||!a.text)&&(a.text=r.text),["link","msg","pay_vip","shop_cart"].includes(t)||(a.link=""),t!=="category"&&(a.category_id=null),t!=="search"&&(a.search_default_type="post"),t!=="add"&&(a.add_items=[]),t!=="home"&&(a.ontop=!1)}function ee(t){Q(t,!1)}function ae(){if(d.items.length>=5){m.warning("底部Tab最多只能配置 5 个按钮");return}Object.assign(a,{id:`tab_${Date.now()}`,type:"link",icon:"fas fa-link",text:"链接",link:"",badge:"",badge_mode:"static",category_id:null,search_default_type:"post",new_window:!1,add_items:[],enabled:!0,sort_order:d.items.length,ontop:!1}),h.value=-1,T.value=!0}function te(t){const e=d.items[t];Object.assign(a,{id:e.id,type:e.type||"link",icon:e.icon||"",text:e.text||"",link:e.link||"",baLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
.icon-preview-row[data-v-13ae8f9c]{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:13px}.icon-preview-row a[data-v-13ae8f9c]{color:var(--n-primary-color);text-decoration:none}.icon-preview-row a[data-v-13ae8f9c]:hover{text-decoration:underline}.muted-text[data-v-13ae8f9c]{color:#999;font-size:12px}.aksrt-modal-footer[data-v-13ae8f9c]{display:flex;justify-content:flex-end;gap:10px}.section-desc[data-v-13ae8f9c]{color:var(--n-text-color-3);font-size:13px;margin:0 0 16px}.section-desc--tight[data-v-13ae8f9c]{margin-top:-6px}.add-items-editor[data-v-13ae8f9c]{margin-bottom:16px}.add-items-editor__head[data-v-13ae8f9c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.add-items-editor__presets[data-v-13ae8f9c]{display:flex;align-items:center;gap:6px;margin-bottom:12px;flex-wrap:wrap}.add-items-editor__presets-label[data-v-13ae8f9c]{font-size:12px;color:var(--n-text-color-3, #999)}.add-items-editor__list[data-v-13ae8f9c]{display:flex;flex-direction:column;gap:10px}.add-items-editor__row[data-v-13ae8f9c]{display:grid;grid-template-columns:32px 1fr 1fr 1.2fr 40px;gap:8px;align-items:center}.add-items-editor__drag[data-v-13ae8f9c]{width:32px;height:32px;border:0;border-radius:10px;background:#f3f5f7;color:#6b7280;cursor:grab}.add-items-editor__ghost[data-v-13ae8f9c]{opacity:.5}.tabbar-sort[data-v-13ae8f9c]{display:flex;flex-direction:column;gap:12px}.tabbar-sort__item[data-v-13ae8f9c]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--n-border-color);border-radius:14px;background:#fff}.tabbar-sort__main[data-v-13ae8f9c]{min-width:0;display:flex;align-items:center;gap:12px;flex:1}.tabbar-sort__handle[data-v-13ae8f9c]{width:32px;height:32px;border:0;border-radius:10px;background:#f3f5f7;color:#6b7280;cursor:grab}.tabbar-sort__icon[data-v-13ae8f9c]{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#18a0581f;color:#18a058;font-size:18px;flex:0 0 auto}.tabbar-sort__meta[data-v-13ae8f9c]{min-width:0;flex:1}.tabbar-sort__title-row[data-v-13ae8f9c]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:4px}.tabbar-sort__desc[data-v-13ae8f9c]{color:var(--n-text-color-3);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabbar-sort__actions[data-v-13ae8f9c]{display:flex;gap:6px;flex:0 0 auto}.tabbar-sort__ghost[data-v-13ae8f9c]{opacity:.5}@media(max-width:1023px){.tabbar-sort__item[data-v-13ae8f9c]{flex-direction:column;align-items:stretch}.tabbar-sort__actions[data-v-13ae8f9c]{justify-content:flex-end}.add-items-editor__row[data-v-13ae8f9c]{grid-template-columns:32px 1fr}}
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-inline-setting[data-v-2bdc0f38]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.aksrt-inline-setting__hint[data-v-2bdc0f38]{color:#7a7f8a;font-size:13px}.aksrt-inline-setting__actions[data-v-2bdc0f38]{display:flex;justify-content:flex-end}.aksrt-modal-preview[data-v-2bdc0f38]{margin:-8px 0 18px;border-radius:8px;overflow:hidden;border:1px solid #eef1f6}.aksrt-modal-grid[data-v-2bdc0f38]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.aksrt-layer-item[data-v-2bdc0f38]{border:1px solid #eef1f6;border-radius:8px;padding:14px;margin-bottom:10px;background:#fafbfc}.aksrt-layer-item__header[data-v-2bdc0f38]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.aksrt-modal-footer[data-v-2bdc0f38]{display:flex;justify-content:flex-end;gap:10px}@media(max-width:768px){.aksrt-modal-grid[data-v-2bdc0f38]{grid-template-columns:1fr}}
|
||||
@@ -0,0 +1 @@
|
||||
import{o as de,X as w,a4 as t,a3 as a,a1 as r,r as b,_ as ve,W as g,Y as u,N as _,f as i,a2 as N,Z as $,a5 as P,F as pe,R as _e,k as m}from"./vendor-vue.Bykizn0M.js";import{a as x}from"./shared-api.D5_fnN32.js";import{o as j}from"./media.BHNcAGK-.js";import{P as me}from"./PageHeader.Di3JTPjc.js";import{_ as fe}from"./index.js";import{u as ge,a as ce,B as p,d as D,b as T}from"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const be={class:"aksrt-page-container content-page"},ye={class:"aksrt-card-header-row"},ke={class:"aksrt-inline-setting"},xe={class:"aksrt-inline-setting__actions"},we={class:"aksrt-card-header-row"},he={class:"aksrt-card-header-row__left"},Ue={class:"header-icon"},He={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",style:{width:"18px",height:"18px"},"aria-hidden":"true"},ze={class:"aksrt-card-header-row__title"},Ce={key:0,class:"aksrt-modal-preview"},Ne={class:"aksrt-modal-grid"},Se={class:"aksrt-modal-grid"},Le={class:"aksrt-layer-item__header"},Be={class:"aksrt-modal-grid"},Me={class:"aksrt-modal-footer"},Pe={__name:"HeroManager",setup(Te){const q=ve(),v=ge(),A=ce();function W(){q.push("/page-display/header-components")}const S=b(!0),L=b(!1),h=b(!1),U=b(!1),H=b([]),z=b(!0),k=b(!1),n=b(R());function R(){return{id:0,title:"",subtitle:"",description:"",image_url:"",video_url:"",link_url:"",link_target:"_self",text_align:"left",device_visibility:"all",enabled:!0,show_text:!0,show_meta:!1,sort_order:0,text_size_pc:"",text_size_m:"",text_parallax:!1,layers:[]}}const X=[{title:"预览",key:"image_url",width:90,render(l){return l.image_url?m(D,{src:l.image_url,width:64,height:36,objectFit:"cover",previewSrc:l.image_url,style:"border-radius:4px;display:block;"}):m("span",{style:"color:#bbb;font-size:12px;"},"无")}},{title:"标题",key:"title",ellipsis:{tooltip:!0},render(l){return l.title||m("span",{style:"color:#bbb;"},"未命名")}},{title:"文字",key:"show_text",width:70,className:"aksrt-table-mobile-hide",render(l){return m(T,{size:"small",type:l.show_text?"info":"default"},{default:()=>l.show_text?"显示":"隐藏"})}},{title:"元信息",key:"show_meta",width:78,className:"aksrt-table-mobile-hide",render(l){return m(T,{size:"small",type:l.show_meta?"info":"default"},{default:()=>l.show_meta?"显示":"隐藏"})}},{title:"跳转",key:"link_url",ellipsis:{tooltip:!0},className:"aksrt-table-mobile-hide",render(l){return l.link_url||m("span",{style:"color:#bbb;font-size:12px;"},"—")}},{title:"排序",key:"sort_order",width:64,className:"aksrt-table-mobile-hide"},{title:"状态",key:"enabled",width:84,render(l){return m(T,{size:"small",type:l.enabled?"success":"default"},{default:()=>l.enabled?"启用":"禁用"})}},{title:"操作",key:"actions",width:130,render(l){return m("div",{style:"display:flex;gap:6px;"},[m(p,{size:"tiny",onClick:()=>J(l)},{default:()=>"编辑"}),m(p,{size:"tiny",type:"error",quaternary:!0,onClick:()=>te(l)},{default:()=>"删除"})])}}];async function B(){try{S.value=!0;const l=await x.getHeroes();l.code==="success"&&(H.value=l.data||[])}catch(l){v.error(l.message||"加载失败")}finally{S.value=!1}}async function Y(){h.value=!0;try{const l=await x.getHomepageSettings(),e=(l==null?void 0:l.data)||{};z.value=e.homepage_module_hero_enabled!==!1}catch(l){v.error(l.message||"加载 Hero 开关失败")}finally{h.value=!1}}async function Z(){U.value=!0;try{const l=await x.saveHomepageSettings({homepage_module_hero_enabled:z.value});if((l==null?void 0:l.code)==="success"){v.success("Hero 开关已保存");return}throw new Error((l==null?void 0:l.message)||"保存 Hero 开关失败")}catch(l){v.error(l.message||"保存 Hero 开关失败")}finally{U.value=!1}}function G(){n.value=R(),k.value=!0}function J(l){n.value={id:l.id,title:l.title||"",subtitle:l.subtitle||"",description:l.description||"",image_url:l.image_url||"",video_url:l.video_url||"",link_url:l.link_url||"",link_target:l.link_target||"_self",text_align:l.text_align||"left",device_visibility:l.device_visibility||"all",show_text:l.show_text!==!1,enabled:!!l.enabled,show_meta:l.show_meta===!0,sort_order:Number(l.sort_order)||0,text_size_pc:l.text_size_pc||"",text_size_m:l.text_size_m||"",text_parallax:!!l.text_parallax,layers:Array.isArray(l.layers)?l.layers:[]},k.value=!0}async function K(){try{const l=await j({title:"选择 Hero 背景图",buttonText:"使用这张 Hero 图"});l!=null&&l.url&&(n.value.image_url=l.url)}catch(l){v.error(l.message||"打开媒体库失败")}}function O(){n.value.layers.push({image:"",free_size:!1,align:"center",parallax:!1,parallax_scale:.3,parallax_opacity:.6})}function Q(l){n.value.layers.splice(l,1)}async function ee(l){try{const e=await j({title:"选择图层图片",buttonText:"使用这张图"});e!=null&&e.url&&(n.value.layers[l].image=e.url)}catch(e){v.error(e.message||"打开媒体库失败")}}async function le(){if(!n.value.image_url){v.warning("请填写
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
.homepage-settings__empty-tabs[data-v-ae4c5b65]{padding:24px;text-align:center;border:1px dashed var(--n-border-color);border-radius:4px;margin-bottom:12px}.homepage-settings__tab-row[data-v-ae4c5b65]{margin-bottom:8px}.homepage-settings__tab-fields[data-v-ae4c5b65]{display:flex;gap:8px;align-items:center}.aksrt-form-actions[data-v-ae4c5b65]{margin-top:16px;text-align:right}
|
||||
@@ -0,0 +1 @@
|
||||
import{o as Y,X as w,a4 as t,a3 as a,Y as i,r as U,a1 as _,e as G,_ as K,W as f,f as d,a2 as F,a5 as H,F as Q,R as ee,N as I,c as M}from"./vendor-vue.Bykizn0M.js";import{a as S}from"./shared-api.D5_fnN32.js";import{P as te}from"./PageHeader.Di3JTPjc.js";import{_ as ae}from"./index.js";import{u as le}from"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const oe={class:"aksrt-page-container content-page"},se={style:{display:"flex","align-items":"center","justify-content":"space-between"}},ne={key:0,class:"homepage-settings__empty-tabs"},_e={class:"homepage-settings__tab-fields"},re={class:"aksrt-form-actions"},ie={__name:"HomepageSettings",setup(de){const A=K(),T=le(),v=U(!0),y=U(!1),$=U("stream"),B=U([]),C=[{label:"最近更新",value:"modified"},{label:"发布时间",value:"date"},{label:"浏览量",value:"views"},{label:"点赞数",value:"likes"},{label:"评论数",value:"comments"},{label:"收藏数",value:"favorites"},{label:"下载量",value:"downloads"},{label:"随机",value:"rand"}],l=G({home_posts_list_s:!0,home_list1_orderby_s:!0,home_list1_orderby_option:{orderby:"modified",options:["modified","date","views","likes","comments"]},index_list_title:"最新发布",home_exclude_posts:[],home_exclude_cats:[],home_lists:[],homepage_card_style:"default",homepage_multi_thumb_enabled:!0,homepage_multi_thumb_min_images:3,homepage_sidebar_mini_enabled:!0,homepage_default_view:"list",homepage_sort_ajax_enabled:!0,homepage_sticky_tabs_enabled:!0,home_list_sort_dropdown:!1,homepage_tab_posts_per_page:6,homepage_tab_limit:4}),N=M({get:()=>(l.home_exclude_posts||[]).join(","),set:s=>{l.home_exclude_posts=s.split(",").map(e=>parseInt(e.trim(),10)).filter(e=>e>0)}}),V=M({get:()=>(l.home_exclude_cats||[]).join(","),set:s=>{l.home_exclude_cats=s.split(",").map(e=>parseInt(e.trim(),10)).filter(e=>e>0)}});function R(){l.home_lists.push({term_id:0,title:"",orderby:"date",enabled:!0})}function X(s){l.home_lists.splice(s,1)}function h(s,e,n){l.home_lists[s][e]=n}async function Z(){try{const s=await S.getHomepageCategories(),e=(s==null?void 0:s.data)||[];B.value=e.map(n=>({label:`${n.taxonomy==="topics"?"[专题] ":""}${n.name} (${n.count})`,value:n.term_id||n.id}))}catch{}}async function q(){v.value=!0;try{const s=await S.getHomepageSettings(),e=(s==null?void 0:s.data)||{};l.home_posts_list_s=e.home_posts_list_s!==!1&&e.home_posts_list_enabled!==!1,l.home_list1_orderby_s=e.home_list1_orderby_s!==!1&&e.home_list_sort_enabled!==!1;const n=e.home_list1_orderby_option&&typeof e.home_list1_orderby_option=="object"?e.home_list1_orderby_option:{};l.home_list1_orderby_option={orderby:n.orderby||e.homepage_default_sort||"modified",options:Array.isArray(n.options)&&n.options.length?n.options:Array.isArray(e.home_list_sort_options)&&e.home_list_sort_options.length?e.home_list_sort_options:["modified","date","views","likes","comments"]},l.index_list_title=e.index_list_title||e.home_list_title||"最新发布",l.home_exclude_posts=Array.isArray(e.home_exclude_posts)?e.home_exclude_posts:Array.isArray(e.home_exclude_post_ids)?e.home_exclude_post_ids:[],l.home_exclude_cats=Array.isArray(e.home_exclude_cats)?e.home_exclude_cats:Array.isArray(e.home_exclude_category_ids)?e.home_exclude_category_ids:[],l.home_lists=Array.isArray(e.home_lists)?e.home_lists:Array.isArray(e.homepage_tabs)?e.homepage_tabs:[],l.homepage_card_style=e.homepage_card_style||"default",l.homepage_multi_thumb_enabled=e.homepage_multi_thumb_enabled!==!1,l.homepage_multi_thumb_min_images=e.homepage_multi_thumb_min_images||3,l.homepage_sidebar_mini_enabled=e.homepage_sidebar_mini_enabled!==!1,l.homepage_default_view=e.homepage_default_view||"list",l.homepage_sort_ajax_enabled=e.homepage_sort_ajax_enabled!==!1,l.homepage_sticky_tabs_enabled=e.homepage_sticky_tabs_enabled!==!1,l.home_list_sort_dropdown=!!e.home_list_sort_dropdown,l.homepage_tab_posts_per_page=e.homepage_tab_posts_per_page||6,l.homepage_tab_limit=e.homepage_tab_limit||4}catch(s){T.error(s.message||"加载设置失败")}finally{v.value=!1}}async function z(){y.value=!0;try{const s={...l},e=await S.saveHomepageSettings(s);if((e==null?void 0:e.code)==="success"){T.success("首页设置已保存");return}throw new Error((e==null?void 0:e.message)||"保存失败")}catch(s){T.error(s.message||"保存失败")}finally{y.value=!1}}return Y(()=>{Z(),q()}),(s,e)=>{const n=_("n-button"),x=_("n-alert"),r=_("n-form-item"),g=_("n-form"),u=_("n-card"),p=_("n-switch"),c=_("n-input"),k=_("n-select"),O=_("n-radio-button"),j=_("n-space"),J=_("n-radio-group"),P=_("n-input-number"),L=_("n-text"),D=_("n-spin"),E=_("n-tab-pane"),W=_("n-tabs");return f(),w("div",oe,[t(te,{title:"首页配置",desc:"配置首页主列表、分类 Tab 与基础交互。列表/卡片显示请在「文章列表」中设置。"},{actions:a(()=>[t(n,{type:"primary",loading:y.value,onClick:z},{default:a(()=>[...e[17]||(e[17]=[d("保存设置",-1)])]),_:1},8,["loading"])]),_:1}),t(W,{value:$.value,"onUpdate:value":e[16]||(e[16]=o=>$.value=o),tyLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{o as d,X as a,Y as o,Z as u,c as l,$ as _,W as r}from"./vendor-vue.Bykizn0M.js";import{_ as m}from"./index.js";import"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const v={class:"aks-native-ops-redirect"},f={key:0},h=["href"],k={key:1,class:"desc"},b={__name:"NativeOpsRedirect",setup(w){const n=_(),p=l(()=>{var e;return((e=n.meta)==null?void 0:e.title)||"运营功能已迁移"}),t=l(()=>{var i,c;const e=((i=n.meta)==null?void 0:i.nativeAdminPath)||"";return e?(((c=window.aksrtAdminData)==null?void 0:c.adminUrl)||"/wp-admin/").replace(/\/?$/,"/")+e.replace(/^\//,""):""});return d(()=>{t.value&&window.location.replace(t.value)}),(e,s)=>(r(),a("div",v,[o("h2",null,u(p.value),1),s[0]||(s[0]=o("p",{class:"desc"}," 此运营功能已迁移到 WordPress 原生后台侧栏(对齐 zibll)。正在跳转… ",-1)),t.value?(r(),a("p",f,[o("a",{class:"button button-primary",href:t.value},"立即打开原生页面",8,h)])):(r(),a("p",k,"未配置原生跳转地址,请从左侧 WP 菜单进入。"))]))}},P=m(b,[["__scopeId","data-v-da26f551"]]);export{P as default};
|
||||
@@ -0,0 +1 @@
|
||||
.aks-native-ops-redirect[data-v-da26f551]{max-width:640px;margin:48px auto;padding:24px;background:var(--aks-surface, #fff);border-radius:8px;border:1px solid var(--aks-border, #e5e7eb)}.desc[data-v-da26f551]{color:#646970;line-height:1.6}.button[data-v-da26f551]{display:inline-block;margin-top:8px;padding:8px 14px;background:#2271b1;color:#fff;border-radius:4px;text-decoration:none}
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as n}from"./index.js";import{X as s,Y as d,Z as o,l as r,a5 as c,W as t,f as i}from"./vendor-vue.Bykizn0M.js";const _={class:"aksrt-page-header"},l={class:"aksrt-page-header__main"},h={class:"aksrt-page-header__title"},p={key:0,class:"aksrt-page-header__desc"},u={key:1,class:"aksrt-page-header__desc"},g={key:0,class:"aksrt-page-header__actions"},k={__name:"PageHeader",props:{title:{type:String,required:!0},desc:{type:String,default:""}},setup(a){return(e,m)=>(t(),s("header",_,[d("div",l,[d("h2",h,o(a.title),1),a.desc?(t(),s("p",p,[r(e.$slots,"desc",{},()=>[i(o(a.desc),1)],!0)])):e.$slots.desc?(t(),s("div",u,[r(e.$slots,"desc",{},void 0,!0)])):c("",!0)]),e.$slots.actions?(t(),s("div",g,[r(e.$slots,"actions",{},void 0,!0)])):c("",!0)]))}},$=n(k,[["__scopeId","data-v-8ce32c14"]]);export{$ as P};
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-page-header[data-v-8ce32c14]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.aksrt-page-header__main[data-v-8ce32c14]{flex:1 1 auto;min-width:0}.aksrt-page-header__title[data-v-8ce32c14]{margin:0 0 6px;color:#1a1a2e;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.3}.aksrt-page-header__desc[data-v-8ce32c14]{margin:0;color:#7a7f8a;font-size:13px;line-height:1.65}.aksrt-page-header__actions[data-v-8ce32c14]{flex:0 0 auto;display:flex;align-items:center;gap:8px}@media(max-width:768px){.aksrt-page-header[data-v-8ce32c14]{margin-bottom:14px;gap:10px}.aksrt-page-header__title[data-v-8ce32c14]{font-size:18px}.aksrt-page-header__desc[data-v-8ce32c14]{font-size:12px}.aksrt-page-header__actions[data-v-8ce32c14]{width:100%}}
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as H,a1 as c,W as _,X as V,a4 as s,a3 as t,a2 as g,F as A,R as D,f as C,Z as d,a5 as $,l as I,N as h,c as z,o as T,r as F,Y as n,L as P}from"./vendor-vue.Bykizn0M.js";import{a as q}from"./shared-api.D5_fnN32.js";import{P as U}from"./PageHeader.Di3JTPjc.js";import{u as W,A as X,g as Y}from"./shared-api.B7o7Pzvu.js";import{u as L}from"./vendor-naive.BuHWlEgf.js";import{_ as Z}from"./index.js";import"./FaIcon.CX_hGmM4.js";import"./vendor-misc.1adHN6i_.js";const j={class:"aksrt-page-container"},J={__name:"PaymentSectionPage",props:{section:{type:String,required:!0},title:{type:String,required:!0},desc:{type:String,default:""},note:{type:String,default:""},links:{type:Array,default:()=>[]}},setup(m){const y=m,v=H(),o=L(),f=z(()=>Y("payment",y.section)||{groups:[]}),N=z(()=>{const l={};return(f.value.groups||[]).forEach(x=>{(x.fields||[]).forEach(w=>{w.default!==void 0&&(l[w.key]=w.default)})}),l}),{formData:u,loading:e,saving:i,loadError:p,dirty:S,save:B,reload:b}=W({fetch:()=>q.getSchemaPage("payment",y.section),submit:l=>q.saveSchemaPage("payment",y.section,l),defaults:N.value,onSaved:()=>{o.success("设置已保存")}});function E(l){v.push(l)}async function a(){try{await B()}catch(l){o.error(l.message||"保存失败")}}function r(){b(),o.info("已放弃更改")}return(l,x)=>{const w=c("n-button"),M=c("n-space"),R=c("n-alert"),G=c("n-card");return _(),V("div",j,[s(U,{title:m.title,desc:m.desc},{actions:t(()=>[m.links.length?(_(),g(M,{key:0},{default:t(()=>[(_(!0),V(A,null,D(m.links,k=>(_(),g(w,{key:k.path,quaternary:"",onClick:ne=>E(k.path)},{default:t(()=>[C(d(k.label),1)]),_:2},1032,["onClick"]))),128))]),_:1})):$("",!0)]),_:1},8,["title","desc"]),m.note?(_(),g(G,{key:0,class:"aksrt-section-card"},{default:t(()=>[s(R,{type:"info","show-icon":!1},{default:t(()=>[C(d(m.note),1)]),_:1})]),_:1})):$("",!0),I(l.$slots,"before-form"),s(X,{schema:f.value.groups,"form-data":h(u),dirty:h(S),loading:h(e),saving:h(i),"load-error":h(p),"show-search":!1,"onUpdate:formData":x[0]||(x[0]=k=>u.value=k),onSave:a,onReload:r},null,8,["schema","form-data","dirty","loading","saving","load-error"])])}}},K={class:"aksrt-gateway__card"},O={class:"aksrt-gateway__stat"},Q={class:"aksrt-gateway__stat"},ee={class:"aksrt-gateway__stat"},ae={class:"aksrt-gateway__stat"},te={__name:"PaymentGateway",setup(m){const y=L(),v=F([]),o=F({}),f=F(!1),N=z(()=>{var e;const u=(e=o.value.gateway)==null?void 0:e.mode;return u==="test_gateway"?"测试网关":u==="adapter_ready"?"适配器就绪":"人工确认"});return T(async()=>{var u;f.value=!0;try{const[e,i]=await Promise.all([q.request("/shop/gateways").catch(()=>null),q.request("/payment/overview").catch(()=>null)]);(u=e==null?void 0:e.data)!=null&&u.gateways&&(v.value=e.data.gateways),i!=null&&i.data&&(o.value=i.data)}catch{y.warning("部分支付接口暂不可用")}finally{f.value=!1}}),(u,e)=>{const i=c("n-tag"),p=c("n-grid-item"),S=c("n-grid"),B=c("n-empty"),b=c("n-card"),E=c("n-spin");return _(),g(J,{section:"gateway",title:"收款接口",desc:"管理支付网关、查看连接状态、配置回调口令。",note:"当前支持人工确认与测试联调;回调校验口令在接入真实网关时直接复用。",links:[{label:"余额充值",path:"/payment/recharge"},{label:"付费内容",path:"/payment/paid"}]},{"before-form":t(()=>[s(E,{show:f.value},{default:t(()=>[s(b,{class:"aksrt-section-card",title:"网关状态"},{default:t(()=>[s(S,{cols:3,"x-gap":12,"y-gap":12},{default:t(()=>[(_(!0),V(A,null,D(v.value,a=>(_(),g(p,{key:a.id},{default:t(()=>[n("div",K,[n("div",{class:P(["aksrt-gateway__icon",a.configured?"aksrt-gateway__icon--active":""])},[n("i",{class:P(a.id==="balance"?"fas fa-wallet":"fas fa-credit-card")},null,2)],2),n("div",null,[n("strong",null,d(a.name),1),n("p",null,d(a.configured?"已配置":"未配置"),1)]),s(i,{type:a.configured?"success":"default",size:"small",round:""},{default:t(()=>[C(d(a.configured?"可用":"不可用"),1)]),_:2},1032,["type"])])]),_:2},1024))),128))]),_:1}),!f.value&&v.value.length===0?(_(),g(B,{key:0,description:"暂无已注册的支付网关"})):$("",!0)]),_:1}),s(b,{class:"aksrt-section-card",title:"运行摘要"},{default:t(()=>[s(S,{cols:4,"x-gap":12,"y-gap":12},{default:t(()=>[s(p,null,{default:t(()=>[n("div",O,[n("strong",null,d(N.value),1),e[0]||(e[0]=n("p",null,"当前模式",-1))])]),_:1}),s(p,null,{default:t(()=>{var a,r;return[n("div",Q,[n("strong",{class:P((a=o.value.gateway)!=null&&a.test_enabled?"aksrt-text-warning":"")},d((r=o.value.gateway)!=null&&r.test_enabled?"启用":"关闭"),3),e[1]||(e[1]=n("p",null,"测试网关",-1))])]}),_:1}),s(p,null,{default:t(()=>{var a,r;return[n("div",ee,[n("strong",{class:P((a=o.value.gateway)!=null&&a.manual_review?"aksrt-text-info":"")},d((r=o.value.gateway)!=null&&r.manual_review?"启用":"关闭"),3),e[2]||(e[2]=n("p",null,"人工复核",-1))])]}),_:1}),s(p,null,{default:t(()=>{var a;return[n("div",ae,[s(i,{type:(a=o.value.gateway)!=null&&a.callback_secret?"success":"warning",size:"Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-gateway__card[data-v-fe319791]{display:flex;align-items:center;gap:12px;padding:14px;border-radius:8px;background:var(--surface-2, #fafafa);border:1px solid var(--color-line, #f0f0f0)}.aksrt-gateway__icon[data-v-fe319791]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--surface-3, #f0f0f0);color:var(--color-ink-4, #8a909c);font-size:16px}.aksrt-gateway__icon--active[data-v-fe319791]{background:var(--color-primary-soft, #f0f5ff);color:var(--color-primary, #1890ff)}.aksrt-gateway__card strong[data-v-fe319791]{display:block;font-size:14px;color:var(--color-ink, #1a1a2e)}.aksrt-gateway__card p[data-v-fe319791]{margin:2px 0 0;font-size:12px;color:var(--color-ink-4, #8a909c)}.aksrt-gateway__stat[data-v-fe319791]{text-align:center;padding:16px;border-radius:8px;background:var(--surface-2, #fafafa)}.aksrt-gateway__stat strong[data-v-fe319791]{display:block;font-size:18px;font-weight:600;color:var(--color-ink, #1a1a2e)}.aksrt-gateway__stat p[data-v-fe319791]{margin:4px 0 0;font-size:12px;color:var(--color-ink-4, #8a909c)}.aksrt-text-warning[data-v-fe319791]{color:var(--color-warning, #f59e0b)}.aksrt-text-info[data-v-fe319791]{color:var(--color-info, #3b82f6)}
|
||||
@@ -0,0 +1 @@
|
||||
import{a as V}from"./shared-api.D5_fnN32.js";import{P as R}from"./PageHeader.Di3JTPjc.js";import{_ as T}from"./index.js";import{u as U,b as C,e as q,f as H}from"./vendor-naive.BuHWlEgf.js";import{o as L,X as j,a4 as l,a3 as o,r as _,e as B,a1 as f,W as h,f as m,a2 as P,Y as c,N as S,Z as v,a5 as W,F as X,R as Y,k as r}from"./vendor-vue.Bykizn0M.js";import"./vendor-misc.1adHN6i_.js";const Z={class:"aksrt-page-container"},A={class:"aksrt-cap-matrix__header"},G={class:"aksrt-cap-matrix__title"},I={class:"aksrt-cap-matrix__desc"},K={class:"aksrt-form-actions"},Q={__name:"PermissionsCapabilities",setup($){const y=U(),g=_(!0),k=_(!1),b=_([]),N=_({}),u=B({cap_count:0,group_count:0,column_count:0}),i=B({}),x=_({});L(w);async function w(){g.value=!0;try{const e=await V.getCapabilities(),a=(e==null?void 0:e.data)||{};N.value=a.columns||{},b.value=a.groups||[],Object.assign(u,a.summary||{cap_count:0,group_count:0,column_count:0});const s={};for(const t of b.value)for(const n of t.items||[])s[n.cap_id]={...n.values||{}};O(i,s),x.value=JSON.parse(JSON.stringify(s))}catch(e){y.error((e==null?void 0:e.message)||"加载能力矩阵失败")}finally{g.value=!1}}function O(e,a){Object.keys(e).forEach(s=>delete e[s]),Object.entries(a).forEach(([s,t])=>{e[s]={...t}})}function z(e){const a=[{title:"能力项",key:"label",fixed:"left",width:280,render:t=>r("div",{class:"aksrt-cap-matrix__cap"},[r("strong",t.label),r("code",t.cap_id)])}],s=new Set;for(const t of e.items||[])for(const n of t.visible_columns||[])s.add(n);for(const t of Object.keys(N.value||{}))s.has(t)&&a.push({title:N.value[t],key:t,width:t==="level"||t==="vip"?110:100,render:n=>E(n,t)});return a}function E(e,a){var t,n;return(e.visible_columns||[]).includes(a)?(i[e.cap_id]||(i[e.cap_id]={...e.values||{}}),a==="level"||a==="vip"?r(q,{value:((t=i[e.cap_id])==null?void 0:t[a])??-1,min:-1,max:a==="level"?10:2,step:1,size:"small",style:"width: 90px",onUpdateValue:d=>J(e.cap_id,a,d??-1)}):r(H,{value:!!((n=i[e.cap_id])!=null&&n[a]),size:"small",onUpdateValue:d=>J(e.cap_id,a,d)})):r("span",{class:"aksrt-cap-matrix__empty"},"—")}function J(e,a,s){i[e]||(i[e]={}),i[e][a]=s}function M(){O(i,JSON.parse(JSON.stringify(x.value||{}))),y.info("已恢复默认矩阵")}async function D(){k.value=!0;try{await V.saveCapabilities(JSON.parse(JSON.stringify(i))),x.value=JSON.parse(JSON.stringify(i)),y.success("能力矩阵已保存")}catch(e){y.error((e==null?void 0:e.message)||"保存能力矩阵失败")}finally{k.value=!1}}return(e,a)=>{const s=f("n-button"),t=f("n-space"),n=f("n-card"),d=f("n-data-table"),F=f("n-spin");return h(),j("div",Z,[l(R,{title:"基本权限 / 能力矩阵",desc:"统一管理用户治理、投稿和评论的角色能力矩阵。"},{actions:o(()=>[l(t,null,{default:o(()=>[l(s,{quaternary:"",onClick:M},{default:o(()=>[...a[0]||(a[0]=[m("恢复默认",-1)])]),_:1})]),_:1})]),_:1}),l(F,{show:g.value,style:{width:"100%","min-height":"240px"}},{default:o(()=>[u.cap_count?(h(),P(n,{key:0,class:"aksrt-section-card"},{default:o(()=>[a[1]||(a[1]=c("div",{class:"aksrt-section-header"},[c("h3",null,"矩阵概览")],-1)),l(t,null,{default:o(()=>[l(S(C),{round:"",type:"info"},{default:o(()=>[m("能力项:"+v(u.cap_count),1)]),_:1}),l(S(C),{round:"",type:"info"},{default:o(()=>[m("分组:"+v(u.group_count),1)]),_:1}),l(S(C),{round:"",type:"info"},{default:o(()=>[m("角色列:"+v(u.column_count),1)]),_:1})]),_:1})]),_:1})):W("",!0),(h(!0),j(X,null,Y(b.value,p=>(h(),P(n,{key:p.key,class:"aksrt-section-card"},{header:o(()=>[c("div",A,[c("div",null,[c("h3",G,v(p.title),1),c("p",I,"共 "+v(p.items.length)+" 项能力",1)])])]),default:o(()=>[l(d,{columns:z(p),data:p.items,bordered:!0,size:"small","single-line":!1,"scroll-x":1200},null,8,["columns","data"])]),_:2},1024))),128)),c("div",K,[l(s,{type:"primary",loading:k.value,onClick:D},{default:o(()=>[...a[2]||(a[2]=[m("保存能力矩阵",-1)])]),_:1},8,["loading"])])]),_:1},8,["show"])])}}},ie=T(Q,[["__scopeId","data-v-34bd6923"]]);export{ie as default};
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-cap-matrix__header[data-v-34bd6923]{display:flex;align-items:center;justify-content:space-between}.aksrt-cap-matrix__title[data-v-34bd6923]{margin:0;font-size:15px;font-weight:600}.aksrt-cap-matrix__desc[data-v-34bd6923]{margin:4px 0 0;font-size:12px;color:#8a909c}.aksrt-cap-matrix__cap[data-v-34bd6923]{display:flex;flex-direction:column;gap:4px}.aksrt-cap-matrix__cap code[data-v-34bd6923]{font-size:11px;color:#667085}.aksrt-cap-matrix__empty[data-v-34bd6923]{color:#c0c4cc}.aksrt-form-actions[data-v-34bd6923]{display:flex;justify-content:flex-end;margin-top:16px}
|
||||
@@ -0,0 +1 @@
|
||||
import t from"./SchemaPage.CSkx936u.js";import{a2 as o,W as r}from"./vendor-vue.Bykizn0M.js";import"./shared-api.B7o7Pzvu.js";import"./FaIcon.CX_hGmM4.js";import"./index.js";import"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";import"./shared-api.D5_fnN32.js";const l={__name:"PostPageSettings",setup(e){return(p,a)=>(r(),o(t,{domain:"post_list",section:"page"}))}};export{l as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{o as z,X as L,a4 as t,a3 as o,r as f,a1 as s,e as W,_ as E,W as R,f as r,Y as _,Z as m,a2 as H,a5 as I,c as V}from"./vendor-vue.Bykizn0M.js";import{a as c}from"./shared-api.D5_fnN32.js";import{P as O}from"./PageHeader.Di3JTPjc.js";import{u as X}from"./vendor-naive.BuHWlEgf.js";import"./index.js";import"./vendor-misc.1adHN6i_.js";const Y={class:"aksrt-page-container"},Z={class:"aksrt-form-actions"},ae={__name:"ResourceDownload",setup(j){const B=E(),k=X(),b=f(!0),x=f(!1),C=f({}),v=f({}),P=f({}),a=W({download_login:!0,download_credit:!0,download_captcha:!1,download_default_cost:0,payment_paid_post_types:"post",payment_vip_free_download:!1,payment_vip_exempt_roles:"",payment_paid_catalog_note:"",payment_manual_delivery_note:"付费或人工确认内容请在订单备注中记录交付方式。"}),S=V(()=>P.value.currency_name||v.value.currency_name||"积分"),T=V(()=>{var e;const l=((e=P.value.gateway)==null?void 0:e.mode)||"manual_review";return l==="test_gateway"?"测试网关":l==="adapter_ready"?"适配器就绪":"人工确认"});function N(l){B.push(l)}function U(l){return(l==null?void 0:l.data)??l??{}}async function h(){var l;b.value=!0;try{const[e,y,w,u]=await Promise.all([c.getCmsFeatures(),c.getCreditSettings(),c.getSchemaPage("payment","paid"),c.getPaymentOverview()]),p=(e==null?void 0:e.cms_features)??((l=e==null?void 0:e.data)==null?void 0:l.cms_features)??{},i=U(y),d=U(w);C.value=p,v.value=i,P.value=U(u),a.download_login=p.download_login!==!1,a.download_credit=p.download_credit!==!1,a.download_captcha=!!p.download_captcha,a.download_default_cost=Number(i.download_default_cost||0),a.payment_paid_post_types=d.payment_paid_post_types||"post",a.payment_vip_free_download=!!d.payment_vip_free_download,a.payment_vip_exempt_roles=d.payment_vip_exempt_roles||"",a.payment_paid_catalog_note=d.payment_paid_catalog_note||"",a.payment_manual_delivery_note=d.payment_manual_delivery_note||"付费或人工确认内容请在订单备注中记录交付方式。"}catch(e){k.error(e.message||"加载下载/付费内容中心失败")}finally{b.value=!1}}async function F(){x.value=!0;try{const l={...C.value,download_login:a.download_login,download_credit:a.download_credit,download_captcha:a.download_captcha},e={...v.value,download_default_cost:Number(a.download_default_cost||0)};await Promise.all([c.saveCmsFeatures(l),c.saveCreditSettings(e),c.saveSchemaPage("payment","paid",{payment_paid_post_types:a.payment_paid_post_types,payment_vip_free_download:a.payment_vip_free_download,payment_vip_exempt_roles:a.payment_vip_exempt_roles,payment_paid_catalog_note:a.payment_paid_catalog_note,payment_manual_delivery_note:a.payment_manual_delivery_note})]),C.value=l,v.value=e,k.success("下载/付费内容中心已保存")}catch(l){k.error(l.message||"保存失败")}finally{x.value=!1}}return z(h),(l,e)=>{const y=s("n-button"),w=s("n-space"),u=s("n-tag"),p=s("n-card"),i=s("n-switch"),d=s("n-form-item"),M=s("n-input-number"),D=s("n-form"),g=s("n-input"),$=s("n-alert"),q=s("n-spin");return R(),L("div",Y,[t(O,{title:"下载/付费内容中心",desc:"统一管理资源下载门槛、积分购买模式开关、角色免扣和人工交付说明。付费解锁走收银台订单,下载 token 不再按次扣费。"},{actions:o(()=>[t(w,null,{default:o(()=>[t(y,{quaternary:"",onClick:e[0]||(e[0]=n=>N("/permissions/download"))},{default:o(()=>[...e[11]||(e[11]=[r("下载权限",-1)])]),_:1}),t(y,{quaternary:"",onClick:e[1]||(e[1]=n=>N("/payment/gateway"))},{default:o(()=>[...e[12]||(e[12]=[r("收款接口",-1)])]),_:1})]),_:1})]),_:1}),t(q,{show:b.value,style:{width:"100%","min-height":"200px"}},{default:o(()=>[t(p,{class:"aksrt-section-card"},{default:o(()=>[e[14]||(e[14]=_("div",{class:"aksrt-section-header"},[_("h3",null,"当前联动摘要")],-1)),t(w,null,{default:o(()=>[t(u,{round:"",type:a.download_login?"warning":"default"},{default:o(()=>[r(" 登录门槛:"+m(a.download_login?"已启用":"已关闭"),1)]),_:1},8,["type"]),t(u,{round:"",type:a.download_credit?"warning":"default"},{default:o(()=>[r(" 积分购买模式:"+m(a.download_credit?"已启用":"已关闭"),1)]),_:1},8,["type"]),t(u,{round:"",type:a.download_captcha?"warning":"default"},{default:o(()=>[r(" 下载验证码:"+m(a.download_captcha?"已启用":"已关闭"),1)]),_:1},8,["type"]),t(u,{round:"",type:"info"},{default:o(()=>[r(" 默认积分价:"+m(a.download_default_cost)+" "+m(S.value),1)]),_:1}),t(u,{round:"",type:a.payment_vip_free_download?"success":"default"},{default:o(()=>[r(" 角色白名单免费:"+m(a.payment_vip_free_download?"已启用":"未启用"),1)]),_:1},8,["type"]),t(u,{round:"",type:"info"},{default:o(()=>[...e[13]||(e[13]=[r(" Token TTL:10 分钟 ",-1)])]),_:1})]),_:1})]),_:1}),t(p,{class:"aksrt-section-card"},{default:o(()=>[e[17]||(e[17]=_("div",{class:"aksrt-section-header"},[_("h3",null,"下载门槛")],-1)),t(D,{model:a,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:o(()=>[t(d,{label:"下载需要Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
import{aa as R,a1 as i,W as _,a2 as S,a3 as l,a4 as a,f,Y as C,c as x,w as te,b as ae,X as K,ab as ne,R as le,N as A,a5 as M,ac as oe,I as se,Z as ue,r as L,$ as ce,l as re,ad as ie,ae as de,n as pe}from"./vendor-vue.Bykizn0M.js";import{u as me,A as fe,n as ve,g as $}from"./shared-api.B7o7Pzvu.js";import{a as F}from"./shared-api.D5_fnN32.js";import{_ as _e}from"./index.js";import{u as ge}from"./vendor-naive.BuHWlEgf.js";import"./FaIcon.CX_hGmM4.js";import"./vendor-misc.1adHN6i_.js";const ye={__name:"TencentConfig",props:{modelValue:{type:Object,default:()=>({})},modelModifiers:{}},emits:["update:modelValue"],setup(T){const s=R(T,"modelValue"),y=x(()=>{const u=s.value;return!!(u.secret_id&&u.secret_key&&u.app_id&&u.app_secret_key)});return(u,e)=>{const v=i("n-divider"),o=i("n-a"),m=i("n-alert"),p=i("n-input"),g=i("n-form-item"),k=i("n-tag"),I=i("n-space"),V=i("n-form");return _(),S(V,{"label-placement":"left","label-width":"130"},{default:l(()=>[a(I,{vertical:"",style:{width:"100%"}},{default:l(()=>[a(v,{"title-placement":"left"},{default:l(()=>[...e[4]||(e[4]=[f("云 API 密钥(用于 TC3 签名)",-1)])]),_:1}),a(m,{type:"warning",style:{"margin-bottom":"12px"}},{default:l(()=>[e[6]||(e[6]=f(" 请从 ",-1)),a(o,{href:"https://console.cloud.tencent.com/cam/capi",target:"_blank"},{default:l(()=>[...e[5]||(e[5]=[f("访问管理控制台 → API 密钥管理",-1)])]),_:1}),e[7]||(e[7]=f(" 获取。建议使用子账号密钥并仅授予 ",-1)),e[8]||(e[8]=C("code",null,"QcloudCaptchaFullAccess",-1)),e[9]||(e[9]=f(" 权限。 ",-1))]),_:1}),a(g,{label:"SecretId"},{default:l(()=>[a(p,{value:s.value.secret_id,"onUpdate:value":e[0]||(e[0]=c=>s.value.secret_id=c),placeholder:"腾讯云 API SecretId",autocomplete:"off"},null,8,["value"])]),_:1}),a(g,{label:"SecretKey"},{default:l(()=>[a(p,{value:s.value.secret_key,"onUpdate:value":e[1]||(e[1]=c=>s.value.secret_key=c),type:"text",placeholder:"腾讯云 API SecretKey",autocomplete:"off","show-password-on":"click"},null,8,["value"])]),_:1}),a(v,{"title-placement":"left"},{default:l(()=>[...e[10]||(e[10]=[f("验证码密钥",-1)])]),_:1}),a(g,{label:"CaptchaAppId"},{default:l(()=>[a(p,{value:s.value.app_id,"onUpdate:value":e[2]||(e[2]=c=>s.value.app_id=c),placeholder:"从验证码控制台获取 CaptchaAppId",autocomplete:"off"},null,8,["value"])]),_:1}),a(g,{label:"AppSecretKey"},{feedback:l(()=>[...e[11]||(e[11]=[f("请从「验证管理 → 基础配置」完整复制,注意区分 I/l/1/O/0",-1)])]),default:l(()=>[a(p,{value:s.value.app_secret_key,"onUpdate:value":e[3]||(e[3]=c=>s.value.app_secret_key=c),type:"text",placeholder:"从验证码控制台获取 AppSecretKey",autocomplete:"off","show-password-on":"click"},null,8,["value"])]),_:1}),a(m,{type:"info",style:{"margin-bottom":"12px"}},{default:l(()=>[...e[12]||(e[12]=[f(" 腾讯云验证码 2.0 — 验证类型(滑动拼图、文字点选、空间语义等)请在",-1),C("a",{href:"https://console.cloud.tencent.com/captcha/graphical",target:"_blank"},"验证码控制台",-1),f("配置。 ",-1)])]),_:1}),y.value?(_(),S(k,{key:0,type:"success",size:"small"},{default:l(()=>[...e[13]||(e[13]=[f("✓ 已完整配置",-1)])]),_:1})):(_(),S(k,{key:1,type:"warning",size:"small"},{default:l(()=>[...e[14]||(e[14]=[f("未完成配置",-1)])]),_:1}))]),_:1})]),_:1})}}},we={__name:"AliyunConfig",props:{modelValue:{type:Object,default:()=>({})},modelModifiers:{}},emits:["update:modelValue"],setup(T){const s=R(T,"modelValue"),y=x(()=>{const u=s.value;return!!(u.region&&u.prefix&&u.scene_id&&u.access_key_id&&u.access_key_secret)});return(u,e)=>{const v=i("n-divider"),o=i("n-select"),m=i("n-form-item"),p=i("n-input"),g=i("n-alert"),k=i("n-tag"),I=i("n-space"),V=i("n-form");return _(),S(V,{"label-placement":"left","label-width":"130"},{default:l(()=>[a(I,{vertical:"",style:{width:"100%"}},{default:l(()=>[a(v,{"title-placement":"left"},{default:l(()=>[...e[5]||(e[5]=[f("前端配置",-1)])]),_:1}),a(m,{label:"所属地区"},{default:l(()=>[a(o,{value:s.value.region,"onUpdate:value":e[0]||(e[0]=c=>s.value.region=c),options:[{label:"中国内地 (cn)",value:"cn"},{label:"新加坡 (sgp)",value:"sgp"}],placeholder:"选择地区"},null,8,["value"])]),_:1}),a(m,{label:"身份标 (prefix)"},{default:l(()=>[a(p,{value:s.value.prefix,"onUpdate:value":e[1]||(e[1]=c=>s.value.prefix=c),placeholder:"从概览页获取身份标",autocomplete:"off"},null,8,["value"])]),_:1}),a(m,{label:"场景ID"},{default:l(()=>[a(p,{value:s.value.scene_id,"onUpdate:value":e[2]||(e[2]=c=>s.value.scene_id=c),placeholder:"从验证码场景列表获取 SceneId",autocomplete:"off"},null,8,["value"])]),_:1}),a(v,{"title-placement":"left"},{default:l(()=>[...e[6]||(e[6]=[f("后端 API 密钥(用于服务端验签)",-1)])]),_:1}),a(m,{label:"AccessKey ID"},{default:l(()=>[a(p,{value:s.value.access_key_id,"onUpdate:value":e[3]||(e[3]=c=>s.value.access_key_id=c),placeholder:"阿里云 RAM 用户 AccessKey ID",autocomplete:"off"},null,8,["value"])]),_:1}),Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-schema-page[data-v-a4bec770]{max-width:1100px;margin:0 auto}.aksrt-schema-page__tool-actions[data-v-a4bec770]{display:flex;justify-content:flex-end;margin-top:16px}.aksrt-schema-page__field-hint[data-v-a4bec770]{margin:8px 0 0;font-size:12px;color:#8a909c}.captcha-test-overlay[data-v-a4bec770]{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999}.captcha-test-panel[data-v-a4bec770]{background:#fff;border-radius:12px;width:420px;max-width:90%;box-shadow:0 8px 32px #0000002e}.captcha-test-header[data-v-a4bec770]{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid #e8e8ec;font-size:16px;font-weight:600}.captcha-test-close[data-v-a4bec770]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;line-height:1}.captcha-test-close[data-v-a4bec770]:hover{color:#333}.captcha-test-body[data-v-a4bec770]{padding:24px;min-height:180px;display:flex;justify-content:center;align-items:center}
|
||||
@@ -0,0 +1 @@
|
||||
import{X as k,a4 as n,a3 as o,a1 as s,_ as c,W as x,f as e}from"./vendor-vue.Bykizn0M.js";import{P as C}from"./PageHeader.Di3JTPjc.js";import"./index.js";import"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const b={class:"aksrt-page-container"},q={__name:"ThemeAuthorizationPage",setup(g){const d=c();function r(a){d.push(a)}return(a,t)=>{const i=s("n-button"),p=s("n-space"),_=s("n-alert"),u=s("n-card"),l=s("n-list-item"),m=s("n-list");return x(),k("div",b,[n(C,{title:"主题授权",desc:"当前版本按产品决策不实现在线授权/撤销授权,仅保留主题信息与更新能力。"},{actions:o(()=>[n(p,null,{default:o(()=>[n(i,{quaternary:"",onClick:t[0]||(t[0]=f=>r("/tools/import-export"))},{default:o(()=>[...t[2]||(t[2]=[e("兼容&工具",-1)])]),_:1}),n(i,{quaternary:"",onClick:t[1]||(t[1]=f=>r("/tools/update"))},{default:o(()=>[...t[3]||(t[3]=[e("更新中心",-1)])]),_:1})]),_:1})]),_:1}),n(u,{class:"aksrt-section-card"},{default:o(()=>[n(_,{type:"info",title:"按设计省略","show-icon":!0},{default:o(()=>[...t[4]||(t[4]=[e(" 本主题当前不实现 zibll 风格的授权码校验、域名绑定、撤销授权、本地免授权等机制。 `AKSRT_Update_Checker` 仅负责匿名版本检测与更新提示,不与授权系统耦合。 ",-1)])]),_:1})]),_:1}),n(u,{class:"aksrt-section-card",title:"当前策略",size:"small"},{default:o(()=>[n(m,{bordered:""},{default:o(()=>[n(l,null,{default:o(()=>[...t[5]||(t[5]=[e("不提供授权码输入框或“立即授权”按钮",-1)])]),_:1}),n(l,null,{default:o(()=>[...t[6]||(t[6]=[e("不提供“已授权 / 未授权 / 本地免授权”三态逻辑",-1)])]),_:1}),n(l,null,{default:o(()=>[...t[7]||(t[7]=[e("更新能力统一收口到“更新中心”与“主题信息”页",-1)])]),_:1}),n(l,null,{default:o(()=>[...t[8]||(t[8]=[e("若未来恢复授权体系,应单独立项,不与现有更新检测器混接",-1)])]),_:1})]),_:1})]),_:1})])}}};export{q as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{P as M}from"./PageHeader.Di3JTPjc.js";import{_ as f}from"./FaIcon.CX_hGmM4.js";import{a as B}from"./shared-api.D5_fnN32.js";import{_ as P}from"./index.js";import{b as _,g as b}from"./vendor-naive.BuHWlEgf.js";import{o as T,X as z,a4 as e,F as w,a3 as a,r as V,a1 as c,W as p,N as d,f as n,Z as u,Y as m,R as N,a2 as x,a5 as S,k as C}from"./vendor-vue.Bykizn0M.js";import"./vendor-misc.1adHN6i_.js";const I={class:"aksrt-page-container"},F={key:0,class:"aksrt-theme-info__loading"},H={class:"aksrt-theme-info__modules"},E={class:"aksrt-theme-info__links"},L={__name:"ThemeInfoPage",setup(R){const g=V(!0),t=V({themeVersion:"",wpVersion:"",phpVersion:"",dbSchemaVersion:"",emailBackfillDone:!1,siteUrl:"",apiUrl:"",themeDir:"",uploadDir:"",isMultisite:!1,debugMode:!1,modules:[],tables:[]}),D=[{title:"数据表",key:"name",width:220},{title:"状态",key:"exists",width:100,render(s){return C(_,{type:s.exists?"success":"error",size:"small",bordered:!1},{default:()=>s.exists?"正常":"缺失"})}},{title:"行数",key:"rows",width:100,render(s){return s.exists?s.rows.toLocaleString():"—"}}];T(async()=>{var s,l,v,o,k;try{const r=await B.getHealthCheck(),i=(r==null?void 0:r.data)||r||{};t.value={themeVersion:((s=window.aksrtAdminData)==null?void 0:s.themeVersion)||i.theme_version||"3.4.0-dev",wpVersion:i.wp_version||"",phpVersion:i.php_version||"",dbSchemaVersion:i.db_schema_version||"",emailBackfillDone:!!i.email_backfill_done,siteUrl:i.site_url||((l=window.aksrtAdminData)==null?void 0:l.siteUrl)||"",apiUrl:i.api_url||((v=window.aksrtAdminData)==null?void 0:v.apiUrl)||"",themeDir:i.theme_dir||"",uploadDir:i.upload_dir||"",isMultisite:!!i.is_multisite,debugMode:!!i.debug_mode,modules:U(i.modules||[]),tables:A(i.tables||[])}}catch(r){console.error("[ThemeInfo] Failed to load health data:",r),t.value.themeVersion="3.4.0-dev",t.value.siteUrl=((o=window.aksrtAdminData)==null?void 0:o.siteUrl)||"",t.value.apiUrl=((k=window.aksrtAdminData)==null?void 0:k.apiUrl)||""}finally{g.value=!1}});function U(s){return Array.isArray(s)?s.map(l=>({key:l.key||l.name||"",label:l.label||l.name||l.key||"",enabled:!!l.enabled})):[]}function A(s){return Array.isArray(s)?s.map(l=>({name:l.name||"",exists:!!l.exists,rows:l.rows||0})):[]}return(s,l)=>{const v=c("n-spin"),o=c("n-descriptions-item"),k=c("n-descriptions"),r=c("n-card"),i=c("n-data-table"),h=c("router-link");return p(),z("div",I,[e(M,{title:"主题信息",desc:"主题版本、运行环境、已启用模块和关键系统信息。"}),g.value?(p(),z("div",F,[e(v,{size:"medium"})])):(p(),z(w,{key:1},[e(r,{class:"aksrt-theme-info__card",title:"版本信息",size:"small"},{default:a(()=>[e(k,{column:2,bordered:"","label-placement":"left",size:"small"},{default:a(()=>[e(o,{label:"主题版本"},{default:a(()=>[e(d(_),{type:"success",size:"small"},{default:a(()=>[n(u(t.value.themeVersion),1)]),_:1})]),_:1}),e(o,{label:"WordPress 版本"},{default:a(()=>[n(u(t.value.wpVersion),1)]),_:1}),e(o,{label:"PHP 版本"},{default:a(()=>[e(d(_),{type:t.value.phpVersion>="8.1"?"success":"warning",size:"small"},{default:a(()=>[n(u(t.value.phpVersion),1)]),_:1},8,["type"])]),_:1}),e(o,{label:"数据库 Schema"},{default:a(()=>[e(d(_),{type:"info",size:"small"},{default:a(()=>[n(u(t.value.dbSchemaVersion),1)]),_:1})]),_:1}),e(o,{label:"邮箱验证回填"},{default:a(()=>[e(d(_),{type:t.value.emailBackfillDone?"success":"default",size:"small"},{default:a(()=>[n(u(t.value.emailBackfillDone?"已完成":"未触发"),1)]),_:1},8,["type"])]),_:1})]),_:1})]),_:1}),e(r,{class:"aksrt-theme-info__card",title:"运行环境",size:"small"},{default:a(()=>[e(k,{column:2,bordered:"","label-placement":"left",size:"small"},{default:a(()=>[e(o,{label:"站点地址"},{default:a(()=>[e(d(b),{code:""},{default:a(()=>[n(u(t.value.siteUrl),1)]),_:1})]),_:1}),e(o,{label:"REST API"},{default:a(()=>[e(d(b),{code:""},{default:a(()=>[n(u(t.value.apiUrl),1)]),_:1})]),_:1}),e(o,{label:"主题目录"},{default:a(()=>[e(d(b),{code:""},{default:a(()=>[n(u(t.value.themeDir),1)]),_:1})]),_:1}),e(o,{label:"上传目录"},{default:a(()=>[e(d(b),{code:""},{default:a(()=>[n(u(t.value.uploadDir),1)]),_:1})]),_:1}),e(o,{label:"多站点"},{default:a(()=>[e(d(_),{type:t.value.isMultisite?"warning":"default",size:"small"},{default:a(()=>[n(u(t.value.isMultisite?"是":"否"),1)]),_:1},8,["type"])]),_:1}),e(o,{label:"调试模式"},{default:a(()=>[e(d(_),{type:t.value.debugMode?"warning":"default",size:"small"},{default:a(()=>[n(u(t.value.debugMode?"开启":"关闭"),1)]),_:1},8,["type"])]),_:1})]),_:1})]),_:1}),e(r,{class:"aksrt-theme-info__card",title:"已启用模块",size:"small"},{default:a(()=>[m("div",H,[(p(!0),z(w,null,N(t.value.modules,y=>(p(),x(d(_),{key:y.key,type:y.enabled?"success":"default",size:"small",class:"aksrt-theme-info__module-tag"},{default:a(()=>[e(f,{icon:y.enabled?"fas fa-check-circle":"fas fa-circle",size:10},null,8,["icon"]),n(" "+u(y.label),1)]),_:2},1032,["type"]))),128))]),t.value.modules.length?S("",!0):(p(),x(d(bLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-theme-info__loading[data-v-ded10315]{display:flex;justify-content:center;padding:60px 0}.aksrt-theme-info__card[data-v-ded10315]{margin-bottom:16px}.aksrt-theme-info__modules[data-v-ded10315]{display:flex;flex-wrap:wrap;gap:8px}.aksrt-theme-info__module-tag[data-v-ded10315]{display:inline-flex;align-items:center;gap:5px}.aksrt-theme-info__links[data-v-ded10315]{display:flex;flex-wrap:wrap;gap:12px}.aksrt-theme-info__link[data-v-ded10315]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;background:#f5f7fa;color:#333;text-decoration:none;font-size:13px;transition:background .2s}.aksrt-theme-info__link[data-v-ded10315]:hover{background:#e8eaed}
|
||||
@@ -0,0 +1 @@
|
||||
import{o as N,X as u,a4 as o,a3 as s,r as _,a1 as n,_ as T,W as r,f as d,Y as l,Z as i,F as V,R as q,a2 as z}from"./vendor-vue.Bykizn0M.js";import{a as y}from"./shared-api.D5_fnN32.js";import{P as A}from"./PageHeader.Di3JTPjc.js";import{_ as D}from"./index.js";import{u as F}from"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const P={class:"aksrt-page-container"},$={class:"aksrt-section-header"},H={key:0,class:"aksrt-rollback-list"},I={style:{margin:"6px 0 0",color:"#4b5565"}},L={style:{margin:"6px 0 0",color:"#7a7f8a","font-size":"12px"}},S={__name:"ToolsEmailRollback",setup(U){const h=T(),c=F(),m=_(!0),p=_(0),f=_([]),v=_(0);function x(t){h.push(t)}function b(t){return(t==null?void 0:t.data)??t??{}}async function g(){m.value=!0;try{const t=b(await y.getEmailRollbackUsers());f.value=Array.isArray(t.items)?t.items:[],v.value=Number(t.total||0)}catch(t){c.error(t.message||"加载邮件回滚列表失败")}finally{m.value=!1}}async function w(t){p.value=t;try{const a=await y.executeEmailRollback(t);a.code==="success"?(c.success(a.message||"回滚成功"),await g()):c.error(a.message||"回滚失败")}catch(a){c.error(a.message||"回滚失败")}finally{p.value=0}}return N(g),(t,a)=>{const k=n("n-button"),R=n("n-space"),C=n("n-tag"),E=n("n-empty"),B=n("n-card"),M=n("n-spin");return r(),u("div",P,[o(A,{title:"邮件回滚",desc:"查看 14 天邮箱变更窗口内的账号,并在必要时执行回滚。"},{actions:s(()=>[o(R,null,{default:s(()=>[o(k,{quaternary:"",onClick:a[0]||(a[0]=e=>x("/tools/health"))},{default:s(()=>[...a[1]||(a[1]=[d("健康检查",-1)])]),_:1}),o(k,{quaternary:"",onClick:g},{default:s(()=>[...a[2]||(a[2]=[d("刷新列表",-1)])]),_:1})]),_:1})]),_:1}),o(M,{show:m.value,style:{width:"100%","min-height":"200px"}},{default:s(()=>[o(B,{class:"aksrt-section-card"},{default:s(()=>[l("div",$,[a[3]||(a[3]=l("h3",null,"待处理账号",-1)),o(C,{round:"",type:"info"},{default:s(()=>[d("总计 "+i(v.value),1)]),_:1})]),f.value.length?(r(),u("div",H,[(r(!0),u(V,null,q(f.value,e=>(r(),u("div",{key:e.user_id,class:"aksrt-rollback-list__item"},[l("div",null,[l("strong",null,i(e.display_name||e.login),1),l("p",I,i(e.current_email)+" → "+i(e.previous_email),1),l("p",L," 剩余窗口:"+i(Math.max(0,Math.floor((e.expires_in||0)/3600)))+" 小时 ",1)]),o(k,{size:"small",loading:p.value===e.user_id,onClick:W=>w(e.user_id)},{default:s(()=>[...a[4]||(a[4]=[d(" 执行回滚 ",-1)])]),_:1},8,["loading","onClick"])]))),128))])):(r(),z(E,{key:1,description:"当前没有可回滚的邮箱变更记录"}))]),_:1})]),_:1},8,["show"])])}}},K=D(S,[["__scopeId","data-v-775b42f3"]]);export{K as default};
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-rollback-list[data-v-775b42f3]{display:grid;gap:12px}.aksrt-rollback-list__item[data-v-775b42f3]{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border:1px solid #e7ebf3;border-radius:14px}@media(max-width:768px){.aksrt-rollback-list__item[data-v-775b42f3]{align-items:flex-start;flex-direction:column}}
|
||||
@@ -0,0 +1 @@
|
||||
import{o as B,X as y,a4 as n,a3 as a,r as _,a1 as i,_ as V,W as f,f as r,Y as l,Z as u,F as D,R as E,a2 as N,c as P}from"./vendor-vue.Bykizn0M.js";import{a as b}from"./shared-api.D5_fnN32.js";import{P as q}from"./PageHeader.Di3JTPjc.js";import{_ as F}from"./index.js";import{u as I}from"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const M={class:"aksrt-page-container"},S={class:"aksrt-health-grid"},$={class:"aksrt-section-header"},j={style:{margin:"0",color:"#4b5565"}},L={__name:"ToolsHealth",setup(O){const w=V(),x=I(),d=_(!0),p=_({}),o=_({feature_enabled:!1,pending_users:0,rest_blocking_active:!1}),H=P(()=>Object.entries(p.value||{}).map(([e,t])=>({key:e,...t||{}})));function m(e){w.push(e)}function g(e){return(e==null?void 0:e.data)??e??{}}function T(e){return e==="ok"?"success":e==="warning"?"warning":e==="error"?"error":"info"}async function C(){d.value=!0;try{const[e,t]=await Promise.all([b.getHealthCheck(),b.getHealthEmailVerification()]);p.value=g(e).checks||{},o.value=g(t)}catch(e){x.error(e.message||"加载健康检查失败")}finally{d.value=!1}}return B(C),(e,t)=>{const v=i("n-button"),h=i("n-space"),c=i("n-tag"),k=i("n-card"),R=i("n-spin");return f(),y("div",M,[n(q,{title:"健康检查",desc:"集中查看运行环境、数据库表、邮箱验证迁移和系统诊断状态。"},{actions:a(()=>[n(h,null,{default:a(()=>[n(v,{quaternary:"",onClick:t[0]||(t[0]=s=>m("/tools/import-export"))},{default:a(()=>[...t[2]||(t[2]=[r("导入导出",-1)])]),_:1}),n(v,{quaternary:"",onClick:t[1]||(t[1]=s=>m("/tools/email-rollback"))},{default:a(()=>[...t[3]||(t[3]=[r("邮件回滚",-1)])]),_:1})]),_:1})]),_:1}),n(R,{show:d.value,style:{width:"100%","min-height":"200px"}},{default:a(()=>[n(k,{class:"aksrt-section-card"},{default:a(()=>[t[4]||(t[4]=l("div",{class:"aksrt-section-header"},[l("h3",null,"邮箱验证状态")],-1)),n(h,null,{default:a(()=>[n(c,{round:"",type:o.value.feature_enabled?"success":"default"},{default:a(()=>[r(" 功能开关:"+u(o.value.feature_enabled?"已启用":"未启用"),1)]),_:1},8,["type"]),n(c,{round:"",type:o.value.rest_blocking_active?"warning":"default"},{default:a(()=>[r(" REST 阻断:"+u(o.value.rest_blocking_active?"已开启":"仅记录/关闭"),1)]),_:1},8,["type"]),n(c,{round:"",type:"info"},{default:a(()=>[r(" 待验证用户:"+u(o.value.pending_users),1)]),_:1})]),_:1})]),_:1}),l("div",S,[(f(!0),y(D,null,E(H.value,s=>(f(),N(k,{key:s.key,class:"aksrt-section-card"},{default:a(()=>[l("div",$,[l("h3",null,u(s.label),1),n(c,{round:"",type:T(s.status)},{default:a(()=>[r(u(s.status),1)]),_:2},1032,["type"])]),l("p",j,u(s.value),1)]),_:2},1024))),128))])]),_:1},8,["show"])])}}},G=F(L,[["__scopeId","data-v-485f9fd2"]]);export{G as default};
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-health-grid[data-v-485f9fd2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
|
||||
@@ -0,0 +1,3 @@
|
||||
import{X as $,a4 as a,a3 as l,a1 as c,_ as A,W as B,f as r,Y as n,Z as P,r as u}from"./vendor-vue.Bykizn0M.js";import{a as f}from"./shared-api.D5_fnN32.js";import{P as V}from"./PageHeader.Di3JTPjc.js";import{_ as q}from"./index.js";import{u as U}from"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const z={class:"aksrt-page-container"},H={class:"aksrt-tools-output"},M={__name:"ToolsImportExport",setup(W){const b=A(),s=U(),m=u(!1),i=u(!1),y=u(!1),g=u(!1),v=u(""),d=u(""),k=u("global"),N=[{label:"全局&功能",value:"global"},{label:"页面&显示",value:"page_display"},{label:"文章&列表",value:"post_list"},{label:"用户&互动",value:"users"},{label:"支付&付费",value:"payment"}];function w(e){b.push(e)}function C(e){return(e==null?void 0:e.data)??e??{}}function S(){try{return JSON.parse(v.value||"{}")}catch{throw new Error("导入 JSON 格式无效")}}async function O(){m.value=!0;try{const e=C(await f.exportSettings());v.value=JSON.stringify(e,null,2),d.value=`导出完成
|
||||
版本: ${e.version||"unknown"}
|
||||
时间: ${e.exported||"unknown"}`,s.success("导出成功")}catch(e){s.error(e.message||"导出失败")}finally{m.value=!1}}async function J(){i.value=!0;try{const e=S(),t=await f.importSettings({...e,dry_run:!0});d.value=JSON.stringify(t,null,2),s.success("Dry Run 校验完成")}catch(e){s.error(e.message||"校验失败")}finally{i.value=!1}}async function R(){i.value=!0;try{const e=S(),t=await f.importSettings(e);d.value=JSON.stringify(t,null,2),s.success("导入完成")}catch(e){s.error(e.message||"导入失败")}finally{i.value=!1}}async function D(){y.value=!0;try{const e=await f.resetDomain(k.value);d.value=JSON.stringify(e,null,2),s.success("域设置已重置")}catch(e){s.error(e.message||"重置失败")}finally{y.value=!1}}async function E(){if(window.confirm("确认重置全部 schema 托管设置吗?系统会先自动创建一份“重置全部前快照”。")){g.value=!0;try{const e=await f.resetAllSettings();d.value=JSON.stringify(e,null,2),s.success("全部设置已重置")}catch(e){s.error(e.message||"重置全部失败")}finally{g.value=!1}}}return(e,t)=>{const o=c("n-button"),x=c("n-space"),T=c("n-input"),_=c("n-card"),I=c("n-select");return B(),$("div",z,[a(V,{title:"导入导出",desc:"导出当前设置快照、执行 dry-run 导入校验,并支持按域重置到 schema 默认值。"},{actions:l(()=>[a(x,null,{default:l(()=>[a(o,{quaternary:"",onClick:t[0]||(t[0]=p=>w("/tools/backup"))},{default:l(()=>[...t[4]||(t[4]=[r("数据备份",-1)])]),_:1}),a(o,{quaternary:"",onClick:t[1]||(t[1]=p=>w("/tools/health"))},{default:l(()=>[...t[5]||(t[5]=[r("健康检查",-1)])]),_:1})]),_:1})]),_:1}),a(_,{class:"aksrt-section-card"},{default:l(()=>[t[9]||(t[9]=n("div",{class:"aksrt-section-header"},[n("h3",null,"导出与导入")],-1)),a(x,{style:{"margin-bottom":"16px"}},{default:l(()=>[a(o,{loading:m.value,onClick:O},{default:l(()=>[...t[6]||(t[6]=[r("导出当前配置",-1)])]),_:1},8,["loading"]),a(o,{loading:i.value,onClick:J},{default:l(()=>[...t[7]||(t[7]=[r("Dry Run 校验",-1)])]),_:1},8,["loading"]),a(o,{type:"primary",loading:i.value,onClick:R},{default:l(()=>[...t[8]||(t[8]=[r("执行导入",-1)])]),_:1},8,["loading"])]),_:1}),a(T,{value:v.value,"onUpdate:value":t[2]||(t[2]=p=>v.value=p),type:"textarea",autosize:{minRows:12,maxRows:20},placeholder:"导出的 JSON 会出现在这里,也可以直接粘贴导入。"},null,8,["value"]),t[10]||(t[10]=n("p",{class:"aksrt-tools-hint"}," 正式导入前会自动创建一份“导入前自动快照”,与“数据备份”页的快照体系共用,便于回滚。 ",-1))]),_:1}),a(_,{class:"aksrt-section-card"},{default:l(()=>[t[13]||(t[13]=n("div",{class:"aksrt-section-header"},[n("h3",null,"按域重置")],-1)),a(x,{align:"center",wrap:""},{default:l(()=>[a(I,{value:k.value,"onUpdate:value":t[3]||(t[3]=p=>k.value=p),options:N,style:{width:"220px"}},null,8,["value"]),a(o,{loading:y.value,onClick:D},{default:l(()=>[...t[11]||(t[11]=[r("重置所选域",-1)])]),_:1},8,["loading"]),a(o,{type:"error",tertiary:"",loading:g.value,onClick:E},{default:l(()=>[...t[12]||(t[12]=[r("重置全部",-1)])]),_:1},8,["loading"])]),_:1}),t[14]||(t[14]=n("p",{class:"aksrt-tools-hint"},"仅支持重置 schema 托管的业务域。健康检查、迁移状态和邮件回滚属于运维面板,不参与按域回滚。",-1))]),_:1}),a(_,{class:"aksrt-section-card"},{default:l(()=>[t[15]||(t[15]=n("div",{class:"aksrt-section-header"},[n("h3",null,"最近结果")],-1)),n("pre",H,P(d.value||"尚未执行操作。"),1)]),_:1})])}}},G=q(M,[["__scopeId","data-v-9ee419ed"]]);export{G as default};
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-tools-output[data-v-9ee419ed]{margin:0;padding:14px;border-radius:12px;background:#101828;color:#d0d7e2;font-size:12px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.aksrt-tools-hint[data-v-9ee419ed]{margin:12px 0 0;color:#667085;font-size:12px;line-height:1.7}
|
||||
@@ -0,0 +1 @@
|
||||
import{o as H,X as h,a4 as l,a3 as s,r as _,a1 as u,_ as M,W as c,f as o,Y as n,Z as r,a2 as N,a5 as b,F as S,R as T}from"./vendor-vue.Bykizn0M.js";import{a as w}from"./shared-api.D5_fnN32.js";import{P as q}from"./PageHeader.Di3JTPjc.js";import{_ as F}from"./index.js";import{u as L}from"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const Q={class:"aksrt-page-container"},R={key:0,class:"aksrt-update__changelog"},W={class:"aksrt-update__grid"},$=["href"],E={__name:"ToolsUpdate",setup(X){const C=M(),i=L(),f=_(!0),m=_(!1),g=_(!1),a=_({current_version:"0.0.0",remote_version:"",update_available:!1,download_url:"",changelog:"",last_check:0}),P=[{key:"rewrite",title:"伪静态配置",desc:"检查固定链接与重写规则",url:"/wp-admin/options-permalink.php"},{key:"docs-mode",title:"文档模式",desc:"配置文档分类与专题模板",url:"#/extensions/docs-mode"},{key:"oauth",title:"第三方登录",desc:"检查 GitHub / Gitee / QQ / Google 登录",url:"#/users/oauth"},{key:"backup",title:"设置快照",desc:"创建与恢复站点配置快照",url:"#/tools/backup"},{key:"health",title:"健康检查",desc:"查看 PHP / WP / 数据表状态",url:"#/tools/health"},{key:"meilisearch",title:"Meilisearch",desc:"配置搜索索引与同步策略",url:"#/global/search"},{key:"i18n",title:"多语言翻译",desc:"检查语言切换与术语配置",url:"#/global/i18n"},{key:"cdn",title:"静态资源与 CDN",desc:"核对前端资源地址与缓存策略",url:"#/global/common"},{key:"forum",title:"论坛体系",desc:"检查版块、话题与版主管理",url:"#/forum"},{key:"ip-geo",title:"IP 归属地",desc:"验证 IP 查询服务与密钥配置",url:"#/extensions/security"},{key:"payment",title:"支付与会员",desc:"核对网关、会员与充值配置",url:"#/payment/gateway"},{key:"credits",title:"积分与签到",desc:"检查积分规则、签到与邀请奖励",url:"#/users/signin"},{key:"badge",title:"等级与徽章",desc:"维护等级、认证与徽章体系",url:"#/users/badge"}];H(x);function D(e){C.push(e)}function I(e){if(!e)return"未检测";const t=Number(e);return!Number.isNaN(t)&&t>0?new Date(t*1e3).toLocaleString():String(e)}async function x(){f.value=!0;try{const e=await w.getUpdateInfo();a.value=(e==null?void 0:e.data)||{}}catch(e){i.error((e==null?void 0:e.message)||"加载更新状态失败")}finally{f.value=!1}}async function U(){m.value=!0;try{const e=await w.detectUpdate();a.value=(e==null?void 0:e.data)||{},i.success("更新检测完成")}catch(e){i.error((e==null?void 0:e.message)||"检测更新失败")}finally{m.value=!1}}async function B(){if(a.value.remote_version){g.value=!0;try{await w.dismissUpdate(a.value.remote_version),i.success("已忽略此版本"),await x()}catch(e){i.error((e==null?void 0:e.message)||"忽略版本失败")}finally{g.value=!1}}}return(e,t)=>{const p=u("n-button"),v=u("n-space"),k=u("n-tag"),y=u("n-card"),V=u("n-alert"),G=u("n-spin");return c(),h("div",Q,[l(q,{title:"更新中心",desc:"查看版本状态、检测更新并浏览更新日志与教程入口。"},{actions:s(()=>[l(v,null,{default:s(()=>[l(p,{quaternary:"",loading:m.value,onClick:U},{default:s(()=>[...t[1]||(t[1]=[o("检测更新",-1)])]),_:1},8,["loading"]),l(p,{quaternary:"",onClick:t[0]||(t[0]=d=>D("/docs"))},{default:s(()=>[...t[2]||(t[2]=[o("文档中心",-1)])]),_:1})]),_:1})]),_:1}),l(G,{show:f.value,style:{width:"100%","min-height":"220px"}},{default:s(()=>[l(y,{class:"aksrt-section-card"},{default:s(()=>[t[3]||(t[3]=n("div",{class:"aksrt-section-header"},[n("h3",null,"版本状态")],-1)),l(v,null,{default:s(()=>[l(k,{round:"",type:"info"},{default:s(()=>[o("当前版本:"+r(a.value.current_version||"0.0.0"),1)]),_:1}),l(k,{round:"",type:a.value.update_available?"warning":"success"},{default:s(()=>[o(r(a.value.update_available?`发现新版本 ${a.value.remote_version}`:"已是最新版本"),1)]),_:1},8,["type"]),l(k,{round:"",type:"default"},{default:s(()=>[o("上次检测:"+r(I(a.value.last_check)),1)]),_:1})]),_:1})]),_:1}),a.value.update_available?(c(),N(y,{key:0,class:"aksrt-section-card"},{default:s(()=>[t[7]||(t[7]=n("div",{class:"aksrt-section-header"},[n("h3",null,"可用更新")],-1)),l(V,{type:"warning",style:{"margin-bottom":"12px"}},{default:s(()=>[o(" 检测到新版本 "+r(a.value.remote_version)+",当前版本为 "+r(a.value.current_version)+"。 ",1)]),_:1}),l(v,null,{default:s(()=>[a.value.download_url?(c(),N(p,{key:0,type:"primary",tag:"a",href:a.value.download_url,target:"_blank"},{default:s(()=>[...t[4]||(t[4]=[o(" 下载更新 ",-1)])]),_:1},8,["href"])):b("",!0),l(p,{onClick:B,loading:g.value},{default:s(()=>[...t[5]||(t[5]=[o("忽略此版本",-1)])]),_:1},8,["loading"])]),_:1}),a.value.changelog?(c(),h("div",R,[t[6]||(t[6]=n("h4",null,"更新日志",-1)),n("pre",null,r(a.value.changelog),1)])):b("",!0)]),_:1})):b("",!0),l(y,{class:"aksrt-section-card"},{default:s(()=>[t[8]||(t[8]=n("div",{class:"aksrt-section-header"},[n("h3",null,"常用教程入Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-update__changelog[data-v-8fad1124]{margin-top:16px}.aksrt-update__changelog pre[data-v-8fad1124]{margin:8px 0 0;padding:12px 14px;border-radius:12px;background:#101828;color:#d0d7e2;font-size:12px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.aksrt-update__grid[data-v-8fad1124]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.aksrt-update__guide[data-v-8fad1124]{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid #eef1f6;border-radius:12px;text-decoration:none;color:inherit;background:#fafafa}.aksrt-update__guide[data-v-8fad1124]:hover{border-color:#1890ff;background:#f5faff}.aksrt-update__guide span[data-v-8fad1124]{font-size:12px;color:#667085}
|
||||
@@ -0,0 +1,4 @@
|
||||
import{o as E,X as H,a4 as t,a3 as n,r as N,a1 as l,e as S,_ as T,W as v,f as d,Y as u,Z as _,a2 as P,a5 as R,c as W}from"./vendor-vue.Bykizn0M.js";import{a as k}from"./shared-api.D5_fnN32.js";import{P as X}from"./PageHeader.Di3JTPjc.js";import{u as Y}from"./vendor-naive.BuHWlEgf.js";import"./index.js";import"./vendor-misc.1adHN6i_.js";const Z={class:"aksrt-page-container"},j={class:"aksrt-form-actions"},O={__name:"UsersBadge",setup(A){const U=T(),m=Y(),g=N(!0),p=N(!1),a=S({user_badge_enabled:!1,user_badge_public_display:!0,user_badge_limit:3,user_badge_dictionary:`founder|创始成员|warning
|
||||
staff|站务团队|info`}),y=S({dynamicBadge:!1}),h=W(()=>String(a.user_badge_dictionary||"").split(/\r?\n/).map(s=>s.trim()).filter(Boolean).length);function w(s){U.push(s)}function x(s){return(s==null?void 0:s.data)??s??{}}async function D(){g.value=!0;try{const[s,e]=await Promise.all([k.getSchemaPage("users","badge"),k.getNotificationSettings()]),o=x(s),c=x(e);a.user_badge_enabled=!!o.user_badge_enabled,a.user_badge_public_display=o.user_badge_public_display!==!1,a.user_badge_limit=Number(o.user_badge_limit||3),a.user_badge_dictionary=o.user_badge_dictionary||`founder|创始成员|warning
|
||||
staff|站务团队|info`,y.dynamicBadge=!!c.user_badge_enabled}catch(s){m.error(s.message||"加载用户徽章配置失败")}finally{g.value=!1}}async function V(){p.value=!0;try{await k.saveSchemaPage("users","badge",{user_badge_enabled:a.user_badge_enabled,user_badge_public_display:a.user_badge_public_display,user_badge_limit:Number(a.user_badge_limit||3),user_badge_dictionary:a.user_badge_dictionary}),m.success("用户徽章配置已保存")}catch(s){m.error(s.message||"保存失败")}finally{p.value=!1}}return E(D),(s,e)=>{const o=l("n-button"),c=l("n-space"),i=l("n-tag"),b=l("n-card"),B=l("n-switch"),f=l("n-form-item"),q=l("n-input-number"),C=l("n-form"),M=l("n-input"),$=l("n-alert"),z=l("n-spin");return v(),H("div",Z,[t(X,{title:"用户徽章",desc:"维护公开徽章字典、展示数量和前台展示位。具体授予逻辑可以后续再接业务,但字段和展示契约已经固定。"},{actions:n(()=>[t(c,null,{default:n(()=>[t(o,{quaternary:"",onClick:e[0]||(e[0]=r=>w("/users/notifications"))},{default:n(()=>[...e[6]||(e[6]=[d("消息通知",-1)])]),_:1}),t(o,{quaternary:"",onClick:e[1]||(e[1]=r=>w("/users/level"))},{default:n(()=>[...e[7]||(e[7]=[d("用户等级",-1)])]),_:1})]),_:1})]),_:1}),t(z,{show:g.value,style:{width:"100%","min-height":"200px"}},{default:n(()=>[t(b,{class:"aksrt-section-card"},{default:n(()=>[e[8]||(e[8]=u("div",{class:"aksrt-section-header"},[u("h3",null,"当前联动摘要")],-1)),t(c,null,{default:n(()=>[t(i,{round:"",type:a.user_badge_enabled?"success":"default"},{default:n(()=>[d(" 徽章系统:"+_(a.user_badge_enabled?"已启用":"已关闭"),1)]),_:1},8,["type"]),t(i,{round:"",type:a.user_badge_public_display?"info":"default"},{default:n(()=>[d(" 公开展示:"+_(a.user_badge_public_display?"开启":"关闭"),1)]),_:1},8,["type"]),t(i,{round:"",type:"info"},{default:n(()=>[d(" 最多显示:"+_(a.user_badge_limit)+" 枚 ",1)]),_:1}),t(i,{round:"",type:y.dynamicBadge?"success":"default"},{default:n(()=>[d(" 通知红点联动:"+_(y.dynamicBadge?"启用":"关闭"),1)]),_:1},8,["type"]),t(i,{round:"",type:"info"},{default:n(()=>[d(" 字典条目:"+_(h.value),1)]),_:1})]),_:1})]),_:1}),t(b,{class:"aksrt-section-card"},{default:n(()=>[e[9]||(e[9]=u("div",{class:"aksrt-section-header"},[u("h3",null,"徽章展示")],-1)),t(C,{model:a,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:n(()=>[t(f,{label:"启用徽章系统"},{default:n(()=>[t(B,{value:a.user_badge_enabled,"onUpdate:value":e[2]||(e[2]=r=>a.user_badge_enabled=r)},null,8,["value"])]),_:1}),a.user_badge_enabled?(v(),P(f,{key:0,label:"公开页显示徽章"},{default:n(()=>[t(B,{value:a.user_badge_public_display,"onUpdate:value":e[3]||(e[3]=r=>a.user_badge_public_display=r)},null,8,["value"])]),_:1})):R("",!0),a.user_badge_enabled?(v(),P(f,{key:1,label:"最多显示数量"},{default:n(()=>[t(q,{value:a.user_badge_limit,"onUpdate:value":e[4]||(e[4]=r=>a.user_badge_limit=r),min:1,max:8,style:{width:"180px"}},null,8,["value"])]),_:1})):R("",!0)]),_:1},8,["model"])]),_:1}),t(b,{class:"aksrt-section-card"},{default:n(()=>[e[11]||(e[11]=u("div",{class:"aksrt-section-header"},[u("h3",null,"徽章字典")],-1)),t(C,{model:a,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:n(()=>[t(f,{label:"徽章列表"},{feedback:n(()=>[...e[10]||(e[10]=[u("span",{class:"aksrt-hint-text"},"每行一个徽章,格式 `slug|显示文案|色调`,色调支持 `neutral / info / success / warning / brand`。",-1)])]),default:n(()=>[t(M,{value:a.user_badge_dictionary,"onUpdate:value":e[5]||(e[5]=r=>a.user_badge_dictionary=r),type:"textarea",autosize:{minRows:5,maxRows:10},placeholder:`founder|创始成员|warning
|
||||
staff|站务团队|info`,disabled:!a.user_badge_enabled},null,8,["value","disabled"])]),_:1})]),_:1},8,["model"])]),_:1}),t(b,{class:"aksrt-section-card"},{default:n(()=>[t($,{type:"info","show-icon":!1},{default:n(()=>[...e[12]||(e[12]=[d(" 前台从 `aksrt_user_badges` user meta 读取已授予徽章列表,并在公开主页和本人中心头部展示。这里只负责定义合法徽章字典和展示上限。 ",-1)])]),_:1})]),_:1}),u("div",j,[t(o,{type:"primary",loading:p.value,onClick:V},{default:n(()=>[...e[13]||(e[13]=[d("保存配置",-1)])]),_:1},8,["loading"])])]),_:1},8,["show"])])}}};export{O as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{o as M,X as W,a4 as s,a3 as a,r as S,a1 as r,e as D,_ as $,W as j,f as l,Y as n,Z as P}from"./vendor-vue.Bykizn0M.js";import{a as v}from"./shared-api.D5_fnN32.js";import{P as E}from"./PageHeader.Di3JTPjc.js";import{u as F}from"./vendor-naive.BuHWlEgf.js";import"./index.js";import"./vendor-misc.1adHN6i_.js";const H={class:"aksrt-page-container"},X={class:"aksrt-form-actions"},L={__name:"UsersFeatures",setup(Y){const A=$(),b=F(),k=S(!0),g=S(!1),y=S(!1),m=D({tabs:[],sidebar:!0}),t=D({dynamicTabs:["posts","comments","favorites"],user_avatar_upload:!0,user_cover_upload:!0,user_social_links:!0});function T(o){A.push(o)}function w(o){return(o==null?void 0:o.data)??o??{}}function U(o){return(Array.isArray(o)?o:String(o||"").split(/[\s,]+/).filter(Boolean)).map(i=>String(i).trim()).filter(i=>["posts","comments","favorites","credits"].includes(i))}async function B(){k.value=!0;try{const[o,e,i]=await Promise.all([v.getSchemaPage("users","features"),v.getSchemaPage("page_display","user-home"),v.getPermissionsAttachmentSettings()]),d=w(o),u=w(e),f=w(i);t.dynamicTabs=U(d.user_center_tabs||"profile,posts,comments,favorites"),t.user_avatar_upload=d.user_avatar_upload!==!1,t.user_cover_upload=d.user_cover_upload!==!1,t.user_social_links=d.user_social_links!==!1,m.tabs=U(u.user_home_tabs||"posts,comments,favorites"),m.sidebar=u.user_home_sidebar!==!1,y.value=!!f.allow_background_upload}catch(o){b.error(o.message||"加载用户功能配置失败")}finally{k.value=!1}}async function R(){g.value=!0;try{await v.saveSchemaPage("users","features",{user_center_tabs:["profile",...t.dynamicTabs].join(","),user_avatar_upload:t.user_avatar_upload,user_cover_upload:t.user_cover_upload,user_social_links:t.user_social_links}),b.success("用户功能配置已保存")}catch(o){b.error(o.message||"保存失败")}finally{g.value=!1}}return M(B),(o,e)=>{const i=r("n-button"),d=r("n-space"),u=r("n-tag"),f=r("n-card"),p=r("n-form-item"),c=r("n-checkbox"),N=r("n-checkbox-group"),C=r("n-form"),x=r("n-switch"),V=r("n-alert"),q=r("n-spin");return j(),W("div",H,[s(E,{title:"用户功能",desc:"统一配置用户中心和公开主页的功能模块,让前台页面和后台字段使用同一份契约。"},{actions:a(()=>[s(d,null,{default:a(()=>[s(i,{quaternary:"",onClick:e[0]||(e[0]=_=>T("/page-display/user-home"))},{default:a(()=>[...e[6]||(e[6]=[l("公开主页",-1)])]),_:1}),s(i,{quaternary:"",onClick:e[1]||(e[1]=_=>T("/permissions/attachment"))},{default:a(()=>[...e[7]||(e[7]=[l("附件权限",-1)])]),_:1})]),_:1})]),_:1}),s(q,{show:k.value,style:{width:"100%","min-height":"200px"}},{default:a(()=>[s(f,{class:"aksrt-section-card"},{default:a(()=>[e[9]||(e[9]=n("div",{class:"aksrt-section-header"},[n("h3",null,"当前联动摘要")],-1)),s(d,null,{default:a(()=>[s(u,{type:"info",round:""},{default:a(()=>[...e[8]||(e[8]=[l("固定入口:个人信息 / 账号设置 / 消息通知",-1)])]),_:1}),s(u,{round:"",type:t.user_cover_upload?"success":"default"},{default:a(()=>[l(" 背景图编辑位:"+P(t.user_cover_upload?"已展示":"已隐藏"),1)]),_:1},8,["type"]),s(u,{round:"",type:y.value?"success":"warning"},{default:a(()=>[l(" 背景图上传权限:"+P(y.value?"已开放":"未开放"),1)]),_:1},8,["type"]),s(u,{round:"",type:m.sidebar?"success":"default"},{default:a(()=>[l(" 公开主页侧栏:"+P(m.sidebar?"开启":"关闭"),1)]),_:1},8,["type"])]),_:1})]),_:1}),s(f,{class:"aksrt-section-card"},{default:a(()=>[e[18]||(e[18]=n("div",{class:"aksrt-section-header"},[n("h3",null,"用户中心面板")],-1)),s(C,{"label-placement":"left","label-width":"170",class:"aksrt-form"},{default:a(()=>[s(p,{label:"固定面板"},{default:a(()=>[s(d,null,{default:a(()=>[s(u,{round:""},{default:a(()=>[...e[10]||(e[10]=[l("个人信息",-1)])]),_:1}),s(u,{round:""},{default:a(()=>[...e[11]||(e[11]=[l("账号设置",-1)])]),_:1}),s(u,{round:""},{default:a(()=>[...e[12]||(e[12]=[l("消息通知",-1)])]),_:1})]),_:1})]),_:1}),s(p,{label:"可切换业务面板"},{feedback:a(()=>[...e[17]||(e[17]=[n("span",{class:"aksrt-hint-text"},"“个人信息”始终保留在首位;积分面板仅在积分系统启用时显示。",-1)])]),default:a(()=>[s(N,{value:t.dynamicTabs,"onUpdate:value":e[2]||(e[2]=_=>t.dynamicTabs=_)},{default:a(()=>[s(d,{vertical:""},{default:a(()=>[s(c,{value:"posts"},{default:a(()=>[...e[13]||(e[13]=[l("我的文章",-1)])]),_:1}),s(c,{value:"comments"},{default:a(()=>[...e[14]||(e[14]=[l("我的评论",-1)])]),_:1}),s(c,{value:"favorites"},{default:a(()=>[...e[15]||(e[15]=[l("我的收藏",-1)])]),_:1}),s(c,{value:"credits"},{default:a(()=>[...e[16]||(e[16]=[l("账户余额 / 签到",-1)])]),_:1})]),_:1})]),_:1},8,["value"])]),_:1})]),_:1})]),_:1}),s(f,{class:"aksrt-section-card"},{default:a(()=>[e[22]||(e[22]=n("div",{class:"aksrt-section-header"},[n("h3",null,"公开资料编辑位")],-1)),s(C,{model:t,"label-placement":"left","label-width":"170",class:"aksrt-form"},{default:a(()=>[s(p,{label:"头像编辑入口"},{feedback:a(()=>Line truncated
|
||||
@@ -0,0 +1,10 @@
|
||||
import{o as E,X as H,a4 as s,a3 as a,r as U,a1 as r,e as B,_ as T,W as g,f as u,Y as _,Z as p,a2 as M,a5 as P,c as W}from"./vendor-vue.Bykizn0M.js";import{a as k}from"./shared-api.D5_fnN32.js";import{P as X}from"./PageHeader.Di3JTPjc.js";import{u as Y}from"./vendor-naive.BuHWlEgf.js";import"./index.js";import"./vendor-misc.1adHN6i_.js";const Z={class:"aksrt-page-container"},j={class:"aksrt-form-actions"},Q={__name:"UsersLevel",setup(A){const R=T(),m=Y(),b=U(!0),y=U(!1),l=B({user_level_enabled:!1,user_level_public_display:!0,user_level_source:"credits_balance",user_level_prefix:"Lv.",user_level_thresholds:`1|0
|
||||
2|30
|
||||
3|100
|
||||
4|300`}),i=B({enabled:!0,currencyName:"积分"}),D=W(()=>String(l.user_level_thresholds||"").split(/\r?\n/).map(t=>t.trim()).filter(Boolean).length);function h(t){R.push(t)}function x(t){return(t==null?void 0:t.data)??t??{}}async function L(){b.value=!0;try{const[t,e]=await Promise.all([k.getSchemaPage("users","level"),k.getCreditSettings()]),o=x(t),d=x(e);l.user_level_enabled=!!o.user_level_enabled,l.user_level_public_display=o.user_level_public_display!==!1,l.user_level_source=o.user_level_source||"credits_balance",l.user_level_prefix=o.user_level_prefix||"Lv.",l.user_level_thresholds=o.user_level_thresholds||`1|0
|
||||
2|30
|
||||
3|100
|
||||
4|300`,i.enabled=d.enabled!==!1,i.currencyName=d.currency_name||"积分"}catch(t){m.error(t.message||"加载用户等级配置失败")}finally{b.value=!1}}async function V(){y.value=!0;try{await k.saveSchemaPage("users","level",{user_level_enabled:l.user_level_enabled,user_level_public_display:l.user_level_public_display,user_level_source:l.user_level_source,user_level_prefix:l.user_level_prefix,user_level_thresholds:l.user_level_thresholds}),m.success("用户等级配置已保存")}catch(t){m.error(t.message||"保存失败")}finally{y.value=!1}}return E(L),(t,e)=>{const o=r("n-button"),d=r("n-space"),v=r("n-tag"),f=r("n-card"),w=r("n-switch"),c=r("n-form-item"),C=r("n-input"),N=r("n-form"),S=r("n-radio"),q=r("n-radio-group"),z=r("n-alert"),$=r("n-spin");return g(),H("div",Z,[s(X,{title:"用户等级",desc:"配置等级来源、展示前缀和阈值规则。前台公开主页会按照这里的规则输出等级身份芯片。"},{actions:a(()=>[s(d,null,{default:a(()=>[s(o,{quaternary:"",onClick:e[0]||(e[0]=n=>h("/users/credits"))},{default:a(()=>[...e[7]||(e[7]=[u("用户积分",-1)])]),_:1}),s(o,{quaternary:"",onClick:e[1]||(e[1]=n=>h("/users/badge"))},{default:a(()=>[...e[8]||(e[8]=[u("用户徽章",-1)])]),_:1})]),_:1})]),_:1}),s($,{show:b.value,style:{width:"100%","min-height":"200px"}},{default:a(()=>[s(f,{class:"aksrt-section-card"},{default:a(()=>[e[9]||(e[9]=_("div",{class:"aksrt-section-header"},[_("h3",null,"当前联动摘要")],-1)),s(d,null,{default:a(()=>[s(v,{round:"",type:l.user_level_enabled?"success":"default"},{default:a(()=>[u(" 等级系统:"+p(l.user_level_enabled?"已启用":"已关闭"),1)]),_:1},8,["type"]),s(v,{round:"",type:i.enabled?"info":"warning"},{default:a(()=>[u(" 积分系统:"+p(i.enabled?"已启用":"未启用"),1)]),_:1},8,["type"]),s(v,{round:"",type:"info"},{default:a(()=>[u(" 当前货币:"+p(i.currencyName),1)]),_:1}),s(v,{round:"",type:l.user_level_source==="credits_balance"?"success":"warning"},{default:a(()=>[u(" 来源:"+p(l.user_level_source==="credits_balance"?"积分余额":"手动 Meta"),1)]),_:1},8,["type"]),s(v,{round:"",type:"info"},{default:a(()=>[u(" 阈值条目:"+p(D.value),1)]),_:1})]),_:1})]),_:1}),s(f,{class:"aksrt-section-card"},{default:a(()=>[e[10]||(e[10]=_("div",{class:"aksrt-section-header"},[_("h3",null,"等级显示")],-1)),s(N,{model:l,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:a(()=>[s(c,{label:"启用等级系统"},{default:a(()=>[s(w,{value:l.user_level_enabled,"onUpdate:value":e[2]||(e[2]=n=>l.user_level_enabled=n)},null,8,["value"])]),_:1}),l.user_level_enabled?(g(),M(c,{key:0,label:"公开页显示等级"},{default:a(()=>[s(w,{value:l.user_level_public_display,"onUpdate:value":e[3]||(e[3]=n=>l.user_level_public_display=n)},null,8,["value"])]),_:1})):P("",!0),l.user_level_enabled?(g(),M(c,{key:1,label:"等级前缀"},{default:a(()=>[s(C,{value:l.user_level_prefix,"onUpdate:value":e[4]||(e[4]=n=>l.user_level_prefix=n),maxlength:"12",placeholder:"Lv."},null,8,["value"])]),_:1})):P("",!0)]),_:1},8,["model"])]),_:1}),s(f,{class:"aksrt-section-card"},{default:a(()=>[e[14]||(e[14]=_("div",{class:"aksrt-section-header"},[_("h3",null,"等级规则")],-1)),s(N,{model:l,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:a(()=>[s(c,{label:"等级来源"},{default:a(()=>[s(q,{value:l.user_level_source,"onUpdate:value":e[5]||(e[5]=n=>l.user_level_source=n),disabled:!l.user_level_enabled},{default:a(()=>[s(d,{size:"large"},{default:a(()=>[s(S,{value:"credits_balance"},{default:a(()=>[...e[11]||(e[11]=[u("积分余额",-1)])]),_:1}),s(S,{value:"manual_meta"},{default:a(()=>[...e[12]||(e[12]=[u("手动 Meta",-1)])]),_:1})]),_:1})]),_:1},8,["value","disabled"])]),_:1}),s(c,{label:"等级阈值"},{feedback:a(()=>[...e[13]||(e[13]=[_("span",{class:"aksrt-hint-text"},"每行一个等级,格式 `等级|所需积分`。手动 Meta 模式下仍建议保留完整字典,方便后续切换回自动计算。",-1)])]),default:a(()=>[s(C,{value:l.user_level_thresholds,"onUpdate:value":e[6]||(e[6]=n=>l.user_level_thresholds=n),type:"textarea",autosize:{minRows:5,maxRows:10},placeholder:`1|0
|
||||
2|30
|
||||
3|100
|
||||
4|300`,disabled:!l.user_level_enabled},null,8,["value","disabled"])]),_:1})]),_:1},8,["model"])]),_:1}),s(f,{class:"aksrt-section-card"},{default:a(()=>[s(z,{type:"info","show-icon":!1},{default:a(()=>[...e[15]||(e[15]=[u(" 手动模式读取 `aksrt_user_level` user meta;自动模式则根据当前积分余额和上方阈值表实时计算等级,不需要单独写库。 ",-1)])]),_:1})]),_:1}),_("div",j,[s(o,{type:"primary",loading:y.value,onClick:V},{default:a(()=>[...e[16]||(e[16]=[u("保存配置",-1)])]),_:1},8,["loading"])])]),_:1},8,["show"])])}}};export{Q as default};
|
||||
@@ -0,0 +1,6 @@
|
||||
import{a as C}from"./shared-api.D5_fnN32.js";import{_ as O,a1 as o,W as f,X as $,a4 as i,a3 as n,a2 as x,F,R as W,f as v,Z as p,a5 as k,l as D,o as X,r as P,e as M,Y as m,c as Y}from"./vendor-vue.Bykizn0M.js";import{P as Z}from"./PageHeader.Di3JTPjc.js";import{u as G}from"./vendor-naive.BuHWlEgf.js";import"./index.js";import"./vendor-misc.1adHN6i_.js";const J={class:"aksrt-page-container"},K={__name:"UsersSectionPage",props:{title:{type:String,required:!0},desc:{type:String,default:""},note:{type:String,default:""},links:{type:Array,default:()=>[]}},setup(w){const S=O();function U(g){S.push(g)}return(g,N)=>{const j=o("n-button"),y=o("n-space"),e=o("n-alert"),R=o("n-card");return f(),$("div",J,[i(Z,{title:w.title,desc:w.desc},{actions:n(()=>[w.links.length?(f(),x(y,{key:0},{default:n(()=>[(f(!0),$(F,null,W(w.links,h=>(f(),x(j,{key:h.path,quaternary:"",onClick:B=>U(h.path)},{default:n(()=>[v(p(h.label),1)]),_:2},1032,["onClick"]))),128))]),_:1})):k("",!0)]),_:1},8,["title","desc"]),w.note?(f(),x(R,{key:0,class:"aksrt-section-card"},{default:n(()=>[i(e,{type:"info","show-icon":!1},{default:n(()=>[v(p(w.note),1)]),_:1})]),_:1})):k("",!0),D(g.$slots,"before-form"),D(g.$slots,"default")])}}},Q={class:"aksrt-hint-text"},ee={class:"aksrt-hint-text"},te={class:"aksrt-form-actions"},oe={__name:"UsersSignin",setup(w){const S=G(),U=P(!0),g=P(!1),N=P({}),j=P({}),y=M({register:!1,signin:!1}),e=M({credits_enabled:!0,currency_name:"",signin_enabled:!0,signin_base:1,signin_streak_text:`3|2
|
||||
7|5
|
||||
30|20`,invite_enabled:!0,inviter_amount:5,invitee_amount:2,require_verify:!0,ip_daily_cap:3,invite_registration_enabled:!0,invite_code_length:6,invite_register_field:"optional",invite_reject_invalid:!0}),R=Y(()=>e.currency_name||"积分");function h(s){return(s==null?void 0:s.data)??s??{}}function B(s){return Object.entries(s||{}).map(([r,l])=>[Number(r),Number(l)]).filter(([r,l])=>Number.isFinite(r)&&r>0&&Number.isFinite(l)&&l>=0).sort((r,l)=>r[0]-l[0]).map(([r,l])=>`${r}|${l}`).join(`
|
||||
`)}function V(s){const t=String(s||"").split(/\r?\n/).map(l=>l.trim()).filter(Boolean),r={};return t.forEach(l=>{const d=l.split("|").map(_=>_.trim());if(d.length!==2)return;const c=Number(d[0]),b=Number(d[1]);!Number.isFinite(c)||!Number.isFinite(b)||c<=0||b<0||(r[Math.trunc(c)]=Math.trunc(b))}),r}async function L(){U.value=!0;try{const[s,t,r]=await Promise.all([C.getCreditSettings(),C.getAuthSettings(),C.getPermissionsLoginSettings()]),l=h(s),d=h(t),c=h(r),b=l.daily_signin||{},_=l.invite_reward||{},u=Array.isArray(c.disabled_scenarios)?c.disabled_scenarios:[];N.value=l,j.value=d,e.credits_enabled=l.enabled!==!1,e.currency_name=l.currency_name||"",e.signin_enabled=b.enabled!==!1,e.signin_base=Number(b.base||0),e.signin_streak_text=B(b.streak||{3:2,7:5,30:20}),e.invite_enabled=_.enabled!==!1,e.inviter_amount=Number(_.inviter_amount||0),e.invitee_amount=Number(_.invitee_amount||0),e.require_verify=_.require_verify!==!1,e.ip_daily_cap=Number(_.ip_daily_cap||0),e.invite_registration_enabled=d.invite_registration_enabled!==!1,e.invite_code_length=Number(d.invite_code_length||6),e.invite_register_field=d.invite_register_field||"optional",e.invite_reject_invalid=d.invite_reject_invalid!==!1,y.register=!!c.enabled&&!!c.active_provider&&!u.includes("register"),y.signin=!!c.enabled&&!!c.active_provider&&!u.includes("signin")}catch(s){S.error(s.message||"加载签到奖励配置失败")}finally{U.value=!1}}async function z(){g.value=!0;try{const s={...N.value,daily_signin:{...N.value.daily_signin||{},enabled:e.signin_enabled,base:Number(e.signin_base||0),streak:V(e.signin_streak_text)},invite_reward:{...N.value.invite_reward||{},enabled:e.invite_enabled,inviter_amount:Number(e.inviter_amount||0),invitee_amount:Number(e.invitee_amount||0),require_verify:e.require_verify,ip_daily_cap:Number(e.ip_daily_cap||0),register_field:e.invite_register_field,reject_invalid:e.invite_reject_invalid}},t={...j.value,invite_registration_enabled:e.invite_registration_enabled,invite_code_length:Number(e.invite_code_length||6),invite_register_field:e.invite_register_field,invite_reject_invalid:e.invite_reject_invalid};await Promise.all([C.saveCreditSettings(s),C.saveAuthSettings(t)]),N.value=s,j.value=t,S.success("签到奖励配置已保存")}catch(s){S.error(s.message||"保存失败")}finally{g.value=!1}}return X(L),(s,t)=>{const r=o("n-tag"),l=o("n-space"),d=o("n-card"),c=o("n-alert"),b=o("n-spin"),_=o("n-switch"),u=o("n-form-item"),q=o("n-input-number"),E=o("n-input"),A=o("n-radio"),T=o("n-radio-group"),H=o("n-button"),I=o("n-form");return f(),x(K,{title:"签到奖励",desc:"直接管理签到与邀请奖励的真实运行配置,保存后会立即影响前台签到、邀请链接和注册页邀请码行为。",links:[{label:"注册登录",path:"/users/auth"},{label:"用户积分",path:"/users/credits"}]},{"before-form":n(()=>[i(b,{show:U.value,style:{width:"100%","min-height":"200px"}},{default:n(()=>[i(d,{class:"aksrt-section-card"},{default:n(()=>[t[12]||(t[12]=m("div",{class:"aksrt-section-header"},[m("h3",null,"当前联动摘要")],-1)),i(l,null,{default:n(()=>[i(r,{round:"",type:e.credits_enabled?"success":"warning"},{default:n(()=>[v(" 积分系统:"+p(e.credits_enabled?"已启用":"未启用"),1)]),_:1},8,["type"]),i(r,{round:"",type:e.signin_enabled?"success":"default"},{default:n(()=>[v(" 签到能力:"+p(e.signin_enabled?"已启用":"已关闭"),1)]),_:1},8,["type"]),i(r,{round:"",type:e.invite_enabled?"success":"default"},{default:n(()=>[v(" 邀请奖励:"+p(e.invite_enabled?"已启用":"已关闭"),1)]),_:1},8,["type"]),i(r,{round:"",type:e.invite_registration_enabled?"info":"default"},{default:n(()=>[v(" 邀请注册:"+p(e.invite_registration_enabled?"开启":"关闭"),1)]),_:1},8,["type"]),i(r,{round:"",type:y.register?"info":"default"},{default:n(()=>[v(" 注册验证码:"+p(y.register?"启用":"未启用"),1)]),_:1},8,["type"]),i(r,{round:"",type:y.signin?"info":"default"},{default:n(()=>[v(" 签到验证码:"+p(y.signin?"启用":"未启用"),1)]),_:1},8,["type"])]),_:1})]),_:1}),e.credits_enabled?k("",!0):(f(),x(d,{key:0,class:"aksrt-section-card"},{default:n(()=>[i(c,{type:"warning","show-icon":!1},{default:n(()=>[...t[13]||(t[13]=[v(" 当前积分系统处于关闭状态。即使保存签到和邀请奖励配置,前台也不会真正发放奖励,直到“用户积分”页重新启用积分系统。 ",-1)])]),_:1})]),_:1}))]),_:1},8,["show"])]),default:n(()=>[i(I,{model:e,"label-placement":"left","label-width":"180",class:"aksrt-form"},{default:n(()=>[i(d,{class:"aksrt-section-card"},{default:n(()=>[t[14]||(t[14]=m("div",{class:"aksrt-section-header"},[m("h3",null,"每日签到")],-1)),i(u,{label:"启用签到奖励"},{default:n(()=>[i(_,{value:e.signin_enabled,"onUpdate:value":t[0]||(t[0]=a=>e.signin_enabled=a)},null,8,["value"])]),_:1}),e.signin_enabled?(f(),x(u,{key:0,label:"基础奖励"},{feedback:n(()=>[m("span",Q,"每次签到基础发放 "+p(R.value)+" 数量。",1)]),default:n(()=>[i(q,
Line truncated
|
||||
7|5
|
||||
30|20`},null,8,["value"])]),_:1})):k("",!0)]),_:1}),i(d,{class:"aksrt-section-card"},{default:n(()=>[t[20]||(t[20]=m("div",{class:"aksrt-section-header"},[m("h3",null,"邀请奖励与注册页邀请码")],-1)),i(u,{label:"启用邀请奖励"},{default:n(()=>[i(_,{value:e.invite_enabled,"onUpdate:value":t[3]||(t[3]=a=>e.invite_enabled=a)},null,8,["value"])]),_:1}),i(u,{label:"开放邀请注册"},{feedback:n(()=>[...t[15]||(t[15]=[m("span",{class:"aksrt-hint-text"},"关闭后,邀请链接入口、注册页邀请码字段和个人中心邀请模块会一起隐藏。",-1)])]),default:n(()=>[i(_,{value:e.invite_registration_enabled,"onUpdate:value":t[4]||(t[4]=a=>e.invite_registration_enabled=a)},null,8,["value"])]),_:1}),e.invite_registration_enabled?(f(),$(F,{key:0},[i(u,{label:"邀请码长度"},{default:n(()=>[i(q,{value:e.invite_code_length,"onUpdate:value":t[5]||(t[5]=a=>e.invite_code_length=a),min:4,max:12,style:{width:"180px"}},null,8,["value"])]),_:1}),i(u,{label:"注册页邀请码字段"},{default:n(()=>[i(T,{value:e.invite_register_field,"onUpdate:value":t[6]||(t[6]=a=>e.invite_register_field=a)},{default:n(()=>[i(l,{size:"large"},{default:n(()=>[i(A,{value:"hidden"},{default:n(()=>[...t[16]||(t[16]=[v("隐藏",-1)])]),_:1}),i(A,{value:"optional"},{default:n(()=>[...t[17]||(t[17]=[v("选填",-1)])]),_:1}),i(A,{value:"required"},{default:n(()=>[...t[18]||(t[18]=[v("必填",-1)])]),_:1})]),_:1})]),_:1},8,["value"])]),_:1}),e.invite_register_field==="required"?(f(),x(u,{key:0,label:"无效邀请码处理"},{feedback:n(()=>[...t[19]||(t[19]=[m("span",{class:"aksrt-hint-text"},"开启后,必填模式下无效邀请码会直接拒绝注册。关闭则忽略邀请码错误并继续注册。",-1)])]),default:n(()=>[i(_,{value:e.invite_reject_invalid,"onUpdate:value":t[7]||(t[7]=a=>e.invite_reject_invalid=a)},null,8,["value"])]),_:1})):k("",!0)],64)):k("",!0),e.invite_enabled?(f(),$(F,{key:1},[i(u,{label:"邀请人奖励"},{default:n(()=>[i(q,{value:e.inviter_amount,"onUpdate:value":t[8]||(t[8]=a=>e.inviter_amount=a),min:0,max:1e5,style:{width:"180px"}},null,8,["value"])]),_:1}),i(u,{label:"被邀请人奖励"},{default:n(()=>[i(q,{value:e.invitee_amount,"onUpdate:value":t[9]||(t[9]=a=>e.invitee_amount=a),min:0,max:1e5,style:{width:"180px"}},null,8,["value"])]),_:1}),i(u,{label:"验证邮箱后发放"},{default:n(()=>[i(_,{value:e.require_verify,"onUpdate:value":t[10]||(t[10]=a=>e.require_verify=a)},null,8,["value"])]),_:1}),i(u,{label:"同 IP 日上限"},{default:n(()=>[i(q,{value:e.ip_daily_cap,"onUpdate:value":t[11]||(t[11]=a=>e.ip_daily_cap=a),min:0,max:1e3,style:{width:"180px"}},null,8,["value"])]),_:1})],64)):k("",!0)]),_:1}),m("div",te,[i(H,{type:"primary",loading:g.value,onClick:z},{default:n(()=>[...t[21]||(t[21]=[v("保存配置",-1)])]),_:1},8,["loading"])])]),_:1},8,["model"])]),_:1})}}};export{oe as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{a as C}from"./shared-api.D5_fnN32.js";import{P as ne}from"./PageHeader.Di3JTPjc.js";import{_ as ee}from"./index.js";import{u as te,h as Y,b as V,B as H}from"./vendor-naive.BuHWlEgf.js";import{w as ie,W as w,a2 as X,a3 as s,a4 as e,X as P,f,Z as v,Y as p,F as K,R as ue,a1 as i,r as g,e as S,o as oe,N as m,c as Q,k as Z}from"./vendor-vue.Bykizn0M.js";import"./vendor-misc.1adHN6i_.js";const de={class:"aksrt-verify-drawer__section"},_e={class:"aksrt-verify-drawer__section"},fe={key:0,class:"aksrt-verify-drawer__timeline"},ve={class:"aksrt-verify-drawer__timeline-head"},pe={class:"aksrt-verify-drawer__section"},ce={__name:"VerifyReviewDrawer",props:{show:{type:Boolean,default:!1},userId:{type:[Number,String],default:null}},emits:["update:show","updated"],setup(A,{emit:z}){const y=A,D=z,b=te(),U=g(!1),k=g(!1),d=g({request:null,history:[],options:{statuses:[]}}),l=S({status:"verified",note:""});ie(()=>[y.show,y.userId],async([n,r])=>{n&&r&&await h(),n||(d.value={request:null,history:[],options:{statuses:[]}},l.status="verified",l.note="")});async function h(){var n,r;if(y.userId){U.value=!0;try{const o=await C.request(`/verify/requests/${y.userId}`);d.value=(o==null?void 0:o.data)||{request:null,history:[],options:{statuses:[]}},l.status=(((r=(n=d.value)==null?void 0:n.request)==null?void 0:r.status)==="rejected","verified"),l.note=""}catch(o){b.error((o==null?void 0:o.message)||"加载认证详情失败")}finally{U.value=!1}}}async function x(){if(y.userId){k.value=!0;try{await C.request(`/verify/requests/${y.userId}/review`,{method:"POST",data:{status:l.status,note:l.note}}),b.success("认证审核已提交"),await h(),D("updated")}catch(n){b.error((n==null?void 0:n.message)||"审核失败")}finally{k.value=!1}}}return(n,r)=>{const o=i("n-descriptions-item"),F=i("n-descriptions"),O=i("n-alert"),I=i("n-empty"),B=i("n-select"),N=i("n-input"),j=i("n-button"),E=i("n-space"),q=i("n-spin"),T=i("n-drawer-content"),L=i("n-drawer");return w(),X(L,{show:A.show,width:680,"onUpdate:show":r[2]||(r[2]=R=>n.$emit("update:show",R))},{default:s(()=>[e(T,{title:"认证审核",closable:""},{default:s(()=>[e(q,{show:U.value},{default:s(()=>{var R;return[d.value.request?(w(),P(K,{key:0},[e(F,{bordered:"",column:1,size:"small","label-placement":"left"},{default:s(()=>[e(o,{label:"用户"},{default:s(()=>[f(v(d.value.request.display_name||"-"),1)]),_:1}),e(o,{label:"邮箱"},{default:s(()=>[f(v(d.value.request.email||"-"),1)]),_:1}),e(o,{label:"当前状态"},{default:s(()=>[f(v(d.value.request.status||"-"),1)]),_:1}),e(o,{label:"邮箱验证"},{default:s(()=>[f(v(d.value.request.email_verified?"已完成":"未完成"),1)]),_:1}),e(o,{label:"申请时间"},{default:s(()=>[f(v(d.value.request.requested_at||"-"),1)]),_:1}),e(o,{label:"最近处理"},{default:s(()=>[f(v(d.value.request.reviewed_at||"-"),1)]),_:1})]),_:1}),p("div",de,[r[3]||(r[3]=p("div",{class:"aksrt-verify-drawer__title"},"当前备注",-1)),e(O,{type:"info","show-icon":!1},{default:s(()=>[f(v(d.value.request.reason||"暂无备注"),1)]),_:1})]),p("div",_e,[r[4]||(r[4]=p("div",{class:"aksrt-verify-drawer__title"},"审核历史",-1)),(R=d.value.history)!=null&&R.length?(w(),P("div",fe,[(w(!0),P(K,null,ue(d.value.history,(t,a)=>(w(),P("div",{key:a,class:"aksrt-verify-drawer__timeline-item"},[p("div",ve,[p("strong",null,v(t.status||"-"),1),p("span",null,v(t.time||"-"),1)]),p("p",null,v(t.reason||"无备注"),1),p("small",null,v(t.reviewer_name||"系统"),1)]))),128))])):(w(),X(I,{key:1,description:"暂无审核历史"}))]),p("div",pe,[r[7]||(r[7]=p("div",{class:"aksrt-verify-drawer__title"},"执行审核",-1)),e(E,{vertical:"",size:12},{default:s(()=>{var t;return[e(B,{value:l.status,"onUpdate:value":r[0]||(r[0]=a=>l.status=a),options:((t=d.value.options)==null?void 0:t.statuses)||[]},null,8,["value","options"]),e(N,{value:l.note,"onUpdate:value":r[1]||(r[1]=a=>l.note=a),type:"textarea",rows:4,placeholder:"填写审核说明或驳回原因"},null,8,["value"]),e(E,null,{default:s(()=>[e(j,{type:"primary",loading:k.value,onClick:x},{default:s(()=>[...r[5]||(r[5]=[f("提交审核",-1)])]),_:1},8,["loading"]),e(j,{onClick:h},{default:s(()=>[...r[6]||(r[6]=[f("刷新详情",-1)])]),_:1})]),_:1})]}),_:1})])],64)):(w(),X(I,{key:1,description:"暂无认证详情"}))]}),_:1},8,["show"])]),_:1})]),_:1},8,["show"])}}},ye=ee(ce,[["__scopeId","data-v-84e367b4"]]),me={class:"aksrt-page-container"},ge={class:"aksrt-form-actions"},we={__name:"UsersVerify",setup(A){const z=te(),y=g(!0),D=g(!1),b=g(!1),U=g([]),k=g(!1),d=g(null),l=S({user_verify_enabled:!0,user_verify_public_display:!0,user_verify_badge_text:"已认证",user_verify_accept_email_verified:!0,user_verify_require_manual_review:!1}),h=S({emailVerificationEnabled:!1}),x=S({pending:0,verified:0,rejected:0,total:0}),n=S({keyword:"",status:"",dateRange:null}),r=S({page:1,pageSize:20,itemCount:0}),o=S({statuses:[]}),F=Q(()=>o.statuses.length?[{label:"全部状态",value:""},...o.statuses]:[{label:"全部状态",value:""},{labeLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-verify-drawer__section[data-v-84e367b4]{margin-top:20px}.aksrt-verify-drawer__title[data-v-84e367b4]{margin-bottom:10px;font-size:14px;font-weight:600;color:#1f2937}.aksrt-verify-drawer__timeline[data-v-84e367b4]{display:grid;gap:12px}.aksrt-verify-drawer__timeline-item[data-v-84e367b4]{padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}.aksrt-verify-drawer__timeline-head[data-v-84e367b4]{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.aksrt-verify-drawer__timeline-item p[data-v-84e367b4]{margin:0 0 6px;color:#111827;white-space:pre-wrap}.aksrt-verify-drawer__timeline-item small[data-v-84e367b4]{color:#6b7280}.aksrt-verify-page__card[data-v-96c64f9f]{margin-top:16px}
|
||||
@@ -0,0 +1 @@
|
||||
import{X as u,a4 as w,Y as s,L as r,Z as o,j as _,af as y,f as b,ag as p,F as g,R as x,o as T,c as S,r as f,e as D,a1 as V,W as k}from"./vendor-vue.Bykizn0M.js";import{P as I}from"./PageHeader.Di3JTPjc.js";import{a as h}from"./shared-api.D5_fnN32.js";import{_ as U}from"./index.js";import"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";const A={name:"UsersWechatTemplate",components:{PageHeader:I},setup(){const n=f({enabled:!1,configured:!1,has_token:!1,has_template:!1,bound_users:0}),t=D({enabled:!1,app_id:"",app_secret:"",template_id:""}),d=f(!1),a=[{key:"comment_reply",desc:"评论回复通知"},{key:"system_notice",desc:"系统公告通知"},{key:"order_paid",desc:"订单支付通知"},{key:"credits_change",desc:"积分变动通知"},{key:"forum_reply",desc:"论坛回复通知"}],i=f([]),m=S(()=>a.map(e=>({...e,ready:i.value.length===0||i.value.includes(e.key)})));async function c(){try{const e=await h.request("/wechat/status");e.success&&(n.value=e.data,t.enabled=e.data.enabled||!1,t.app_id=e.data.appid||"",t.app_secret=(e.data.app_secret==="***",""),t.template_id=e.data.template_id||"",i.value=e.data.allowed_types||[])}catch(e){console.error("Load WeChat status failed:",e)}}async function l(){d.value=!0;try{const e={...t};!e.app_secret&&n.value.configured&&(e.app_secret="***");const v=await h.request("/wechat/settings",{method:"POST",data:e});v.success?(alert("设置已保存"),c()):alert(v.message||"保存失败")}catch(e){console.error("Save failed:",e),alert("保存失败: "+(e.message||"未知错误"))}finally{d.value=!1}}return T(()=>c()),{status:n,form:t,saving:d,eventTypes:m,saveSettings:l}}},C={class:"aksrt-page-container"},P={class:"aksrt-wechat__status"},W={class:"aksrt-wechat__status-card"},j={class:"aksrt-wechat__status-info"},B={class:"aksrt-wechat__status-value"},H={class:"aksrt-wechat__status-card"},L={class:"aksrt-wechat__status-info"},M={class:"aksrt-wechat__status-value"},N={class:"aksrt-wechat__status-card"},q={class:"aksrt-wechat__status-info"},F={class:"aksrt-wechat__status-value"},z={class:"aksrt-wechat__status-card"},E={class:"aksrt-wechat__status-info"},O={class:"aksrt-wechat__status-value"},R={class:"aksrt-wechat__form-card"},X={class:"aksrt-form-group"},Y={class:"aksrt-form-group"},Z={class:"aksrt-form-group"},G={class:"aksrt-form-group"},J={class:"aksrt-form-actions"},K=["disabled"],Q={class:"aksrt-wechat__form-card"},$={class:"aksrt-table aksrt-table--sm"};function ss(n,t,d,a,i,m){const c=V("PageHeader");return k(),u("div",C,[w(c,{title:"微信模板消息",desc:"配置微信公众号模板消息推送。"}),s("div",P,[s("div",W,[s("div",{class:r(["aksrt-wechat__status-icon",a.status.configured?"aksrt-wechat__status-icon--ok":"aksrt-wechat__status-icon--warn"])},[s("i",{class:r(a.status.configured?"fas fa-check":"fas fa-exclamation")},null,2)],2),s("div",j,[t[5]||(t[5]=s("div",{class:"aksrt-wechat__status-label"},"配置状态",-1)),s("div",B,o(a.status.configured?"已配置":"未配置"),1)])]),s("div",H,[s("div",{class:r(["aksrt-wechat__status-icon",a.status.has_token?"aksrt-wechat__status-icon--ok":"aksrt-wechat__status-icon--warn"])},[s("i",{class:r((a.status.has_token,"fas fa-key"))},null,2)],2),s("div",L,[t[6]||(t[6]=s("div",{class:"aksrt-wechat__status-label"},"Access Token",-1)),s("div",M,o(a.status.has_token?"已获取":"未获取"),1)])]),s("div",N,[s("div",{class:r(["aksrt-wechat__status-icon",a.status.has_template?"aksrt-wechat__status-icon--ok":"aksrt-wechat__status-icon--warn"])},[s("i",{class:r((a.status.has_template,"fas fa-file-alt"))},null,2)],2),s("div",q,[t[7]||(t[7]=s("div",{class:"aksrt-wechat__status-label"},"模板 ID",-1)),s("div",F,o(a.status.has_template?"已配置":"未配置"),1)])]),s("div",z,[t[9]||(t[9]=s("div",{class:"aksrt-wechat__status-icon aksrt-wechat__status-icon--info"},[s("i",{class:"fas fa-users"})],-1)),s("div",E,[t[8]||(t[8]=s("div",{class:"aksrt-wechat__status-label"},"绑定用户",-1)),s("div",O,o(a.status.bound_users||0)+" 人",1)])])]),s("div",R,[t[15]||(t[15]=s("h3",null,"基本配置",-1)),s("div",X,[s("label",null,[_(s("input",{type:"checkbox","onUpdate:modelValue":t[0]||(t[0]=l=>a.form.enabled=l)},null,512),[[y,a.form.enabled]]),t[10]||(t[10]=b(" 启用微信模板消息 ",-1))])]),s("div",Y,[t[11]||(t[11]=s("label",null,"AppID",-1)),_(s("input",{"onUpdate:modelValue":t[1]||(t[1]=l=>a.form.app_id=l),type:"text",class:"aksrt-input",placeholder:"微信公众号 AppID"},null,512),[[p,a.form.app_id]])]),s("div",Z,[t[12]||(t[12]=s("label",null,"AppSecret",-1)),_(s("input",{"onUpdate:modelValue":t[2]||(t[2]=l=>a.form.app_secret=l),type:"password",class:"aksrt-input",placeholder:"微信公众号 AppSecret"},null,512),[[p,a.form.app_secret]]),t[13]||(t[13]=s("p",{class:"aksrt-form-hint"},"保存后不会回显完整密钥",-1))]),s("div",G,[t[14]||(t[14]=s("label",null,"模板 ID",-1)),_(s("input",{"onUpdate:modelValue":t[3]||(t[3]=l=>a.form.template_id=l),type:"text",class:"aksrt-input",placeholder:"微信模板消Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-wechat__status[data-v-cb377b9c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.aksrt-wechat__status-card[data-v-cb377b9c]{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:8px;border:1px solid #e8e8e8}.aksrt-wechat__status-icon[data-v-cb377b9c]{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px}.aksrt-wechat__status-icon--ok[data-v-cb377b9c]{background:#d4edda;color:#155724}.aksrt-wechat__status-icon--warn[data-v-cb377b9c]{background:#fff3cd;color:#856404}.aksrt-wechat__status-icon--info[data-v-cb377b9c]{background:#d1ecf1;color:#0c5460}.aksrt-wechat__status-value[data-v-cb377b9c]{font-size:18px;font-weight:600;color:#1a1a2e}.aksrt-wechat__status-label[data-v-cb377b9c]{font-size:12px;color:#888}.aksrt-wechat__form-card[data-v-cb377b9c]{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:24px;margin-bottom:16px}.aksrt-wechat__form-card h3[data-v-cb377b9c]{margin:0 0 16px;font-size:16px;font-weight:600}.aksrt-form-hint[data-v-cb377b9c]{font-size:12px;color:#888;margin-top:4px}
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-mobile-topbar[data-v-cdd0c306]{display:flex;align-items:center;gap:10px;height:48px;padding:0 14px;background:#fff;border-bottom:1px solid #eceff5;position:sticky;top:0;z-index:50}.aksrt-mobile-topbar__menu[data-v-cdd0c306]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:#1a1a2e;cursor:pointer;margin-left:-6px}.aksrt-mobile-topbar__menu[data-v-cdd0c306]:hover{background:#f3f5f9}.aksrt-mobile-topbar__title[data-v-cdd0c306]{flex:1 1 auto;font-size:15px;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aksrt-mobile-topbar__brand[data-v-cdd0c306]{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#18a058;color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em}.aksrt-logo[data-v-06997596]{display:flex;align-items:center;justify-content:center;height:60px;gap:10px;border-bottom:1px solid var(--n-border-color, #efeff5)}.aksrt-logo--drawer[data-v-06997596]{justify-content:flex-start;padding:0 18px}.logo-icon[data-v-06997596]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#18a058;color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em}.logo-text[data-v-06997596]{font-size:18px;font-weight:700;color:#1a1a2e;letter-spacing:1px}.aksrt-admin-content__inner[data-v-06997596]{padding:24px 28px}.aksrt-admin-mobile[data-v-06997596]{background:#f5f7fb;min-height:100vh}.aksrt-admin-mobile__body[data-v-06997596]{padding:14px 12px 32px}.aksrt-page-wrapper[data-v-06997596]{min-height:calc(100vh - 120px)}.aksrt-error-fallback[data-v-06997596]{padding:48px 20px;text-align:center}.aksrt-error-title[data-v-06997596]{margin:0 0 10px;font-size:16px;color:#d03050}.aksrt-error-msg[data-v-06997596]{margin:0 0 16px;font-size:13px;color:#777}#aksrt-admin-app,#aksrt-admin-app *{box-sizing:border-box}#aksrt-admin-app{min-height:100%;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;font-size:14px;line-height:1.6}#aksrt-admin-app .n-menu .n-menu-item-content i[class*=fa-],#aksrt-admin-app .n-menu-item-content i[class*=fa-]{font-size:18px;width:18px;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:inherit;opacity:.75;transition:opacity .15s}#aksrt-admin-app .n-menu-item-content--selected i[class*=fa-],#aksrt-admin-app .n-menu-item-content:hover i[class*=fa-]{opacity:1}#aksrt-admin-app .n-layout,#aksrt-admin-app .n-layout-sider{min-height:100vh}#aksrt-admin-app .aksrt-admin-layout{min-height:100vh;background:#f5f7fb}#aksrt-admin-app .aksrt-page-container,#aksrt-admin-app .content-page{max-width:1100px;margin:0 auto}#aksrt-admin-app .aksrt-page-title{margin:0 0 12px;color:#1a1a2e;font-size:22px;font-weight:700;letter-spacing:-.02em}#aksrt-admin-app .aksrt-page-desc{margin:0 0 24px;color:#7a7f8a;font-size:13px;line-height:1.7}#aksrt-admin-app .aksrt-section-card{margin-bottom:18px;border-radius:12px!important;border:1px solid #eceff5!important;box-shadow:0 1px 3px #0f172a0a}#aksrt-admin-app .aksrt-section-card .n-card__content{padding:18px 20px 20px!important}#aksrt-admin-app .aksrt-section-card .n-card-header{padding:18px 20px 0!important}#aksrt-admin-app .aksrt-section-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}#aksrt-admin-app .aksrt-section-header h3{margin:0;color:#1a1a2e;font-size:15px;font-weight:600}#aksrt-admin-app .section-icon,#aksrt-admin-app .header-icon{font-size:17px;opacity:.8;display:inline-flex;align-items:center}#aksrt-admin-app .section-desc,#aksrt-admin-app .aksrt-hint-text{color:#8a909c;font-size:12px;line-height:1.6}#aksrt-admin-app .section-desc{margin:0 0 14px}#aksrt-admin-app .aksrt-form .n-form-item{margin-bottom:18px}#aksrt-admin-app .aksrt-form .n-form-item:last-child{margin-bottom:0}#aksrt-admin-app .aksrt-form .n-form-item-label{color:#555!important;font-size:13px;font-weight:500}#aksrt-admin-app .aksrt-form .n-input,#aksrt-admin-app .aksrt-form .n-select .n-base-selection,#aksrt-admin-app .aksrt-form .n-input-number{min-height:38px;--n-height: 38px !important}#aksrt-admin-app .aksrt-form .n-input--textarea textarea{min-height:84px}#aksrt-admin-app .aksrt-form .n-switch{--n-rail-height: 26px !important;--n-rail-width: 48px !important}#aksrt-admin-app .aksrt-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:24px 0 8px;margin-top:28px;border-top:1px solid #eef1f6}#aksrt-admin-app .aksrt-form-actions .n-button{min-width:120px;height:40px;font-weight:500}#aksrt-admin-app .aksrt-tabs .n-tabs-nav{margin-bottom:20px!important}#aksrt-admin-app .aksrt-tabs .n-tabs-tab{padding:10px 20px!important;font-size:14px!important;font-weight:500}#aksrt-admin-app .n-data-table{border-radius:10px;overflow:hidden}#aksrt-admin-app .n-data-table .n-data-table-th{background:#f8fafc}#aLine truncated
|
||||
@@ -0,0 +1,16 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>AKSRT 主题设置</title>
|
||||
<script type="module" crossorigin src="./index.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="./vendor-vue.Bykizn0M.js">
|
||||
<link rel="modulepreload" crossorigin href="./vendor-misc.1adHN6i_.js">
|
||||
<link rel="modulepreload" crossorigin href="./vendor-naive.BuHWlEgf.js">
|
||||
<link rel="stylesheet" crossorigin href="./index.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="aksrt-admin-app"></div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,2 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./SchemaPage.CSkx936u.js","./vendor-vue.Bykizn0M.js","./shared-api.B7o7Pzvu.js","./FaIcon.CX_hGmM4.js","./vendor-misc.1adHN6i_.js","./shared-api.D5_fnN32.js","./index2.css","./vendor-naive.BuHWlEgf.js","./SchemaPage.css","./DeferredPage.DrhT6-8i.js","./DeferredPage.css","./NativeOpsRedirect.C0bocwWY.js","./NativeOpsRedirect.css","./FloatingButtonsSettings.-1uwNMV9.js","./vendor-draggable.CceJcfGJ.js","./PageHeader.Di3JTPjc.js","./PageHeader.css","./FloatingButtonsSettings.css","./FooterTabbarSettings.RLdsCbkU.js","./FooterTabbarSettings.css","./FooterSettings.pT4aCC_F.js","./media.BHNcAGK-.js","./FooterSettings.css","./HomepageSettings.iKd6UZP-.js","./HomepageSettings.css","./HeroManager.sfaSC084.js","./HeroManager.css","./BannerManager.DIeolpAQ.js","./BannerManager.css","./PostPageSettings.B1brRzY8.js","./CommentSettings.BXEQmxrU.js","./CommentPermissions.wWXEnm5v.js","./PermissionsCapabilities.DAu3e_3q.js","./PermissionsCapabilities.css","./AttachmentPermissions.NUq74TjZ.js","./AttachmentPermissions.css","./DownloadPermissions.D_4Tmrvf.js","./CmsCredits.xTl3ugX1.js","./ResourceDownload.DvRILKEZ.js","./ThemeInfoPage.CmzNxB-f.js","./ThemeInfoPage.css","./ThemeAuthorizationPage.exqEspJr.js","./DocsPage.Cef6fL12.js","./DocsPage.css","./UsersFeatures.8x2S0GR6.js","./UsersSignin.frRX-AHK.js","./UsersVerify.DlTUYsYd.js","./UsersVerify.css","./UsersLevel.D9sYKZP1.js","./UsersBadge.BAdBIwxF.js","./UsersWechatTemplate.BTkLtWGJ.js","./UsersWechatTemplate.css","./PaymentGateway.BTbqvMWf.js","./PaymentGateway.css","./ToolsImportExport.CBVCMq0z.js","./ToolsImportExport.css","./ToolsHealth.CoF-E7n8.js","./ToolsHealth.css","./ToolsEmailRollback.YrJUTDzS.js","./ToolsEmailRollback.css","./ToolsUpdate.CTzLIO24.js","./ToolsUpdate.css","./ExtensionTools.D5LShWF9.js","./ExtensionTools.css","./ExtensionSecurity.Dusc4b9q.js","./ExtensionSecurity.css","./ExtensionAI.vrglPKlb.js","./ExtensionAI.css"])))=>i.map(i=>d[i]);
|
||||
import{W as v,X as L,Y as p,Z as B,r as O,k as te,_ as oe,$ as ae,o as ne,b as se,a0 as ie,a1 as D,a2 as V,a3 as y,a4 as u,a5 as F,N as w,z as M,a6 as N,f as G,c as K,p as le,a7 as re,a8 as ce,M as me,a9 as pe}from"./vendor-vue.Bykizn0M.js";import{N as ue,n as de}from"./vendor-naive.BuHWlEgf.js";import"./vendor-misc.1adHN6i_.js";(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))c(r);new MutationObserver(r=>{for(const m of r)if(m.type==="childList")for(const d of m.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&c(d)}).observe(document,{childList:!0,subtree:!0});function i(r){const m={};return r.integrity&&(m.integrity=r.integrity),r.referrerPolicy&&(m.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?m.credentials="include":r.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function c(r){if(r.ep)return;r.ep=!0;const m=i(r);fetch(r.href,m)}})();const W=(e,a)=>{const i=e.__vccOpts||e;for(const[c,r]of a)i[c]=r;return i},ye={class:"aksrt-mobile-topbar"},ge={class:"aksrt-mobile-topbar__title"},he={__name:"MobileTopBar",props:{title:{type:String,default:"AKSRT"}},emits:["toggle"],setup(e){return(a,i)=>(v(),L("header",ye,[p("button",{class:"aksrt-mobile-topbar__menu",type:"button","aria-label":"打开菜单",onClick:i[0]||(i[0]=c=>a.$emit("toggle"))},[...i[1]||(i[1]=[p("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[p("line",{x1:"4",y1:"6",x2:"20",y2:"6"}),p("line",{x1:"4",y1:"12",x2:"20",y2:"12"}),p("line",{x1:"4",y1:"18",x2:"20",y2:"18"})],-1)])]),p("div",ge,B(e.title),1),i[2]||(i[2]=p("div",{class:"aksrt-mobile-topbar__brand"},"AK",-1))]))}},_e=W(he,[["__scopeId","data-v-cdd0c306"]]),q=O(null);function f(e){return()=>te("i",{class:e,style:"font-size:18px;width:18px;text-align:center"})}function j(e){return{status:"available",component:"SchemaPage",canonicalDomain:"",section:"",phase:"",dependsOn:[],reason:"",features:[],iconClass:"",...e}}function l(e){return j(e)}function t(e){return j({component:"SchemaPage",...e})}const fe={key:"global",label:"全局&功能",icon:f("fas fa-globe"),route:"/global",children:[t({key:"global-common",name:"GlobalCommon",label:"常用功能",route:"/global/common",title:"常用功能",desc:"评论、性能、头像源与备案等全局基础配置。",canonicalDomain:"global",section:"common"}),t({key:"global-logo",name:"GlobalLogo",label:"LOGO图像",route:"/global/logo",title:"LOGO图像",desc:"管理站点 Logo、站点图标和品牌标识。",canonicalDomain:"global",section:"logo"}),t({key:"global-seo",name:"GlobalSeo",label:"SEO优化",route:"/global/seo",title:"SEO优化",desc:"站点标题、描述、关键词、Sitemap 等搜索引擎优化设置。",canonicalDomain:"global",section:"seo"}),t({key:"global-layout",name:"GlobalLayout",label:"显示&布局",route:"/global/layout",title:"显示&布局",desc:"全局布局风格、颜色方案、字体设置。",canonicalDomain:"global",section:"layout"}),t({key:"global-search",name:"GlobalSearch",label:"搜索功能",route:"/global/search",title:"搜索功能",desc:"搜索页面样式、搜索建议、热门搜索配置。",canonicalDomain:"global",section:"search"}),l({key:"global-tabbar",name:"GlobalTabbar",label:"手机底部Tab",route:"/global/tabbar",title:"手机底部Tab",desc:"移动端底部导航栏配置。",component:"FooterTabbarSettings"}),l({key:"global-floating",name:"GlobalFloating",label:"右侧悬浮按钮",route:"/global/floating",title:"右侧悬浮按钮",desc:"页面右侧浮动按钮的显示与配置。",component:"FloatingButtonsSettings"}),t({key:"global-i18n",name:"GlobalI18n",label:"多语言翻译",route:"/global/i18n",title:"多语言翻译",desc:"配置站点语言、语言切换器和翻译管理。",canonicalDomain:"global",section:"i18n"}),t({key:"global-email",name:"GlobalEmail",label:"Email邮件",route:"/global/email",title:"Email邮件",desc:"SMTP 发信配置、邮件模板与测试。",canonicalDomain:"global",section:"email"}),t({key:"global-custom-code",name:"GlobalCustomCode",label:"自定义代码",route:"/global/custom-code",title:"自定义代码",desc:"自定义 CSS、JS 代码注入。",canonicalDomain:"global",section:"custom-code"})]},be={key:"page-display",label:"页面&显示",icon:f("fas fa-desktop"),route:"/page-display",children:[t({key:"page-display-header-nav",name:"PageDisplayHeaderNav",label:"顶部导航栏",route:"/page-display/header-nav",title:"顶部导航栏",desc:"导航栏布局、菜单位置、LOGO 与搜索入口配置。",canonicalDomain:"page_display",section:"header-nav"}),t({key:"page-display-background",name:"PageDisplayBackground",label:"全局背景",route:"/page-display/background",title:"全局背景",deLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
.aksrt-field-group[data-v-c4357731]{margin-bottom:20px;border:1px solid #eef1f6;border-radius:12px;background:#fff;overflow:hidden}.aksrt-field-group__header[data-v-c4357731]{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 0}.aksrt-field-group__header-left[data-v-c4357731]{display:flex;align-items:flex-start;gap:10px}.aksrt-field-group__icon[data-v-c4357731]{color:#1890ff;margin-top:2px}.aksrt-field-group__title[data-v-c4357731]{margin:0;font-size:15px;font-weight:600;color:#1a1a2e}.aksrt-field-group__desc[data-v-c4357731]{margin:4px 0 0;font-size:12px;color:#8a909c;line-height:1.5}.aksrt-field-group__actions[data-v-c4357731]{display:flex;align-items:center;gap:8px}.aksrt-field-group__toggle[data-v-c4357731]{display:flex;align-items:center;gap:6px;padding:8px 20px;cursor:pointer;color:#8a909c;font-size:12px;-webkit-user-select:none;user-select:none;transition:color .15s}.aksrt-field-group__toggle[data-v-c4357731]:hover{color:#1890ff}.aksrt-field-group__chevron[data-v-c4357731]{transition:transform .2s}.aksrt-field-group__body[data-v-c4357731]{padding:16px 20px 20px}.aksrt-collapse-enter-active[data-v-c4357731],.aksrt-collapse-leave-active[data-v-c4357731]{transition:all .2s ease;overflow:hidden}.aksrt-collapse-enter-from[data-v-c4357731],.aksrt-collapse-leave-to[data-v-c4357731]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.aksrt-icon-picker__panel[data-v-29954567]{padding:12px}.aksrt-icon-picker__search[data-v-29954567],.aksrt-icon-picker__tabs[data-v-29954567]{margin-bottom:10px}.aksrt-icon-picker__grid[data-v-29954567]{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;max-height:260px;overflow-y:auto}.aksrt-icon-picker__item[data-v-29954567]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;cursor:pointer;font-size:16px;color:#555;transition:all .15s}.aksrt-icon-picker__item[data-v-29954567]:hover{background:#f0f5ff;color:#1890ff}.aksrt-icon-picker__item.is-active[data-v-29954567]{background:#1890ff;color:#fff}.aksrt-icon-picker__empty[data-v-29954567]{grid-column:1 / -1;text-align:center;padding:20px;color:#999;font-size:13px}.aksrt-media-field__preview[data-v-2b281958]{position:relative;border-radius:8px;overflow:hidden;border:1px solid #eef1f6;margin-bottom:8px}.aksrt-media-field__image[data-v-2b281958]{display:block;width:100%;max-height:200px;object-fit:cover}.aksrt-media-field__file[data-v-2b281958]{display:flex;align-items:center;gap:8px;padding:16px;background:#f8fafc}.aksrt-media-field__filename[data-v-2b281958]{font-size:13px;color:#555;word-break:break-all}.aksrt-media-field__overlay[data-v-2b281958]{position:absolute;top:0;right:0;display:flex;gap:4px;padding:6px;opacity:0;transition:opacity .2s}.aksrt-media-field__preview:hover .aksrt-media-field__overlay[data-v-2b281958]{opacity:1}.aksrt-media-field__empty[data-v-2b281958]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;border:2px dashed #d9dce3;border-radius:8px;cursor:pointer;color:#8a909c;font-size:13px;transition:all .2s;margin-bottom:8px}.aksrt-media-field__empty[data-v-2b281958]:hover{border-color:#1890ff;color:#1890ff;background:#f0f7ff}.aksrt-media-field__url[data-v-2b281958]{margin-top:4px}.aks-code-editor[data-v-28406ea7]{border:1px solid var(--n-border-color, #e0e0e6);border-radius:4px;overflow:hidden;min-height:calc(var(--rows, 8) * 22px)}.aks-code-editor[data-v-28406ea7] .cm-editor{font-size:13px}.aks-code-editor[data-v-28406ea7] .cm-editor.cm-focused{outline:none}.aks-code-editor.is-disabled[data-v-28406ea7]{opacity:.6;pointer-events:none}.aksrt-field[data-v-8191b70d]{margin-bottom:18px}.aksrt-field[data-v-8191b70d]:last-child{margin-bottom:0}.aksrt-field__label-row[data-v-8191b70d]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.aksrt-field__label[data-v-8191b70d]{font-size:13px;font-weight:500;color:#555}.aksrt-field__required[data-v-8191b70d]{color:#d03050;margin-left:2px}.aksrt-field__help-icon[data-v-8191b70d]{color:#c0c4cc;cursor:help;transition:color .15s}.aksrt-field__help-icon[data-v-8191b70d]:hover{color:#1890ff}.aksrt-field__desc[data-v-8191b70d]{margin:-2px 0 8px;font-size:12px;color:#8a909c;line-height:1.5}.aksrt-field__error[data-v-8191b70d]{margin:4px 0 0;font-size:12px;color:#d03050}.aksrt-field--disabled[data-v-8191b70d]{opacity:.6;pointer-events:none}.aksrt-field__dimensions[data-v-8191b70d]{display:flex;align-items:center;gap:8px}.aksrt-field__dimensions-sep[data-v-8191b70d]{color:#c0c4cc;font-size:14px}.aksrt-field__spacing[data-v-8191b70d]{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr;gap:8px;align-items:center}.aksrt-field__spacing-label[data-v-8191b70d]{font-size:12px;color:#8a909c;text-align:center}.aksrt-field__background[data-v-8191b70d]{display:flex;flex-direction:column;gap:12px}.aksrt-field__background-row[data-v-8191b70d]{display:flex;align-items:center;gap:12px}.aksrt-field__sublabel[data-v-8191b70d]{font-size:12pxLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
function c(n={}){var r;const o=(r=window.wp)==null?void 0:r.media;if(!o)throw new Error("当前后台未加载 WordPress 媒体库。");const e=o({title:n.title||"选择图片",button:{text:n.buttonText||"使用此图片"},library:{type:n.type||"image"},multiple:!1});return new Promise((i,s)=>{e.on("select",()=>{var l;const t=(l=e.state().get("selection").first())==null?void 0:l.toJSON();if(!(t!=null&&t.url)){s(new Error("未选择有效的媒体资源。"));return}i(t)}),e.on("close",()=>{e.state().get("selection").length>0||i(null)}),e.open()})}export{c as o};
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,55 @@
|
||||
import{_ as q}from"./FaIcon.CX_hGmM4.js";import{r as P,W as t,X as _,Y as r,a2 as y,a5 as A,Z as g,l as F,a4 as d,a3 as c,j as Ee,v as Ge,z as Re,a1 as k,f as j,F as T,R as $,L as X,c as R,o as te,w as le,b as Ve,x as Ke,ab as He,m as xe}from"./vendor-vue.Bykizn0M.js";import{_ as K}from"./index.js";import{ba as W,bb as Ne,bc as Be,bd as J,be as Je,bf as Fe,bg as Xe}from"./vendor-misc.1adHN6i_.js";import{a as ae}from"./shared-api.D5_fnN32.js";const We={class:"aksrt-field-group"},Qe={key:0,class:"aksrt-field-group__header"},Ze={class:"aksrt-field-group__header-left"},Ye={class:"aksrt-field-group__title"},ea={key:0,class:"aksrt-field-group__desc"},aa={key:0,class:"aksrt-field-group__actions"},la={class:"aksrt-field-group__toggle-text"},ta={class:"aksrt-field-group__body"},sa={__name:"AksFieldGroup",props:{title:{type:String,default:""},description:{type:String,default:""},icon:{type:String,default:""},collapsible:{type:Boolean,default:!1},defaultCollapsed:{type:Boolean,default:!1}},setup(e){const s=P(e.defaultCollapsed);function u(){s.value=!s.value}return(p,v)=>(t(),_("div",We,[e.title?(t(),_("div",Qe,[r("div",Ze,[e.icon?(t(),y(q,{key:0,icon:e.icon,size:16,class:"aksrt-field-group__icon"},null,8,["icon"])):A("",!0),r("div",null,[r("h3",Ye,g(e.title),1),e.description?(t(),_("p",ea,g(e.description),1)):A("",!0)])]),p.$slots.actions?(t(),_("div",aa,[F(p.$slots,"actions",{},void 0,!0)])):A("",!0)])):A("",!0),e.collapsible?(t(),_("div",{key:1,class:"aksrt-field-group__toggle",onClick:u},[d(q,{icon:s.value?"fas fa-chevron-right":"fas fa-chevron-down",size:12,class:"aksrt-field-group__chevron"},null,8,["icon"]),r("span",la,g(s.value?"展开":"收起")+g(e.title?` ${e.title}`:""),1)])):A("",!0),d(Re,{name:"aksrt-collapse"},{default:c(()=>[Ee(r("div",ta,[F(p.$slots,"default",{},void 0,!0)],512),[[Ge,!s.value]])]),_:3})]))}},ia=K(sa,[["__scopeId","data-v-c4357731"]]),na={class:"aksrt-fa-icon-picker"},_a={class:"aksrt-icon-picker__panel"},oa={class:"aksrt-icon-picker__search"},da={class:"aksrt-icon-picker__tabs"},ua=["title","onClick"],ra={key:0,class:"aksrt-icon-picker__empty"},pa={__name:"FaIconPicker",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"选择图标"}},emits:["update:modelValue"],setup(e,{emit:z}){const s=z,u=P(""),p=P("fas"),v=P(null),O=["fa-home","fa-cog","fa-cogs","fa-wrench","fa-sliders-h","fa-tools","fa-search","fa-filter","fa-sort","fa-sync","fa-redo","fa-undo","fa-plus","fa-minus","fa-times","fa-check","fa-exclamation","fa-info","fa-question","fa-bell","fa-envelope","fa-comment","fa-comments","fa-user","fa-users","fa-user-plus","fa-user-shield","fa-user-circle","fa-lock","fa-unlock","fa-key","fa-shield-alt","fa-fingerprint","fa-globe","fa-globe-americas","fa-link","fa-external-link-alt","fa-anchor","fa-image","fa-images","fa-camera","fa-video","fa-music","fa-file","fa-folder","fa-folder-open","fa-download","upload","fa-cloud","fa-database","fa-server","fa-hdd","fa-memory","fa-microchip","fa-desktop","fa-laptop","fa-mobile-alt","fa-tablet-alt","fa-chart-bar","fa-chart-line","fa-chart-pie","fa-chart-area","fa-tachometer-alt","fa-tasks","fa-clipboard","fa-clipboard-list","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-th","fa-th-large","fa-tags","fa-tag","fa-bookmark","fa-star","fa-heart","fa-thumbs-up","fa-share","fa-share-alt","fa-external-link-alt","fa-clipboard-check","fa-eye","fa-eye-slash","fa-lightbulb","fa-magic","fa-palette","fa-paint-brush","fa-font","fa-text-height","fa-bold","fa-italic","fa-code","fa-terminal","fa-bug","fa-exclamation-triangle","fa-exclamation-circle","fa-check-circle","fa-info-circle","fa-spinner","fa-circle-notch","fa-hourglass-half","fa-clock","fa-calendar","fa-calendar-alt","fa-history","fa-hourglass","fa-map-marker-alt","fa-map","fa-directions","fa-compass","fa-shopping-cart","fa-shopping-bag","fa-credit-card","fa-money-bill","fa-coins","fa-dollar-sign","fa-wallet","fa-receipt","fa-newspaper","fa-rss","fa-podcast","fa-megaphone","fa-flag","fa-trophy","fa-award","fa-medal","fa-gift","fa-fire","fa-bolt","fa-sun","fa-moon","fa-cloud-sun","fa-male","fa-female","fa-child","fa-id-card","fa-paper-plane","fa-paperclip","fa-at","fa-hashtag","fa-ellipsis-h","fa-ellipsis-v","fa-bars","fa-columns","fa-window-maximize","fa-window-minimize","fa-window-close","fa-expand","fa-compress","fa-arrows-alt","fa-crosshairs","fa-sign-in-alt","fa-sign-out-alt","fa-door-open","fa-plug","fa-power-off","fa-redo-alt","fa-sync-alt"],i={fas:O,far:["fa-heart","fa-star","fa-bookmark","fa-user","fa-envelope","fa-comment","fa-comments","fa-bell","fa-clock","fa-calendar","fa-clipboard","fa-file","fa-folder","fa-image","fa-eye","fa-thumbs-up","fa-flag","fa-share-square","fa-hand-point-right","fa-life-ring","fa-lightbulb","fa-question-circle","fa-check-circle","fa-times-circle","fa-dot-circle","fa-circle","fa-square","fa-moon","fa-sun","fa-snowflake","fa-lemon","fa-gem","fa-copy","fa-edit","fa-trash-alt","fa-save","fa-window-maximize","fa-window-minimize","fa-window-cloLine truncated
|
||||
tag`,search_type_post:!0,search_type_user:!1,search_type_category:!0,search_type_tag:!0,search_type_product:!1,search_type_topic:!1,search_default_type:"post",search_ms_enabled:!1,search_ms_api_url:"",search_ms_api_key:"",search_ms_index_prefix:"aksrt",search_ms_synonyms:""},groups:[{key:"basic",title:"搜索基础",icon:"fas fa-search",fields:[{key:"search_mode",label:"搜索模式",type:"radio",default:"default",options:[{label:"默认搜索",value:"default"},{label:"AJAX 实时搜索",value:"ajax"},{label:"跳转搜索",value:"redirect"}]},{key:"search_placeholder",label:"搜索框提示文字",type:"input",placeholder:"开启精彩搜索"}]},{key:"content-types",title:"搜索内容类型",icon:"fas fa-layer-group",fields:[{key:"search_type_post",label:"文章",type:"switch",default:!0},{key:"search_type_user",label:"用户",type:"switch",default:!1},{key:"search_type_category",label:"分类",type:"switch",default:!0},{key:"search_type_tag",label:"标签",type:"switch",default:!0},{key:"search_type_product",label:"商品",type:"switch",default:!1},{key:"search_type_topic",label:"帖子",type:"switch",default:!1},{key:"search_default_type",label:"默认类型",type:"select",default:"post",options:[{label:"文章",value:"post"},{label:"用户",value:"user"},{label:"分类",value:"category"},{label:"标签",value:"tag"},{label:"商品",value:"product"},{label:"帖子",value:"topic"}]}]},{key:"features",title:"搜索功能",icon:"fas fa-magic",fields:[{key:"search_history_enabled",label:"搜索历史",type:"switch",default:!0,help:"记录用户最近的搜索关键词"},{key:"hot_search_enabled",label:"热门搜索",type:"switch",default:!0,help:"在搜索框下方展示热门搜索词"},{key:"hot_search_keywords",label:"热门搜索关键词",type:"textarea",placeholder:"每行一个关键词",dependsOn:{key:"hot_search_enabled",value:!0},rows:3,help:"手动设置热门搜索关键词,留空则自动统计"},{key:"search_suggestions_enabled",label:"搜索建议",type:"switch",default:!1,help:"输入时显示搜索建议(需要 AJAX 搜索模式)"},{key:"search_posts",label:"搜索框热门文章",type:"switch",default:!0,help:"在搜索面板中显示热门文章列表"},{key:"search_no_page",label:"排除页面",type:"switch",default:!0,help:"搜索结果中排除页面(仅显示文章)"},{key:"search_exclude_cats",label:"排除分类",type:"textarea",placeholder:"分类 ID,逗号分隔",rows:2,default:"",help:"搜索结果中排除的分类 ID(逗号分隔)"},{key:"search_custom_key_s",label:"自定义匹配范围",type:"switch",default:!0,help:"启用后可配置搜索匹配字段范围"},{key:"search_custom_key",label:"匹配字段",type:"textarea",placeholder:"title,content,excerpt,category,tag,author",rows:2,default:"title,content",dependsOn:{key:"search_custom_key_s",value:!0},help:"搜索匹配字段(逗号分隔:title/content/excerpt/category/tag/author)"},{key:"search_facets",label:"搜索结果筛选",type:"switch",default:!1,help:"启用搜索结果 taxonomy 筛选面板"},{key:"search_facets_order",label:"筛选排序",type:"textarea",rows:3,default:`category
|
||||
tag`,dependsOn:{key:"search_facets",value:!0},help:"筛选 fieldset 显示顺序(每行一个 taxonomy slug)"}]},{key:"category-search",title:"分类搜索",icon:"fas fa-folder-open",fields:[{key:"search_cat",label:"启用分类搜索",type:"switch",default:!0,help:"在搜索框旁显示分类选择器"},{key:"search_cat_in",label:"默认分类",type:"input",default:"",help:"默认搜索的分类 ID(留空为全部分类)"},{key:"search_more_cat_obj",label:"显示更多分类",type:"switch",default:!0,help:"展开显示全部分类列表"}]},{key:"popular",title:"热门搜索",icon:"fas fa-fire",fields:[{key:"search_popular_title",label:"标题",type:"input",default:"热门搜索",help:"热门搜索区域标题,留空使用默认"},{key:"search_popular_key_num",label:"显示数量",type:"number",default:20,min:1,max:50,help:"热门搜索显示条数"},{key:"search_popular_sticky",label:"置顶词(每行一个)",type:"textarea",rows:3,default:"",help:"置顶搜索词始终显示在最前面"}]},{key:"meilisearch",title:"Meilisearch 集成",icon:"fas fa-bolt",fields:[{key:"search_ms_enabled",label:"启用 Meilisearch",type:"switch",default:!1,help:"启用后搜索请求将发送至 Meilisearch 服务器"},{key:"search_ms_api_url",label:"API 地址",type:"input",default:"",help:"Meilisearch 服务器 URL(如 http://localhost:7700)"},{key:"search_ms_api_key",label:"API Key",type:"input",default:"",help:"Meilisearch Search API Key(只读密钥)"},{key:"search_ms_index_prefix",label:"索引前缀",type:"input",default:"aksrt",help:"索引名称前缀(实际索引名为 {prefix}_posts)"},{key:"search_ms_synonyms",label:"同义词(JSON)",type:"textarea",rows:3,default:"",help:'Meilisearch 同义词配置,JSON 格式(如 {"手机": ["phone","mobile"]})'}]}]},bl={key:"global.email",title:"邮件配置",icon:"fas fa-envelope",description:"SMTP 发信配置、邮件事件开关与模板自定义。",defaults:{email_footer_text:"",email_site_branding:!0,email_template_mode:"plain",email_private_receive_limit:"all",email_reg_verify_link_enabled:!0,email_reg_verify_code_enabled:!0,email_reg_success_enabled:!0,email_password_reset_enabled:!0,email_change_code_enabled:!0,email_change_notice_enabled:!0},groups:[{key:"global",title:"全局设置",icon:"fas fa-cog",fields:[{key:"email_footer_text",label:"邮件页脚文字",type:"textarea",rows:2,placeholder:"留空则使用站点名称",help:"附加在每封邮件底部的文字"},{key:"email_site_branding",label:"显示站点品牌",type:"switch",default:!0,help:"在邮件开头显示「[站点名]」前缀"},{key:"email_template_mode",label:"邮件格式",type:"radio",default:"plain",options:[{label:"纯文本",value:"plain"},{label:"HTML",value:"html"}]},{key:"email_private_receive_limit",label:"私信邮件接收组",type:"select",default:"all",options:[{label:"所有用户",value:"all"},{label:"VIP 及以上",value:"vip"},{label:"VIP2 及以上",value:"vip2"},{label:"仅管理员",value:"admin"}],help:"限制哪些用户组可以收到私信邮件通知"}]},{key:"branding",title:"邮件品牌",icon:"fas fa-signature",fields:[{key:"mail_showname",label:"发件人名称",type:"input",default:"",help:"覆盖系统默认发件人名称"},{key:"mail_title_prefix",label:"主题前缀",type:"input",default:"",help:"自动添加在所有邮件主题前面,如【站点名】"},{key:"mail_description",label:"邮件底部说明",type:"textarea",rows:3,default:"",help:"附加在邮件页脚文字之后,留空不显示"},{key:"mail_more_content",label:"邮件附加内容",type:"textarea",rows:4,default:"",help:"附加在邮件内容末尾的补充说明"}]},{key:"reg_verify_link",title:"注册验证链接",icon:"fas fa-link",fields:[{key:"email_reg_verify_link_enabled",label:"启用",type:"switch",default:!0,help:"注册后发送验证链接邮件"},{key:"email_reg_verify_link_subject",label:"主题(留空使用默认)",type:"input",placeholder:"验证你的邮箱地址"},{key:"email_reg_verify_link_content",label:"内容模板(留空使用默认)",type:"textarea",rows:4,placeholder:"支持 {username} {site_name} {url}",help:"可用占位符:{username} 用户名、{site_name} 站点名、{url} 验证链接"},{key:"email_reg_verify_link_html",label:"HTML 格式",type:"switch",default:!1}]},{key:"reg_verify_code",title:"注册验证码",icon:"fas fa-keyboard",fields:[{key:"email_reg_verify_code_enabled",label:"启用",type:"switch",default:!0,help:"注册后发送 6 位验证码邮件"},{key:"email_reg_verify_code_subject",label:"主题(留空使用默认)",type:"input",placeholder:"邮箱验证码"},{key:"email_reg_verify_code_content",label:"内容模板(留空使用默认)",type:"textarea",rows:4,placeholder:"支持 {username} {site_name} {code}",help:"可用占位符:{username} 用户名、{site_name} 站点名、{code} 验证码"},{key:"email_reg_verify_code_html",label:"HTML 格式",type:"switch",default:!1}]},{key:"reg
Line truncated
|
||||
en|English
|
||||
zh-TW|繁體中文
|
||||
ja|日本語
|
||||
ko|한국어
|
||||
fr|Français
|
||||
de|Deutsch
|
||||
es|Español
|
||||
ru|Русский`,i18n_nomenclature:"",i18n_url_strategy:"query"},groups:[{key:"basic",title:"基础配置",icon:"fas fa-globe",fields:[{key:"i18n_enabled",label:"启用多语言",type:"switch",default:!1,help:"开启后站点将支持多语言切换"},{key:"i18n_default_lang",label:"默认语言",type:"select",default:"zh-CN",options:[{label:"简体中文",value:"zh-CN"},{label:"English",value:"en"},{label:"繁體中文",value:"zh-TW"},{label:"日本語",value:"ja"},{label:"한국어",value:"ko"},{label:"Français",value:"fr"},{label:"Deutsch",value:"de"},{label:"Español",value:"es"},{label:"Русский",value:"ru"}],dependsOn:{key:"i18n_enabled",value:!0}},{key:"i18n_auto_detect",label:"自动检测浏览器语言",type:"switch",default:!0,dependsOn:{key:"i18n_enabled",value:!0},help:"基于浏览器 Accept-Language 自动切换(AKSRT 方案,区别于 zibll IP 定位方案)"}]},{key:"languages",title:"语言管理",icon:"fas fa-language",fields:[{key:"i18n_available_langs",label:"可用语言列表",type:"textarea",default:`zh-CN|简体中文
|
||||
en|English
|
||||
zh-TW|繁體中文
|
||||
ja|日本語
|
||||
ko|한국어
|
||||
fr|Français
|
||||
de|Deutsch
|
||||
es|Español
|
||||
ru|Русский`,dependsOn:{key:"i18n_enabled",value:!0},help:"每行一个语言:语言代码|显示名称(9 种内置语言)"},{key:"i18n_nomenclature",label:"自定义术语",type:"code",default:"",dependsOn:{key:"i18n_enabled",value:!0},help:"JSON 格式自定义翻译术语(key => 翻译),对齐 zibll nomenclature"}]},{key:"display",title:"展示设置",icon:"fas fa-eye",fields:[{key:"i18n_switcher_position",label:"语言切换器位置",type:"radio",default:"footer",options:[{label:"导航栏",value:"header"},{label:"页脚",value:"footer"},{label:"导航栏+页脚",value:"both"},{label:"隐藏",value:"none"}],dependsOn:{key:"i18n_enabled",value:!0}},{key:"i18n_url_strategy",label:"URL 策略",type:"radio",default:"query",options:[{label:"查询参数 (?lang=en)",value:"query"},{label:"路径前缀 (/en/page)",value:"path"},{label:"子域名 (en.site.com)",value:"subdomain"}],dependsOn:{key:"i18n_enabled",value:!0}}]}]},kl={key:"global.custom-code",title:"自定义代码",icon:"fas fa-code",description:"自定义 CSS、JS 代码注入。",defaults:{custom_css:"",head_code:"",foot_code:"",trackcode:""},groups:[{key:"css",title:"自定义 CSS",icon:"fab fa-css3-alt",fields:[{key:"custom_css",label:"自定义 CSS",type:"code",language:"css",placeholder:"/* 在此输入自定义 CSS */",rows:10,help:"将在页面 <head> 中加载"}]},{key:"code",title:"头部 & 底部代码",icon:"fas fa-code",fields:[{key:"head_code",label:"头部 HTML 代码",type:"code",placeholder:"<!-- 支持 meta/link/style/script 等任意 HTML -->",rows:6,help:"在 <head> 中输出,支持 meta/link/style/script 等任意 HTML"},{key:"foot_code",label:"底部 HTML 代码",type:"code",placeholder:"<!-- 在 </body> 前输出 -->",rows:6,help:"在页面底部 </body> 前输出,支持任意 HTML"}]},{key:"stats",title:"统计代码",icon:"fas fa-chart-bar",fields:[{key:"trackcode",label:"统计代码",type:"code",placeholder:"<!-- 百度统计 / GA / CNZZ / 51la -->",rows:6,help:"百度统计、Google Analytics、CNZZ、51la 等统计代码,自动在 head 中输出"}]}]},vl={key:"global.seo",title:"SEO 优化",icon:"fas fa-search",description:"站点标题、描述、关键词与 AI SEO。AI 生成入口在文章「独立 SEO」框;连接配置在「扩展 → AI 连接配置」。优先使用 WordPress AI Connectors。",defaults:{seo_enabled:!0,seo_ai_enabled:!1,seo_connector:"-",seo_title:"",seo_keywords:"",seo_description:"",ai_seo_title_prompt:"",ai_seo_keywords_prompt:"",ai_seo_description_prompt:"",seo_baidu_push:!1,seo_baidu_normal:!1,seo_baidu_fast:!1,seo_baidu_token:"",seo_image_optimize:!0,seo_image_default:"",seo_image_always_default:!1,seo_auto_alt:!0,seo_go_link:!0,seo_go_link_nonce:!0,seo_go_link_post:!0,seo_go_link_exclude:"",seo_no_category:!1,seo_jsonld:!0,seo_jsonld_single:!0,seo_jsonld_page:!0},groups:[{key:"basic",title:"SEO 基础",icon:"fas fa-globe",fields:[{key:"seo_enabled",label:"启用核心 SEO 优化",type:"switch",default:!0,help:"关闭后主题不再输出 SEO title/description/keywords 等 head 标签。"},{key:"seo_ai_enabled",label:"启用 AI SEO 生成",type:"switch",default:!1,help:"开启后文章/分类「独立 SEO」框显示「AI 生成 SEO」按钮。需先配置 AI 连接(WP Connectors 或扩展 → AI 连接配置)。",dependsOn:{key:"seo_enabled",value:!0}},{key:"seo_connector",label:"标题连接符",type:"input",default:"-",placeholder:"例如:- 或 |",help:"AI 生成标题时会用此连接符追加站点名。"},{key:"seo_title",label:"站点 SEO 标题",type:"textarea",rows:2,default:""},{key:"seo_keywords",label:"站点 SEO 关键词",type:"textarea",rows:3,default:""},{key:"seo_description",label:"站点 SEO 描述",type:"textarea",rows:4,default:""}]},{key:"ai-seo",title:"AI SEO 提示词",icon:"fas fa-robot",description:"留空则使用内置 Zibll 风格默认提示词。填写后作为 system instruction 覆盖默认。",fields:[{key:"ai_seo_title_prompt",label:"标题提示词",type:"textarea",rows:5,default:"",dependsOn:{key:"seo_ai_enabled",value:!0},placeholder:"你是一名资深的网站 SEO 编辑……直接输出标题文本本身,不要任何前缀、引号或解释。",help:"控制 AI 如何生成 SEO 标题。留空使用主题内置默认。"},{key:"ai_seo_keywords_prompt",label:"关键词提示词",type:"textarea",rows:5,default:"",dependsOn:{key:"seo_ai_enabled",value:!0},placeholder:"你是一名资深 SEO 编辑……使用英文逗号分隔,直接输出关键词列表。",help:"控制 AI 如何生成 meta keywords。留空使用主题内置默认。"},{key:"ai_seo_description_prompt",label:"描述提示词",type:"textarea",rows:5,default:"",dependsOn:{key:"seo_ai_enabled",value:!0},placeholder:"你是一名资深的中文 SEO 编辑……字数控制在 80 至 150 个汉字之间。",help:"控制 AI 如何生成 meta description。留空使用主题内置默认。"}]},{key:"baidu",title:"百度推送",icon:"fas fa-paper-plane",fi
Line truncated
|
||||
@throwaway.email
|
||||
@guerrillamail.com`,user_close_login:!1,user_sign_type:"page",sign_modal_auto_s:!1,sign_modal_auto_waiting_time:5,sign_modal_auto_expires:1,replace_wp_login:!0,admin_sign_key:"",user_signin_phone_s:!1,user_signin_nopas_s:!1,user_signin_nopas_type:"email",user_signin_nopas_active:"nopas_first",user_signup_captch:!0,captch_type:"email",user_signup_no_repas:!0,user_repas_captch_type:"email",bind_phone:!1,bind_reminder:"close",bind_reminder_text:"请绑定手机号以正常使用",bind_reminder_expires:24,mandatory_bind:"close",email_set_captch:!0,invit_code_s:!1,invit_code_mode:"open",invit_code_open_desc:"邀请码为选填,没有邀请码也可以注册",invit_code_must_desc:"请输入邀请码",sign_page_background:[],sign_theme_mode:"default",sign_show_header:!0,sign_card_position:"center",sign_show_logo:!0,sign_page_footer:"",sign_modal_background:[],sign_modal_show_logo:!0,user_logo:[],user_logo_dark:[]},groups:[{key:"register",title:"注册设置",icon:"fas fa-user-plus",fields:[{key:"close_sign",label:"一键禁用登录注册",type:"switch",default:!1,help:"开启后前台禁用全部注册/登录入口(含社交登录),不影响后台登录"},{key:"user_close_signup",label:"关闭注册",type:"switch",default:!1},{key:"close_signin",label:"禁用账密登录",type:"switch",default:!1,help:"仅允许社交账号登录"},{key:"user_agreement_s",label:"用户协议",type:"switch",default:!0},{key:"user_agreement_page",label:"协议页面",type:"input",default:""},{key:"user_privacy_s",label:"隐私政策",type:"switch",default:!0},{key:"user_privacy_page",label:"隐私页面",type:"input",default:""},{key:"user_agreement_check",label:"强制勾选协议",type:"switch",default:!0},{key:"no_repetition_name",label:"禁止重复昵称",type:"switch",default:!1},{key:"user_nickname_out",label:"昵称黑名单关键词",type:"textarea",default:"赌博,博彩,代发,代理,刷单,六合彩,admin,test,管理员,客服",help:"一行一个关键词,注册昵称包含关键词将被拒绝"},{key:"user_email_limit_type",label:"邮箱限制类型",type:"radio",default:"black",options:[{label:"黑名单(拒绝以下后缀)",value:"black"},{label:"白名单(仅允许以下后缀)",value:"white"}]},{key:"user_email_out",label:"邮箱限制后缀",type:"textarea",default:`@tempmail.com
|
||||
@throwaway.email
|
||||
@guerrillamail.com`,help:"一行一个邮箱后缀,如 @tempmail.com"}]},{key:"login",title:"登录设置",icon:"fas fa-sign-in-alt",fields:[{key:"user_close_login",label:"关闭登录",type:"switch",default:!1},{key:"user_sign_type",label:"登录注册样式",type:"radio",default:"page",options:[{label:"弹窗",value:"modal"},{label:"跳转页面",value:"page"}]},{key:"sign_modal_auto_s",label:"自动弹出登录窗",type:"switch",default:!1,help:"仅在 user_sign_type=modal 时生效"},{key:"sign_modal_auto_waiting_time",label:"弹窗等待秒数",type:"number",default:5,min:0,max:60,dependsOn:{key:"sign_modal_auto_s",value:!0}},{key:"sign_modal_auto_expires",label:"弹窗周期(小时)",type:"number",default:1,min:0,max:720,dependsOn:{key:"sign_modal_auto_s",value:!0}},{key:"replace_wp_login",label:"替换WP登录页",type:"switch",default:!0},{key:"admin_sign_key",label:"应急登录 Key",type:"input",default:"",help:"留空为禁用。管理员可通过 /wp-login.php?aksrt_bypass=<key> 绕过前台替换"},{key:"user_signin_phone_s",label:"手机号登录",type:"switch",default:!1,help:"允许用手机号作为用户名登录"},{key:"user_signin_nopas_s",label:"免密登录",type:"switch",default:!1},{key:"user_signin_nopas_type",label:"免密登录方式",type:"radio",default:"email",options:[{label:"邮箱验证码",value:"email"},{label:"手机验证码",value:"phone"},{label:"邮箱或手机",value:"email_phone"}],dependsOn:{key:"user_signin_nopas_s",value:!0}},{key:"user_signin_nopas_active",label:"免密显示模式",type:"radio",default:"nopas_first",options:[{label:"优先免密",value:"nopas_first"},{label:"优先密码",value:"password_first"},{label:"仅免密",value:"nopas_only"}],dependsOn:{key:"user_signin_nopas_s",value:!0}}]},{key:"signup_captcha",title:"注册验证",icon:"fas fa-user-shield",fields:[{key:"user_signup_captch",label:"注册需验证",type:"switch",default:!0,help:"注册时需完成邮箱或手机验证"},{key:"captch_type",label:"验证方式",type:"radio",default:"email",options:[{label:"邮箱",value:"email"},{label:"手机",value:"phone"},{label:"邮箱或手机",value:"email_phone"}],dependsOn:{key:"user_signup_captch",value:!0}},{key:"user_signup_no_repas",label:"无需重复密码",type:"switch",default:!0,help:"注册时不要求二次确认密码"},{key:"user_repas_captch_type",label:"找回密码验证方式",type:"radio",default:"email",options:[{label:"邮箱",value:"email"},{label:"手机",value:"phone"},{label:"邮箱或手机",value:"email_phone"}]}]},{key:"bind",title:"绑定设置",icon:"fas fa-link",fields:[{key:"bind_phone",label:"绑定手机",type:"switch",default:!1},{key:"bind_reminder",label:"绑定提醒",type:"radio",default:"close",options:[{label:"提醒绑定邮箱",value:"email"},{label:"提醒绑定手机",value:"phone"},{label:"提醒绑定邮箱和手机",value:"email_phone"},{label:"关闭",value:"close"}]},{key:"bind_reminder_text",label:"提醒文案",type:"input",default:"请绑定手机号以正常使用"},{key:"bind_reminder_expires",label:"提醒周期(小时)",type:"number",default:24,min:1,max:720,help:"用户关闭提醒后多少小时内不再提醒"},{key:"mandatory_bind",label:"强制绑定",type:"radio",default:"close",options:[{label:"强制绑定邮箱",value:"email"},{label:"强制绑定手机",value:"phone"},{label:"强制绑定邮箱和手机",value:"email_phone"},{label:"关闭",value:"close"}]},{key:"email_set_captch",label:"绑定邮箱需验证",type:"switch",default:!0,help:"绑定邮箱时需发送验证码确认"}]},{key:"invite_inline",title:"邀请码注册",icon:"fas fa-ticket-alt",fields:[{key:"invit_code_s",label:"启用邀请码",type:"switch",default:!1,help:"与「邀请码」子页联动,此处开关控制注册表单是否显示邀请码字段"},{key:"invit_code_mode",label:"邀请模式",type:"select",default:"open",options:[{label:"开放注册(邀请码选填)",value:"open"},{label:"必须邀请码",value:"must"}],dependsOn:{key:"invit_code_s",value:!0}},{key:"invit_code_open_desc",label:"开放注册提示",type:"input",default:"邀请码为选填,没有邀请码也可以注册",dependsOn:{key:"invit_code_s",value:!0}},{key:"invit_code_must_desc",label:"必填提示",type:"input",default:"请输入邀请码",dependsOn:{key:"invit_code_s",value:!0}}]},{key:"sign_page_ui",title:"页面 UI 配置",icon:"fas fa-palette",fields:[{key:"sign_page_background",label:"页面背景图",type:"gallery",default:[],help:"登录注册页背景图,多图随机"},{key:"sign_theme_mode",label:"主题模式",type:"radio",default:"default",options:[{label:"默认",value:"default"},{label:"亮色",value:"light"},{label:"暗色",value:"dark"}]},{key:"sign_show_header",label:"显示顶部导航",type:"switch",default:!0},{key:"sign_card_position",label:"卡片位置",type:"radio",default:"center",options:[{label:"靠左",value:"left"},{label:"居中",value:"center"},{label:"靠右",value:"right"}]},{key:"sign_sho
Line truncated
|
||||
感谢你的反馈
|
||||
已处理,请查收`,private_submit_text:"发送",private_placeholder:"请输入消息..."},groups:[{key:"basic",title:"基础设置",icon:"fas fa-cog",fields:[{key:"message_s",label:"站内通知总开关",type:"switch",default:!0},{key:"msg_center_rewrite_slug",label:"消息中心 URL 别名",type:"input",default:"message"},{key:"message_icon_show",label:"通知图标位置",type:"checkbox",default:["nav_menu"],options:[{label:"导航菜单",value:"nav_menu"},{label:"用户头像",value:"avatar"},{label:"移动端底部",value:"mobile_bar"}]},{key:"message_paginate_type",label:"列表翻页模式",type:"radio",default:"ajax_lists",options:[{label:"AJAX 翻页",value:"ajax_lists"},{label:"传统翻页",value:"default"}]},{key:"message_user_set",label:"允许用户设置推送",type:"switch",default:!0,help:"允许用户在前台自行设置通知推送偏好"}]},{key:"types",title:"通知类型",icon:"fas fa-list-check",fields:[{key:"message_close_msg_type",label:"关闭部分推送",type:"checkbox",default:[],options:[{label:"文章通知",value:"posts"},{label:"评论回复",value:"comment"},{label:"收藏通知",value:"favorite"},{label:"点赞通知",value:"like"},{label:"热门通知",value:"hot"},{label:"关注通知",value:"followed"},{label:"系统通知",value:"system"},{label:"支付通知",value:"pay"},{label:"提现回复",value:"withdraw_reply"},{label:"勋章通知",value:"medal"},{label:"认证回复",value:"auth_apply_reply"}],help:"勾选的类型将不向用户推送通知"}]},{key:"auto_clear",title:"自动清理",icon:"fas fa-broom",fields:[{key:"message_auto_clear_s",label:"自动清理已读消息",type:"switch",default:!0},{key:"message_auto_clear_time",label:"过期天数",type:"number",default:365,min:1,max:3650,help:"已读消息超过此天数将被自动清理",dependsOn:{key:"message_auto_clear_s",value:!0}},{key:"message_auto_clear_types",label:"清理类型",type:"checkbox",default:["posts","comment","favorite","like","hot","followed","system"],options:[{label:"文章通知",value:"posts"},{label:"评论回复",value:"comment"},{label:"收藏通知",value:"favorite"},{label:"点赞通知",value:"like"},{label:"热门通知",value:"hot"},{label:"关注通知",value:"followed"},{label:"系统通知",value:"system"},{label:"支付通知",value:"pay"},{label:"提现回复",value:"withdraw_reply"},{label:"勋章通知",value:"medal"},{label:"认证回复",value:"auth_apply_reply"},{label:"下载通知",value:"download"},{label:"积分变动",value:"credits"},{label:"私信",value:"private"},{label:"举报反馈",value:"report"}],dependsOn:{key:"message_auto_clear_s",value:!0}}]},{key:"private",title:"私信设置",icon:"fas fa-envelope",fields:[{key:"private_s",label:"启用私信功能",type:"switch",default:!0},{key:"private_smilie_s",label:"支持表情",type:"switch",default:!0,dependsOn:{key:"private_s",value:!0}},{key:"private_code_s",label:"支持代码",type:"switch",default:!1,dependsOn:{key:"private_s",value:!0}},{key:"private_image_s",label:"支持图片",type:"switch",default:!0,dependsOn:{key:"private_s",value:!0}},{key:"private_upload_img",label:"支持上传图片",type:"switch",default:!1,dependsOn:{key:"private_s",value:!0}},{key:"private_quick_s",label:"快捷回复",type:"switch",default:!0,dependsOn:{key:"private_s",value:!0}},{key:"private_quick_often",label:"常用快捷回复",type:"textarea",default:`你好,请问有什么可以帮你的?
|
||||
感谢你的反馈
|
||||
已处理,请查收`,help:"一行一条快捷回复文案",dependsOn:{key:"private_s",value:!0}},{key:"private_submit_text",label:"发送按钮文案",type:"input",default:"发送",dependsOn:{key:"private_s",value:!0}},{key:"private_placeholder",label:"输入占位符",type:"input",default:"请输入消息...",dependsOn:{key:"private_s",value:!0}}]}]},Ml={key:"users.credits",title:"用户积分",icon:"fas fa-coins",description:"积分规则、积分日志、用户积分管理。",defaults:{points_s:!0,points_pay_s:!1,points_rate:100,points_name:"积分",points_decimal:2,points_earn_comment:1,points_earn_post:5,points_earn_login:1,points_earn_like_received:1,points_earn_invite:10,points_earn_daily_limit:50,points_spend_comment:0,points_spend_download:0,points_spend_view_hidden:0,points_transfer_s:!1,points_service_charge:0,points_transfer_min:1,points_deduction_s:!1,points_deduction_rate:100,points_deduction_max:50,points_pass_exchange_s:!1,points_pass_exchange_desc:"",points_pass_exchange_only_password:!0,points_show_balance:!0,points_show_log:!0,points_expire_days:0},groups:[{key:"basic",title:"积分基础",icon:"fas fa-coins",fields:[{key:"points_s",label:"启用积分系统",type:"switch",default:!0},{key:"points_pay_s",label:"积分支付",type:"switch",default:!1},{key:"points_rate",label:"积分兑换比例",type:"number",default:100,min:1,max:1e4},{key:"points_name",label:"积分名称",type:"input",default:"积分"},{key:"points_decimal",label:"积分小数位数",type:"number",default:2,min:0,max:4}]},{key:"earn",title:"积分获取",icon:"fas fa-arrow-up",fields:[{key:"points_earn_comment",label:"评论奖励",type:"number",default:1,min:0,max:100},{key:"points_earn_post",label:"发布文章奖励",type:"number",default:5,min:0,max:100},{key:"points_earn_login",label:"每日登录奖励",type:"number",default:1,min:0,max:100},{key:"points_earn_like_received",label:"收到点赞奖励",type:"number",default:1,min:0,max:100},{key:"points_earn_invite",label:"邀请注册奖励",type:"number",default:10,min:0,max:1e3},{key:"points_earn_daily_limit",label:"每日获取上限",type:"number",default:50,min:0,max:9999,help:"0为不限制"}]},{key:"spend",title:"积分消费",icon:"fas fa-arrow-down",fields:[{key:"points_spend_comment",label:"评论消耗",type:"number",default:0,min:0,max:100},{key:"points_spend_download",label:"下载消耗",type:"number",default:0,min:0,max:100},{key:"points_spend_view_hidden",label:"查看隐藏内容消耗",type:"number",default:0,min:0,max:100}]},{key:"transfer",title:"积分转账",icon:"fas fa-exchange-alt",fields:[{key:"points_transfer_s",label:"启用积分转账",type:"switch",default:!1},{key:"points_service_charge",label:"转账手续费(%)",type:"number",default:0,min:0,max:50,dependsOn:{key:"points_transfer_s",value:!0}},{key:"points_transfer_min",label:"最低转账金额",type:"number",default:1,min:1,max:9999,dependsOn:{key:"points_transfer_s",value:!0}}]},{key:"deduction",title:"积分抵扣(预留)",icon:"fas fa-percent",fields:[{key:"points_deduction_s",label:"启用积分抵扣",type:"switch",default:!1,help:"对齐 zibll:运行时暂未启用(zibpay_is_allow_points_deduction 恒为 false)。字段保留供后续接收银台现金单抵扣。"},{key:"points_deduction_rate",label:"积分换算比例",type:"number",default:100,min:1,max:1e4,dependsOn:{key:"points_deduction_s",value:!0},help:"zibll 语义:points_deduction_rate = 多少积分抵 1 元(示例 30 表示 30 积分=1 元)。当前未参与下单计算。"},{key:"points_deduction_max",label:"最大抵扣比例(%)",type:"number",default:50,min:1,max:100,dependsOn:{key:"points_deduction_s",value:!0},help:"预留:最多可抵订单金额的百分比。当前未参与下单计算。"}]},{key:"card_pass",title:"积分卡密兑换",icon:"fas fa-ticket-alt",fields:[{key:"points_pass_exchange_s",label:"启用积分卡密兑换",type:"switch",default:!1,help:"对齐 zibll points_pass_exchange_s。后台充值卡可生成积分卡,用户中心兑换入账。"},{key:"points_pass_exchange_desc",label:"兑换说明",type:"textarea",default:"",dependsOn:{key:"points_pass_exchange_s",value:!0}},{key:"points_pass_exchange_only_password",label:"仅密码兑换",type:"switch",default:!0,dependsOn:{key:"points_pass_exchange_s",value:!0},help:"开启后只需输入卡密;关闭则需卡号+卡密。"}]},{key:"display",title:"展示设置",icon:"fas fa-eye",fields:[{key:"points_show_balance",label:"导航栏显示余额",type:"switch",default:!0},{key:"points_show_log",label:"显示积分记录",type:"switch",default:!0},{key:"points_expire_days",label:"积分有效期(天)",type:"number",default:0,min:0,help:"0为永久有效"}]}]},El={key:"users.invite",title:"邀请码",icon:"fas fa-ticket-alt",description:"邀请码生成、管理、奖励配置。",defaults:{invit_code_s:!1,invit_code_open_desc:"邀请码为选填,没有邀请码也可以注册",invit_code_must_desc:"请输入邀
Line truncated
|
||||
2|30
|
||||
3|100
|
||||
4|300`},groups:[{key:"display",title:"等级显示",icon:"fas fa-signal",fields:[{key:"user_level_enabled",label:"启用等级系统",type:"switch",default:!1},{key:"user_level_public_display",label:"公开页显示等级",type:"switch",default:!0,dependsOn:{key:"user_level_enabled",value:!0}},{key:"user_level_prefix",label:"等级前缀",type:"input",default:"Lv.",dependsOn:{key:"user_level_enabled",value:!0}}]},{key:"rules",title:"等级规则",icon:"fas fa-list-ol",fields:[{key:"user_level_source",label:"等级来源",type:"radio",default:"credits_balance",options:[{label:"积分余额",value:"credits_balance"},{label:"手动 Meta",value:"manual_meta"}],dependsOn:{key:"user_level_enabled",value:!0}},{key:"user_level_thresholds",label:"等级阈值",type:"textarea",default:`1|0
|
||||
2|30
|
||||
3|100
|
||||
4|300`,help:"每行一个等级,格式:等级|所需积分,例如 3|100",dependsOn:{key:"user_level_enabled",value:!0}}]}]},Nl={key:"users.badge",title:"用户徽章",icon:"fas fa-award",description:"配置徽章字典、公开展示数量和前台挂点,具体授予逻辑后续扩展。",defaults:{user_badge_enabled:!1,user_badge_public_display:!0,user_badge_limit:3,user_badge_dictionary:`founder|创始成员|warning
|
||||
staff|站务团队|info`},groups:[{key:"display",title:"徽章展示",icon:"fas fa-medal",fields:[{key:"user_badge_enabled",label:"启用徽章系统",type:"switch",default:!1},{key:"user_badge_public_display",label:"公开页显示徽章",type:"switch",default:!0,dependsOn:{key:"user_badge_enabled",value:!0}},{key:"user_badge_limit",label:"最多显示数量",type:"number",default:3,min:1,max:8,dependsOn:{key:"user_badge_enabled",value:!0}}]},{key:"dictionary",title:"徽章字典",icon:"fas fa-bookmark",fields:[{key:"user_badge_dictionary",label:"徽章列表",type:"textarea",default:`founder|创始成员|warning
|
||||
staff|站务团队|info`,help:"每行一个徽章:slug|显示文案|色调(neutral/info/success/warning/brand)",dependsOn:{key:"user_badge_enabled",value:!0}}]}]},Bl={key:"users.wechat",title:"微信通知",icon:"fab fa-weixin",description:"配置微信模板消息、订阅/解绑和站外通知策略。",defaults:{wechat_notify_enabled:!1,wechat_app_id:"",wechat_app_secret:"",wechat_template_id:"",wechat_token:"",wechat_encoding_aes_key:"",wechat_notify_comment:!0,wechat_notify_reply:!0,wechat_notify_system:!0,wechat_bind_entry:!0},groups:[{key:"account",title:"公众号配置",icon:"fab fa-weixin",fields:[{key:"wechat_notify_enabled",label:"启用微信通知",type:"switch",default:!1,help:"开启后用户可绑定微信接收通知"},{key:"wechat_app_id",label:"AppID",type:"input",default:"",dependsOn:{key:"wechat_notify_enabled",value:!0}},{key:"wechat_app_secret",label:"AppSecret",type:"input",default:"",dependsOn:{key:"wechat_notify_enabled",value:!0}},{key:"wechat_template_id",label:"模板消息 ID",type:"input",default:"",dependsOn:{key:"wechat_notify_enabled",value:!0},help:"在微信公众平台申请的模板消息 ID"}]},{key:"verify",title:"服务器验证",icon:"fas fa-check-circle",fields:[{key:"wechat_token",label:"Token",type:"input",default:"",dependsOn:{key:"wechat_notify_enabled",value:!0},help:"微信公众平台服务器配置中的 Token"},{key:"wechat_encoding_aes_key",label:"EncodingAESKey",type:"input",default:"",dependsOn:{key:"wechat_notify_enabled",value:!0}}]},{key:"triggers",title:"通知触发器",icon:"fas fa-bell",fields:[{key:"wechat_notify_comment",label:"新评论通知",type:"switch",default:!0,dependsOn:{key:"wechat_notify_enabled",value:!0}},{key:"wechat_notify_reply",label:"评论回复通知",type:"switch",default:!0,dependsOn:{key:"wechat_notify_enabled",value:!0}},{key:"wechat_notify_system",label:"系统通知",type:"switch",default:!0,dependsOn:{key:"wechat_notify_enabled",value:!0}},{key:"wechat_bind_entry",label:"显示绑定入口",type:"switch",default:!0,dependsOn:{key:"wechat_notify_enabled",value:!0},help:"在用户中心显示微信绑定/解绑按钮"}]}]},Jl={key:"users.report",title:"禁封/举报",icon:"fas fa-flag",description:"配置举报入口、公开限制提示和后续治理分类,为封禁/举报流程预留稳定结构。",defaults:{user_report_enabled:!1,user_report_public_entry:!0,user_report_public_notice:!0,user_report_ban_notice_text:"当前账号处于限制状态,部分互动能力已关闭。",user_report_categories:`spam|垃圾信息
|
||||
abuse|人身攻击
|
||||
copyright|版权投诉`,ban_preset_reason:`spam|垃圾信息
|
||||
abuse|人身攻击
|
||||
violation|违规操作`,ban_appeal_desc:"",ban_appeal_keys:"",user_report_img_s:!0,user_report_desc:""},groups:[{key:"entry",title:"前台入口",icon:"fas fa-door-open",fields:[{key:"user_report_enabled",label:"启用举报/禁封结构",type:"switch",default:!1},{key:"user_report_public_entry",label:"公开主页展示举报入口",type:"switch",default:!0,dependsOn:{key:"user_report_enabled",value:!0}},{key:"user_report_public_notice",label:"公开显示限制提示",type:"switch",default:!0,dependsOn:{key:"user_report_enabled",value:!0}},{key:"user_report_ban_notice_text",label:"限制提示文案",type:"input",default:"当前账号处于限制状态,部分互动能力已关闭。",dependsOn:{key:"user_report_public_notice",value:!0}}]},{key:"taxonomy",title:"举报分类",icon:"fas fa-list",fields:[{key:"user_report_categories",label:"举报分类",type:"textarea",default:`spam|垃圾信息
|
||||
abuse|人身攻击
|
||||
copyright|版权投诉`,help:"每行一个分类:slug|显示名称",dependsOn:{key:"user_report_enabled",value:!0}}]},{key:"ban",title:"禁封设置",icon:"fas fa-ban",fields:[{key:"ban_preset_reason",label:"预设封禁原因",type:"textarea",default:`spam|垃圾信息
|
||||
abuse|人身攻击
|
||||
violation|违规操作`,help:"每行一条:slug|显示名称",dependsOn:{key:"user_report_enabled",value:!0}},{key:"ban_appeal_desc",label:"申诉说明",type:"textarea",default:"",dependsOn:{key:"user_report_enabled",value:!0}},{key:"ban_appeal_keys",label:"申诉关键词",type:"input",default:"",help:"逗号分隔",dependsOn:{key:"user_report_enabled",value:!0}}]},{key:"image",title:"图片举报",icon:"fas fa-image",fields:[{key:"user_report_img_s",label:"启用图片举报",type:"switch",default:!0,dependsOn:{key:"user_report_enabled",value:!0}},{key:"user_report_desc",label:"举报说明",type:"textarea",default:"",dependsOn:{key:"user_report_img_s",value:!0}}]}]},Fl={key:"users.sms",title:"短信接口",icon:"fas fa-sms",description:"配置短信验证码和短信通知服务的供应商、模板和限流策略。",defaults:{sms_enabled:!1,sms_provider:"aliyun",sms_number_limit_ch:!0,sms_access_key:"",sms_access_secret:"",sms_sign_name:"",sms_template_code:"",sms_code_length:6,sms_code_expire:300,sms_rate_limit:60,sms_daily_limit:10,sms_notify_bind:!0,sms_notify_login:!1,sms_notify_register:!0,sms_notify_reset_password:!0,sms_ali_api_type:"sms",sms_region_id:"cn-hangzhou",sms_tencent_app_id:"",sms_tencent_app_key:"",sms_tencent_secret_id:"",sms_tencent_secret_key:"",sms_tencent_region:"ap-guangzhou",sms_huawei_sender:"",sms_huawei_signature:"",sms_huawei_endpoint:"",sms_custom_url:"",sms_custom_method:"POST",sms_custom_auth_type:"header",sms_custom_auth_key:"",sms_custom_auth_value:"",sms_custom_headers:"",sms_custom_body:"",sms_custom_success_rule:""},groups:[{key:"provider",title:"供应商配置",icon:"fas fa-plug",fields:[{key:"sms_enabled",label:"启用短信服务",type:"switch",default:!1,help:"开启后支持短信验证码和短信通知"},{key:"sms_provider",label:"短信供应商",type:"select",default:"aliyun",options:[{label:"阿里云短信",value:"aliyun"},{label:"腾讯云短信",value:"tencent"},{label:"华为云短信",value:"huawei"},{label:"自定义接口",value:"custom"}],dependsOn:{key:"sms_enabled",value:!0}},{key:"sms_number_limit_ch",label:"仅发国内",type:"switch",default:!0,dependsOn:{key:"sms_enabled",value:!0},help:"开启后仅支持发送国内短信,关闭后可发送港澳台及国际短信"},{key:"sms_access_key",label:"AccessKey / SecretId / AppKey",type:"input",default:"",dependsOn:{key:"sms_enabled",value:!0},help:"阿里云填 AccessKey,腾讯云填 SecretId,华为云填 AppKey"},{key:"sms_access_secret",label:"AccessSecret / SecretKey / AppSecret",type:"input",inputType:"password",default:"",dependsOn:{key:"sms_enabled",value:!0}}]},{key:"aliyun",title:"阿里云配置",icon:"fas fa-cloud",fields:[{key:"sms_ali_api_type",label:"接口类型",type:"radio",default:"sms",options:[{label:"短信服务",value:"sms"},{label:"号码认证",value:"verify"}],dependsOn:{key:"sms_provider",value:"aliyun"}},{key:"sms_region_id",label:"RegionId",type:"input",default:"cn-hangzhou",dependsOn:{key:"sms_provider",value:"aliyun"}}]},{key:"tencent",title:"腾讯云配置",icon:"fas fa-cloud",fields:[{key:"sms_tencent_app_id",label:"SdkAppId",type:"input",default:"",dependsOn:{key:"sms_provider",value:"tencent"},help:"腾讯云短信应用 ID"},{key:"sms_tencent_app_key",label:"AppKey",type:"input",inputType:"password",default:"",dependsOn:{key:"sms_provider",value:"tencent"}},{key:"sms_tencent_secret_id",label:"SecretId",type:"input",default:"",dependsOn:{key:"sms_provider",value:"tencent"}},{key:"sms_tencent_secret_key",label:"SecretKey",type:"input",inputType:"password",default:"",dependsOn:{key:"sms_provider",value:"tencent"}},{key:"sms_tencent_region",label:"地域",type:"input",default:"ap-guangzhou",dependsOn:{key:"sms_provider",value:"tencent"}}]},{key:"huawei",title:"华为云配置",icon:"fas fa-cloud",fields:[{key:"sms_huawei_sender",label:"通道号 (sender)",type:"input",default:"",dependsOn:{key:"sms_provider",value:"huawei"}},{key:"sms_huawei_signature",label:"短信签名",type:"input",default:"",dependsOn:{key:"sms_provider",value:"huawei"},help:"华为云短信签名内容"},{key:"sms_huawei_endpoint",label:"API Endpoint",type:"input",default:"",dependsOn:{key:"sms_provider",value:"huawei"},help:"留空使用默认 endpoint"}]},{key:"custom",title:"自定义接口配置",icon:"fas fa-plug",fields:[{key:"sms_custom_url",label:"请求 URL",type:"input",default:"",dependsOn:{key:"sms_provider",value:"custom"},help:"支持 {phone} {code} {time} 变量"},{key:"sms_custom_method",label:"请求方法",type:"select",default:"POST",options:[{label:"POST",value:"POST"},{label:"GET",value:"GET"},{label:"PUT",value:"PUT"}],dependsOn:{key:"sms_provider",value:"custom"}},{key:"sms_custom_auth_type",label:"鉴权方式",type:"select",default:"header",options:[{label:"Header",value:"header"}],dependsOn:{key:"sms_provider",value:"custom"}},{key:"sms_custom_auth_key",label:"鉴权 Header 名",type:"input",default:"",dependsOn:{key:"sms_provider",value:"custom"}},{key:"
Line truncated
|
||||
98|108|推荐包`,pay_balance_product_name:"",pay_balance_price:0,pay_balance_tag:"元",pay_balance_tag_class:"",pay_balance_product_custom_s:!0,pay_balance_product_custom_limit:9999,pay_balance_transfer_s:!1,pay_balance_transfer_service_charge:0,pay_balance_transfer_desc:"",pay_balance_pass_charge_s:!1,pay_balance_pass_charge_desc:"",pay_balance_pass_charge_only_password:!1,pay_balance_exchange_s:!1,pay_balance_exchange_rate:100,pay_balance_exchange_desc:""},groups:[{key:"basic",title:"充值开关",icon:"fas fa-wallet",fields:[{key:"pay_balance_s",label:"启用余额功能",type:"switch",default:!0},{key:"pay_balance_desc",label:"充值说明",type:"textarea",default:"",dependsOn:{key:"pay_balance_s",value:!0}},{key:"pay_auto_to_balance",label:"自动到账到余额",type:"switch",default:!0,dependsOn:{key:"pay_balance_s",value:!0}}]},{key:"packages",title:"充值套餐",icon:"fas fa-box-open",fields:[{key:"pay_balance_product",label:"套餐列表",type:"textarea",default:`30|30|入门包
|
||||
98|108|推荐包`,help:"每行一个套餐:支付金额|到账金额|标题",dependsOn:{key:"pay_balance_s",value:!0}}]},{key:"product",title:"充值产品",icon:"fas fa-box",fields:[{key:"pay_balance_product_name",label:"充值产品",type:"input",default:"",dependsOn:{key:"pay_balance_s",value:!0}},{key:"pay_balance_price",label:"充值价格",type:"number",default:0,min:0,max:99999,dependsOn:{key:"pay_balance_s",value:!0}},{key:"pay_balance_tag",label:"价格标签",type:"input",default:"元",dependsOn:{key:"pay_balance_s",value:!0}},{key:"pay_balance_tag_class",label:"标签样式",type:"input",default:"",dependsOn:{key:"pay_balance_s",value:!0}},{key:"pay_balance_product_custom_s",label:"自定义金额",type:"switch",default:!0,dependsOn:{key:"pay_balance_s",value:!0}},{key:"pay_balance_product_custom_limit",label:"自定义金额限制",type:"number",default:9999,min:1,max:99999,dependsOn:{key:"pay_balance_s",value:!0}}]},{key:"transfer",title:"余额转账",icon:"fas fa-exchange-alt",fields:[{key:"pay_balance_transfer_s",label:"启用余额转账",type:"switch",default:!1},{key:"pay_balance_transfer_service_charge",label:"转账手续费(%)",type:"number",default:0,min:0,max:50,dependsOn:{key:"pay_balance_transfer_s",value:!0}},{key:"pay_balance_transfer_desc",label:"转账说明",type:"textarea",default:"",dependsOn:{key:"pay_balance_transfer_s",value:!0}}]},{key:"pass-charge",title:"充值卡免扣",icon:"fas fa-ticket-alt",fields:[{key:"pay_balance_pass_charge_s",label:"启用余额卡密兑换",type:"switch",default:!1},{key:"pay_balance_pass_charge_desc",label:"卡密兑换说明",type:"textarea",default:"",dependsOn:{key:"pay_balance_pass_charge_s",value:!0}},{key:"pay_balance_pass_charge_only_password",label:"仅密码兑换",type:"switch",default:!1,dependsOn:{key:"pay_balance_pass_charge_s",value:!0}}]},{key:"exchange",title:"积分兑换",icon:"fas fa-coins",fields:[{key:"pay_balance_exchange_s",label:"启用积分兑换",type:"switch",default:!1},{key:"pay_balance_exchange_rate",label:"兑换比例",type:"number",default:100,min:1,max:1e4,help:"N 积分 = 1 元",dependsOn:{key:"pay_balance_exchange_s",value:!0}},{key:"pay_balance_exchange_desc",label:"兑换说明",type:"textarea",default:"",dependsOn:{key:"pay_balance_exchange_s",value:!0}}]}]},Zl={key:"payment.vip",title:"VIP会员",icon:"fas fa-crown",description:"对齐 Zibll 双级会员:pay_user_vip_1 / pay_user_vip_2 与下载权益。",defaults:{pay_user_vip_1_s:!0,pay_user_vip_1_name:"一级会员",pay_user_vip_2_s:!0,pay_user_vip_2_name:"二级会员",pay_user_vip_desc:"",payment_vip_packages:`30|30|月卡
|
||||
365|365|年卡`,pay_download_limit:0,pay_download_speed:0,pay_download_limit_vip_1:0,pay_download_speed_vip_1:0,pay_download_limit_vip_2:0,pay_download_speed_vip_2:0,pay_vip_pass_charge_s:!1,pay_vip_pass_charge_desc:"",pay_vip_pass_charge_only_password:!0,vip_renew:!0,vip_renew_desc:"",vip_renew_price_type:"discount",vip_renew_discount:8,vip_renew_reduce:20,vip_upgrade:!0,vip_upgrade_desc:"",vip_upgrade_product:""},groups:[{key:"basic",title:"会员等级",icon:"fas fa-user-shield",fields:[{key:"pay_user_vip_1_s",label:"启用一级会员",type:"switch",default:!0},{key:"pay_user_vip_1_name",label:"一级会员名称",type:"input",default:"一级会员",dependsOn:{key:"pay_user_vip_1_s",value:!0}},{key:"pay_user_vip_2_s",label:"启用二级会员",type:"switch",default:!0},{key:"pay_user_vip_2_name",label:"二级会员名称",type:"input",default:"二级会员",dependsOn:{key:"pay_user_vip_2_s",value:!0}},{key:"pay_user_vip_desc",label:"会员说明",type:"textarea",default:""}]},{key:"packages",title:"会员套餐",icon:"fas fa-gem",fields:[{key:"payment_vip_packages",label:"套餐列表",type:"textarea",default:`30|30|月卡
|
||||
365|365|年卡`,help:"每行一个套餐:价格|时长(天)|标题"}]},{key:"benefit",title:"下载权益",icon:"fas fa-gift",fields:[{key:"pay_download_limit",label:"普通用户下载限制",type:"number",default:0,min:0,max:9999,help:"0为不限制"},{key:"pay_download_speed",label:"普通用户下载速度(KB/s)",type:"number",default:0,min:0,max:99999,help:"0为不限制"},{key:"pay_download_limit_vip_1",label:"一级会员下载限制",type:"number",default:0,min:0,max:9999,dependsOn:{key:"pay_user_vip_1_s",value:!0}},{key:"pay_download_speed_vip_1",label:"一级会员下载速度(KB/s)",type:"number",default:0,min:0,max:99999,dependsOn:{key:"pay_user_vip_1_s",value:!0}},{key:"pay_download_limit_vip_2",label:"二级会员下载限制",type:"number",default:0,min:0,max:9999,dependsOn:{key:"pay_user_vip_2_s",value:!0}},{key:"pay_download_speed_vip_2",label:"二级会员下载速度(KB/s)",type:"number",default:0,min:0,max:99999,dependsOn:{key:"pay_user_vip_2_s",value:!0}},{key:"pay_vip_pass_charge_s",label:"会员卡密兑换",type:"switch",default:!1},{key:"pay_vip_pass_charge_desc",label:"卡密兑换说明",type:"textarea",default:"",dependsOn:{key:"pay_vip_pass_charge_s",value:!0}},{key:"pay_vip_pass_charge_only_password",label:"仅密码兑换",type:"switch",default:!0,dependsOn:{key:"pay_vip_pass_charge_s",value:!0},help:"开启后只需输入卡密;关闭则需卡号+卡密。"}]},{key:"renew",title:"续费设置",icon:"fas fa-sync-alt",fields:[{key:"vip_renew",label:"允许续费",type:"switch",default:!0},{key:"vip_renew_desc",label:"续费说明",type:"textarea",default:"",dependsOn:{key:"vip_renew",value:!0}},{key:"vip_renew_price_type",label:"续费价格类型",type:"radio",default:"discount",options:[{label:"相同价格",value:"same"},{label:"折扣价格",value:"discount"},{label:"优惠立减",value:"reduce"}],dependsOn:{key:"vip_renew",value:!0}},{key:"vip_renew_discount",label:"续费折扣(%)",type:"number",default:8,min:1,max:100,dependsOn:{key:"vip_renew_price_type",value:"discount"}},{key:"vip_renew_reduce",label:"续费减免金额",type:"number",default:20,min:0,max:9999,dependsOn:{key:"vip_renew_price_type",value:"reduce"}}]},{key:"upgrade",title:"升级设置",icon:"fas fa-arrow-up",fields:[{key:"vip_upgrade",label:"允许升级",type:"switch",default:!0},{key:"vip_upgrade_desc",label:"升级说明",type:"textarea",default:"",dependsOn:{key:"vip_upgrade",value:!0}},{key:"vip_upgrade_product",label:"升级产品",type:"textarea",default:"",dependsOn:{key:"vip_upgrade",value:!0},help:"每行一条。永久VIP1升级:permanent|价格|标题;按剩余天:unit|每日单价|标题;限时跳转永久:jump|价格|标题;兼容旧格式:价格|天数|标题"}]}]},Yl={key:"payment.revenue",title:"创作分成",icon:"fas fa-chart-line",description:"配置作者分成比例、结算门槛和结算周期。",defaults:{pay_income_s:!1,payment_revenue_share_ratio:70,ratio_vip_1:0,ratio_vip_2:0,payment_revenue_settlement_threshold:100,payment_revenue_cycle_days:30,payment_revenue_points_rule:"",payment_revenue_note:"分成规则已就绪,订单入账后自动按比例结算。",pay_income_desc_details:"",pay_income_desc_page:""},groups:[{key:"policy",title:"分成策略",icon:"fas fa-percentage",fields:[{key:"pay_income_s",label:"启用创作分成结构",type:"switch",default:!1},{key:"payment_revenue_share_ratio",label:"作者分成比例(%)",type:"number",default:70,min:0,max:100,dependsOn:{key:"pay_income_s",value:!0}},{key:"ratio_vip_1",label:"VIP1分成比例(%)",type:"number",default:0,min:0,max:100,dependsOn:{key:"pay_income_s",value:!0}},{key:"ratio_vip_2",label:"VIP2分成比例(%)",type:"number",default:0,min:0,max:100,dependsOn:{key:"pay_income_s",value:!0}},{key:"payment_revenue_settlement_threshold",label:"最小结算金额",type:"number",default:100,min:0,max:1e5,dependsOn:{key:"pay_income_s",value:!0}},{key:"payment_revenue_cycle_days",label:"结算周期(天)",type:"number",default:30,min:1,max:365,dependsOn:{key:"pay_income_s",value:!0}},{key:"payment_revenue_points_rule",label:"积分规则",type:"textarea",default:"",dependsOn:{key:"pay_income_s",value:!0}},{key:"payment_revenue_note",label:"结算备注",type:"textarea",default:"分成策略和台账结构已就绪,订单入账后自动按比例结算。",dependsOn:{key:"pay_income_s",value:!0}}]},{key:"display",title:"展示设置",icon:"fas fa-file-alt",fields:[{key:"pay_income_desc_details",label:"收益明细文案",type:"textarea",default:"",dependsOn:{key:"pay_income_s",value:!0}},{key:"pay_income_desc_page",label:"收益说明页",type:"input",default:"",dependsOn:{key:"pay_income_s",value:!0}}]}]},et={key:"payment.affiliate",title:"推广返佣",icon:"fas fa-share-alt",description:"配置返佣比例、归因窗口和结算说明。",defaults:{pay_rebate_s:!1,pay_rebate_ratio:10,payment_affiliate_window_days:30,payment_affiliate_require_paid_order:!0,pay_rebate_self_s:!0,pay_rebate_show_use
Line truncated
|
||||
<div>申请提现需后台人工处理,一般2-3小时,请耐心等待</div>
|
||||
<div>如有其它疑问,请与客服联系</div>`},groups:[{key:"basic",title:"提现设置",icon:"fas fa-sliders-h",fields:[{key:"pay_rebate_withdraw_lowest_money",label:"最低提现金额",type:"number",default:50,min:1,max:99999},{key:"withdraw_service_charge",label:"提现手续费(%)",type:"number",default:0,min:0,max:50},{key:"pay_rebate_withdraw_text_details",label:"提现说明",type:"textarea",default:`<div>可提现金额达到50元后即可发起提现</div>
|
||||
<div>申请提现需后台人工处理,一般2-3小时,请耐心等待</div>
|
||||
<div>如有其它疑问,请与客服联系</div>`}]}]},st={paid:Wl,recharge:Ql,vip:Zl,revenue:Yl,affiliate:et,gateway:at,order:lt,"card-pass":Ae,cardPass:Ae,withdrawal:tt},it={key:"extensions.ip",title:"IP归属地",icon:"fas fa-map-marker-alt",description:"配置 IP 数据源、缓存策略和前台归属地展示。",defaults:{ip_geo_enabled:!1,ip_addr_sdk:"null",ip_geo_cache_ttl:86400,ip_geo_display:["comment"],ip_geo_format:"province_city",ip_geo_fallback_text:"",ip_addr_sdk_qq_appkey:"",ip_addr_sdk_qq_secretkey:"",ip_addr_sdk_amap_appkey:"",ip_addr_sdk_amap_secretkey:""},groups:[{key:"basic",title:"基础配置",icon:"fas fa-globe",fields:[{key:"ip_geo_enabled",label:"启用 IP 归属地",type:"switch",default:!1,help:"开启后将在评论、用户主页等位置显示 IP 归属地信息"},{key:"ip_addr_sdk",label:"IP 接口服务商",type:"radio",default:"null",options:[{label:"轮流查询",value:"polling"},{label:"腾讯位置服务",value:"qq"},{label:"高德位置服务",value:"amap"},{label:"太平洋公共接口",value:"null"}],dependsOn:{key:"ip_geo_enabled",value:!0},help:"优先使用国内接口,轮流查询会按腾讯→高德→公共接口顺序回退。"},{key:"ip_geo_cache_ttl",label:"缓存时间 (秒)",type:"number",default:86400,min:3600,max:604800,dependsOn:{key:"ip_geo_enabled",value:!0},help:"IP 查询结果缓存时长,避免频繁请求外部接口"}]},{key:"providers",title:"接口凭据",icon:"fas fa-key",fields:[{key:"ip_addr_sdk_qq_appkey",label:"腾讯 AppKey",type:"input",default:"",dependsOn:{key:"ip_addr_sdk",value:"qq"}},{key:"ip_addr_sdk_qq_secretkey",label:"腾讯 SecretKey",type:"input",default:"",dependsOn:{key:"ip_addr_sdk",value:"qq"}},{key:"ip_addr_sdk_amap_appkey",label:"高德 AppKey",type:"input",default:"",dependsOn:{key:"ip_addr_sdk",value:"amap"}},{key:"ip_addr_sdk_amap_secretkey",label:"高德 SecretKey",type:"input",default:"",dependsOn:{key:"ip_addr_sdk",value:"amap"}}]},{key:"display",title:"展示设置",icon:"fas fa-eye",fields:[{key:"ip_geo_display",label:"展示位置",type:"checkbox",default:["comment"],options:[{label:"评论区",value:"comment"},{label:"用户主页",value:"user_home"},{label:"文章页",value:"post"}],dependsOn:{key:"ip_geo_enabled",value:!0}},{key:"ip_geo_format",label:"显示格式",type:"radio",default:"province_city",options:[{label:"省份+城市",value:"province_city"},{label:"仅省份",value:"province"},{label:"国家+省份",value:"country_province"}],dependsOn:{key:"ip_geo_enabled",value:!0}},{key:"ip_geo_fallback_text",label:"查询失败时文案",type:"input",default:"",placeholder:"留空则不显示",dependsOn:{key:"ip_geo_enabled",value:!0}}]}]},nt={key:"extensions.audit",title:"API内容审核",icon:"fas fa-shield-virus",description:"配置第三方内容审核 API 接入、审核范围和失败回退策略。",defaults:{content_audit_enabled:!1,content_audit_provider:"baidu",content_audit_api_key:"",content_audit_api_secret:"",content_audit_text_enabled:!0,content_audit_image_enabled:!1,content_audit_on_failure:"allow",content_audit_log_enabled:!0},groups:[{key:"provider",title:"审核接口",icon:"fas fa-plug",fields:[{key:"content_audit_enabled",label:"启用内容审核",type:"switch",default:!1,help:"开启后将对接第三方内容审核 API"},{key:"content_audit_provider",label:"审核服务商",type:"radio",default:"baidu",options:[{label:"百度内容审核",value:"baidu"},{label:"关闭审核接口",value:"null"}],dependsOn:{key:"content_audit_enabled",value:!0}},{key:"content_audit_api_key",label:"API Key",type:"input",default:"",dependsOn:{key:"content_audit_enabled",value:!0},help:"百度智能云 API Key"},{key:"content_audit_api_secret",label:"Secret Key",type:"input",default:"",dependsOn:{key:"content_audit_enabled",value:!0},help:"百度智能云 Secret Key"}]},{key:"scope",title:"审核范围",icon:"fas fa-check-double",fields:[{key:"content_audit_text_enabled",label:"文本审核",type:"switch",default:!0,dependsOn:{key:"content_audit_enabled",value:!0}},{key:"content_audit_image_enabled",label:"图片审核",type:"switch",default:!1,dependsOn:{key:"content_audit_enabled",value:!0}},{key:"audit_bbs_term",label:"审核论坛分类",type:"switch",default:!1,dependsOn:{key:"content_audit_enabled",value:!0}}]},{key:"fallback",title:"失败策略",icon:"fas fa-exclamation-triangle",fields:[{key:"content_audit_on_failure",label:"审核失败时",type:"radio",default:"allow",options:[{label:"放行",value:"allow"},{label:"拦截",value:"block"}],dependsOn:{key:"content_audit_enabled",value:!0}},{key:"content_audit_log_enabled",label:"记录审核日志",type:"switch",default:!0,dependsOn:{key:"content_audit_enabled",value:!0}}]}]},_t={key:"extensions.push",title:"百度推送",icon:"fas fa-paper-plane",description:"配置搜索引擎主动推送、批量提交和状态追踪。",defaults:{baidu_push_enabled:!1,baidu_push_token:"",baidu_push_auto:!0,baidu_push_on_publish:!0,baidu_push_on_updLine truncated
|
||||
感谢分享
|
||||
期待更新`,bbs_comment_placeholder:"写下你的回复…"},groups:[{key:"paginate",title:"翻页",icon:"fas fa-chevron-circle-right",fields:[{key:"bbs_reply_paginate_type",label:"翻页方式",type:"select",default:"ajax",options:[{label:"AJAX 加载",value:"ajax"},{label:"传统翻页",value:"page"}]},{key:"bbs_reply_paginate_ias_s",label:"无限滚动",type:"switch",default:!0},{key:"bbs_reply_paginate_ias_max",label:"自动加载页数",type:"number",default:3,min:0,max:10,dependsOn:{key:"bbs_reply_paginate_ias_s",value:!0}}]},{key:"toolbar",title:"回复工具栏",icon:"fas fa-toolbox",fields:[{key:"bbs_comment_smilie",label:"表情",type:"switch",default:!0},{key:"bbs_comment_code",label:"代码",type:"switch",default:!0},{key:"bbs_comment_img",label:"插图",type:"switch",default:!0},{key:"bbs_comment_upload_img",label:"上传图片",type:"switch",default:!0},{key:"bbs_comment_quick_s",label:"快捷回复",type:"switch",default:!0},{key:"bbs_comment_quick_often",label:"预设短语",type:"textarea",default:`不错,学习了
|
||||
感谢分享
|
||||
期待更新`,help:"每行一条",dependsOn:{key:"bbs_comment_quick_s",value:!0}},{key:"bbs_comment_placeholder",label:"回复占位符",type:"input",default:"写下你的回复…"}]}]},It={key:"forum.permissions",title:"权限配置",icon:"fas fa-lock",description:"发帖限制、按钮显示、帖子付费和版块付费关注配置。",defaults:{bbs_posts_add_limit_opt_max:10,bbs_plate_add_limit_opt_max:3,bbs_show_new_plate:!0,bbs_show_new_topic:!0,bbs_show_apply_moderator:!0,bbs_post_pay_hide_type_s:!0,bbs_post_pay_vip_price_s:!0,bbs_post_pay_vip_1_discount:80,bbs_post_pay_vip_2_discount:50,bbs_post_pay_price_limit:1e3,bbs_plate_follow_pay_s:!1,bbs_plate_follow_pay_price:10,bbs_plate_follow_pay_type:"money"},groups:[{key:"posting",title:"发帖限制",icon:"fas fa-ban",fields:[{key:"bbs_posts_add_limit_opt_max",label:"每日发帖上限",type:"number",default:10,min:0,help:"0 = 不限"},{key:"bbs_plate_add_limit_opt_max",label:"建版数量上限",type:"number",default:3,min:0}]},{key:"display_btns",title:"按钮显示",icon:"fas fa-eye",fields:[{key:"bbs_show_new_plate",label:"始终显示建版按钮",type:"switch",default:!0},{key:"bbs_show_new_topic",label:"始终显示发帖按钮",type:"switch",default:!0},{key:"bbs_show_apply_moderator",label:"始终显示申请版主",type:"switch",default:!0}]},{key:"paid_content",title:"帖子付费",icon:"fas fa-money-bill-wave",fields:[{key:"bbs_post_pay_hide_type_s",label:"启用付费内容",type:"switch",default:!0},{key:"bbs_post_pay_vip_price_s",label:"VIP 特价",type:"switch",default:!0,dependsOn:{key:"bbs_post_pay_hide_type_s",value:!0}},{key:"bbs_post_pay_vip_1_discount",label:"一级 VIP 折扣 (%)",type:"number",default:80,min:0,max:100,dependsOn:{key:"bbs_post_pay_vip_price_s",value:!0}},{key:"bbs_post_pay_vip_2_discount",label:"二级 VIP 折扣 (%)",type:"number",default:50,min:0,max:100,dependsOn:{key:"bbs_post_pay_vip_price_s",value:!0}},{key:"bbs_post_pay_price_limit",label:"最高定价",type:"number",default:1e3,min:1,dependsOn:{key:"bbs_post_pay_hide_type_s",value:!0}}]},{key:"plate_follow",title:"版块付费关注",icon:"fas fa-heart",fields:[{key:"bbs_plate_follow_pay_s",label:"启用付费关注",type:"switch",default:!1},{key:"bbs_plate_follow_pay_price",label:"关注价格",type:"number",default:10,min:0,dependsOn:{key:"bbs_plate_follow_pay_s",value:!0}},{key:"bbs_plate_follow_pay_type",label:"支付方式",type:"select",default:"money",options:[{label:"现金",value:"money"},{label:"积分",value:"points"}],dependsOn:{key:"bbs_plate_follow_pay_s",value:!0}}]}]},qt={key:"forum.other",title:"其它设置",icon:"fas fa-cog",description:"投票、版主申请说明、标题字数限制和 URL 别名配置。",defaults:{bbs_vote_number_type:"percent",bbs_vote_max:8,bbs_apply_moderator_desc:"欢迎有热情的用户申请成为版主,协助管理社区秩序。",bbs_term_thumb:"",bbs_post_lists_hide_pay_s:!1,bbs_post_title_strlen_limit:30,bbs_t_placeholder:"请输入标题",bbs_c_placeholder:"请输入内容",bbs_rewrite_suffix_html_s:!0,bbs_plate_rewrite_slug:"board",bbs_posts_rewrite_slug:"topic",bbs_posts_edit_rewrite_slug:"topic-edit",bbs_posts_show_in_rest_s:!1},groups:[{key:"vote",title:"投票",icon:"fas fa-poll",fields:[{key:"bbs_vote_number_type",label:"投票显示",type:"select",default:"percent",options:[{label:"百分比",value:"percent"},{label:"票数",value:"number"}]},{key:"bbs_vote_max",label:"选项上限",type:"number",default:8,min:2,max:20}]},{key:"moderator_apply",title:"版主申请",icon:"fas fa-user-plus",fields:[{key:"bbs_apply_moderator_desc",label:"申请说明",type:"textarea",default:"欢迎有热情的用户申请成为版主,协助管理社区秩序。"}]},{key:"misc",title:"杂项",icon:"fas fa-sliders-h",fields:[{key:"bbs_term_thumb",label:"标签默认缩略图",type:"media",default:""},{key:"bbs_post_lists_hide_pay_s",label:"列表隐藏付费标记",type:"switch",default:!1},{key:"bbs_post_title_strlen_limit",label:"标题字数限制",type:"number",default:30,min:5,max:100,help:"最小 5,最大 100"},{key:"bbs_t_placeholder",label:"标题占位符",type:"input",default:"请输入标题"},{key:"bbs_c_placeholder",label:"内容占位符",type:"input",default:"请输入内容"}]},{key:"url",title:"URL / 别名",icon:"fas fa-link",fields:[{key:"bbs_rewrite_suffix_html_s",label:".html 后缀",type:"switch",default:!0},{key:"bbs_plate_rewrite_slug",label:"版块别名",type:"input",default:"board"},{key:"bbs_posts_rewrite_slug",label:"帖子别名",type:"input",default:"topic"},{key:"bbs_posts_edit_rewrite_slug",label:"编辑别名",type:"input",default:"topic-edit"},{key:"bbs_posts_show_in_rest_s",label:"古腾堡编辑器",type:"switch",default:!1,help:"开启后帖子可使用 Gutenberg"}]}]},jt={key:"forum.upload",title:"上传权限",icon:"fas fa-cloud-upload-alt",description:"论坛帖子图片、视频和文件的上传大小与格式限制。",defaults:{bbs_upload_img_size:2048,bbs_image_u
Line truncated
|
||||
@@ -0,0 +1 @@
|
||||
const q={getMailSettings(){return this.request("/settings/mail")},saveMailSettings(e){return this.request("/settings/mail",{method:"POST",body:JSON.stringify(e)})},testMail(e){return this.request("/mail/test",{method:"POST",body:JSON.stringify({to:e})})},getFooterSettings(){return this.request("/settings/footer")},saveFooterSettings(e){return this.request("/settings/footer",{method:"POST",body:JSON.stringify(e)})},getFooterTabbarSettings(){return this.request("/settings/footer-tabbar")},saveFooterTabbarSettings(e){return this.request("/settings/footer-tabbar",{method:"POST",body:JSON.stringify(e)})},reorderFooterTabbar(e){return this.request("/settings/footer-tabbar/reorder",{method:"POST",body:JSON.stringify({ids:e})})},getFloatingButtons(){return this.request("/settings/floating-buttons")},saveFloatingButtons(e){return this.request("/settings/floating-buttons",{method:"POST",body:JSON.stringify(e)})},reorderFloatingButtons(e){return this.request("/settings/floating-buttons/reorder",{method:"POST",body:JSON.stringify({ids:e})})},getFriendLinks(){return this.request("/friend-links")},addFriendLink(e){return this.request("/friend-links",{method:"POST",body:JSON.stringify(e)})},deleteFriendLink(e){return this.request(`/friend-links/${e}`,{method:"DELETE"})},reorderFriendLinks(e){return this.request("/friend-links/reorder",{method:"POST",body:JSON.stringify({ids:e})})},getCmsFeatures(){return this.request("/settings/cms-features")},saveCmsFeatures(e){return this.request("/settings/cms-features",{method:"POST",body:JSON.stringify({cms_features:e})})}},O={getHomepageSettings(){return this.request("/settings/homepage")},saveHomepageSettings(e){return this.request("/settings/homepage",{method:"POST",body:JSON.stringify(e)})},getHomepageCategories(){return this.request("/homepage/categories")},getCategoryRecommendSettings(){return this.request("/settings/category-recommend")},saveCategoryRecommendSettings(e){return this.request("/settings/category-recommend",{method:"POST",body:JSON.stringify(e)})},getCategories(){return this.request("/categories")},updateCategoryMeta(e,t){return this.request(`/categories/${e}/meta`,{method:"POST",body:JSON.stringify(t)})},searchUsers(e="",t=20){return this.request(`/users/search?search=${encodeURIComponent(e)}&number=${t}`)},getBanners(e="hero"){return this.request(`/banners?kind=${encodeURIComponent(e)}`)},createBanner(e){return this.request("/banners",{method:"POST",body:JSON.stringify(e)})},updateBanner(e,t){return this.request(`/banners/${e}`,{method:"PUT",body:JSON.stringify(t)})},deleteBanner(e){return this.request(`/banners/${e}`,{method:"DELETE"})},getHeroes(){return this.getBanners("hero")},createHero(e){return this.createBanner({...e,kind:"hero"})},updateHero(e,t){return this.updateBanner(e,{...t,kind:"hero"})},deleteHero(e){return this.deleteBanner(e)},getHomepageBanners(){return this.getBanners("banner")},createHomepageBanner(e){return this.createBanner({...e,kind:"banner"})},updateHomepageBanner(e,t){return this.updateBanner(e,{...t,kind:"banner"})},deleteHomepageBanner(e){return this.deleteBanner(e)}},P={getPermissionsAttachmentSettings(){return this.getSchemaPage("permissions","attachment")},savePermissionsAttachmentSettings(e){return this.saveSchemaPage("permissions","attachment",e)},getPermissionsLoginSettings(){return this.getSchemaPage("permissions","login")},savePermissionsLoginSettings(e){return this.saveSchemaPage("permissions","login",e)},getPermissionsModerationSettings(){return this.getSchemaPage("permissions","moderation")},savePermissionsModerationSettings(e){return this.saveSchemaPage("permissions","moderation",e)},getCapabilities(){return this.request("/permissions/capabilities")},saveCapabilities(e){return this.request("/permissions/capabilities",{method:"POST",body:JSON.stringify({user_caps:e})})}},T={getAuthSettings(){return this.request("/settings/auth")},saveAuthSettings(e){return this.request("/settings/auth",{method:"POST",body:JSON.stringify(e)})},getOAuthSettings(){return this.request("/settings/oauth")},saveOAuthSettings(e){return this.request("/settings/oauth",{method:"POST",body:JSON.stringify(e)})},getNotificationSettings(){return this.request("/settings/notifications")},saveNotificationSettings(e){return this.request("/settings/notifications",{method:"POST",body:JSON.stringify(e)})},getNotificationOverview(e={}){const t=new URLSearchParams(e).toString();return this.request("/notifications/overview"+(t?`?${t}`:""))},markNotificationRead(e){return this.request("/notifications/mark-read",{method:"POST",body:JSON.stringify({id:e})})},markAllNotificationsRead(){return this.request("/notifications/mark-read",{method:"POST",body:JSON.stringify({mark_all:!0})})},deleteNotification(e){return this.request(`/notifications/${e}`,{method:"DELETE"})},runNotificationCleanup(){return this.request("/notifications/cleanup",{method:"POST",body:JSON.stringify({})})},getCreditSettings(){return this.request("/credits/settings")},saveCreditSettings(e){return tLine truncated
|
||||
@@ -0,0 +1,10 @@
|
||||
import{S as Kr,U as Br,V as Hr}from"./vendor-vue.Bykizn0M.js";var we={exports:{}};/**!
|
||||
* Sortable 1.14.0
|
||||
* @author RubaXa <trash@rubaxa.org>
|
||||
* @author owenm <owen23355@gmail.com>
|
||||
* @license MIT
|
||||
*/function gr(l,r){var n=Object.keys(l);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(l);r&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(l,e).enumerable})),n.push.apply(n,i)}return n}function Bt(l){for(var r=1;r<arguments.length;r++){var n=arguments[r]!=null?arguments[r]:{};r%2?gr(Object(n),!0).forEach(function(i){Wr(l,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(n)):gr(Object(n)).forEach(function(i){Object.defineProperty(l,i,Object.getOwnPropertyDescriptor(n,i))})}return l}function Ue(l){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Ue=function(r){return typeof r}:Ue=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Ue(l)}function Wr(l,r,n){return r in l?Object.defineProperty(l,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):l[r]=n,l}function Mt(){return Mt=Object.assign||function(l){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(l[i]=n[i])}return l},Mt.apply(this,arguments)}function Xr(l,r){if(l==null)return{};var n={},i=Object.keys(l),e,f;for(f=0;f<i.length;f++)e=i[f],!(r.indexOf(e)>=0)&&(n[e]=l[e]);return n}function Vr(l,r){if(l==null)return{};var n=Xr(l,r),i,e;if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(l);for(e=0;e<f.length;e++)i=f[e],!(r.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(l,i)&&(n[i]=l[i])}return n}function Yr(l){return zr(l)||Jr(l)||Qr(l)||Zr()}function zr(l){if(Array.isArray(l))return lr(l)}function Jr(l){if(typeof Symbol<"u"&&l[Symbol.iterator]!=null||l["@@iterator"]!=null)return Array.from(l)}function Qr(l,r){if(l){if(typeof l=="string")return lr(l,r);var n=Object.prototype.toString.call(l).slice(8,-1);if(n==="Object"&&l.constructor&&(n=l.constructor.name),n==="Map"||n==="Set")return Array.from(l);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lr(l,r)}}function lr(l,r){(r==null||r>l.length)&&(r=l.length);for(var n=0,i=new Array(r);n<r;n++)i[n]=l[n];return i}function Zr(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var kr="1.14.0";function Ht(l){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(l)}var Wt=Ht(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),De=Ht(/Edge/i),mr=Ht(/firefox/i),xe=Ht(/safari/i)&&!Ht(/chrome/i)&&!Ht(/android/i),Cr=Ht(/iP(ad|od|hone)/i),qr=Ht(/chrome/i)&&Ht(/android/i),Ar={capture:!1,passive:!1};function Z(l,r,n){l.addEventListener(r,n,!Wt&&Ar)}function Q(l,r,n){l.removeEventListener(r,n,!Wt&&Ar)}function We(l,r){if(r){if(r[0]===">"&&(r=r.substring(1)),l)try{if(l.matches)return l.matches(r);if(l.msMatchesSelector)return l.msMatchesSelector(r);if(l.webkitMatchesSelector)return l.webkitMatchesSelector(r)}catch{return!1}return!1}}function _r(l){return l.host&&l!==document&&l.host.nodeType?l.host:l.parentNode}function wt(l,r,n,i){if(l){n=n||document;do{if(r!=null&&(r[0]===">"?l.parentNode===n&&We(l,r):We(l,r))||i&&l===n)return l;if(l===n)break}while(l=_r(l))}return null}var yr=/\s+/g;function lt(l,r,n){if(l&&r)if(l.classList)l.classList[n?"add":"remove"](r);else{var i=(" "+l.className+" ").replace(yr," ").replace(" "+r+" "," ");l.className=(i+(n?" "+r:"")).replace(yr," ")}}function L(l,r,n){var i=l&&l.style;if(i){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(l,""):l.currentStyle&&(n=l.currentStyle),r===void 0?n:n[r];!(r in i)&&r.indexOf("webkit")===-1&&(r="-webkit-"+r),i[r]=n+(typeof n=="string"?"":"px")}}function ee(l,r){var n="";if(typeof l=="string")n=l;else do{var i=L(l,"transform");i&&i!=="none"&&(n=i+" "+n)}while(!r&&(l=l.parentNode));var e=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return e&&new e(n)}function Rr(l,r,n){if(l){var i=l.getElementsByTagName(r),e=0,f=i.length;if(n)for(;e<f;e++)n(i[e],e);return i}return[]}function Kt(){var l=document.scrollingElement;return l||document.documentElement}function at(l,r,n,i,e){if(!(!l.getBoundingClientRect&&l!==window)){var f,t,o,a,s,c,u;if(l!==window&&l.parentNode&&l!==Kt()?(f=l.getBoundingClientRect(),t=f.top,o=f.left,a=f.bottom,s=f.right,c=f.height,u=f.width):(t=0,o=0,a=window.innerHeight,s=window.innerWidth,c=window.innerHeight,u=window.innerWidth),(r||n)&&l!==window&&(e=e||l.parentNode,!Wt))do if(e&&e.getBoundingClientRect&&(L(e,"transform")!=="none"||n&&L(e,"position")!=="static")){var d=e.getBoundingClientRect();t-=d.top+parseInt(L(e,"border-top-width")),o-=d.left+parseInt(L(e,"border-left-width")),a=t+f.height,s=o+f.width;break}while(e=e.parentNode);if(i&&l!==window){var v=ee(e||l),h=v&&v.a,p=v&&v.d;v&&(t/=p,o/=h,u/=h,c/=p,a=t+c,s=o+u)}return{top:t,left:o,bottom:a,right:s,width:u,height:c}}}function Sr(l,r,n){for(var i=Qt(l,!0),e=at(l)[r];i;){var f=at(i)[n],t=void 0;if(t=e>=f,!t)return i;if(i===Kt())break;i=Qt(i,!1)}return!1}function se(l,r,n,i){for(var e=0,f=0,t=l.children;f<t.length;){if(t[f].style.display!=="none"&&t[f]!==B.ghost&&(i||t[f]!==B.dragged)&&wt(t[f],n.draggable,l,!1)){if(e===r)return t[f];e++}f++}return null}function dr(l,r){for(var n=l.lastElementChild;n&&(n===B.ghost||L(n,"display")==="none"||r&&!We(n,r));)n=n.previousElementSibling;return n||null}function dt(l,r){var n=0;if(!l||!l.parentNode)return-1;for(;l=l.previousElementSibling;)l.nodeName.toUpperCase()!=="TEMPLATE"&&l!==B.clone&&(!r||We(l,r))&&n++;return n}function br(l){var r=0,n=0,i=Kt();if(l)do{var e=ee(l),f=e.a,t=e.d;r+=l.scrollLeft*f,n+=l.scrollTop*t}while(l!==i&&(l=l.parentNode));return[r,n]}function tn(l,r){for(var n in l)if(l.hasOwnProperty(n)){for(var i in r)if(r.hasOwnProperty(i)&&r[i]===l[n][i])return Number(n)}return-1}function Qt(l,r){if(!l||!l.getBoundingClientRect)return Kt();var n=l,i=!1;do if(n.clientWidth<n.scrollWidth||n.clientHeight<n.scrollHeight){var e=L(n);if(n.clientWidth<n.scrollWidth&&(e.overflowX=="auto"||e.overflowX=="scroll")||n.clientHeight<n.scrollHeight&&(e.overflowY=="auto"||e.overflowY=="scroll")){if(!n.getBoundingClientRect||n===document.body)return Kt();if(i||r)return n;i=!0}}while(n=n.parentNode);return Kt()}function en(l,r){if(l&&r)for(var n in r)r.hasOwnProperty(n)&&(l[n]=r[n]);return l}function ke(l,r){return Math.round(l.top)===Math.round(r.top)&&Math.round(l.left)===Math.round(r.left)&&Math.round(l.height)===Math.round(r.height)&&Math.round(l.width)===Math.round(r.width)}var Oe;function $r(l,r){return function(){if(!Oe){var n=arguments,i=this;n.length===1?l.call(i,n[0]):l.apply(i,n),Oe=setTimeout(function(){Oe=void 0},r)}}}function rn(){clearTimeout(Oe),Oe=void 0}function Nr(l,r,n){l.scrollLeft+=r,l.scrollTop+=n}function vr(l){var r=window.Polymer,n=window.jQuery||window.Zepto;return r&&r.dom?r.dom(l).cloneNode(!0):n?n(l).clone(!0)[0]:l.cloneNode(!0)}function Er(l,r){L(l,"position","absolute"),L(l,"top",r.top),L(l,"left",r.left),L(l,"width",r.width),L(l,"height",r.height)}function qe(l){L(l,"position",""),L(l,"top",""),L(l,"left",""),L(l,"width",""),L(l,"height","")}var Ot="Sortable"+new Date().getTime()
Line truncated
|
||||
`)&&(T="(?: "+T+")",M=" "+M,$++),x=new RegExp("^(?:"+T+")",w)),h&&(x=new RegExp("^"+T+"$(?!\\s)",w)),d&&(I=b.lastIndex),P=s.call(F?x:b,M),F?P?(P.input=P.input.slice($),P[0]=P[0].slice($),P.index=b.lastIndex,b.lastIndex+=P[0].length):b.lastIndex=0:d&&P&&(b.lastIndex=b.global?P.index+P[0].length:I),h&&P&&P.length>1&&c.call(P[0],x,function(){for(O=1;O<arguments.length-2;O++)arguments[O]===void 0&&(P[O]=void 0)}),P}),e.exports=u}),"94ca":(function(e,f,t){var o=t("d039"),a=/#|\.prototype\./,s=function(h,p){var g=u[c(h)];return g==v?!0:g==d?!1:typeof p=="function"?o(p):!!p},c=s.normalize=function(h){return String(h).replace(a,".").toLowerCase()},u=s.data={},d=s.NATIVE="N",v=s.POLYFILL="P";e.exports=s}),"99af":(function(e,f,t){var o=t("23e7"),a=t("d039"),s=t("e8b5"),c=t("861d"),u=t("7b0b"),d=t("50c4"),v=t("8418"),h=t("65f0"),p=t("1dde"),g=t("b622"),S=t("2d00"),b=g("isConcatSpreadable"),I=9007199254740991,x="Maximum allowed index exceeded",P=S>=51||!a(function(){var T=[];return T[b]=!1,T.concat()[0]!==T}),O=p("concat"),F=function(T){if(!c(T))return!1;var $=T[b];return $!==void 0?!!$:s(T)},w=!P||!O;o({target:"Array",proto:!0,forced:w},{concat:function($){var M=u(this),V=h(M,0),C=0,R,X,N,G,_;for(R=-1,N=arguments.length;R<N;R++)if(_=R===-1?M:arguments[R],F(_)){if(G=d(_.length),C+G>I)throw TypeError(x);for(X=0;X<G;X++,C++)X in _&&v(V,C,_[X])}else{if(C>=I)throw TypeError(x);v(V,C++,_)}return V.length=C,V}})}),"9bdd":(function(e,f,t){var o=t("825a");e.exports=function(a,s,c,u){try{return u?s(o(c)[0],c[1]):s(c)}catch(v){var d=a.return;throw d!==void 0&&o(d.call(a)),v}}}),"9bf2":(function(e,f,t){var o=t("83ab"),a=t("0cfb"),s=t("825a"),c=t("c04e"),u=Object.defineProperty;f.f=o?u:function(v,h,p){if(s(v),h=c(h,!0),s(p),a)try{return u(v,h,p)}catch{}if("get"in p||"set"in p)throw TypeError("Accessors not supported");return"value"in p&&(v[h]=p.value),v}}),"9ed3":(function(e,f,t){var o=t("ae93").IteratorPrototype,a=t("7c73"),s=t("5c6c"),c=t("d44e"),u=t("3f8c"),d=function(){return this};e.exports=function(v,h,p){var g=h+" Iterator";return v.prototype=a(o,{next:s(1,p)}),c(v,g,!1,!0),u[g]=d,v}}),"9f7f":(function(e,f,t){var o=t("d039");function a(s,c){return RegExp(s,c)}f.UNSUPPORTED_Y=o(function(){var s=a("a","y");return s.lastIndex=2,s.exec("abcd")!=null}),f.BROKEN_CARET=o(function(){var s=a("^r","gy");return s.lastIndex=2,s.exec("str")!=null})}),a2bf:(function(e,f,t){var o=t("e8b5"),a=t("50c4"),s=t("0366"),c=function(u,d,v,h,p,g,S,b){for(var I=p,x=0,P=S?s(S,b,3):!1,O;x<h;){if(x in v){if(O=P?P(v[x],x,d):v[x],g>0&&o(O))I=c(u,d,O,a(O.length),I,g-1)-1;else{if(I>=9007199254740991)throw TypeError("Exceed the acceptable array length");u[I]=O}I++}x++}return I};e.exports=c}),a352:(function(e,f){e.exports=i}),a434:(function(e,f,t){var o=t("23e7"),a=t("23cb"),s=t("a691"),c=t("50c4"),u=t("7b0b"),d=t("65f0"),v=t("8418"),h=t("1dde"),p=t("ae40"),g=h("splice"),S=p("splice",{ACCESSORS:!0,0:0,1:2}),b=Math.max,I=Math.min,x=9007199254740991,P="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!g||!S},{splice:function(F,w){var T=u(this),$=c(T.length),M=a(F,$),V=arguments.length,C,R,X,N,G,_;if(V===0?C=R=0:V===1?(C=0,R=$-M):(C=V-2,R=I(b(s(w),0),$-M)),$+C-R>x)throw TypeError(P);for(X=d(T,R),N=0;N<R;N++)G=M+N,G in T&&v(X,N,T[G]);if(X.length=R,C<R){for(N=M;N<$-R;N++)G=N+R,_=N+C,G in T?T[_]=T[G]:delete T[_];for(N=$;N>$-R+C;N--)delete T[N-1]}else if(C>R)for(N=$-R;N>M;N--)G=N+R-1,_=N+C-1,G in T?T[_]=T[G]:delete T[_];for(N=0;N<C;N++)T[N+M]=arguments[N+2];return T.length=$-R+C,X}})}),a4d3:(function(e,f,t){var o=t("23e7"),a=t("da84"),s=t("d066"),c=t("c430"),u=t("83ab"),d=t("4930"),v=t("fdbf"),h=t("d039"),p=t("5135"),g=t("e8b5"),S=t("861d"),b=t("825a"),I=t("7b0b"),x=t("fc6a"),P=t("c04e"),O=t("5c6c"),F=t("7c73"),w=t("df75"),T=t("241c"),$=t("057f"),M=t("7418"),V=t("06cf"),C=t("9bf2"),R=t("d1e7"),X=t("9112"),N=t("6eeb"),G=t("5692"),_=t("f772"),rt=t("d012"),yt=t("90e3"),st=t("b622"),ft=t("e538"),gt=t("746f"),mt=t("d44e"),ht=t("69f3"),nt=t("b727").forEach,it=_("hidden"),At="Symbol",Tt="prototype",Xt=st("toPrimitive"),Zt=ht.set,Vt=ht.getterFor(At),St=Object[Tt],bt=a.Symbol,kt=s("JSON","stringify"),Ut=V.f,Gt=C.f,Ae=$.f,Qe=R.f,jt=G("symbols"),Yt=G("op-symbols"),re=G("string-to-symbol-registry"),fe=G("symbol-to-string-registry"),ue=G("wks"),ce=a.QObject,de=!ce||!ce[Tt]||!ce[Tt].findChild,ve=u&&h(function(){return F(Gt({},"a",{get:function(){return Gt(this,"a",{value:7}).a}})).a!=7})?function(W,U,K){var k=Ut(St,U);k&&delete St[U],Gt(W,U,K),k&&W!==St&&Gt(St,U,k)}:Gt,he=function(W,U){var K=jt[W]=F(bt[Tt]);return Zt(K,{type:At,tag:W,description:U}),u||(K.description=U),K},y=v?function(W){return typeof W=="symbol"}:function(W){return Object(W)instanceof bt},m=function(U,K,k){U===St&&m(Yt,K,k),b(U);var q=P(K,!0);return b(k),p(jt,q)?(k.enumerable?(p(U,it)&&U[it][q]&&(U[it][q]=!1),k=F(k,{enumerable:O(0,!1)})):(p(U,it)||Gt(U,it,O(1,{})),U[it][q]=!0),ve(U,q,k)):Gt(U,q,k)},E=function(U,K){b(U);var k=x(K),q=w(k).concat(tt(k));return nt(q,function(Pt){(!u||j.call(k,Pt
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function b(y,m){return v(y)||h(y,m)||g(y,m)||S()}function I(y){if(Array.isArray(y))return p(y)}function x(y){if(typeof Symbol<"u"&&Symbol.iterator in Object(y))return Array.from(y)}function P(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function O(y){return I(y)||x(y)||g(y)||P()}var F=t("a352"),w=t.n(F);function T(y){y.parentElement!==null&&y.parentElement.removeChild(y)}function $(y,m,E){var D=E===0?y.children[0]:y.children[E-1].nextSibling;y.insertBefore(m,D)}var M=t("dbf1");t("13d5"),t("4fad"),t("ac1f"),t("5319");function V(y){var m=Object.create(null);return function(D){var j=m[D];return j||(m[D]=y(D))}}var C=/-(\w)/g,R=V(function(y){return y.replace(C,function(m,E){return E.toUpperCase()})});t("5db7"),t("73d9");var X=["Start","Add","Remove","Update","End"],N=["Choose","Unchoose","Sort","Filter","Clone"],G=["Move"],_=[G,X,N].flatMap(function(y){return y}).map(function(y){return"on".concat(y)}),rt={manage:G,manageAndEmit:X,emit:N};function yt(y){return _.indexOf(y)!==-1}t("caad"),t("2ca0");var st=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","ruby","s","samp","script","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"];function ft(y){return st.includes(y)}function gt(y){return["transition-group","TransitionGroup"].includes(y)}function mt(y){return["id","class","role","style"].includes(y)||y.startsWith("data-")||y.startsWith("aria-")||y.startsWith("on")}function ht(y){return y.reduce(function(m,E){var D=b(E,2),j=D[0],H=D[1];return m[j]=H,m},{})}function nt(y){var m=y.$attrs,E=y.componentData,D=E===void 0?{}:E,j=ht(Object.entries(m).filter(function(H){var J=b(H,2),tt=J[0];return J[1],mt(tt)}));return d(d({},j),D)}function it(y){var m=y.$attrs,E=y.callBackBuilder,D=ht(At(m));Object.entries(E).forEach(function(H){var J=b(H,2),tt=J[0],vt=J[1];rt[tt].forEach(function(W){D["on".concat(W)]=vt(W)})});var j="[data-draggable]".concat(D.draggable||"");return d(d({},D),{},{draggable:j})}function At(y){return Object.entries(y).filter(function(m){var E=b(m,2),D=E[0];return E[1],!mt(D)}).map(function(m){var E=b(m,2),D=E[0],j=E[1];return[R(D),j]}).filter(function(m){var E=b(m,2),D=E[0];return E[1],!yt(D)})}t("c740");function Tt(y,m){if(!(y instanceof m))throw new TypeError("Cannot call a class as a function")}function Xt(y,m){for(var E=0;E<m.length;E++){var D=m[E];D.enumerable=D.enumerable||!1,D.configurable=!0,"value"in D&&(D.writable=!0),Object.defineProperty(y,D.key,D)}}function Zt(y,m,E){return m&&Xt(y.prototype,m),y}var Vt=function(m){var E=m.el;return E},St=function(m,E){return m.__draggable_context=E},bt=function(m){return m.__draggable_context},kt=(function(){function y(m){var E=m.nodes,D=E.header,j=E.default,H=E.footer,J=m.root,tt=m.realList;Tt(this,y),this.defaultNodes=j,this.children=[].concat(O(D),O(j),O(H)),this.externalComponent=J.externalComponent,this.rootTransition=J.transition,this.tag=J.tag,this.realList=tt}return Zt(y,[{key:"render",value:function(E,D){var j=this.tag,H=this.children,J=this._isRootComponent,tt=J?{default:function(){return H}}:H;return E(j,D,tt)}},{key:"updated",value:function(){var E=this.defaultNodes,D=this.realList;E.forEach(function(j,H){St(Vt(j),{element:D[H],index:H})})}},{key:"getUnderlyingVm",value:function(E){return bt(E)}},{key:"getVmIndexFromDomIndex",value:function(E,D){var j=this.defaultNodes,H=j.length,J=D.children,tt=J.item(E);if(tt===null)return H;var vt=bt(tt);if(vt)return vt.index;if(H===0)return 0;var W=Vt(j[0]),U=O(J).findIndex(function(K){return K===W});return E<U?0:H}},{key:"_isRootComponent",get:function(){return this.externalComponent||this.rootTransition}}]),y})(),Ut=t("8bbf");function Gt(y,m){var E=y[m];return E?E():[]}function Ae(y){var m=y.$slots,E=y.realList,D=y.getKey,j=E||[],H=["header","footer"].map(function(K){return Gt(m,K)}),J=b(H,2),tt=J[0],vt=J[1],W=m.item;if(!W)throw new Error("draggable element must have an item slot");var U=j.flatMap(function(K,k){return W({element:K,index:k}).map(function(q){return q.key=D(K),q.props=d(d({},q.props||{}),{},{"data-draggable":!0}),q})});if(U.length!==j.length)throw new Error("Item slot must have only one child");return{header:tt,footer:vt,default:U}}function Qe(y){var m=gt(y),E=!ft(y)&&!m;return{transition:m,externalComponent:E,tag:E?Object(Ut.resolveComponent)(y):m?Ut.TransitionGroup:y}}function jt(y){var m=y.$slots,E=y.tag,D=y.realList,j=y.getKey,H=Ae({$slots:m,realList:D,getKey:j}),J=Qe(E);return new kt({nodes:H,root:J,realList:D})}function Y
Line truncated
|
||||
@@ -0,0 +1,48 @@
|
||||
var Xb=Object.defineProperty;var Eb=(n,e,t)=>e in n?Xb(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var _=(n,e,t)=>Eb(n,typeof e!="symbol"?e+"":e,t);import{r as ce,a as bn,w as Jt,c as it,g as Fc,o as ni,b as an,d as Gc,e as Db,f as _b,F as Op,C as zb,h as qt,p as pp,i as Fr,j as mp,k as Me,T as Yb,t as Bn,n as gp,l as yp,m as Wb,q as jb,s as Ib}from"./vendor-vue.Bykizn0M.js";function V_(n){let e=".",t="__",i="--",r;if(n){let O=n.blockPrefix;O&&(e=O),O=n.elementPrefix,O&&(t=O),O=n.modifierPrefix,O&&(i=O)}const s={install(O){r=O.c;const p=O.context;p.bem={},p.bem.b=null,p.bem.els=null}};function o(O){let p,m;return{before(g){p=g.bem.b,m=g.bem.els,g.bem.els=null},after(g){g.bem.b=p,g.bem.els=m},$({context:g,props:b}){return O=typeof O=="string"?O:O({context:g,props:b}),g.bem.b=O,`${(b==null?void 0:b.bPrefix)||e}${g.bem.b}`}}}function a(O){let p;return{before(m){p=m.bem.els},after(m){m.bem.els=p},$({context:m,props:g}){return O=typeof O=="string"?O:O({context:m,props:g}),m.bem.els=O.split(",").map(b=>b.trim()),m.bem.els.map(b=>`${(g==null?void 0:g.bPrefix)||e}${m.bem.b}${t}${b}`).join(", ")}}}function l(O){return{$({context:p,props:m}){O=typeof O=="string"?O:O({context:p,props:m});const g=O.split(",").map(v=>v.trim());function b(v){return g.map(S=>`&${(m==null?void 0:m.bPrefix)||e}${p.bem.b}${v!==void 0?`${t}${v}`:""}${i}${S}`).join(", ")}const x=p.bem.els;return x!==null?b(x[0]):b()}}}function c(O){return{$({context:p,props:m}){O=typeof O=="string"?O:O({context:p,props:m});const g=p.bem.els;return`&:not(${(m==null?void 0:m.bPrefix)||e}${p.bem.b}${g!==null&&g.length>0?`${t}${g[0]}`:""}${i}${O})`}}}return Object.assign(s,{cB:((...O)=>r(o(O[0]),O[1],O[2])),cE:((...O)=>r(a(O[0]),O[1],O[2])),cM:((...O)=>r(l(O[0]),O[1],O[2])),cNotM:((...O)=>r(c(O[0]),O[1],O[2]))}),s}function Lb(n){let e=0;for(let t=0;t<n.length;++t)n[t]==="&"&&++e;return e}const bp=/\s*,(?![^(]*\))\s*/g,qb=/\s+/g;function Bb(n,e){const t=[];return e.split(bp).forEach(i=>{let r=Lb(i);if(r){if(r===1){n.forEach(o=>{t.push(i.replace("&",o))});return}}else{n.forEach(o=>{t.push((o&&o+" ")+i)});return}let s=[i];for(;r--;){const o=[];s.forEach(a=>{n.forEach(l=>{o.push(a.replace("&",l))})}),s=o}s.forEach(o=>t.push(o))}),t}function Vb(n,e){const t=[];return e.split(bp).forEach(i=>{n.forEach(r=>{t.push((r&&r+" ")+i)})}),t}function Nb(n){let e=[""];return n.forEach(t=>{t=t&&t.trim(),t&&(t.includes("&")?e=Bb(e,t):e=Vb(e,t))}),e.join(", ").replace(qb," ")}function Oh(n){if(!n)return;const e=n.parentElement;e&&e.removeChild(n)}function Fo(n,e){return(e??document.head).querySelector(`style[cssr-id="${n}"]`)}function Fb(n){const e=document.createElement("style");return e.setAttribute("cssr-id",n),e}function as(n){return n?/^\s*@(s|m)/.test(n):!1}const Gb=/[A-Z]/g;function xp(n){return n.replace(Gb,e=>"-"+e.toLowerCase())}function Ub(n,e=" "){return typeof n=="object"&&n!==null?` {
|
||||
`+Object.entries(n).map(t=>e+` ${xp(t[0])}: ${t[1]};`).join(`
|
||||
`)+`
|
||||
`+e+"}":`: ${n};`}function Hb(n,e,t){return typeof n=="function"?n({context:e.context,props:t}):n}function ph(n,e,t,i){if(!e)return"";const r=Hb(e,t,i);if(!r)return"";if(typeof r=="string")return`${n} {
|
||||
${r}
|
||||
}`;const s=Object.keys(r);if(s.length===0)return t.config.keepEmptyBlock?n+` {
|
||||
}`:"";const o=n?[n+" {"]:[];return s.forEach(a=>{const l=r[a];if(a==="raw"){o.push(`
|
||||
`+l+`
|
||||
`);return}a=xp(a),l!=null&&o.push(` ${a}${Ub(l)}`)}),n&&o.push("}"),o.join(`
|
||||
`)}function Cl(n,e,t){n&&n.forEach(i=>{if(Array.isArray(i))Cl(i,e,t);else if(typeof i=="function"){const r=i(e);Array.isArray(r)?Cl(r,e,t):r&&t(r)}else i&&t(i)})}function wp(n,e,t,i,r){const s=n.$;let o="";if(!s||typeof s=="string")as(s)?o=s:e.push(s);else if(typeof s=="function"){const c=s({context:i.context,props:r});as(c)?o=c:e.push(c)}else if(s.before&&s.before(i.context),!s.$||typeof s.$=="string")as(s.$)?o=s.$:e.push(s.$);else if(s.$){const c=s.$({context:i.context,props:r});as(c)?o=c:e.push(c)}const a=Nb(e),l=ph(a,n.props,i,r);o?t.push(`${o} {`):l.length&&t.push(l),n.children&&Cl(n.children,{context:i.context,props:r},c=>{if(typeof c=="string"){const u=ph(a,{raw:c},i,r);t.push(u)}else wp(c,e,t,i,r)}),e.pop(),o&&t.push("}"),s&&s.after&&s.after(i.context)}function Kb(n,e,t){const i=[];return wp(n,[],i,e,t),i.join(`
|
||||
|
||||
`)}function Jb(n){for(var e=0,t,i=0,r=n.length;r>=4;++i,r-=4)t=n.charCodeAt(i)&255|(n.charCodeAt(++i)&255)<<8|(n.charCodeAt(++i)&255)<<16|(n.charCodeAt(++i)&255)<<24,t=(t&65535)*1540483477+((t>>>16)*59797<<16),t^=t>>>24,e=(t&65535)*1540483477+((t>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(r){case 3:e^=(n.charCodeAt(i+2)&255)<<16;case 2:e^=(n.charCodeAt(i+1)&255)<<8;case 1:e^=n.charCodeAt(i)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}typeof window<"u"&&(window.__cssrContext={});function e1(n,e,t,i){const{els:r}=e;if(t===void 0)r.forEach(Oh),e.els=[];else{const s=Fo(t,i);s&&r.includes(s)&&(Oh(s),e.els=r.filter(o=>o!==s))}}function mh(n,e){n.push(e)}function t1(n,e,t,i,r,s,o,a,l){let c;if(t===void 0&&(c=e.render(i),t=Jb(c)),l){l.adapter(t,c??e.render(i));return}a===void 0&&(a=document.head);const u=Fo(t,a);if(u!==null&&!s)return u;const h=u??Fb(t);if(c===void 0&&(c=e.render(i)),h.textContent=c,u!==null)return u;if(o){const f=a.querySelector(`meta[name="${o}"]`);if(f)return a.insertBefore(h,f),mh(e.els,h),h}return r?a.insertBefore(h,a.querySelector("style, link")):a.appendChild(h),mh(e.els,h),h}function n1(n){return Kb(this,this.instance,n)}function i1(n={}){const{id:e,ssr:t,props:i,head:r=!1,force:s=!1,anchorMetaName:o,parent:a}=n;return t1(this.instance,this,e,i,r,s,o,a,t)}function r1(n={}){const{id:e,parent:t}=n;e1(this.instance,this,e,t)}const ls=function(n,e,t,i){return{instance:n,$:e,props:t,children:i,els:[],render:n1,mount:i1,unmount:r1}},s1=function(n,e,t,i){return Array.isArray(e)?ls(n,{$:null},null,e):Array.isArray(t)?ls(n,e,null,t):Array.isArray(i)?ls(n,e,t,i):ls(n,e,t,null)};function o1(n={}){const e={c:((...t)=>s1(e,...t)),use:(t,...i)=>t.install(e,...i),find:Fo,context:{},config:n};return e}function N_(n,e){if(n===void 0)return!1;if(e){const{context:{ids:t}}=e;return t.has(n)}return Fo(n)!==null}let ro=[];const vp=new WeakMap;function a1(){ro.forEach(n=>n(...vp.get(n))),ro=[]}function Sp(n,...e){vp.set(n,e),!ro.includes(n)&&ro.push(n)===1&&requestAnimationFrame(a1)}function l1(n){return n.nodeType===9?null:n.parentNode}function c1(n){if(n===null)return null;const e=l1(n);if(e===null)return null;if(e.nodeType===9)return document.documentElement;if(e.nodeType===1){const{overflow:t,overflowX:i,overflowY:r}=getComputedStyle(e);if(/(auto|scroll|overlay)/.test(t+r+i))return e}return c1(e)}function F_(n){return typeof n=="string"?document.querySelector(n):typeof n=="function"?n():n}function G_(n,e){let{target:t}=n;for(;t;){if(t.dataset&&t.dataset[e]!==void 0)return!0;t=t.parentElement}return!1}function u1(n){return n.composedPath()[0]||null}function h1(n){if(typeof n=="number")return{"":n.toString()};const e={};return n.split(/ +/).forEach(t=>{if(t==="")return;const[i,r]=t.split(":");r===void 0?e[""]=i:e[i]=r}),e}function U_(n,e){var t;if(n==null)return;const i=h1(n);if(e===void 0)return i[""];if(typeof e=="string")return(t=i[e])!==null&&t!==void 0?t:i[""];if(Array.isArray(e)){for(let r=e.length-1;r>=0;--r){const s=e[r];if(s in i)return i[s]}return i[""]}else{let r,s=-1;return Object.keys(i).forEach(o=>{const a=Number(o);!Number.isNaN(a)&&e>=a&&a>=s&&(s=a,r=i[o])}),r}}function gh(n){return typeof n=="string"?n.endsWith("px")?Number(n.slice(0,n.length-2)):Number(n):n}function Ui(n){if(n!=null)return typeof n=="number"?`${n}px`:n.endsWith("px")?n:`${n}px`}function H_(n,e){const t=n.trim().split(/\s+/g),i={top:t[0]};switch(t.length){case 1:i.right=t[0],i.bottom=t[0],i.left=t[0];break;case 2:i.right=t[1],i.left=t[1],i.bottom=t[0];break;case 3:i.right=t[1],i.bottom=t[2],i.left=t[1];break;case 4:i.right=t[1],i.bottom=t[2],i.left=t[3];break;default:throw new Error("[seemly/getMargin]:"+n+" is not a valid value.")}return e===void 0?i:i[e]}function K_(n,e){const[t,i]=n.split(" ");return{row:t,col:i||t}}const yh={aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#0FF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000",blanchedalmond:"#FFEBCD",blue:"#00F",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED",cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#0FF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgrey:"#A9A9A9",darkgreen:"#006400",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#F0F",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"
Line truncated
|
||||
${e}
|
||||
</style>`}function I1(n,e,t){const{styles:i,ids:r}=t;r.has(n)||i!==null&&(r.add(n),i.push(j1(n,e)))}const L1=typeof document<"u";function Uo(){if(L1)return;const n=Fr(W1,null);if(n!==null)return{adapter:(e,t)=>I1(e,t,n),context:n}}function Qh(n,e){console.error(`[vueuc/${n}]: ${e}`)}const{c:Xt}=o1(),Ho="vueuc-style";function $h(n){return n&-n}class Ap{constructor(e,t){this.l=e,this.min=t;const i=new Array(e+1);for(let r=0;r<e+1;++r)i[r]=0;this.ft=i}add(e,t){if(t===0)return;const{l:i,ft:r}=this;for(e+=1;e<=i;)r[e]+=t,e+=$h(e)}get(e){return this.sum(e+1)-this.sum(e)}sum(e){if(e===void 0&&(e=this.l),e<=0)return 0;const{ft:t,min:i,l:r}=this;if(e>r)throw new Error("[FinweckTree.sum]: `i` is larger than length.");let s=e*i;for(;e>0;)s+=t[e],e-=$h(e);return s}getBound(e){let t=0,i=this.l;for(;i>t;){const r=Math.floor((t+i)/2),s=this.sum(r);if(s>e){i=r;continue}else if(s<e){if(t===r)return this.sum(t+1)<=e?t+1:r;t=r}else return r}return t}}function kh(n){return typeof n=="string"?document.querySelector(n):n()||null}const q1=qt({name:"LazyTeleport",props:{to:{type:[String,Object],default:void 0},disabled:Boolean,show:{type:Boolean,required:!0}},setup(n){return{showTeleport:P1(Bn(n,"show")),mergedTo:it(()=>{const{to:e}=n;return e??"body"})}},render(){return this.showTeleport?this.disabled?Al("lazy-teleport",this.$slots):Me(Yb,{disabled:this.disabled,to:this.mergedTo},Al("lazy-teleport",this.$slots)):null}}),hs={top:"bottom",bottom:"top",left:"right",right:"left"},Ph={start:"end",center:"center",end:"start"},$a={top:"height",bottom:"height",left:"width",right:"width"},B1={"bottom-start":"top left",bottom:"top center","bottom-end":"top right","top-start":"bottom left",top:"bottom center","top-end":"bottom right","right-start":"top left",right:"center left","right-end":"bottom left","left-start":"top right",left:"center right","left-end":"bottom right"},V1={"bottom-start":"bottom left",bottom:"bottom center","bottom-end":"bottom right","top-start":"top left",top:"top center","top-end":"top right","right-start":"top right",right:"center right","right-end":"bottom right","left-start":"top left",left:"center left","left-end":"bottom left"},N1={"bottom-start":"right","bottom-end":"left","top-start":"right","top-end":"left","right-start":"bottom","right-end":"top","left-start":"bottom","left-end":"top"},Th={top:!0,bottom:!1,left:!0,right:!1},Ch={top:"end",bottom:"start",left:"end",right:"start"};function F1(n,e,t,i,r,s){if(!r||s)return{placement:n,top:0,left:0};const[o,a]=n.split("-");let l=a??"center",c={top:0,left:0};const u=(d,O,p)=>{let m=0,g=0;const b=t[d]-e[O]-e[d];return b>0&&i&&(p?g=Th[O]?b:-b:m=Th[O]?b:-b),{left:m,top:g}},h=o==="left"||o==="right";if(l!=="center"){const d=N1[n],O=hs[d],p=$a[d];if(t[p]>e[p]){if(e[d]+e[p]<t[p]){const m=(t[p]-e[p])/2;e[d]<m||e[O]<m?e[d]<e[O]?(l=Ph[a],c=u(p,O,h)):c=u(p,d,h):l="center"}}else t[p]<e[p]&&e[O]<0&&e[d]>e[O]&&(l=Ph[a])}else{const d=o==="bottom"||o==="top"?"left":"top",O=hs[d],p=$a[d],m=(t[p]-e[p])/2;(e[d]<m||e[O]<m)&&(e[d]>e[O]?(l=Ch[d],c=u(p,d,h)):(l=Ch[O],c=u(p,O,h)))}let f=o;return e[o]<t[$a[o]]&&e[o]<e[hs[o]]&&(f=hs[o]),{placement:l!=="center"?`${f}-${l}`:f,left:c.left,top:c.top}}function G1(n,e){return e?V1[n]:B1[n]}function U1(n,e,t,i,r,s){if(s)switch(n){case"bottom-start":return{top:`${Math.round(t.top-e.top+t.height)}px`,left:`${Math.round(t.left-e.left)}px`,transform:"translateY(-100%)"};case"bottom-end":return{top:`${Math.round(t.top-e.top+t.height)}px`,left:`${Math.round(t.left-e.left+t.width)}px`,transform:"translateX(-100%) translateY(-100%)"};case"top-start":return{top:`${Math.round(t.top-e.top)}px`,left:`${Math.round(t.left-e.left)}px`,transform:""};case"top-end":return{top:`${Math.round(t.top-e.top)}px`,left:`${Math.round(t.left-e.left+t.width)}px`,transform:"translateX(-100%)"};case"right-start":return{top:`${Math.round(t.top-e.top)}px`,left:`${Math.round(t.left-e.left+t.width)}px`,transform:"translateX(-100%)"};case"right-end":return{top:`${Math.round(t.top-e.top+t.height)}px`,left:`${Math.round(t.left-e.left+t.width)}px`,transform:"translateX(-100%) translateY(-100%)"};case"left-start":return{top:`${Math.round(t.top-e.top)}px`,left:`${Math.round(t.left-e.left)}px`,transform:""};case"left-end":return{top:`${Math.round(t.top-e.top+t.height)}px`,left:`${Math.round(t.left-e.left)}px`,transform:"translateY(-100%)"};case"top":return{top:`${Math.round(t.top-e.top)}px`,left:`${Math.round(t.left-e.left+t.width/2)}px`,transform:"translateX(-50%)"};case"right":return{top:`${Math.round(t.top-e.top+t.height/2)}px`,left:`${Math.round(t.left-e.left+t.width)}px`,transform:"translateX(-100%) translateY(-50%)"};case"left":return{top:`${Math.round(t.top-e.top+t.height/2)}px`,left:`${Math.round(t.left-e.left)}px`,transform:"translateY(-50%)"};case"bottom":default:return{top:`${Math.round(t.top-e.top+t.height)}px`,left:`${Math.round(t.left-e.left+t.width/2)}px`,transform:"translateX(-50%) translateY(-100%)"}}switch(n){case"bottom-start":return{top:`${Math.round(t.top-e.top+t.hLine truncated
|
||||
(?:
|
||||
(?:`+i+":){7}(?:"+i+`|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
||||
(?:`+i+":){6}(?:"+t+"|:"+i+`|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
||||
(?:`+i+":){5}(?::"+t+"|(?::"+i+`){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
|
||||
(?:`+i+":){4}(?:(?::"+i+"){0,1}:"+t+"|(?::"+i+`){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
|
||||
(?:`+i+":){3}(?:(?::"+i+"){0,2}:"+t+"|(?::"+i+`){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
|
||||
(?:`+i+":){2}(?:(?::"+i+"){0,3}:"+t+"|(?::"+i+`){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
||||
(?:`+i+":){1}(?:(?::"+i+"){0,4}:"+t+"|(?::"+i+`){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
||||
(?::(?:(?::`+i+"){0,5}:"+t+"|(?::"+i+`){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
||||
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
||||
`).replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),s=new RegExp("(?:^"+t+"$)|(?:^"+r+"$)"),o=new RegExp("^"+t+"$"),a=new RegExp("^"+r+"$"),l=function(v){return v&&v.exact?s:new RegExp("(?:"+e(v)+t+e(v)+")|(?:"+e(v)+r+e(v)+")","g")};l.v4=function(x){return x&&x.exact?o:new RegExp(""+e(x)+t+e(x),"g")},l.v6=function(x){return x&&x.exact?a:new RegExp(""+e(x)+r+e(x),"g")};var c="(?:(?:[a-z]+:)?//)",u="(?:\\S+(?::\\S*)?@)?",h=l.v4().source,f=l.v6().source,d="(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)",O="(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*",p="(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))",m="(?::\\d{2,5})?",g='(?:[/?#][^\\s"]*)?',b="(?:"+c+"|www\\.)"+u+"(?:localhost|"+h+"|"+f+"|"+d+O+p+")"+m+g;return ys=new RegExp("(?:^"+b+"$)","i"),ys}),Vf={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},hr={integer:function(e){return hr.number(e)&&parseInt(e,10)===e},float:function(e){return hr.number(e)&&!hr.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch{return!1}},date:function(e){return typeof e.getTime=="function"&&typeof e.getMonth=="function"&&typeof e.getYear=="function"&&!isNaN(e.getTime())},number:function(e){return isNaN(e)?!1:typeof e=="number"},object:function(e){return typeof e=="object"&&!hr.array(e)},method:function(e){return typeof e=="function"},email:function(e){return typeof e=="string"&&e.length<=320&&!!e.match(Vf.email)},url:function(e){return typeof e=="string"&&e.length<=2048&&!!e.match(TC())},hex:function(e){return typeof e=="string"&&!!e.match(Vf.hex)}},CC=function(e,t,i,r,s){if(e.required&&t===void 0){Jm(e,t,i,r,s);return}var o=["integer","float","array","regexp","object","method","email","number","date","url","hex"],a=e.type;o.indexOf(a)>-1?hr[a](t)||r.push(st(s.messages.types[a],e.fullField,e.type)):a&&typeof t!==e.type&&r.push(st(s.messages.types[a],e.fullField,e.type))},MC=function(e,t,i,r,s){var o=typeof e.len=="number",a=typeof e.min=="number",l=typeof e.max=="number",c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u=t,h=null,f=typeof t=="number",d=typeof t=="string",O=Array.isArray(t);if(f?h="number":d?h="string":O&&(h="array"),!h)return!1;O&&(u=t.length),d&&(u=t.replace(c,"_").length),o?u!==e.len&&r.push(st(s.messages[h].len,e.fullField,e.len)):a&&!l&&u<e.min?r.push(st(s.messages[h].min,e.fullField,e.min)):l&&!a&&u>e.max?r.push(st(s.messages[h].max,e.fullField,e.max)):a&&l&&(u<e.min||u>e.max)&&r.push(st(s.messages[h].range,e.fullField,e.min,e.max))},ui="enum",AC=function(e,t,i,r,s){e[ui]=Array.isArray(e[ui])?e[ui]:[],e[ui].indexOf(t)===-1&&r.push(st(s.messages[ui],e.fullField,e[ui].join(", ")))},ZC=function(e,t,i,r,s){if(e.pattern){if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||r.push(st(s.messages.pattern.mismatch,e.fullField,t,e.pattern));else if(typeof e.pattern=="string"){var o=new RegExp(e.pattern);o.test(t)||r.push(st(s.messages.pattern.mismatch,e.fullField,t,e.pattern))}}},F={required:Jm,whitespace:PC,type:CC,range:MC,enum:AC,pattern:ZC},RC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if($e(t,"string")&&!e.required)return i();F.required(e,t,r,o,s,"string"),$e(t,"string")||(F.type(e,t,r,o,s),F.range(e,t,r,o,s),F.pattern(e,t,r,o,s),e.whitespace===!0&&F.whitespace(e,t,r,o,s))}i(o)},XC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if($e(t)&&!e.required)return i();F.required(e,t,r,o,s),t!==void 0&&F.type(e,t,r,o,s)}i(o)},EC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(t===""&&(t=void 0),$e(t)&&!e.required)return i();F.required(e,t,r,o,s),t!==void 0&&(F.type(e,t,r,o,s),F.range(e,t,r,o,s))}i(o)},DC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if($e(t)&&!e.required)return i();F.required(e,t,r,o,s),t!==void 0&&F.type(e,t,r,o,s)}i(o)},_C=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if($e(t)&&!e.required)return i();F.required(e,t,r,o,s),$e(t)||F.type(e,t,r,o,s)}i(o)},zC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if($e(t)&&!e.required)return i();F.required(e,t,r,o,s),t!==void 0&&(F.type(e,t,r,o,s),F.range(e,t,r,o,s))}i(o)},YC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if($e(t)&&!e.required)return i();F.required(e,t,r,o,s),t!==void 0&&(F.type(e,t,r,o,s),F.range(e,t,r,o,s))}i(o)},WC=function(e,t,i,r,s){var o=[],a=e.required||!e.required&&r.hasOwnProperty(e.field);if(a){if(t==null&&!e.required)return i();F.required(e,t,r,o,s,"array"),t!=null&&(F.type(e,t,r,o,s),F.range(e,t,r,o,s))}i(o)},jC=function(e,t,i,r,s){var o=[],a=e.required||!e.
Line truncated
|
||||
`){[e,t]=Xi(this,e,t);let r="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let a=this.text[o],l=s+a.length;s>e&&o&&(r+=i),e<l&&t>s&&(r+=a.slice(Math.max(0,e-s),t-s)),s=l+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],r=-1;for(let s of e)i.push(s),r+=s.length+1,i.length==32&&(t.push(new ge(i,r)),i=[],r=-1);return r>-1&&t.push(new ge(i,r)),t}}class At extends U{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,r){for(let s=0;;s++){let o=this.children[s],a=r+o.length,l=i+o.lines-1;if((t?l:a)>=e)return o.lineInner(e,t,i,r);r=a+1,i=l+1}}decompose(e,t,i,r){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let a=this.children[s],l=o+a.length;if(e<=l&&t>=o){let c=r&((o<=e?1:0)|(l>=t?2:0));o>=e&&l<=t&&!c?i.push(a):a.decompose(e-o,t-o,i,c)}o=l+1}}replace(e,t,i){if([e,t]=Xi(this,e,t),i.lines<this.lines)for(let r=0,s=0;r<this.children.length;r++){let o=this.children[r],a=s+o.length;if(e>=s&&t<=a){let l=o.replace(e-s,t-s,i),c=this.lines-o.lines+l.lines;if(l.lines<c>>4&&l.lines>c>>6){let u=this.children.slice();return u[r]=l,new At(u,this.length-(t-e)+i.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=`
|
||||
`){[e,t]=Xi(this,e,t);let r="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let a=this.children[s],l=o+a.length;o>e&&s&&(r+=i),e<l&&t>o&&(r+=a.sliceString(e-o,t-o,i)),o=l+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof At))return 0;let i=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return i;let l=this.children[r],c=e.children[s];if(l!=c)return i+l.scanIdentical(c,t);i+=l.length+1}}static from(e,t=e.reduce((i,r)=>i+r.length+1,-1)){let i=0;for(let d of e)i+=d.lines;if(i<32){let d=[];for(let O of e)O.flatten(d);return new ge(d,t)}let r=Math.max(32,i>>5),s=r<<1,o=r>>1,a=[],l=0,c=-1,u=[];function h(d){let O;if(d.lines>s&&d instanceof At)for(let p of d.children)h(p);else d.lines>o&&(l>o||!l)?(f(),a.push(d)):d instanceof ge&&l&&(O=u[u.length-1])instanceof ge&&d.lines+O.lines<=32?(l+=d.lines,c+=d.length+1,u[u.length-1]=new ge(O.text.concat(d.text),O.length+1+d.length)):(l+d.lines>r&&f(),l+=d.lines,c+=d.length+1,u.push(d))}function f(){l!=0&&(a.push(u.length==1?u[0]:At.from(u,c)),c=-1,l=u.length=0)}for(let d of e)h(d);return f(),a.length==1?a[0]:new At(a,t)}}U.empty=new ge([""],0);function HC(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Bs(n,e,t=0,i=1e9){for(let r=0,s=0,o=!0;s<n.length&&r<=i;s++){let a=n[s],l=r+a.length;l>=t&&(l>i&&(a=a.slice(0,i-r)),r<t&&(a=a.slice(t-r)),o?(e[e.length-1]+=a,o=!1):e.push(a)),r=l+1}return e}function Uf(n,e,t){return Bs(n,[""],e,t)}class xr{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof ge?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],s=this.offsets[i],o=s>>1,a=r instanceof ge?r.text.length:r.children.length;if(o==(t>0?a:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
|
||||
`,this;e--}else if(r instanceof ge){let l=r.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,l.length>Math.max(0,e))return this.value=e==0?l:t>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[o+(t<0?-1:0)];e>l.length?(e-=l.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(l),this.offsets.push(t>0?1:(l instanceof ge?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class rg{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new xr(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=i?r:t<0?r.slice(r.length-i):r.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class sg{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(U.prototype[Symbol.iterator]=function(){return this.iter()},xr.prototype[Symbol.iterator]=rg.prototype[Symbol.iterator]=sg.prototype[Symbol.iterator]=function(){return this});class KC{constructor(e,t,i,r){this.from=e,this.to=t,this.number=i,this.text=r}get length(){return this.to-this.from}}function Xi(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function Te(n,e,t=!0,i=!0){return GC(n,e,t,i)}function JC(n){return n>=56320&&n<57344}function e2(n){return n>=55296&&n<56320}function Ne(n,e){let t=n.charCodeAt(e);if(!e2(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return JC(i)?(t-55296<<10)+(i-56320)+65536:t}function bu(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Zt(n){return n<65536?1:2}const Kl=/\r\n?|\n/;var Ze=(function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n})(Ze||(Ze={}));class Wt{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,r=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(i,r,s),r+=s):r+=o,i+=s}}iterChangedRanges(e,t=!1){Jl(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];r<0?e.push(i,r):e.push(r,i)}return new Wt(e)}composeDesc(e){return this.empty?e:e.empty?this:og(this,e)}mapDesc(e,t=!1){return e.empty?this:ec(this,e,t)}mapPos(e,t=-1,i=Ze.Simple){let r=0,s=0;for(let o=0;o<this.sections.length;){let a=this.sections[o++],l=this.sections[o++],c=r+a;if(l<0){if(c>e)return s+(e-r);s+=a}else{if(i!=Ze.Simple&&c>=e&&(i==Ze.TrackDel&&r<e&&c>e||i==Ze.TrackBefore&&r<e||i==Ze.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!a)return e==r||t<0?s:s+l;s+=l}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let i=0,r=0;i<this.sections.length&&r<=t;){let s=this.sections[i++],o=this.sections[i++],a=r+s;if(o>=0&&r<=t&&a>=e)return r<e&&a>t?"cover":!0;r=a}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];e+=(e?" ":"")+i+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Wt(e)}static create(e){return new Wt(e)}}class Se extends Wt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Jl(this,(t,i,r,s,o)=>e=e.replace(r,r+(i-t),o),!1),e}mapDesc(e,t=!1){return ec(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let r=0,s=0;r<t.length;r+=2){let o=t[r],a=t[r+1];if(a>=0){t[r]=a,t[r+1]=o;let l=r>>1;for(;i.length<l;)i.push(U.empty);i.push(o?e.slice(s,s+o):U.empty)}s+=o}return new Se(t,i)}compose(e){return this.empty?e:e.empty?this:og(this,e,!0)}map(e,t=!1){return e.empty?this:ec(this,e,t,!0)}iterChanges(e,t=!1){Jl(this,e,t)}get desc(){return Wt.cr
Line truncated
|
||||
`}get readOnly(){return this.facet(Og)}phrase(e,...t){for(let i of this.facet(K.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?i:t[s-1]})),e}languageDataAt(e,t,i=-1){let r=[];for(let s of this.facet(cg))for(let o of s(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return h2(t.length?t[0]:"")}wordAt(e){let{text:t,from:i,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-i,a=e-i;for(;o>0;){let l=Te(t,o,!1);if(s(t.slice(l,o))!=ue.Word)break;o=l}for(;a<r;){let l=Te(t,a);if(s(t.slice(a,l))!=ue.Word)break;a=l}return o==a?null:k.range(o+i,a+i)}}K.allowMultipleSelections=ic;K.tabSize=X.define({combine:n=>n.length?n[0]:4});K.lineSeparator=ug;K.readOnly=Og;K.phrases=X.define({compare(n,e){let t=Object.keys(n),i=Object.keys(e);return t.length==i.length&&t.every(r=>n[r]==e[r])}});K.languageData=cg;K.changeFilter=hg;K.transactionFilter=fg;K.transactionExtender=dg;ia.reconfigure=I.define();function Nt(n,e,t={}){let i={};for(let r of n)for(let s of Object.keys(r)){let o=r[s],a=i[s];if(a===void 0)i[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))i[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)i[r]===void 0&&(i[r]=e[r]);return i}class Sn{eq(e){return this==e}range(e,t=e){return oc.create(e,t,this)}}Sn.prototype.startSide=Sn.prototype.endSide=0;Sn.prototype.point=!1;Sn.prototype.mapMode=Ze.TrackDel;function vu(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}let oc=class gg{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new gg(e,t,i)}};function ac(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class Su{constructor(e,t,i,r){this.from=e,this.to=t,this.value=i,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,r=0){let s=i?this.to:this.from;for(let o=r,a=s.length;;){if(o==a)return o;let l=o+a>>1,c=s[l]-e||(i?this.value[l].endSide:this.value[l].startSide)-t;if(l==o)return c>=0?o:a;c>=0?a=l:o=l+1}}between(e,t,i,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,s);s<o;s++)if(r(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let i=[],r=[],s=[],o=-1,a=-1;for(let l=0;l<this.value.length;l++){let c=this.value[l],u=this.from[l]+e,h=this.to[l]+e,f,d;if(u==h){let O=t.mapPos(u,c.startSide,c.mapMode);if(O==null||(f=d=O,c.startSide!=c.endSide&&(d=t.mapPos(u,c.endSide),d<f)))continue}else if(f=t.mapPos(u,c.startSide),d=t.mapPos(h,c.endSide),f>d||f==d&&c.startSide>0&&c.endSide<=0)continue;(d-f||c.endSide-c.startSide)<0||(o<0&&(o=f),c.point&&(a=Math.max(a,d-f)),i.push(c),r.push(f-o),s.push(d-o))}return{mapped:i.length?new Su(r,s,i,a):null,pos:o}}}class N{constructor(e,t,i,r){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=r}static create(e,t,i,r){return new N(e,t,i,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(ac)),this.isEmpty)return t.length?N.of(t):this;let a=new yg(this,null,-1).goto(0),l=0,c=[],u=new rn;for(;a.value||l<t.length;)if(l<t.length&&(a.from-t[l].from||a.startSide-t[l].value.startSide)>=0){let h=t[l++];u.addInner(h.from,h.to,h.value)||c.push(h)}else a.rangeIndex==1&&a.chunkIndex<this.chunk.length&&(l==t.length||this.chunkEnd(a.chunkIndex)<t[l].from)&&(!o||r>this.chunkEnd(a.chunkIndex)||s<this.chunkPos[a.chunkIndex])&&u.addChunk(this.chunkPos[a.chunkIndex],this.chunk[a.chunkIndex])?a.nextChunk():((!o||r>a.to||s<a.from||o(a.from,a.to,a.value))&&(u.addInner(a.from,a.to,a.value)||c.push(oc.create(a.from,a.to,a.value))),a.next());return u.finishInner(this.nextLayer.isEmpty&&!c.length?N.empty:this.nextLayer.update({add:c,filter:o,filterFrom:r,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],r=-1;for(let o=0;o<this.chunk.length;o++){let a=this.chunkPos[o],l=this.chunk[o],c=e.touchesRange(a,a+l.length);if(c===!1)r=Math.max(r,l.maxPoint),t.push(l),i.push(e.mapPos(a));else if(c===!0){let{mapped:u,pos:h}=l.map(a,e);u&&(r=Math.max(r,u.maxPoint),t.push(u),i.push(h))}}let s=this.nextLayer.map(e);return t.length==0?s:new N(i,t,s||N.empty,r)}between(e,t,i){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],o=this.chunk[r];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return Zr.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Zr.from(e).goto(t)}static compare(e,t,i,r,s=-1){let o=e.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),a=t
Line truncated
|
||||
`)}static newName(){let e=nd[td]||1;return nd[td]=e+1,uc+e.toString(36)}static mount(e,t,i){let r=e[hc],s=i&&i.nonce;r?s&&r.setNonce(s):r=new d2(e,s),r.mount(Array.isArray(t)?t:[t],e)}}let id=new Map;class d2{constructor(e,t){let i=e.ownerDocument||e,r=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=id.get(i);if(s)return e[hc]=s;this.sheet=new r.CSSStyleSheet,id.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[hc]=this}mount(e,t){let i=this.sheet,r=0,s=0;for(let o=0;o<e.length;o++){let a=e[o],l=this.modules.indexOf(a);if(l<s&&l>-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,a),i)for(let c=0;c<a.rules.length;c++)i.insertRule(a.rules[c],r++)}else{for(;s<l;)r+=this.modules[s++].rules.length;r+=a.rules.length,s++}}if(i)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let l=0;l<this.modules.length;l++)o+=this.modules[l].getRules()+`
|
||||
`;this.styleTag.textContent=o;let a=t.head||t;this.styleTag.parentNode!=a&&a.insertBefore(this.styleTag,a.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var $n={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Rr={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},O2=typeof navigator<"u"&&/Mac/.test(navigator.platform),p2=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Ae=0;Ae<10;Ae++)$n[48+Ae]=$n[96+Ae]=String(Ae);for(var Ae=1;Ae<=24;Ae++)$n[Ae+111]="F"+Ae;for(var Ae=65;Ae<=90;Ae++)$n[Ae]=String.fromCharCode(Ae+32),Rr[Ae]=String.fromCharCode(Ae);for(var Va in $n)Rr.hasOwnProperty(Va)||(Rr[Va]=$n[Va]);function m2(n){var e=O2&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||p2&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Rr:$n)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function ne(){var n=arguments[0];typeof n=="string"&&(n=document.createElement(n));var e=1,t=arguments[1];if(t&&typeof t=="object"&&t.nodeType==null&&!Array.isArray(t)){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var r=t[i];typeof r=="string"?n.setAttribute(i,r):r!=null&&(n[i]=r)}e++}for(;e<arguments.length;e++)bg(n,arguments[e]);return n}function bg(n,e){if(typeof e=="string")n.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)n.appendChild(e);else if(Array.isArray(e))for(var t=0;t<e.length;t++)bg(n,e[t]);else throw new RangeError("Unsupported child node: "+e)}let je=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},fc=typeof document<"u"?document:{documentElement:{style:{}}};const dc=/Edge\/(\d+)/.exec(je.userAgent),xg=/MSIE \d/.test(je.userAgent),Oc=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(je.userAgent),ra=!!(xg||Oc||dc),rd=!ra&&/gecko\/(\d+)/i.test(je.userAgent),Na=!ra&&/Chrome\/(\d+)/.exec(je.userAgent),sd="webkitFontSmoothing"in fc.documentElement.style,pc=!ra&&/Apple Computer/.test(je.vendor),od=pc&&(/Mobile\/\w+/.test(je.userAgent)||je.maxTouchPoints>2);var D={mac:od||/Mac/.test(je.platform),windows:/Win/.test(je.platform),linux:/Linux|X11/.test(je.platform),ie:ra,ie_version:xg?fc.documentMode||6:Oc?+Oc[1]:dc?+dc[1]:0,gecko:rd,gecko_version:rd?+(/Firefox\/(\d+)/.exec(je.userAgent)||[0,0])[1]:0,chrome:!!Na,chrome_version:Na?+Na[1]:0,ios:od,android:/Android\b/.test(je.userAgent),webkit:sd,webkit_version:sd?+(/\bAppleWebKit\/(\d+)/.exec(je.userAgent)||[0,0])[1]:0,safari:pc,safari_version:pc?+(/\bVersion\/(\d+(\.\d+)?)/.exec(je.userAgent)||[0,0])[1]:0,tabSize:fc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Qu(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}const yo=Object.create(null);function $u(n,e,t){if(n==e)return!0;n||(n=yo),e||(e=yo);let i=Object.keys(n),r=Object.keys(e);if(i.length-0!=r.length-0)return!1;for(let s of i)if(s!=t&&(r.indexOf(s)==-1||n[s]!==e[s]))return!1;return!0}function g2(n,e){for(let t=n.attributes.length-1;t>=0;t--){let i=n.attributes[t].name;e[i]==null&&n.removeAttribute(i)}for(let t in e){let i=e[t];t=="style"?n.style.cssText=i:n.getAttribute(t)!=i&&n.setAttribute(t,i)}}function ad(n,e,t){let i=!1;if(e)for(let r in e)t&&r in t||(i=!0,r=="style"?n.style.cssText="":n.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(i=!0,r=="style"?n.style.cssText=t[r]:n.setAttribute(r,t[r]));return i}function y2(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let i=n.attributes[t];e[i.name]=i.value}return e}class Ft{eq(e){return!1}updateDOM(e,t,i){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var Xe=(function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n})(Xe||(Xe={}));class j extends Sn{constructor(e,t,i,r){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=r}get heightRelevant(){return!1}static mark(e){return
Line truncated
|
||||
`,r=n.state.doc.line(r.number+(t?1:-1)),s=n.bidiSpans(r),c=n.visualLineSide(r,!t)}if(l){if(!l(u))return a}else{if(!i)return c;l=i(u)}a=c}}function sM(n,e,t){let i=n.state.charCategorizer(e),r=i(t);return s=>{let o=i(s);return r==ue.Space&&(r=o),r==o}}function oM(n,e,t,i){let r=e.head,s=t?1:-1;if(r==(t?n.state.doc.length:0))return k.cursor(r,e.assoc);let o=e.goalColumn,a,l=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),u=n.documentTop;if(c)o==null&&(o=c.left-l.left),a=s<0?c.top:c.bottom;else{let O=n.viewState.lineBlockAt(r);o==null&&(o=Math.min(l.right-l.left,n.defaultCharacterWidth*(r-O.from))),a=(s<0?O.top:O.bottom)+u}let h=l.left+o,f=n.viewState.heightOracle.textHeight>>1,d=i??f;for(let O=0;;O+=f){let p=a+(d+O)*s,m=Sc(n,{x:h,y:p},!1,s);if(t?p>l.bottom:p<l.top)return k.cursor(m.pos,m.assoc);let g=n.coordsAtPos(m.pos,m.assoc),b=g?(g.top+g.bottom)/2:0;if(!g||(t?b>a:b<a))return k.cursor(m.pos,m.assoc,void 0,o)}}function Qr(n,e,t){for(;;){let i=0;for(let r of n)r.between(e-1,e+1,(s,o,a)=>{if(e>s&&e<o){let l=i||t||(e-s<o-e?-1:1);e=l<0?s:o,i=l}});if(!i)return e}}function Gg(n,e){let t=null;for(let i=0;i<e.ranges.length;i++){let r=e.ranges[i],s=null;if(r.empty){let o=Qr(n,r.from,0);o!=r.from&&(s=k.cursor(o,-1))}else{let o=Qr(n,r.from,-1),a=Qr(n,r.to,1);(o!=r.from||a!=r.to)&&(s=k.range(r.from==r.anchor?o:a,r.from==r.head?o:a))}s&&(t||(t=e.ranges.slice()),t[i]=s)}return t?k.create(t,e.mainIndex):e}function Ka(n,e,t){let i=Qr(n.state.facet(es).map(r=>r(n)),t.from,e.head>t.from?-1:1);return i==t.from?t:k.cursor(i,i<t.from?1:-1)}class Rt{constructor(e,t){this.pos=e,this.assoc=t}}function Sc(n,e,t,i){let r=n.contentDOM.getBoundingClientRect(),s=r.top+n.viewState.paddingTop,{x:o,y:a}=e,l=a-s,c;for(;;){if(l<0)return new Rt(0,1);if(l>n.viewState.docHeight)return new Rt(n.state.doc.length,-1);if(c=n.elementAtHeight(l),i==null)break;if(c.type==Xe.Text){if(i<0?c.to<n.viewport.from:c.from>n.viewport.to)break;let f=n.docView.coordsAt(i<0?c.from:c.to,i>0?-1:1);if(f&&(i<0?f.top<=l+s:f.bottom>=l+s))break}let h=n.viewState.heightOracle.textHeight/2;l=i>0?c.bottom+h:c.top-h}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==Xe.Text){let h=iM(n,r,c,o,a);return new Rt(h,h==c.from?1:-1)}}if(c.type!=Xe.Text)return l<(c.top+c.bottom)/2?new Rt(c.from,1):new Rt(c.to,-1);let u=n.docView.lineAt(c.from,2);return(!u||u.length!=c.length)&&(u=n.docView.lineAt(c.from,-2)),new aM(n,o,a,n.textDirectionAt(c.from)).scanTile(u,c.from)}class aM{constructor(e,t,i,r){this.view=e,this.x=t,this.y=i,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:i,spans:r}=this.bidiSpansAt(e);return r[Et.find(r,e-i.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:i,spans:r}=this.bidiSpansAt(e);return r[Et.find(r,e-i.from,-1,t)].dir}bidiIn(e,t){let{spans:i,line:r}=this.bidiSpansAt(e);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+r.from<t)}scan(e,t,i=!1){let r=0,s=e.length-1,o=new Set,a=this.bidiIn(e[0],e[s]),l,c,u=-1,h=1e9,f;e:for(;r<s;){let O=s-r,p=r+s>>1;t:if(o.has(p)){let g=r+Math.floor(Math.random()*O);for(let b=0;b<O;b++){if(!o.has(g)){p=g;break t}g++,g==s&&(g=r)}break e}o.add(p);let m=t(p);if(m)for(let g=0;g<m.length;g++){let b=m[g],x=0;if(!(b.width==0&&m.length>1)){if(b.bottom<this.y)(!l||l.bottom<b.bottom)&&(l=b),x=1;else if(b.top>this.y)(!c||c.top>b.top)&&(c=b),x=-1;else{let v=b.left>this.x?this.x-b.left:b.right<this.x?this.x-b.right:0,S=Math.abs(v);S<h&&(u=p,h=S,f=b),v&&(x=v<0==(this.baseDir==re.LTR)?-1:1)}x==-1&&(!a||this.baseDirAt(e[p],1))?s=p:x==1&&(!a||this.baseDirAt(e[p+1],-1))&&(r=p+1)}}}if(!f){if(!c&&!l)return{i:e[0],after:!1};let O=l&&(!c||this.y-l.bottom<c.top-this.y)?l:c;return this.y=(O.top+O.bottom)/2,this.scan(e,t,!0)}if(h&&!i){let{top:O,bottom:p}=f;if(l&&l.bottom>(O+O+p)/3)return this.y=l.bottom-1,this.scan(e,t,!0);if(c&&c.top<(O+p+p)/3)return this.y=c.top+1,this.scan(e,t,!0)}let d=(a?this.dirAt(e[u],1):this.baseDir)==re.LTR;return{i:u,after:this.x>(f.left+f.right)/2==d}}scanText(e,t){let i=[];for(let s=0;s<e.length;s=Te(e.text,s))i.push(t+s);i.push(t+e.length);let r=this.scan(i,s=>{let o=i[s]-t,a=i[s+1]-t;return Dr(e.dom,o,a).getClientRects()});return r.after?new Rt(i[r.i+1],-1):new Rt(i[r.i],1)}scanTile(e,t){if(!e.length)return new Rt(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let i=[t];for(let a=0,l=t;a<e.children.length;a++)i.push(l+=e.children[a].length);let r=this.scan(i,a=>{let l=e.children[a];return l.flags&48?null:(l.dom.nodeType==1?l.dom:Dr(l.dom,0,l.length)).getClientRects()}),s=e.children[r.i],o=i[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new Rt(i[r.i+1],-1):new Rt(o,1)}}const di="";class lM{constructor(e,t){this.points=e,this.
Line truncated
|
||||
`&&n.lineWrapping&&(i&&(i=k.single(i.main.anchor-1,i.main.head-1)),t={from:s.from,to:s.to,insert:U.of([" "])}),t)return Zu(n,t,i,o);if(i&&!Qo(i,s)){let a=!1,l="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(a=!0),l=n.inputState.lastSelectionOrigin,l=="select.pointer"&&(i=Gg(r.facet(es).map(c=>c(n)),i))),n.dispatch({selection:i,scrollIntoView:a,userEvent:l}),!0}else return!1}function Zu(n,e,t,i=-1){if(D.ios&&n.inputState.flushIOSKey(e))return!0;let r=n.state.selection.main;if(D.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&n.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Qi(n.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||i==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&Qi(n.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&Qi(n.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,a=()=>o||(o=fM(n,e,t));return n.state.facet(_g).some(l=>l(n,e.from,e.to,s,a))||n.dispatch(a()),!0}function fM(n,e,t){let i,r=n.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let l=e.from<s.from?-1:1,c=l<0?s.from:s.to,u=Qr(r.facet(es).map(h=>h(n)),c,l);e.from==u&&(o=u)}if(o>-1)i={changes:e,selection:k.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let l=s.from<e.from?r.sliceDoc(s.from,e.from):"",c=s.to>e.to?r.sliceDoc(e.to,s.to):"";i=r.replaceSelection(n.state.toText(l+e.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let l=r.changes(e),c=t&&t.main.to<=l.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let u=n.state.sliceDoc(e.from,e.to),h,f=t&&Fg(n,t.main.head);if(f){let O=e.insert.length-(e.to-e.from);h={from:f.from,to:f.to-O}}else h=n.state.doc.lineAt(s.head);let d=s.to-e.to;i=r.changeByRange(O=>{if(O.from==s.from&&O.to==s.to)return{changes:l,range:c||O.map(l)};let p=O.to-d,m=p-u.length;if(n.state.sliceDoc(m,p)!=u||p>=h.from&&m<=h.to)return{range:O};let g=r.changes({from:m,to:p,insert:e.insert}),b=O.to-s.to;return{changes:g,range:c?k.range(Math.max(0,c.anchor+b),Math.max(0,c.head+b)):O.map(g)}})}else i={changes:l,selection:c&&r.selection.replaceRange(c)}}let a="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,a+=".compose",n.inputState.compositionFirstChange&&(a+=".start",n.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:a,scrollIntoView:!0})}function Kg(n,e,t,i){let r=Math.min(n.length,e.length),s=0;for(;s<r&&n.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==r&&n.length==e.length)return null;let o=n.length,a=e.length;for(;o>0&&a>0&&n.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(i=="end"){let l=Math.max(0,s-Math.min(o,a));t-=o+l-s}if(o<s&&n.length<e.length){let l=t<=s&&t>=o?s-t:0;s-=l,a=s+(a-o),o=s}else if(a<s){let l=t<=s&&t>=a?s-t:0;s-=l,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function dM(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:s}=n.observer.selectionRange;return t&&(e.push(new pd(t,i)),(r!=t||s!=i)&&e.push(new pd(r,s))),e}function OM(n,e){if(n.length==0)return null;let t=n[0].pos,i=n.length==2?n[1].pos:t;return t>-1&&i>-1?k.single(t+e,i+e):null}function Qo(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}class pM{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,D.safari&&e.contentDOM.addEventListener("input",()=>null),D.gecko&&MM(e.contentDOM.ownerDocument)}handleEvent(e){!SM(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let r of i.observers)r(this.view,t);for(let r of i.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=mM(e),i=this.handlers,r=this.view.contentDOM;
Line truncated
|
||||
`))};if((D.mac||D.android)&&h.from==o-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:a,to:l,insert:U.of([i.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let f=this.to-this.from+(h.to-h.from+h.insert.length);Zu(e,h,k.single(this.toEditorPos(i.selectionStart,f),this.toEditorPos(i.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from<h.to&&!h.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],s=null;for(let o=this.toEditorPos(i.rangeStart),a=this.toEditorPos(i.rangeEnd);o<a;o++){let l=e.coordsForChar(o);s=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||s||new DOMRect,r.push(s)}t.updateCharacterBounds(i.rangeStart,r)},this.handlers.textformatupdate=i=>{let r=[];for(let s of i.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let l=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(l<c){let u=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;r.push(j.mark({attributes:{style:u}}).range(l,c))}}}e.dispatch({effects:Ig.of(j.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let r=Er(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,a,l,c)=>{if(i)return;let u=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=u,this.to+=u;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=u,this.to+=u;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=u}t+=u}),r&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class E{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureReque
Line truncated
|
||||
--\u2028\u2029\uFEFF-]`,Cc),OA={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let tl=null;function pA(){var n;if(tl==null&&typeof document<"u"&&document.body){let e=document.body.style;tl=((n=e.tabSize)!==null&&n!==void 0?n:e.MozTabSize)!=null}return tl||!1}const Us=X.define({combine(n){let e=Nt(n,{render:null,specialChars:dA,addSpecialChars:null});return(e.replaceTabs=!pA())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Cc)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Cc)),e}});function mA(n={}){return[Us.of(n),gA()]}let _d=null;function gA(){return _d||(_d=xe.fromClass(class{constructor(n){this.view=n,this.decorations=j.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(n.state.facet(Us)),this.decorations=this.decorator.createDeco(n)}makeDecorator(n){return new fA({regexp:n.specialChars,decoration:(e,t,i)=>{let{doc:r}=t.state,s=Ne(e[0],0);if(s==9){let o=r.lineAt(i),a=t.state.tabSize,l=Vi(o.text,a,i-o.from);return j.replace({widget:new wA((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=j.replace({widget:new xA(n,s)}))},boundary:n.replaceTabs?void 0:/[^]/})}update(n){let e=n.state.facet(Us);n.startState.facet(Us)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(n.view)):this.decorations=this.decorator.updateDeco(n,this.decorations)}},{decorations:n=>n.decorations}))}const yA="•";function bA(n){return n>=32?yA:n==10?"":String.fromCharCode(9216+n)}class xA extends Ft{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=bA(this.code),i=e.state.phrase("Control character")+" "+(OA[this.code]||"0x"+this.code.toString(16)),r=this.options.render&&this.options.render(this.code,i,t);if(r)return r;let s=document.createElement("span");return s.textContent=t,s.title=i,s.setAttribute("aria-label",i),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class wA extends Ft{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function vA(){return QA}const SA=j.line({class:"cm-activeLine"}),QA=xe.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let i of n.state.selection.ranges){let r=n.lineBlockAt(i.head);r.from>e&&(t.push(SA.range(r.from)),e=r.from)}return j.set(t)}},{decorations:n=>n.decorations}),Mc=2e3;function $A(n,e,t){let i=Math.min(e.line,t.line),r=Math.max(e.line,t.line),s=[];if(e.off>Mc||t.off>Mc||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let l=i;l<=r;l++){let c=n.doc.line(l);c.length<=a&&s.push(k.range(c.from+o,c.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let l=i;l<=r;l++){let c=n.doc.line(l),u=cc(c.text,o,n.tabSize,!0);if(u<0)s.push(k.cursor(c.to));else{let h=cc(c.text,a,n.tabSize);s.push(k.range(c.from+u,c.from+h))}}}return s}function kA(n,e){let t=n.coordsAtPos(n.viewport.from);return t?Math.round(Math.abs((t.left-e)/n.defaultCharacterWidth)):-1}function zd(n,e){let t=n.posAtCoords({x:e.clientX,y:e.clientY},!1),i=n.state.doc.lineAt(t),r=t-i.from,s=r>Mc?-1:r==i.length?kA(n,e.clientX):Vi(i.text,n.state.tabSize,t-i.from);return{line:i.number,col:s,off:r}}function PA(n,e){let t=zd(n,e),i=n.state.selection;return t?{update(r){if(r.docChanged){let s=r.changes.mapPos(r.startState.doc.line(t.line).from),o=r.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},i=i.map(r.changes)}},get(r,s,o){let a=zd(n,r);if(!a)return i;let l=$A(n.state,t,a);return l.length?o?k.create(l.concat(i.ranges)):k.create(l):i}}:null}function TA(n){let e=(t=>t.altKey&&t.button==0);return E.mouseSelectionStyle.of((t,i)=>e(i)?PA(t,i):null)}const CA={Alt:[18,n=>!!n.altKey],Control:[17,n=>!!n.ctrlKey],Shift:[16,n=>!!n.shiftKey],Meta:[91,n=>!!n.metaKey]},MA={style:"cursor: crosshair"};function AA(n={}){let[e,t]=CA[n.key||"Alt"],i=xe.fromClass(class{constructor(r){this.view=r,this.isDown=!1}set(r){this.isDown!=r&&(this.isDown=r,this.view.update([]))}},{eventObservers:{keydown(r){this.set(r.keyCode==e||t(r))},keyup(r){(r.keyCode==e||!t(r))&&this.set(!1)},mousemove(r){this.set(t(r))}}});return[i,E.contentAttributes.of(r=>{var s;return!((s=r.plugin(i))===null||s===void 0)&&s.is
Line truncated
|
||||
`:i=="r"?"\r":i=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new BX(this):new IX(this)}getCursor(e,t=0,i){let r=e.doc?e:K.create({doc:e});return i==null&&(i=r.doc.length),this.regexp?pi(this,r,t,i):Oi(this,r,t,i)}}class Zy{constructor(e){this.spec=e}}function WX(n,e,t){return(i,r,s,o)=>{if(t&&!t(i,r,s,o))return!1;let a=i>=o&&r<=o+s.length?s.slice(i-o,r-o):e.doc.sliceString(i,r);return n(a,e,i,r)}}function Oi(n,e,t,i){let r;return n.wholeWord&&(r=jX(e.doc,e.charCategorizer(e.selection.main.head))),n.test&&(r=WX(n.test,e,r)),new ji(e.doc,n.unquoted,t,i,n.caseSensitive?void 0:s=>s.toLowerCase(),r)}function jX(n,e){return(t,i,r,s)=>((s>t||s+r.length<i)&&(s=Math.max(0,t-2),r=n.sliceString(s,Math.min(n.length,i+2))),(e(Do(r,t-s))!=ue.Word||e(_o(r,t-s))!=ue.Word)&&(e(_o(r,i-s))!=ue.Word||e(Do(r,i-s))!=ue.Word))}class IX extends Zy{constructor(e){super(e)}nextMatch(e,t,i){let r=Oi(this.spec,e,i,e.doc.length).nextOverlapping();if(r.done){let s=Math.min(e.doc.length,t+this.spec.unquoted.length);r=Oi(this.spec,e,0,s).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==i?null:r.value}prevMatchInRange(e,t,i){for(let r=i;;){let s=Math.max(t,r-1e4-this.spec.unquoted.length),o=Oi(this.spec,e,s,r),a=null;for(;!o.nextOverlapping().done;)a=o.value;if(a)return a;if(s==t)return null;r-=1e4}}prevMatch(e,t,i){let r=this.prevMatchInRange(e,0,t);return r||(r=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=t||r.to!=i)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=Oi(this.spec,e,0,e.doc.length),r=[];for(;!i.next().done;){if(r.length>=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let s=Oi(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}function LX(n,e,t){return(i,r,s)=>(!t||t(i,r,s))&&n(s[0],e,i,r)}function pi(n,e,t,i){let r;return n.wholeWord&&(r=qX(e.charCategorizer(e.selection.main.head))),n.test&&(r=LX(n.test,e,r)),new Cy(e.doc,n.search,{ignoreCase:!n.caseSensitive,test:r},t,i)}function Do(n,e){return n.slice(Te(n,e,!1),e)}function _o(n,e){return n.slice(e,Te(n,e))}function qX(n){return(e,t,i)=>!i[0].length||(n(Do(i.input,i.index))!=ue.Word||n(_o(i.input,i.index))!=ue.Word)&&(n(_o(i.input,i.index+i[0].length))!=ue.Word||n(Do(i.input,i.index+i[0].length))!=ue.Word)}class BX extends Zy{nextMatch(e,t,i){let r=pi(this.spec,e,i,e.doc.length).next();return r.done&&(r=pi(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,i){for(let r=1;;r++){let s=Math.max(t,i-r*1e4),o=pi(this.spec,e,s,i),a=null;for(;!o.next().done;)a=o.value;if(a&&(s==t||a.from>s+10))return a;if(s==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if(i=="&")return e.match[0];if(i=="$")return"$";for(let r=i.length;r>0;r--){let s=+i.slice(0,r);if(s>0&&s<e.match.length)return e.match[s]+i.slice(r)}return t})}matchAll(e,t){let i=pi(this.spec,e,0,e.doc.length),r=[];for(;!i.next().done;){if(r.length>=t)return null;r.push(i.value)}return r}highlight(e,t,i,r){let s=pi(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!s.next().done;)r(s.value.from,s.value.to)}}const jr=I.define(),Uu=I.define(),yn=Ee.define({create(n){return new Ol(Ic(n).create(),null)},update(n,e){for(let t of e.effects)t.is(jr)?n=new Ol(t.value.create(),n.panel):t.is(Uu)&&(n=new Ol(n.query,t.value?Hu:null));return n},provide:n=>_r.from(n,e=>e.panel)});class Ol{constructor(e,t){this.query=e,this.panel=t}}const VX=j.mark({class:"cm-searchMatch"}),NX=j.mark({class:"cm-searchMatch cm-searchMatch-selected"}),FX=xe.fromClass(class{constructor(n){this.view=n,this.decorations=this.highlight(n.state.field(yn))}update(n){let e=n.state.field(yn);(e!=n.startState.field(yn)||n.docChanged||n.selectionSet||n.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:n,panel:e}){if(!e||!n.spec.valid)return j.none;let{view:t}=this,i=new rn;for(let r=0,s=t.visibleRanges,o=s.length;r<o;r++){let{from:a,to:l}=s[r];for(;r<o-1&&l>s[r+1].from-500;)l=s[++r].to;n.highlight(t.state,a,l,(c,u)=>{let h=t.state.selection.ranges.some(f=>f.from==c&&f.to==u);i.add(c,u,h?NX:VX)})}return i.finish()}},{decorations:n=>n.decorations});function rs(n){return e=>{let t=e.state.field(yn,!1);return t&&t.query.spec.valid?n(e,t):Ey(e)}}const zo=rs((n,{query:e})=>{let{to:t}=n.state.selection.main,i=e.nextMatch(n.state,t,t);if(!i)return!1;let r=k.single(i.from,i.to),s=n.state.facet(Fi);return n.dispatch({selection:r,effects:[Ku(n,i),s.scrollToMatch(r.main,n)],userEvent:"select.search"}),Xy(n),!0}),Yo=rs((n,{query:e})=>{let{state:t}=n,{from:i}=t.selection.main,r=e.prevMatch(t,i,i);if(!r)return
Line truncated
|
||||
\${}
|
||||
} catch (\${error}) {
|
||||
\${}
|
||||
}`,{label:"try",detail:"/ catch block",type:"keyword"}),Ve("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),Ve(`if (\${}) {
|
||||
\${}
|
||||
} else {
|
||||
\${}
|
||||
}`,{label:"if",detail:"/ else block",type:"keyword"}),Ve(`class \${name} {
|
||||
constructor(\${params}) {
|
||||
\${}
|
||||
}
|
||||
}`,{label:"class",detail:"definition",type:"keyword"}),Ve('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Ve('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],g_=gb.concat([Ve("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Ve("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Ve("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),ip=new C0,yb=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function lr(n){return(e,t)=>{let i=e.node.getChild("VariableDefinition");return i&&t(i,n),!0}}const y_=["FunctionDeclaration"],b_={FunctionDeclaration:lr("function"),ClassDeclaration:lr("class"),ClassExpression:()=>!0,EnumDeclaration:lr("constant"),TypeAliasDeclaration:lr("type"),NamespaceDeclaration:lr("namespace"),VariableDefinition(n,e){n.matchContext(y_)||e(n,"variable")},TypeDefinition(n,e){e(n,"type")},__proto__:null};function bb(n,e){let t=ip.get(e);if(t)return t;let i=[],r=!0;function s(o,a){let l=n.sliceString(o.from,o.to);i.push({label:l,type:a})}return e.cursor(ee.IncludeAnonymous).iterate(o=>{if(r)r=!1;else if(o.name){let a=b_[o.name];if(a&&a(o,s)||yb.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of bb(n,o.node))i.push(a);return!1}}),ip.set(e,i),i}const rp=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,xb=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function x_(n){let e=me(n.state).resolveInner(n.pos,-1);if(xb.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&rp.test(n.state.sliceDoc(e.from,e.to));if(!t&&!n.explicit)return null;let i=[];for(let r=e;r;r=r.parent)yb.has(r.name)&&(i=i.concat(bb(n.state.doc,r)));return{options:i,from:t?e.from:n.pos,validFor:rp}}const jt=Yi.define({name:"javascript",parser:m_.configure({props:[Oa.add({IfStatement:Js({except:/^\s*({|else\b)/}),TryStatement:Js({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:EZ,SwitchBody:n=>{let e=n.textAfter,t=/^\s*\}/.test(e),i=/^\s*(case|default)\b/.test(e);return n.baseIndent+(t?0:i?1:2)*n.unit},Block:XZ({closing:"}"}),ArrowFunction:n=>n.baseIndent+n.unit,"TemplateString BlockComment":()=>null,"Statement Property":Js({except:/^\s*{/}),JSXElement(n){let e=/^\s*<\//.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},JSXEscape(n){let e=/\s*\}/.test(n.textAfter);return n.lineIndent(n.node.from)+(e?0:n.unit)},"JSXOpenTag JSXSelfClosingTag"(n){return n.column(n.node.from)+n.unit}}),pa.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":_0,BlockComment(n){return{from:n.from+2,to:n.to-2}},JSXElement(n){let e=n.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=n.lastChild;return{from:e.to,to:t.type.isError?n.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(n){var e;let t=(e=n.firstChild)===null||e===void 0?void 0:e.nextSibling,i=n.lastChild;return!t||t.type.isError?null:{from:t.to,to:i.type.isError?n.to:i.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),wb={test:n=>/^JSX/.test(n.name),facet:R0({commentTokens:{block:{open:"{/*",close:"*/}"}}})},vb=jt.configure({dialect:"ts"},"typescript"),Sb=jt.configure({dialect:"jsx",props:[Iu.add(n=>n.isTop?[wb]:void 0)]}),Qb=jt.configure({dialect:"jsx ts",props:[Iu.add(n=>n.isTop?[wb]:void 0)]},"typescript");let $b=n=>({label:n,type:"keyword"});const kb="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map($b),w_=kb.concat(["declare","implements","private","protected","public"].map($b));function v_(n={}){let e=n.jsx?n.typescript?Qb:Sb:n.typescript?vb:jt,t=n.typescript?g_.concat(w_):gb.concat(kb);return new Lu(e,[jt.data.of({autocomplete:iE(xb,zy(t))}),jt.data.of({autocomplete:x_}),n.jsx?$_:[]])}function S_(n){for(;;){if(n.name=="JSXOpenTag"||n.name=="JSXSelfClosingTag"||n.name=="JSXFragmentTag")return n;if(n.name=="JSXEscape"||!n.parent)return null;n=n.parent}}function sp(n,e,t=n.length){for(let i=e==null?void 0:e.firstChild;i;i=i.nextSibling)if(i.name=="JSXIdentifier"||i.name=="JSXBuiltin"||i.name=="JSXNamespacedName"||i.name=="JSXMemberExpression")return n.sliceString(i.from,Math.min(i.to,t));return""}const Q_=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),$_=E.inputHandler.of((n,e,t,i,r)=>{if((Q_?n.composing:n.compositionStarted)||n.state.readOnly||e!=t||i!=">"&&i!="/"||!jt.isActiveAt(n.state,e,-1))return!1;let s=r(),{state:o}=s,a=o.changeByRange(l=>{var c;let{head:
Line truncated
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,52 @@
|
||||
/**
|
||||
* @vue/shared v3.5.33
|
||||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||||
* @license MIT
|
||||
**/function Ve(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const re={},In=[],Fe=()=>{},An=()=>!1,_n=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),li=e=>e.startsWith("onUpdate:"),se=Object.assign,gr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},op=Object.prototype.hasOwnProperty,fe=(e,t)=>op.call(e,t),H=Array.isArray,Rn=e=>Xn(e)==="[object Map]",En=e=>Xn(e)==="[object Set]",Eo=e=>Xn(e)==="[object Date]",wa=e=>Xn(e)==="[object RegExp]",z=e=>typeof e=="function",ee=e=>typeof e=="string",$e=e=>typeof e=="symbol",ce=e=>e!==null&&typeof e=="object",mr=e=>(ce(e)||z(e))&&z(e.then)&&z(e.catch),Ko=Object.prototype.toString,Xn=e=>Ko.call(e),xa=e=>Xn(e).slice(8,-1),ci=e=>Xn(e)==="[object Object]",ai=e=>ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,xt=Ve(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),La=Ve("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),_r=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},lp=/-\w/g,de=_r(e=>e.replace(lp,t=>t.slice(1).toUpperCase())),cp=/\B([A-Z])/g,Ke=_r(e=>e.replace(cp,"-$1").toLowerCase()),yn=_r(e=>e.charAt(0).toUpperCase()+e.slice(1)),Pn=_r(e=>e?`on${yn(e)}`:""),De=(e,t)=>!Object.is(e,t),Mn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Wo=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},fi=e=>{const t=parseFloat(e);return isNaN(t)?e:t},$s=e=>{const t=ee(e)?Number(e):NaN;return isNaN(t)?e:t};let cc;const ui=()=>cc||(cc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),ap=/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/;function fp(e){return ap.test(e)?`__props.${e}`:`__props[${JSON.stringify(e)}]`}function up(e,t){return e+JSON.stringify(t,(n,s)=>typeof s=="function"?s.toString():s)}const hp={TEXT:1,1:"TEXT",CLASS:2,2:"CLASS",STYLE:4,4:"STYLE",PROPS:8,8:"PROPS",FULL_PROPS:16,16:"FULL_PROPS",NEED_HYDRATION:32,32:"NEED_HYDRATION",STABLE_FRAGMENT:64,64:"STABLE_FRAGMENT",KEYED_FRAGMENT:128,128:"KEYED_FRAGMENT",UNKEYED_FRAGMENT:256,256:"UNKEYED_FRAGMENT",NEED_PATCH:512,512:"NEED_PATCH",DYNAMIC_SLOTS:1024,1024:"DYNAMIC_SLOTS",DEV_ROOT_FRAGMENT:2048,2048:"DEV_ROOT_FRAGMENT",CACHED:-1,"-1":"CACHED",BAIL:-2,"-2":"BAIL"},pp={1:"TEXT",2:"CLASS",4:"STYLE",8:"PROPS",16:"FULL_PROPS",32:"NEED_HYDRATION",64:"STABLE_FRAGMENT",128:"KEYED_FRAGMENT",256:"UNKEYED_FRAGMENT",512:"NEED_PATCH",1024:"DYNAMIC_SLOTS",2048:"DEV_ROOT_FRAGMENT",[-1]:"CACHED",[-2]:"BAIL"},dp={ELEMENT:1,1:"ELEMENT",FUNCTIONAL_COMPONENT:2,2:"FUNCTIONAL_COMPONENT",STATEFUL_COMPONENT:4,4:"STATEFUL_COMPONENT",TEXT_CHILDREN:8,8:"TEXT_CHILDREN",ARRAY_CHILDREN:16,16:"ARRAY_CHILDREN",SLOTS_CHILDREN:32,32:"SLOTS_CHILDREN",TELEPORT:64,64:"TELEPORT",SUSPENSE:128,128:"SUSPENSE",COMPONENT_SHOULD_KEEP_ALIVE:256,256:"COMPONENT_SHOULD_KEEP_ALIVE",COMPONENT_KEPT_ALIVE:512,512:"COMPONENT_KEPT_ALIVE",COMPONENT:6,6:"COMPONENT"},gp={STABLE:1,1:"STABLE",DYNAMIC:2,2:"DYNAMIC",FORWARDED:3,3:"FORWARDED"},mp={1:"STABLE",2:"DYNAMIC",3:"FORWARDED"},_p="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol",qo=Ve(_p),Ep=qo,ac=2;function Da(e,t=0,n=e.length){if(t=Math.max(0,Math.min(t,e.length)),n=Math.max(0,Math.min(n,e.length)),t>n)return"";let s=e.split(/(\r?\n)/);const i=s.filter((c,l)=>l%2===1);s=s.filter((c,l)=>l%2===0);let r=0;const o=[];for(let c=0;c<s.length;c++)if(r+=s[c].length+(i[c]&&i[c].length||0),r>=t){for(let l=c-ac;l<=c+ac||n>r;l++){if(l<0||l>=s.length)continue;const a=l+1;o.push(`${a}${" ".repeat(Math.max(3-String(a).length,0))}| ${s[l]}`);const f=s[l].length,u=i[l]&&i[l].length||0;if(l===c){const h=t-(r-(f+u)),d=Math.max(1,n>r?f-h:n-t);o.push(" | "+" ".repeat(h)+"^".repeat(d))}else if(l>c){if(n>r){const h=Math.max(Math.min(n-r,f),1);o.push(" | "+"^".repeat(h))}r+=f+u}}break}return o.join(`
|
||||
`)}function Es(e){if(H(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],i=ee(s)?Yo(s):Es(s);if(i)for(const r in i)t[r]=i[r]}return t}else if(ee(e)||ce(e))return e}const yp=/;(?![^(]*\))/g,Sp=/:([^]+)/,Tp=/\/\*[^]*?\*\//g;function Yo(e){const t={};return e.replace(Tp,"").split(yp).forEach(n=>{if(n){const s=n.split(Sp);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function bp(e){if(!e)return"";if(ee(e))return e;let t="";for(const n in e){const s=e[n];if(ee(s)||typeof s=="number"){const i=n.startsWith("--")?n:Ke(n);t+=`${i}:${s};`}}return t}function ys(e){let t="";if(ee(e))t=e;else if(H(e))for(let n=0;n<e.length;n++){const s=ys(e[n]);s&&(t+=s+" ")}else if(ce(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}function ka(e){if(!e)return null;let{class:t,style:n}=e;return t&&!ee(t)&&(e.class=ys(t)),n&&(e.style=Es(n)),e}const Np="html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot",vp="svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view",Ap="annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics",Cp="area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr",Fa=Ve(Np),Va=Ve(vp),Ua=Ve(Ap),Ba=Ve(Cp),Ha="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",$a=Ve(Ha),Op=Ve(Ha+",async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected");function Jo(e){return!!e||e===""}const Ip=/[>/="'\u0009\u000a\u000c\u0020]/,Qr={};function Rp(e){if(Qr.hasOwnProperty(e))return Qr[e];const t=Ip.test(e);return t&&console.error(`unsafe attribute name: ${e}`),Qr[e]=!t}const Pp={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},Mp=Ve("accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap"),wp=Ve("xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,hei
Line truncated
|
||||
* @vue/reactivity v3.5.33
|
||||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||||
* @license MIT
|
||||
**/let Le;class Qo{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=Le,!t&&Le&&(this.index=(Le.scopes||(Le.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=Le;try{return Le=this,t()}finally{Le=n}}}on(){++this._on===1&&(this.prevScope=Le,Le=this)}off(){if(this._on>0&&--this._on===0){if(Le===this)Le=this.prevScope;else{let t=Le;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0}}}function Wa(e){return new Qo(e)}function qa(){return Le}function $p(e,t=!1){Le&&Le.cleanups.push(e)}let _e;const eo=new WeakSet;class js{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Le&&Le.active&&Le.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,eo.has(this)&&(eo.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Ja(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,fc(this),za(this);const t=_e,n=Nt;_e=this,Nt=!0;try{return this.fn()}finally{Qa(this),_e=t,Nt=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)tl(t);this.deps=this.depsTail=void 0,fc(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?eo.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){yo(this)&&this.run()}get dirty(){return yo(this)}}let Ya=0,Ds,ks;function Ja(e,t=!1){if(e.flags|=8,t){e.next=ks,ks=e;return}e.next=Ds,Ds=e}function Zo(){Ya++}function el(){if(--Ya>0)return;if(ks){let t=ks;for(ks=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Ds;){let t=Ds;for(Ds=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function za(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Qa(e){let t,n=e.depsTail,s=n;for(;s;){const i=s.prevDep;s.version===-1?(s===n&&(n=i),tl(s),jp(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=i}e.deps=t,e.depsTail=n}function yo(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Za(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Za(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Xs)||(e.globalVersion=Xs,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!yo(e))))return;e.flags|=2;const t=e.dep,n=_e,s=Nt;_e=e,Nt=!0;try{za(e);const i=e.fn(e._value);(t.version===0||De(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{_e=n,Nt=s,Qa(e),e.flags&=-3}}function tl(e,t=!1){const{dep:n,prevSub:s,nextSub:i}=e;if(s&&(s.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)tl(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function jp(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function Xp(e,t){e.effect instanceof js&&(e=e.effect.fn);const n=new js(e);t&&se(n,t);try{n.run()}catch(i){throw n.stop(),i}const s=n.run.bind(n);return s.effect=n,s}function Gp(e){e.effect.stop()}let Nt=!0;const ef=[];function zt(){ef.push(Nt),Nt=!1}function Qt(){const e=ef.pop();Nt=e===void 0?!0:e}function fc(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=_e;_e=void 0;try{t()}finally{_e=n}}}let Xs=0;class Kp{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Er{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!_e||!Nt||_e===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==_e)n=this.activeLink=new Kp(_e,this),_e.deps?(n.prevDep=_e.depsTail,_e.depsTail.nextDep=n,_e.depsTail=n):_e.deps=_e.depsTail=n,tf(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.neLine truncated
|
||||
* @vue/runtime-core v3.5.33
|
||||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||||
* @license MIT
|
||||
**/const gf=[];function Cd(e){gf.push(e)}function Od(){gf.pop()}function Id(e,t){}const Rd={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER",COMPONENT_UPDATE:15,15:"COMPONENT_UPDATE",APP_UNMOUNT_CLEANUP:16,16:"APP_UNMOUNT_CLEANUP"},Pd={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function Ss(e,t,n,s){try{return s?e(...s):e()}catch(i){Gn(i,t,n)}}function yt(e,t,n,s){if(z(e)){const i=Ss(e,t,n,s);return i&&mr(i)&&i.catch(r=>{Gn(r,t,n)}),i}if(H(e)){const i=[];for(let r=0;r<e.length;r++)i.push(yt(e[r],t,n,s));return i}}function Gn(e,t,n,s=!0){const i=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||re;if(t){let c=t.parent;const l=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${n}`;for(;c;){const f=c.ec;if(f){for(let u=0;u<f.length;u++)if(f[u](e,l,a)===!1)return}c=c.parent}if(r){zt(),Ss(r,null,10,[e,l,a]),Qt();return}}Md(e,n,i,s,o)}function Md(e,t,n,s=!0,i=!1){if(i)throw e;console.error(e)}const ze=[];let It=-1;const ts=[];let an=null,zn=0;const mf=Promise.resolve();let Yi=null;function gi(e){const t=Yi||mf;return e?t.then(this?e.bind(this):e):t}function wd(e){let t=It+1,n=ze.length;for(;t<n;){const s=t+n>>>1,i=ze[s],r=Ws(i);r<e||r===e&&i.flags&2?t=s+1:n=s}return t}function ol(e){if(!(e.flags&1)){const t=Ws(e),n=ze[ze.length-1];!n||!(e.flags&2)&&t>=Ws(n)?ze.push(e):ze.splice(wd(t),0,e),e.flags|=1,_f()}}function _f(){Yi||(Yi=mf.then(Ef))}function Ks(e){H(e)?ts.push(...e):an&&e.id===-1?an.splice(zn+1,0,e):e.flags&1||(ts.push(e),e.flags|=1),_f()}function hc(e,t,n=It+1){for(;n<ze.length;n++){const s=ze[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;ze.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Ji(e){if(ts.length){const t=[...new Set(ts)].sort((n,s)=>Ws(n)-Ws(s));if(ts.length=0,an){an.push(...t);return}for(an=t,zn=0;zn<an.length;zn++){const n=an[zn];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}an=null,zn=0}}const Ws=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Ef(e){try{for(It=0;It<ze.length;It++){const t=ze[It];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Ss(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;It<ze.length;It++){const t=ze[It];t&&(t.flags&=-2)}It=-1,ze.length=0,Ji(),Yi=null,(ze.length||ts.length)&&Ef()}}let Qn,Ri=[];function yf(e,t){var n,s;Qn=e,Qn?(Qn.enabled=!0,Ri.forEach(({event:i,args:r})=>Qn.emit(i,...r)),Ri=[]):typeof window<"u"&&window.HTMLElement&&!((s=(n=window.navigator)==null?void 0:n.userAgent)!=null&&s.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(r=>{yf(r,t)}),setTimeout(()=>{Qn||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Ri=[])},3e3)):Ri=[]}let He=null,br=null;function qs(e){const t=He;return He=e,br=e&&e.type.__scopeId||null,t}function xd(e){br=e}function Ld(){br=null}const Dd=e=>ll;function ll(e,t=He,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&Qs(-1);const r=qs(t);let o;try{o=e(...i)}finally{qs(r),s._d&&Qs(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function kd(e,t){if(He===null)return e;const n=Si(He),s=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[r,o,c,l=re]=t[i];r&&(z(r)&&(r={mounted:r,updated:r}),r.deep&&Gt(o),s.push({dir:r,instance:n,value:o,oldValue:void 0,arg:c,modifiers:l}))}return e}function Rt(e,t,n,s){const i=e.dirs,r=t&&t.dirs;for(let o=0;o<i.length;o++){const c=i[o];r&&(c.oldValue=r[o].value);let l=c.dir[s];l&&(zt(),yt(l,n,8,[e.el,c,e,t]),Qt())}}function Fs(e,t){if(Be){let n=Be.provides;const s=Be.parent&&Be.parent.provides;s===n&&(n=Be.provides=Object.create(s)),n[e]=t}}function mt(e,t,n=!1){const s=et();if(s||Dn){let i=Dn?Dn._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&z(t)?t.call(s&&s.proxy):t}}function Fd(){return!!(et()||Dn)}const Sf=Symbol.for("v-scx"),Tf=()=>mt(Sf);function Vd(e,t){return mi(e,null,t)}function Ud(e,t){return mi(e,null,{flush:"p
Line truncated
|
||||
`&&(g.tagName==="PRE"||g.tagName==="TEXTAREA")&&(X=X.slice(1));const{textContent:pe}=g;pe!==X&&pe!==X.replace(/\r\n|\r/g,`
|
||||
`)&&(wi(g,0)||Yn(),g.textContent=y.children)}if(A){if(Q||!M||k&48){const X=g.tagName.includes("-");for(const pe in A)(Q&&(pe.endsWith("value")||pe==="indeterminate")||_n(pe)&&!xt(pe)||pe[0]==="."||X&&!xt(pe))&&s(g,pe,null,A[pe],void 0,T)}else if(A.onClick)s(g,"onClick",null,A.onClick,void 0,T);else if(k&4&&Wt(A.style))for(const X in A.style)A.style[X]}let Y;(Y=A&&A.onVnodeBeforeMount)&&rt(Y,T,y),F&&Rt(y,null,T,"beforeMount"),((Y=A&&A.onVnodeMounted)||F||j)&&ou(()=>{Y&&rt(Y,T,y),j&&W.enter(g),F&&Rt(y,null,T,"mounted")},w)}return g.nextSibling},d=(g,y,T,w,P,M,b)=>{b=b||!!y.dynamicChildren;const A=y.children,k=A.length;for(let v=0;v<k;v++){const F=b?A[v]:A[v]=ot(A[v]),W=F.type===pn;g?(W&&!b&&v+1<k&&ot(A[v+1]).type===pn&&(l(i(g.data.slice(F.children.length)),T,r(g)),g.data=F.children),g=u(g,F,w,P,M,b)):W&&!F.children?l(F.el=i(""),T):(wi(T,1)||Yn(),n(null,F,T,null,w,P,Mi(T),M))}return g},E=(g,y,T,w,P,M)=>{const{slotScopeIds:b}=y;b&&(P=P?P.concat(b):b);const A=o(g),k=d(r(g),y,A,T,w,P,M);return k&&es(k)&&k.data==="]"?r(y.anchor=k):(Yn(),l(y.anchor=a("]"),A,k),k)},_=(g,y,T,w,P,M)=>{if(wi(g.parentElement,1)||Yn(),y.el=null,M){const k=C(g);for(;;){const v=r(g);if(v&&v!==k)c(v);else break}}const b=r(g),A=o(g);return c(g),n(null,y,A,b,T,w,Mi(A),P),T&&(T.vnode.el=y.el,Rr(T,y.el)),b},C=(g,y="[",T="]")=>{let w=0;for(;g;)if(g=r(g),g&&es(g)&&(g.data===y&&w++,g.data===T)){if(w===0)return r(g);w--}return g},O=(g,y,T)=>{const w=y.parentNode;w&&w.replaceChild(g,y);let P=T;for(;P;)P.vnode.el===y&&(P.vnode.el=P.subTree.el=g),P=P.parent},S=g=>g.nodeType===1&&g.tagName==="TEMPLATE";return[f,u]}const yc="data-allow-mismatch",zd={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function wi(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(yc);)e=e.parentElement;const n=e&&e.getAttribute(yc);if(n==null)return!1;if(n==="")return!0;{const s=n.split(",");return t===0&&s.includes("children")?!0:s.includes(zd[t])}}const Qd=ui().requestIdleCallback||(e=>setTimeout(e,1)),Zd=ui().cancelIdleCallback||(e=>clearTimeout(e)),eg=(e=1e4)=>t=>{const n=Qd(t,{timeout:e});return()=>Zd(n)};function tg(e){const{top:t,left:n,bottom:s,right:i}=e.getBoundingClientRect(),{innerHeight:r,innerWidth:o}=window;return(t>0&&t<r||s>0&&s<r)&&(n>0&&n<o||i>0&&i<o)}const ng=e=>(t,n)=>{const s=new IntersectionObserver(i=>{for(const r of i)if(r.isIntersecting){s.disconnect(),t();break}},e);return n(i=>{if(i instanceof Element){if(tg(i))return t(),s.disconnect(),!1;s.observe(i)}}),()=>s.disconnect()},sg=e=>t=>{if(e){const n=matchMedia(e);if(n.matches)t();else return n.addEventListener("change",t,{once:!0}),()=>n.removeEventListener("change",t)}},ig=(e=[])=>(t,n)=>{ee(e)&&(e=[e]);let s=!1;const i=o=>{s||(s=!0,r(),t(),o.target.dispatchEvent(new o.constructor(o.type,o)))},r=()=>{n(o=>{for(const c of e)o.removeEventListener(c,i)})};return n(o=>{for(const c of e)o.addEventListener(c,i,{once:!0})}),r};function rg(e,t){if(es(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(es(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const qt=e=>!!e.type.__asyncLoader;function og(e){z(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:i=200,hydrate:r,timeout:o,suspensible:c=!0,onError:l}=e;let a=null,f,u=0;const h=()=>(u++,a=null,d()),d=()=>{let E;return a||(E=a=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),l)return new Promise((C,O)=>{l(_,()=>C(h()),()=>O(_),u+1)});throw _}).then(_=>E!==a&&a?a:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),f=_,_)))};return _i({name:"AsyncComponentWrapper",__asyncLoader:d,__asyncHydrate(E,_,C){let O=!1;(_.bu||(_.bu=[])).push(()=>O=!0);const S=()=>{O||C()},g=r?()=>{const y=r(S,T=>rg(E,T));y&&(_.bum||(_.bum=[])).push(y)}:S;f?g():d().then(()=>!_.isUnmounted&&g())},get __asyncResolved(){return f},setup(){const E=Be;if(fl(E),f)return()=>xi(f,E);const _=g=>{a=null,Gn(g,E,13,!s)};if(c&&E.suspense||Un)return d().then(g=>()=>xi(g,E)).catch(g=>(_(g),()=>s?Te(s,{error:g}):null));const C=xn(!1),O=xn(),S=xn(!!i);return i&&setTimeout(()=>{S.value=!1},i),o!=null&&setTimeout(()=>{if(!C.value&&!O.value){const g=new Error(`Async component timed out after ${o}ms.`);_(g),O.value=g}},o),d().then(()=>{C.value=!0,E.parent&&Ei(E.parent.vnode)&&E.parent.update()}).catch(g=>{_(g),O.value=g}),()=>{if(C.value&&f)return xi(f,E);if(O.value&&s)return Te(s,{error:O.value});if(n&&!S.value)return xi(n,E)}}})}function xi(e,t){const{ref:n,props:s,children:i,ce:r}=t.vnode,o=Te(e,s,i);return o.ref=n,o.ce=r,delete t.vnode.ce,o}const Ei=e=>e.type.__isKeepAlive,lg={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=et(),s=n.ctx;if(!s.renderer)return()=>{const S=t.default&&t.default();return S&&S.length===1?S[0]:S};const i=new Map,r=new Set;let o=null;const c=n.suspense,{renderer:{p:l,m:a,um:f,o:{createElement:u}}}=s,h=u("div");s.activate=(S,g,y,T,w)=>{
Line truncated
|
||||
* @vue/runtime-dom v3.5.33
|
||||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||||
* @license MIT
|
||||
**/let xo;const Oc=typeof window<"u"&&window.trustedTypes;if(Oc)try{xo=Oc.createPolicy("vue",{createHTML:e=>e})}catch{}const Su=xo?e=>xo.createHTML(e):e=>e,Im="http://www.w3.org/2000/svg",Rm="http://www.w3.org/1998/Math/MathML",$t=typeof document<"u"?document:null,Ic=$t&&$t.createElement("template"),Tu={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t==="svg"?$t.createElementNS(Im,e):t==="mathml"?$t.createElementNS(Rm,e):n?$t.createElement(e,{is:n}):$t.createElement(e);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>$t.createTextNode(e),createComment:e=>$t.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>$t.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,r){const o=n?n.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===r||!(i=i.nextSibling)););else{Ic.innerHTML=Su(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const c=Ic.content;if(s==="svg"||s==="mathml"){const l=c.firstChild;for(;l.firstChild;)c.appendChild(l.firstChild);c.removeChild(l)}t.insertBefore(c,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},nn="transition",Os="animation",cs=Symbol("_vtc"),bu={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Nu=se({},al,bu),Pm=e=>(e.displayName="Transition",e.props=Nu,e),Mm=Pm((e,{slots:t})=>Pr(If,vu(e),t)),bn=(e,t=[])=>{H(e)?e.forEach(n=>n(...t)):e&&e(...t)},Rc=e=>e?H(e)?e.some(t=>t.length>1):e.length>1:!1;function vu(e){const t={};for(const v in e)v in bu||(t[v]=e[v]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:r=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:l=r,appearActiveClass:a=o,appearToClass:f=c,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:d=`${n}-leave-to`}=e,E=wm(i),_=E&&E[0],C=E&&E[1],{onBeforeEnter:O,onEnter:S,onEnterCancelled:g,onLeave:y,onLeaveCancelled:T,onBeforeAppear:w=O,onAppear:P=S,onAppearCancelled:M=g}=t,b=(v,F,W,Q)=>{v._enterCancelled=Q,ln(v,F?f:c),ln(v,F?a:o),W&&W()},A=(v,F)=>{v._isLeaving=!1,ln(v,u),ln(v,d),ln(v,h),F&&F()},k=v=>(F,W)=>{const Q=v?P:S,j=()=>b(F,v,W);bn(Q,[F,j]),Pc(()=>{ln(F,v?l:r),Ot(F,v?f:c),Rc(Q)||Mc(F,s,_,j)})};return se(t,{onBeforeEnter(v){bn(O,[v]),Ot(v,r),Ot(v,o)},onBeforeAppear(v){bn(w,[v]),Ot(v,l),Ot(v,a)},onEnter:k(!1),onAppear:k(!0),onLeave(v,F){v._isLeaving=!0;const W=()=>A(v,F);Ot(v,u),v._enterCancelled?(Ot(v,h),Lo(v)):(Lo(v),Ot(v,h)),Pc(()=>{v._isLeaving&&(ln(v,u),Ot(v,d),Rc(y)||Mc(v,s,C,W))}),bn(y,[v,W])},onEnterCancelled(v){b(v,!1,void 0,!0),bn(g,[v])},onAppearCancelled(v){b(v,!0,void 0,!0),bn(M,[v])},onLeaveCancelled(v){A(v),bn(T,[v])}})}function wm(e){if(e==null)return null;if(ce(e))return[lo(e.enter),lo(e.leave)];{const t=lo(e);return[t,t]}}function lo(e){return $s(e)}function Ot(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[cs]||(e[cs]=new Set)).add(t)}function ln(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[cs];n&&(n.delete(t),n.size||(e[cs]=void 0))}function Pc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let xm=0;function Mc(e,t,n,s){const i=e._endId=++xm,r=()=>{i===e._endId&&s()};if(n!=null)return setTimeout(r,n);const{type:o,timeout:c,propCount:l}=Au(e,t);if(!o)return s();const a=o+"end";let f=0;const u=()=>{e.removeEventListener(a,h),r()},h=d=>{d.target===e&&++f>=l&&u()};setTimeout(()=>{f<l&&u()},c+1),e.addEventListener(a,h)}function Au(e,t){const n=window.getComputedStyle(e),s=E=>(n[E]||"").split(", "),i=s(`${nn}Delay`),r=s(`${nn}Duration`),o=wc(i,r),c=s(`${Os}Delay`),l=s(`${Os}Duration`),a=wc(c,l);let f=null,u=0,h=0;t===nn?o>0&&(f=nn,u=o,h=r.length):t===Os?a>0&&(f=Os,u=a,h=l.length):(u=Math.max(o,a),f=u>0?o>a?nn:Os:null,h=f?f===nn?r.length:l.length:0);const d=f===nn&&/\b(?:transform|all)(?:,|$)/.test(s(`${nn}Property`).toString());return{type:f,timeout:u,propCount:h,hasTransform:d}}function wc(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>xc(n)+xc(e[s])))}function xc(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Lo(e){return(e?e.ownerDocument:document).body.offsetHeight}function Lm(e,t,n){const s=e[cs];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const ir=Symbol("_vod"),Cu=Symbol("_vsh"),Ou={name:"show",beforeMount(e,{value:t},{transition:n}){e[ir]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Is(e,t)},mounted(e,{value:t},{trans
Line truncated
|
||||
* pinia v2.3.1
|
||||
* (c) 2025 Eduardo San Martin Morote
|
||||
* @license MIT
|
||||
*/const __=Symbol();var Jc;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Jc||(Jc={}));function ES(){const e=Wa(!0),t=e.run(()=>xn({}));let n=[],s=[];const i=sl({install(r){i._a=r,r.provide(__,i),r.config.globalProperties.$pinia=i,s.forEach(o=>n.push(o)),s=[]},use(r){return this._a?n.push(r):s.push(r),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}/*!
|
||||
* vue-router v4.6.4
|
||||
* (c) 2025 Eduardo San Martin Morote
|
||||
* @license MIT
|
||||
*/const Zn=typeof document<"u";function Ku(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function E_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Ku(e.default)}const he=Object.assign;function fo(e,t){const n={};for(const s in t){const i=t[s];n[s]=At(i)?i.map(e):e(i)}return n}const Hs=()=>{},At=Array.isArray;function zc(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const Wu=/#/g,y_=/&/g,S_=/\//g,T_=/=/g,b_=/\?/g,qu=/\+/g,N_=/%5B/g,v_=/%5D/g,Yu=/%5E/g,A_=/%60/g,Ju=/%7B/g,C_=/%7C/g,zu=/%7D/g,O_=/%20/g;function vl(e){return e==null?"":encodeURI(""+e).replace(C_,"|").replace(N_,"[").replace(v_,"]")}function I_(e){return vl(e).replace(Ju,"{").replace(zu,"}").replace(Yu,"^")}function Fo(e){return vl(e).replace(qu,"%2B").replace(O_,"+").replace(Wu,"%23").replace(y_,"%26").replace(A_,"`").replace(Ju,"{").replace(zu,"}").replace(Yu,"^")}function R_(e){return Fo(e).replace(T_,"%3D")}function P_(e){return vl(e).replace(Wu,"%23").replace(b_,"%3F")}function M_(e){return P_(e).replace(S_,"%2F")}function ei(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const w_=/\/$/,x_=e=>e.replace(w_,"");function uo(e,t,n="/"){let s,i={},r="",o="";const c=t.indexOf("#");let l=t.indexOf("?");return l=c>=0&&l>c?-1:l,l>=0&&(s=t.slice(0,l),r=t.slice(l,c>0?c:t.length),i=e(r.slice(1))),c>=0&&(s=s||t.slice(0,c),o=t.slice(c,t.length)),s=F_(s??t,n),{fullPath:s+r+o,path:s,query:i,hash:ei(o)}}function L_(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Qc(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function D_(e,t,n){const s=t.matched.length-1,i=n.matched.length-1;return s>-1&&s===i&&fs(t.matched[s],n.matched[i])&&Qu(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function fs(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Qu(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!k_(e[n],t[n]))return!1;return!0}function k_(e,t){return At(e)?Zc(e,t):At(t)?Zc(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Zc(e,t){return At(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function F_(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),i=s[s.length-1];(i===".."||i===".")&&s.push("");let r=n.length-1,o,c;for(o=0;o<s.length;o++)if(c=s[o],c!==".")if(c==="..")r>1&&r--;else break;return n.slice(0,r).join("/")+"/"+s.slice(o).join("/")}const sn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Vo=(function(e){return e.pop="pop",e.push="push",e})({}),ho=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function V_(e){if(!e)if(Zn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),x_(e)}const U_=/^[^#]+#/;function B_(e,t){return e.replace(U_,"#")+t}function H_(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const wr=()=>({left:window.scrollX,top:window.scrollY});function $_(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),i=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=H_(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function ea(e,t){return(history.state?history.state.position-t:-1)+e}const Uo=new Map;function j_(e,t){Uo.set(e,t)}function X_(e){const t=Uo.get(e);return Uo.delete(e),t}function G_(e){return typeof e=="string"||e&&typeof e=="object"}function Zu(e){return typeof e=="string"||typeof e=="symbol"}let be=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const eh=Symbol("");be.MATCHER_NOT_FOUND+"",be.NAVIGATION_GUARD_REDIRECT+"",be.NAVIGATION_ABORTED+"",be.NAVIGATION_CANCELLED+"",be.NAVIGATION_DUPLICATED+"";function us(e,t){return he(new Error,{type:e,[eh]:!0},t)}function Ut(e,t){return e instanceof Error&&eh in e&&(t==null||!!(e.type&t))}const K_=["params","query","hash"];function W_(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of K_)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function q_(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const i=n[s].replace(qu," "),r=i.indexOf("="),o=ei(r<0?i:i.slice(0,r)),c=r<0?null:ei(i.slice(r+1));if(o in t){let l=t[o];At(l)||(l=t[o]=[l]),l.push(c)}else tLine truncated
|
||||
* vue-router v4.6.4
|
||||
* (c) 2025 Eduardo San Martin Morote
|
||||
* @license MIT
|
||||
*/let Q_=()=>location.protocol+"//"+location.host;function th(e,t){const{pathname:n,search:s,hash:i}=t,r=e.indexOf("#");if(r>-1){let o=i.includes(e.slice(r))?e.slice(r).length:1,c=i.slice(o);return c[0]!=="/"&&(c="/"+c),Qc(c,"")}return Qc(n,e)+s+i}function Z_(e,t,n,s){let i=[],r=[],o=null;const c=({state:h})=>{const d=th(e,location),E=n.value,_=t.value;let C=0;if(h){if(n.value=d,t.value=h,o&&o===E){o=null;return}C=_?h.position-_.position:0}else s(d);i.forEach(O=>{O(n.value,E,{delta:C,type:Vo.pop,direction:C?C>0?ho.forward:ho.back:ho.unknown})})};function l(){o=n.value}function a(h){i.push(h);const d=()=>{const E=i.indexOf(h);E>-1&&i.splice(E,1)};return r.push(d),d}function f(){if(document.visibilityState==="hidden"){const{history:h}=window;if(!h.state)return;h.replaceState(he({},h.state,{scroll:wr()}),"")}}function u(){for(const h of r)h();r=[],window.removeEventListener("popstate",c),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",c),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:l,listen:a,destroy:u}}function sa(e,t,n,s=!1,i=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:i?wr():null}}function eE(e){const{history:t,location:n}=window,s={value:th(e,n)},i={value:t.state};i.value||r(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(l,a,f){const u=e.indexOf("#"),h=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+l:Q_()+e+l;try{t[f?"replaceState":"pushState"](a,"",h),i.value=a}catch(d){console.error(d),n[f?"replace":"assign"](h)}}function o(l,a){r(l,he({},t.state,sa(i.value.back,l,i.value.forward,!0),a,{position:i.value.position}),!0),s.value=l}function c(l,a){const f=he({},i.value,t.state,{forward:l,scroll:wr()});r(f.current,f,!0),r(l,he({},sa(s.value,l,null),{position:f.position+1},a),!1),s.value=l}return{location:s,state:i,push:c,replace:o}}function tE(e){e=V_(e);const t=eE(e),n=Z_(e,t.state,t.location,t.replace);function s(r,o=!0){o||n.pauseListeners(),history.go(r)}const i=he({location:"",base:e,go:s,createHref:B_.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function yS(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),tE(e)}let Cn=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var we=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(we||{});const nE={type:Cn.Static,value:""},sE=/[a-zA-Z0-9_]/;function iE(e){if(!e)return[[]];if(e==="/")return[[nE]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(d){throw new Error(`ERR (${n})/"${a}": ${d}`)}let n=we.Static,s=n;const i=[];let r;function o(){r&&i.push(r),r=[]}let c=0,l,a="",f="";function u(){a&&(n===we.Static?r.push({type:Cn.Static,value:a}):n===we.Param||n===we.ParamRegExp||n===we.ParamRegExpEnd?(r.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),r.push({type:Cn.Param,value:a,regexp:f,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),a="")}function h(){a+=l}for(;c<e.length;){if(l=e[c++],l==="\\"&&n!==we.ParamRegExp){s=n,n=we.EscapeNext;continue}switch(n){case we.Static:l==="/"?(a&&u(),o()):l===":"?(u(),n=we.Param):h();break;case we.EscapeNext:h(),n=s;break;case we.Param:l==="("?n=we.ParamRegExp:sE.test(l)?h():(u(),n=we.Static,l!=="*"&&l!=="?"&&l!=="+"&&c--);break;case we.ParamRegExp:l===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+l:n=we.ParamRegExpEnd:f+=l;break;case we.ParamRegExpEnd:u(),n=we.Static,l!=="*"&&l!=="?"&&l!=="+"&&c--,f="";break;default:t("Unknown state");break}}return n===we.ParamRegExp&&t(`Unfinished custom RegExp for param "${a}"`),u(),o(),i}const ia="[^/]+?",rE={sensitive:!1,strict:!1,start:!0,end:!0};var Je=(function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e})(Je||{});const oE=/[.+*?^${}()[\]/\\]/g;function lE(e,t){const n=he({},rE,t),s=[];let i=n.start?"^":"";const r=[];for(const a of e){const f=a.length?[]:[Je.Root];n.strict&&!a.length&&(i+="/");for(let u=0;u<a.length;u++){const h=a[u];let d=Je.Segment+(n.sensitive?Je.BonusCaseSensitive:0);if(h.type===Cn.Static)u||(i+="/"),i+=h.value.replace(oE,"\\$&"),d+=Je.Static;else if(h.type===Cn.Param){const{valueLine truncated
|
||||
* @vue/compiler-core v3.5.33
|
||||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||||
* @license MIT
|
||||
**/const hs=Symbol(""),rs=Symbol(""),Lr=Symbol(""),ti=Symbol(""),Ol=Symbol(""),mn=Symbol(""),Il=Symbol(""),Rl=Symbol(""),Dr=Symbol(""),kr=Symbol(""),bs=Symbol(""),Fr=Symbol(""),Pl=Symbol(""),Vr=Symbol(""),Ur=Symbol(""),Br=Symbol(""),Hr=Symbol(""),$r=Symbol(""),jr=Symbol(""),Ml=Symbol(""),wl=Symbol(""),Ti=Symbol(""),ni=Symbol(""),Xr=Symbol(""),Gr=Symbol(""),ps=Symbol(""),Ns=Symbol(""),Kr=Symbol(""),cr=Symbol(""),ih=Symbol(""),ar=Symbol(""),si=Symbol(""),rh=Symbol(""),oh=Symbol(""),Wr=Symbol(""),lh=Symbol(""),ch=Symbol(""),qr=Symbol(""),xl=Symbol(""),Bn={[hs]:"Fragment",[rs]:"Teleport",[Lr]:"Suspense",[ti]:"KeepAlive",[Ol]:"BaseTransition",[mn]:"openBlock",[Il]:"createBlock",[Rl]:"createElementBlock",[Dr]:"createVNode",[kr]:"createElementVNode",[bs]:"createCommentVNode",[Fr]:"createTextVNode",[Pl]:"createStaticVNode",[Vr]:"resolveComponent",[Ur]:"resolveDynamicComponent",[Br]:"resolveDirective",[Hr]:"resolveFilter",[$r]:"withDirectives",[jr]:"renderList",[Ml]:"renderSlot",[wl]:"createSlots",[Ti]:"toDisplayString",[ni]:"mergeProps",[Xr]:"normalizeClass",[Gr]:"normalizeStyle",[ps]:"normalizeProps",[Ns]:"guardReactiveProps",[Kr]:"toHandlers",[cr]:"camelize",[ih]:"capitalize",[ar]:"toHandlerKey",[si]:"setBlockTracking",[rh]:"pushScopeId",[oh]:"popScopeId",[Wr]:"withCtx",[lh]:"unref",[ch]:"isRef",[qr]:"withMemo",[xl]:"isMemoSame"};function ah(e){Object.getOwnPropertySymbols(e).forEach(t=>{Bn[t]=e[t]})}const NE={HTML:0,0:"HTML",SVG:1,1:"SVG",MATH_ML:2,2:"MATH_ML"},vE={ROOT:0,0:"ROOT",ELEMENT:1,1:"ELEMENT",TEXT:2,2:"TEXT",COMMENT:3,3:"COMMENT",SIMPLE_EXPRESSION:4,4:"SIMPLE_EXPRESSION",INTERPOLATION:5,5:"INTERPOLATION",ATTRIBUTE:6,6:"ATTRIBUTE",DIRECTIVE:7,7:"DIRECTIVE",COMPOUND_EXPRESSION:8,8:"COMPOUND_EXPRESSION",IF:9,9:"IF",IF_BRANCH:10,10:"IF_BRANCH",FOR:11,11:"FOR",TEXT_CALL:12,12:"TEXT_CALL",VNODE_CALL:13,13:"VNODE_CALL",JS_CALL_EXPRESSION:14,14:"JS_CALL_EXPRESSION",JS_OBJECT_EXPRESSION:15,15:"JS_OBJECT_EXPRESSION",JS_PROPERTY:16,16:"JS_PROPERTY",JS_ARRAY_EXPRESSION:17,17:"JS_ARRAY_EXPRESSION",JS_FUNCTION_EXPRESSION:18,18:"JS_FUNCTION_EXPRESSION",JS_CONDITIONAL_EXPRESSION:19,19:"JS_CONDITIONAL_EXPRESSION",JS_CACHE_EXPRESSION:20,20:"JS_CACHE_EXPRESSION",JS_BLOCK_STATEMENT:21,21:"JS_BLOCK_STATEMENT",JS_TEMPLATE_LITERAL:22,22:"JS_TEMPLATE_LITERAL",JS_IF_STATEMENT:23,23:"JS_IF_STATEMENT",JS_ASSIGNMENT_EXPRESSION:24,24:"JS_ASSIGNMENT_EXPRESSION",JS_SEQUENCE_EXPRESSION:25,25:"JS_SEQUENCE_EXPRESSION",JS_RETURN_STATEMENT:26,26:"JS_RETURN_STATEMENT"},AE={ELEMENT:0,0:"ELEMENT",COMPONENT:1,1:"COMPONENT",SLOT:2,2:"SLOT",TEMPLATE:3,3:"TEMPLATE"},CE={NOT_CONSTANT:0,0:"NOT_CONSTANT",CAN_SKIP_PATCH:1,1:"CAN_SKIP_PATCH",CAN_CACHE:2,2:"CAN_CACHE",CAN_STRINGIFY:3,3:"CAN_STRINGIFY"},xe={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function fh(e,t=""){return{type:0,source:t,children:e,helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:[],temps:0,codegenNode:void 0,loc:xe}}function ds(e,t,n,s,i,r,o,c=!1,l=!1,a=!1,f=xe){return e&&(c?(e.helper(mn),e.helper(jn(e.inSSR,a))):e.helper($n(e.inSSR,a)),o&&e.helper($r)),{type:13,tag:t,props:n,children:s,patchFlag:i,dynamicProps:r,directives:o,isBlock:c,disableTracking:l,isComponent:a,loc:f}}function dn(e,t=xe){return{type:17,loc:t,elements:e}}function ht(e,t=xe){return{type:15,loc:t,properties:e}}function Ce(e,t){return{type:16,loc:xe,key:ee(e)?ne(e,!0):e,value:t}}function ne(e,t=!1,n=xe,s=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:s}}function OE(e,t){return{type:5,loc:t,content:ee(e)?ne(e,!1,t):e}}function Et(e,t=xe){return{type:8,loc:t,children:e}}function Re(e,t=[],n=xe){return{type:14,loc:n,callee:e,arguments:t}}function Hn(e,t=void 0,n=!1,s=!1,i=xe){return{type:18,params:e,returns:t,newline:n,isSlot:s,loc:i}}function fr(e,t,n,s=!0){return{type:19,test:e,consequent:t,alternate:n,newline:s,loc:xe}}function uh(e,t,n=!1,s=!1){return{type:20,index:e,value:t,needPauseTracking:n,inVOnce:s,needArraySpread:!1,loc:xe}}function hh(e){return{type:21,body:e,loc:xe}}function IE(e){return{type:22,elements:e,loc:xe}}function RE(e,t,n){return{type:23,test:e,consequent:t,alternate:n,loc:xe}}function PE(e,t){return{type:24,left:e,right:t,loc:xe}}function ME(e){return{type:25,expressions:e,loc:xe}}function wE(e){return{type:26,returns:e,loc:xe}}function $n(e,t){return e||t?Dr:kr}function jn(e,t){return e||t?Il:Rl}function Yr(e,{helper:t,removeHelper:n,inSSR:s}){e.isBlock||(e.isBlock=!0,n($n(s,e.isComponent)),t(mn),t(jn(s,e.isComponent)))}const pa=new Uint8Array([123,123]),da=new Uint8Array([125,125]);function ga(e){return e>=97&&e<=122||e>=65&&e<=90}function ut(e){return e===32||e===10||e===9||e===12||e===13}function rn(e){return e===47||e===62||ut(e)}function ur(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}const je={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnLine truncated
|
||||
Details: ${o}`:""}`,l=new SyntaxError(c);l.code=e,n&&(l.loc=n),t.onWarn(l)}function Ll(e){throw e}function ph(e){}function Ee(e,t,n,s){const i=`https://vuejs.org/error-reference/#compiler-${e}`,r=new SyntaxError(String(i));return r.code=e,r.loc=t,r}const FE={ABRUPT_CLOSING_OF_EMPTY_COMMENT:0,0:"ABRUPT_CLOSING_OF_EMPTY_COMMENT",CDATA_IN_HTML_CONTENT:1,1:"CDATA_IN_HTML_CONTENT",DUPLICATE_ATTRIBUTE:2,2:"DUPLICATE_ATTRIBUTE",END_TAG_WITH_ATTRIBUTES:3,3:"END_TAG_WITH_ATTRIBUTES",END_TAG_WITH_TRAILING_SOLIDUS:4,4:"END_TAG_WITH_TRAILING_SOLIDUS",EOF_BEFORE_TAG_NAME:5,5:"EOF_BEFORE_TAG_NAME",EOF_IN_CDATA:6,6:"EOF_IN_CDATA",EOF_IN_COMMENT:7,7:"EOF_IN_COMMENT",EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT:8,8:"EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT",EOF_IN_TAG:9,9:"EOF_IN_TAG",INCORRECTLY_CLOSED_COMMENT:10,10:"INCORRECTLY_CLOSED_COMMENT",INCORRECTLY_OPENED_COMMENT:11,11:"INCORRECTLY_OPENED_COMMENT",INVALID_FIRST_CHARACTER_OF_TAG_NAME:12,12:"INVALID_FIRST_CHARACTER_OF_TAG_NAME",MISSING_ATTRIBUTE_VALUE:13,13:"MISSING_ATTRIBUTE_VALUE",MISSING_END_TAG_NAME:14,14:"MISSING_END_TAG_NAME",MISSING_WHITESPACE_BETWEEN_ATTRIBUTES:15,15:"MISSING_WHITESPACE_BETWEEN_ATTRIBUTES",NESTED_COMMENT:16,16:"NESTED_COMMENT",UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME:17,17:"UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME",UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE:18,18:"UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE",UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME:19,19:"UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME",UNEXPECTED_NULL_CHARACTER:20,20:"UNEXPECTED_NULL_CHARACTER",UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME:21,21:"UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME",UNEXPECTED_SOLIDUS_IN_TAG:22,22:"UNEXPECTED_SOLIDUS_IN_TAG",X_INVALID_END_TAG:23,23:"X_INVALID_END_TAG",X_MISSING_END_TAG:24,24:"X_MISSING_END_TAG",X_MISSING_INTERPOLATION_END:25,25:"X_MISSING_INTERPOLATION_END",X_MISSING_DIRECTIVE_NAME:26,26:"X_MISSING_DIRECTIVE_NAME",X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END:27,27:"X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END",X_V_IF_NO_EXPRESSION:28,28:"X_V_IF_NO_EXPRESSION",X_V_IF_SAME_KEY:29,29:"X_V_IF_SAME_KEY",X_V_ELSE_NO_ADJACENT_IF:30,30:"X_V_ELSE_NO_ADJACENT_IF",X_V_FOR_NO_EXPRESSION:31,31:"X_V_FOR_NO_EXPRESSION",X_V_FOR_MALFORMED_EXPRESSION:32,32:"X_V_FOR_MALFORMED_EXPRESSION",X_V_FOR_TEMPLATE_KEY_PLACEMENT:33,33:"X_V_FOR_TEMPLATE_KEY_PLACEMENT",X_V_BIND_NO_EXPRESSION:34,34:"X_V_BIND_NO_EXPRESSION",X_V_ON_NO_EXPRESSION:35,35:"X_V_ON_NO_EXPRESSION",X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET:36,36:"X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET",X_V_SLOT_MIXED_SLOT_USAGE:37,37:"X_V_SLOT_MIXED_SLOT_USAGE",X_V_SLOT_DUPLICATE_SLOT_NAMES:38,38:"X_V_SLOT_DUPLICATE_SLOT_NAMES",X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN:39,39:"X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN",X_V_SLOT_MISPLACED:40,40:"X_V_SLOT_MISPLACED",X_V_MODEL_NO_EXPRESSION:41,41:"X_V_MODEL_NO_EXPRESSION",X_V_MODEL_MALFORMED_EXPRESSION:42,42:"X_V_MODEL_MALFORMED_EXPRESSION",X_V_MODEL_ON_SCOPE_VARIABLE:43,43:"X_V_MODEL_ON_SCOPE_VARIABLE",X_V_MODEL_ON_PROPS:44,44:"X_V_MODEL_ON_PROPS",X_V_MODEL_ON_CONST:45,45:"X_V_MODEL_ON_CONST",X_INVALID_EXPRESSION:46,46:"X_INVALID_EXPRESSION",X_KEEP_ALIVE_INVALID_CHILDREN:47,47:"X_KEEP_ALIVE_INVALID_CHILDREN",X_PREFIX_ID_NOT_SUPPORTED:48,48:"X_PREFIX_ID_NOT_SUPPORTED",X_MODULE_MODE_NOT_SUPPORTED:49,49:"X_MODULE_MODE_NOT_SUPPORTED",X_CACHE_HANDLER_NOT_SUPPORTED:50,50:"X_CACHE_HANDLER_NOT_SUPPORTED",X_SCOPE_ID_NOT_SUPPORTED:51,51:"X_SCOPE_ID_NOT_SUPPORTED",X_VNODE_HOOKS:52,52:"X_VNODE_HOOKS",X_V_BIND_INVALID_SAME_NAME_ARGUMENT:53,53:"X_V_BIND_INVALID_SAME_NAME_ARGUMENT",__EXTEND_POINT__:54,54:"__EXTEND_POINT__"},VE={0:"Illegal comment.",1:"CDATA section is allowed only in XML context.",2:"Duplicate attribute.",3:"End tag cannot have attributes.",4:"Illegal '/' in tags.",5:"Unexpected EOF in tag.",6:"Unexpected EOF in CDATA section.",7:"Unexpected EOF in comment.",8:"Unexpected EOF in script.",9:"Unexpected EOF in tag.",10:"Incorrectly closed comment.",11:"Incorrectly opened comment.",12:"Illegal tag name. Use '<' to print '<'.",13:"Attribute value was expected.",14:"End tag name was expected.",15:"Whitespace was expected.",16:"Unexpected '<!--' in comment.",17:`Attribute name cannot contain U+0022 ("), U+0027 ('), and U+003C (<).`,18:"Unquoted attribute value cannot contain U+0022 (\"), U+0027 ('), U+003C (<), U+003D (=), and U+0060 (`).",19:"Attribute name cannot start with '='.",21:"'<?' is allowed only in XML context.",20:"Unexpected null character.",22:"Illegal '/' in tags.",23:"Invalid end tag.",24:"Element is missing end tag.",25:"Interpolation end sign was not found.",27:"End bracket for dynamic directive argument was not found. Note that dynamic directive argument cannot contain spaces.",26:"Legal directive name was expected.",28:"v-if/v-else-if is missing expression.",29:"v-if/else branches must use unique keys.",30:"v-else/v-else-if has no adjacent v-if or v-else-if.",31:"v-for is missing expression.",32:"v-for has invalid expression.",33:"<template v-Line truncated
|
||||
Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,45:"v-model cannot be used on a const binding because it is not writable.",46:"Error parsing JavaScript expression: ",47:"<KeepAlive> expects exactly one child component.",52:"@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.",48:'"prefixIdentifiers" option is not supported in this build of compiler.',49:"ES module mode is not supported in this build of compiler.",50:'"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.',51:'"scopeId" option is only supported in module mode.',54:""};function UE(e,t,n=!1,s=[],i=Object.create(null)){}function BE(e,t,n){return!1}function HE(e,t){if(e&&(e.type==="ObjectProperty"||e.type==="ArrayPattern")){let n=t.length;for(;n--;){const s=t[n];if(s.type==="AssignmentExpression")return!0;if(s.type!=="ObjectProperty"&&!s.type.endsWith("Pattern"))break}}return!1}function $E(e){let t=e.length;for(;t--;){const n=e[t];if(n.type==="NewExpression")return!0;if(n.type!=="MemberExpression")break}return!1}function jE(e,t){for(const n of e.params)for(const s of wt(n))t(s)}function dh(e,t){const n=e.type==="SwitchCase"?e.consequent:e.body;for(const s of n)if(s.type==="VariableDeclaration"){if(s.declare)continue;for(const i of s.declarations)for(const r of wt(i.id))t(r)}else if(s.type==="FunctionDeclaration"||s.type==="ClassDeclaration"){if(s.declare||!s.id)continue;t(s.id)}else XE(s)?GE(s,!0,t):s.type==="SwitchStatement"&&KE(s,!0,t)}function XE(e){return e.type==="ForOfStatement"||e.type==="ForInStatement"||e.type==="ForStatement"}function GE(e,t,n){const s=e.type==="ForStatement"?e.init:e.left;if(s&&s.type==="VariableDeclaration"&&(s.kind==="var"?t:!t))for(const i of s.declarations)for(const r of wt(i.id))n(r)}function KE(e,t,n){for(const s of e.cases){for(const i of s.consequent)if(i.type==="VariableDeclaration"&&(i.kind==="var"?t:!t))for(const r of i.declarations)for(const o of wt(r.id))n(o);dh(s,n)}}function wt(e,t=[]){switch(e.type){case"Identifier":t.push(e);break;case"MemberExpression":let n=e;for(;n.type==="MemberExpression";)n=n.object;t.push(n);break;case"ObjectPattern":for(const s of e.properties)s.type==="RestElement"?wt(s.argument,t):wt(s.value,t);break;case"ArrayPattern":e.elements.forEach(s=>{s&&wt(s,t)});break;case"RestElement":wt(e.argument,t);break;case"AssignmentPattern":wt(e.left,t);break}return t}const WE=e=>/Function(?:Expression|Declaration)$|Method$/.test(e.type),gh=e=>e&&(e.type==="ObjectProperty"||e.type==="ObjectMethod")&&!e.computed,qE=(e,t)=>gh(t)&&t.key===e,mh=["TSAsExpression","TSTypeAssertion","TSNonNullExpression","TSInstantiationExpression","TSSatisfiesExpression"];function _h(e){return mh.includes(e.type)?_h(e.expression):e}const Ze=e=>e.type===4&&e.isStatic;function Dl(e){switch(e){case"Teleport":case"teleport":return rs;case"Suspense":case"suspense":return Lr;case"KeepAlive":case"keep-alive":return ti;case"BaseTransition":case"base-transition":return Ol}}const YE=/^$|^\d|[^\$\w\xA0-\uFFFF]/,bi=e=>!YE.test(e),kl=/[A-Za-z_$\xA0-\uFFFF]/,JE=/[\.\?\w$\xA0-\uFFFF]/,zE=/\s+[.[]\s*|\s*[.[]\s+/g,Eh=e=>e.type===4?e.content:e.loc.source,yh=e=>{const t=Eh(e).trim().replace(zE,c=>c.trim());let n=0,s=[],i=0,r=0,o=null;for(let c=0;c<t.length;c++){const l=t.charAt(c);switch(n){case 0:if(l==="[")s.push(n),n=1,i++;else if(l==="(")s.push(n),n=2,r++;else if(!(c===0?kl:JE).test(l))return!1;break;case 1:l==="'"||l==='"'||l==="`"?(s.push(n),n=3,o=l):l==="["?i++:l==="]"&&(--i||(n=s.pop()));break;case 2:if(l==="'"||l==='"'||l==="`")s.push(n),n=3,o=l;else if(l==="(")r++;else if(l===")"){if(c===t.length-1)return!1;--r||(n=s.pop())}break;case 3:l===o&&(n=s.pop(),o=null);break}}return!i&&!r},QE=Fe,Fl=yh,ZE=/^\s*(?:async\s*)?(?:\([^)]*?\)|[\w$_]+)\s*(?::[^=]+)?=>|^\s*(?:async\s+)?function(?:\s+[\w$]+)?\s*\(/,Sh=e=>ZE.test(Eh(e)),ey=Fe,Th=Sh;function ty(e,t,n=t.length){return bh({offset:e.offset,line:e.line,column:e.column},t,n)}function bh(e,t,n=t.length){let s=0,i=-1;for(let r=0;r<n;r++)t.charCodeAt(r)===10&&(s++,i=r);return e.offset+=n,e.line+=s,e.column=i===-1?e.column+n:n-i,e}function ny(e,t){if(!e)throw new Error(t||"unexpected compiler condition")}function Qe(e,t,n=!1){for(let s=0;s<e.props.length;s++){const i=e.props[s];if(i.type===7&&(n||i.exp)&&(ee(t)?i.name===t:t.test(i.name)))return i}}function Ni(e,t,n=!1,s=!1){for(let i=0;i<e.props.length;i++){const r=e.props[i];if(r.type===6){if(n)continue;if(r.name===t&&(r.value||s))return r}else if(r.name==="bind"&&(r.exp||s)&&hn(r.arg,t))return r}}function hn(e,t){return!!(e&&Ze(e)&&e.content===t)}function Nh(e){return e.props.some(t=>t.type===7&&t.name==="bind"&&(!t.arg||t.arg.type!==4||!t.arg.isStatic))}function Bi(e){return e.type===5||e.type===2}function $o(e){return e.type===7&&e.name==="pre"}function Vl(e){return e.type===7&&e.name==="slot"}function ms(e){return e.t
Line truncated
|
||||
`);else if(Ul(i.content)){const r=e[s-1]&&e[s-1].type,o=e[s+1]&&e[s+1].type;!r||!o||t&&(r===3&&(o===3||o===1)||r===1&&(o===3||o===1&&uy(i.content)))?(n=!0,e[s]=null):i.content=" "}else t&&(i.content=Ph(i.content))}return n?e.filter(Boolean):e}function uy(e){for(let t=0;t<e.length;t++){const n=e.charCodeAt(t);if(n===10||n===13)return!0}return!1}function Ph(e){let t="",n=!1;for(let s=0;s<e.length;s++)ut(e.charCodeAt(s))?n||(t+=" ",n=!0):(t+=e[s],n=!1);return t}function Xo(e){(Se[0]||oi).children.push(e)}function ve(e,t){return{start:Ne.getPos(e),end:t==null?t:Ne.getPos(t),source:t==null?t:Ue(e,t)}}function hy(e){return ve(e.start.offset,e.end.offset)}function On(e,t){e.end=Ne.getPos(t),e.source=Ue(e.start.offset,t)}function py(e){const t={type:6,name:e.rawName,nameLoc:ve(e.loc.start.offset,e.loc.start.offset+e.rawName.length),value:void 0,loc:e.loc};if(e.exp){const n=e.exp.loc;n.end.offset<e.loc.end.offset&&(n.start.offset--,n.start.column--,n.end.offset++,n.end.column++),t.value={type:2,content:e.exp.content,loc:n}}return t}function $i(e,t=!1,n,s=0,i=0){return ne(e,t,n,s)}function Bt(e,t,n){ue.onError(Ee(e,ve(t,t)))}function dy(){Ne.reset(),Xe=null,oe=null,it="",Ht=-1,Nn=-1,Se.length=0}function $l(e,t){if(dy(),Yt=e,ue=se({},Oh),t){let i;for(i in t)t[i]!=null&&(ue[i]=t[i])}Ne.mode=ue.parseMode==="html"?1:ue.parseMode==="sfc"?2:0,Ne.inXML=ue.ns===1||ue.ns===2;const n=t&&t.delimiters;n&&(Ne.delimiterOpen=ur(n[0]),Ne.delimiterClose=ur(n[1]));const s=oi=fh([],e);return Ne.parse(Yt),s.loc=ve(0,e.length),s.children=Rh(s.children),oi=null,s}function gy(e,t){ji(e,void 0,t,!!Mh(e))}function Mh(e){const t=e.children.filter(n=>n.type!==3);return t.length===1&&t[0].type===1&&!ii(t[0])?t[0]:null}function ji(e,t,n,s=!1,i=!1){const{children:r}=e,o=[];for(let f=0;f<r.length;f++){const u=r[f];if(u.type===1&&u.tagType===0){const h=s?0:lt(u,n);if(h>0){if(h>=2){u.codegenNode.patchFlag=-1,o.push(u);continue}}else{const d=u.codegenNode;if(d.type===13){const E=d.patchFlag;if((E===void 0||E===512||E===1)&&xh(u,n)>=2){const _=Lh(u);_&&(d.props=n.hoist(_))}d.dynamicProps&&(d.dynamicProps=n.hoist(d.dynamicProps))}}}else if(u.type===12&&(s?0:lt(u,n))>=2){u.codegenNode.type===14&&u.codegenNode.arguments.length>0&&u.codegenNode.arguments.push("-1"),o.push(u);continue}if(u.type===1){const h=u.tagType===1;h&&n.scopes.vSlot++,ji(u,e,n,!1,i),h&&n.scopes.vSlot--}else if(u.type===11)ji(u,e,n,u.children.length===1,!0);else if(u.type===9)for(let h=0;h<u.branches.length;h++)ji(u.branches[h],e,n,u.branches[h].children.length===1,i)}let c=!1;if(o.length===r.length&&e.type===1){if(e.tagType===0&&e.codegenNode&&e.codegenNode.type===13&&H(e.codegenNode.children))e.codegenNode.children=l(dn(e.codegenNode.children)),c=!0;else if(e.tagType===1&&e.codegenNode&&e.codegenNode.type===13&&e.codegenNode.children&&!H(e.codegenNode.children)&&e.codegenNode.children.type===15){const f=a(e.codegenNode,"default");f&&(f.returns=l(dn(f.returns)),c=!0)}else if(e.tagType===3&&t&&t.type===1&&t.tagType===1&&t.codegenNode&&t.codegenNode.type===13&&t.codegenNode.children&&!H(t.codegenNode.children)&&t.codegenNode.children.type===15){const f=Qe(e,"slot",!0),u=f&&f.arg&&a(t.codegenNode,f.arg);u&&(u.returns=l(dn(u.returns)),c=!0)}}if(!c)for(const f of o)f.codegenNode=n.cache(f.codegenNode);function l(f){const u=n.cache(f);return u.needArraySpread=!0,u}function a(f,u){if(f.children&&!H(f.children)&&f.children.type===15){const h=f.children.properties.find(d=>d.key===u||d.key.content===u);return h&&h.value}}o.length&&n.transformHoist&&n.transformHoist(r,n,e)}function lt(e,t){const{constantCache:n}=t;switch(e.type){case 1:if(e.tagType!==0)return 0;const s=n.get(e);if(s!==void 0)return s;const i=e.codegenNode;if(i.type!==13||i.isBlock&&e.tag!=="svg"&&e.tag!=="foreignObject"&&e.tag!=="math")return 0;if(i.patchFlag===void 0){let o=3;const c=xh(e,t);if(c===0)return n.set(e,0),0;c<o&&(o=c);for(let l=0;l<e.children.length;l++){const a=lt(e.children[l],t);if(a===0)return n.set(e,0),0;a<o&&(o=a)}if(o>1)for(let l=0;l<e.props.length;l++){const a=e.props[l];if(a.type===7&&a.name==="bind"&&a.exp){const f=lt(a.exp,t);if(f===0)return n.set(e,0),0;f<o&&(o=f)}}if(i.isBlock){for(let l=0;l<e.props.length;l++)if(e.props[l].type===7)return n.set(e,0),0;t.removeHelper(mn),t.removeHelper(jn(t.inSSR,i.isComponent)),i.isBlock=!1,t.helper($n(t.inSSR,i.isComponent))}return n.set(e,o),o}else return n.set(e,0),0;case 2:case 3:return 3;case 9:case 11:case 10:return 0;case 5:case 12:return lt(e.content,t);case 4:return e.constType;case 8:let r=3;for(let o=0;o<e.children.length;o++){const c=e.children[o];if(ee(c)||$e(c))continue;const l=lt(c,t);if(l===0)return 0;l<r&&(r=l)}return r;case 20:return 2;default:return 0}}const my=new Set([Xr,Gr,ps,Ns]);function wh(e,t){if(e.type===14&&!ee(e.callee)&&my.has(e.callee)){const n=e.arguments[0];if(n.type===4)return lt(n,t);if(n.type===14)return wh(n,t)}return 0}function xh(e,t){let n=3;const s=Lh(e);if(s&&s.type===15){const{properties:i}=s;for(let r=0;r<i.length;r++){co
Line truncated
|
||||
`+" ".repeat(_),0)}return d}function Vh(e,t={}){const n=yy(e,t);t.onContextCreated&&t.onContextCreated(n);const{mode:s,push:i,prefixIdentifiers:r,indent:o,deindent:c,newline:l,scopeId:a,ssr:f}=n,u=Array.from(e.helpers),h=u.length>0,d=!r&&s!=="module";Sy(e,n);const _=f?"ssrRender":"render",O=(f?["_ctx","_push","_parent","_attrs"]:["_ctx","_cache"]).join(", ");if(i(`function ${_}(${O}) {`),o(),d&&(i("with (_ctx) {"),o(),h&&(i(`const { ${u.map(Fh).join(", ")} } = _Vue
|
||||
`,-1),l())),e.components.length&&(_o(e.components,"component",n),(e.directives.length||e.temps>0)&&l()),e.directives.length&&(_o(e.directives,"directive",n),e.temps>0&&l()),e.filters&&e.filters.length&&(l(),_o(e.filters,"filter",n),l()),e.temps>0){i("let ");for(let S=0;S<e.temps;S++)i(`${S>0?", ":""}_temp${S}`)}return(e.components.length||e.directives.length||e.temps)&&(i(`
|
||||
`,0),l()),f||i("return "),e.codegenNode?qe(e.codegenNode,n):i("null"),d&&(c(),i("}")),c(),i("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}function Sy(e,t){const{ssr:n,prefixIdentifiers:s,push:i,newline:r,runtimeModuleName:o,runtimeGlobalName:c,ssrRuntimeModuleName:l}=t,a=c,f=Array.from(e.helpers);if(f.length>0&&(i(`const _Vue = ${a}
|
||||
`,-1),e.hoists.length)){const u=[Dr,kr,bs,Fr,Pl].filter(h=>f.includes(h)).map(Fh).join(", ");i(`const { ${u} } = _Vue
|
||||
`,-1)}Ty(e.hoists,t),r(),i("return ")}function _o(e,t,{helper:n,push:s,newline:i,isTS:r}){const o=n(t==="filter"?Hr:t==="component"?Vr:Br);for(let c=0;c<e.length;c++){let l=e[c];const a=l.endsWith("__self");a&&(l=l.slice(0,-6)),s(`const ${_s(l,t)} = ${o}(${JSON.stringify(l)}${a?", true":""})${r?"!":""}`),c<e.length-1&&i()}}function Ty(e,t){if(!e.length)return;t.pure=!0;const{push:n,newline:s}=t;s();for(let i=0;i<e.length;i++){const r=e[i];r&&(n(`const _hoisted_${i+1} = `),qe(r,t),s())}t.pure=!1}function Xl(e,t){const n=e.length>3||!1;t.push("["),n&&t.indent(),Ai(e,t,n),n&&t.deindent(),t.push("]")}function Ai(e,t,n=!1,s=!0){const{push:i,newline:r}=t;for(let o=0;o<e.length;o++){const c=e[o];ee(c)?i(c,-3):H(c)?Xl(c,t):qe(c,t),o<e.length-1&&(n?(s&&i(","),r()):s&&i(", "))}}function qe(e,t){if(ee(e)){t.push(e,-3);return}if($e(e)){t.push(t.helper(e));return}switch(e.type){case 1:case 9:case 11:qe(e.codegenNode,t);break;case 2:by(e,t);break;case 4:Uh(e,t);break;case 5:Ny(e,t);break;case 12:qe(e.codegenNode,t);break;case 8:Bh(e,t);break;case 3:Ay(e,t);break;case 13:Cy(e,t);break;case 14:Iy(e,t);break;case 15:Ry(e,t);break;case 17:Py(e,t);break;case 18:My(e,t);break;case 19:wy(e,t);break;case 20:xy(e,t);break;case 21:Ai(e.body,t,!0,!1);break}}function by(e,t){t.push(JSON.stringify(e.content),-3,e)}function Uh(e,t){const{content:n,isStatic:s}=e;t.push(s?JSON.stringify(n):n,-3,e)}function Ny(e,t){const{push:n,helper:s,pure:i}=t;i&&n(zr),n(`${s(Ti)}(`),qe(e.content,t),n(")")}function Bh(e,t){for(let n=0;n<e.children.length;n++){const s=e.children[n];ee(s)?t.push(s,-3):qe(s,t)}}function vy(e,t){const{push:n}=t;if(e.type===8)n("["),Bh(e,t),n("]");else if(e.isStatic){const s=bi(e.content)?e.content:JSON.stringify(e.content);n(s,-2,e)}else n(`[${e.content}]`,-3,e)}function Ay(e,t){const{push:n,helper:s,pure:i}=t;i&&n(zr),n(`${s(bs)}(${JSON.stringify(e.content)})`,-3,e)}function Cy(e,t){const{push:n,helper:s,pure:i}=t,{tag:r,props:o,children:c,patchFlag:l,dynamicProps:a,directives:f,isBlock:u,disableTracking:h,isComponent:d}=e;let E;l&&(E=String(l)),f&&n(s($r)+"("),u&&n(`(${s(mn)}(${h?"true":""}), `),i&&n(zr);const _=u?jn(t.inSSR,d):$n(t.inSSR,d);n(s(_)+"(",-2,e),Ai(Oy([r,o,c,E,a]),t),n(")"),u&&n(")"),f&&(n(", "),qe(f,t),n(")"))}function Oy(e){let t=e.length;for(;t--&&e[t]==null;);return e.slice(0,t+1).map(n=>n||"null")}function Iy(e,t){const{push:n,helper:s,pure:i}=t,r=ee(e.callee)?e.callee:s(e.callee);i&&n(zr),n(r+"(",-2,e),Ai(e.arguments,t),n(")")}function Ry(e,t){const{push:n,indent:s,deindent:i,newline:r}=t,{properties:o}=e;if(!o.length){n("{}",-2,e);return}const c=o.length>1||!1;n(c?"{":"{ "),c&&s();for(let l=0;l<o.length;l++){const{key:a,value:f}=o[l];vy(a,t),n(": "),qe(f,t),l<o.length-1&&(n(","),r())}c&&i(),n(c?"}":" }")}function Py(e,t){Xl(e.elements,t)}function My(e,t){const{push:n,indent:s,deindent:i}=t,{params:r,returns:o,body:c,newline:l,isSlot:a}=e;a&&n(`_${Bn[Wr]}(`),n("(",-2,e),H(r)?Ai(r,t):r&&qe(r,t),n(") => "),(l||c)&&(n("{"),s()),o?(l&&n("return "),H(o)?Xl(o,t):qe(o,t)):c&&qe(c,t),(l||c)&&(i(),n("}")),a&&(e.isNonScopedSlot&&n(", undefined, true"),n(")"))}function wy(e,t){const{test:n,consequent:s,alternate:i,newline:r}=e,{push:o,indent:c,deindent:l,newline:a}=t;if(n.type===4){const u=!bi(n.content);u&&o("("),Uh(n,t),u&&o(")")}else o("("),qe(n,t),o(")");r&&c(),t.indentLevel++,r||o(" "),o("? "),qe(s,t),t.indentLevel--,r&&a(),r||o(" "),o(": ");const f=i.type===19;f||t.indentLevel++,qe(i,t),f||t.indentLevel--,r&&l(!0)}function xy(e,t){const{push:n,helper:s,indent:i,deindent:r,newline:o}=t,{needPauseTracking:c,needArraySpread:l}=e;l&&n("[...("),n(`_cache[${e.index}] || (`),c&&(i(),n(`${s(si)}(-1`),e.inVOnce&&n(", true"),n("),"),o(),n("(")),n(`_cache[${e.index}] = `),qe(e.value,t),c&&(n(`).cacheIndex = ${e.index},`),o(),n(`${s(si)}(1),`),o(),n(`_cache[${e.index}]`),r()),n(")"),l&&n(")]")}new RegExp("\\b"+"arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield".split(",").join("\\b|\\b")+"\\b");const Ly=(e,t)=>{if(e.type===5)e.content=Xi(e.content,t);else if(e.type===1){const n=Qe(e,"memo");for(let s=0;s<e.props.length;s++){const i=e.props[s];if(i.type===7&&i.name!=="for"){const r=i.exp,o=i.arg;r&&r.type===4&&!(i.name==="on"&&o)&&!(n&&o&&o.type===4&&o.content==="key")&&(i.exp=Xi(r,t,i.name==="slot")),o&&o.type===4&&!o.isStatic&&(i.arg=Xi(o,t))}}}};function Xi(e,t,n=!1,s=!1,i=Object.create(t.identifiers)){return e}function Hh(e){return ee(e)?e:e.type===4?e.content:e.children.map(Hh).join("")}const Dy=jl(/^(?:if|else|else-if)$/,(e,t,n)=>$h(e,t,n,(s,i,r)=>{const o=n.parent.children;let c=o.indexOf(s),l=0;for(;c-->=0;){const a=o[c];a&&a.type===9&&(l+=a.branches.length)}return()=>{if(r)s.codegenNode=Ta(i,l,n);else{const a=ky(s.codegenNode);a.alternate=Ta(i,l+s.branches.length-1,n)}}}));function $h(e,t,n,s){if(t.name!=="else"&&(!t.exp||!t.exp.content.trim())){const i=t.exp?t.exp.
Line truncated
|
||||
* @vue/compiler-dom v3.5.33
|
||||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||||
* @license MIT
|
||||
**/const Yl=Symbol(""),Jl=Symbol(""),zl=Symbol(""),Ql=Symbol(""),dr=Symbol(""),Zl=Symbol(""),ec=Symbol(""),tc=Symbol(""),nc=Symbol(""),sc=Symbol("");ah({[Yl]:"vModelRadio",[Jl]:"vModelCheckbox",[zl]:"vModelText",[Ql]:"vModelSelect",[dr]:"vModelDynamic",[Zl]:"withModifiers",[ec]:"withKeys",[tc]:"vShow",[nc]:"Transition",[sc]:"TransitionGroup"});let Jn;function zy(e,t=!1){return Jn||(Jn=document.createElement("div")),t?(Jn.innerHTML=`<div foo="${e.replace(/"/g,""")}">`,Jn.children[0].getAttribute("foo")):(Jn.innerHTML=e,Jn.textContent)}const ic={parseMode:"html",isVoidTag:Ba,isNativeTag:e=>Fa(e)||Va(e)||Ua(e),isPreTag:e=>e==="pre",isIgnoreNewlineTag:e=>e==="pre"||e==="textarea",decodeEntities:zy,isBuiltInComponent:e=>{if(e==="Transition"||e==="transition")return nc;if(e==="TransitionGroup"||e==="transition-group")return sc},getNamespace(e,t,n){let s=t?t.ns:n;if(t&&s===2)if(t.tag==="annotation-xml"){if(e==="svg")return 1;t.props.some(i=>i.type===6&&i.name==="encoding"&&i.value!=null&&(i.value.content==="text/html"||i.value.content==="application/xhtml+xml"))&&(s=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&e!=="mglyph"&&e!=="malignmark"&&(s=0);else t&&s===1&&(t.tag==="foreignObject"||t.tag==="desc"||t.tag==="title")&&(s=0);if(s===0){if(e==="svg")return 1;if(e==="math")return 2}return s}},np=e=>{e.type===1&&e.props.forEach((t,n)=>{t.type===6&&t.name==="style"&&t.value&&(e.props[n]={type:7,name:"bind",arg:ne("style",!0,t.loc),exp:Qy(t.value.content,t.loc),modifiers:[],loc:t.loc})})},Qy=(e,t)=>{const n=Yo(e);return ne(JSON.stringify(n),!1,t,3)};function Jt(e,t){return Ee(e,t)}const Zy={X_V_HTML_NO_EXPRESSION:54,54:"X_V_HTML_NO_EXPRESSION",X_V_HTML_WITH_CHILDREN:55,55:"X_V_HTML_WITH_CHILDREN",X_V_TEXT_NO_EXPRESSION:56,56:"X_V_TEXT_NO_EXPRESSION",X_V_TEXT_WITH_CHILDREN:57,57:"X_V_TEXT_WITH_CHILDREN",X_V_MODEL_ON_INVALID_ELEMENT:58,58:"X_V_MODEL_ON_INVALID_ELEMENT",X_V_MODEL_ARG_ON_ELEMENT:59,59:"X_V_MODEL_ARG_ON_ELEMENT",X_V_MODEL_ON_FILE_INPUT_ELEMENT:60,60:"X_V_MODEL_ON_FILE_INPUT_ELEMENT",X_V_MODEL_UNNECESSARY_VALUE:61,61:"X_V_MODEL_UNNECESSARY_VALUE",X_V_SHOW_NO_EXPRESSION:62,62:"X_V_SHOW_NO_EXPRESSION",X_TRANSITION_INVALID_CHILDREN:63,63:"X_TRANSITION_INVALID_CHILDREN",X_IGNORED_SIDE_EFFECT_TAG:64,64:"X_IGNORED_SIDE_EFFECT_TAG",__EXTEND_POINT__:65,65:"__EXTEND_POINT__"},eS={54:"v-html is missing expression.",55:"v-html will override element children.",56:"v-text is missing expression.",57:"v-text will override element children.",58:"v-model can only be used on <input>, <textarea> and <select> elements.",59:"v-model argument is not supported on plain elements.",60:"v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.",61:"Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.",62:"v-show is missing expression.",63:"<Transition> expects exactly one child element or component.",64:"Tags with side effect (<script> and <style>) are ignored in client component templates."},tS=(e,t,n)=>{const{exp:s,loc:i}=e;return s||n.onError(Jt(54,i)),t.children.length&&(n.onError(Jt(55,i)),t.children.length=0),{props:[Ce(ne("innerHTML",!0,i),s||ne("",!0))]}},nS=(e,t,n)=>{const{exp:s,loc:i}=e;return s||n.onError(Jt(56,i)),t.children.length&&(n.onError(Jt(57,i)),t.children.length=0),{props:[Ce(ne("textContent",!0),s?lt(s,n)>0?s:Re(n.helperString(Ti),[s],i):ne("",!0))]}},sS=(e,t,n)=>{const s=ql(e,t,n);if(!s.props.length||t.tagType===1)return s;e.arg&&n.onError(Jt(59,e.arg.loc));const{tag:i}=t,r=n.isCustomElement(i);if(i==="input"||i==="textarea"||i==="select"||r){let o=zl,c=!1;if(i==="input"||r){const l=Ni(t,"type");if(l){if(l.type===7)o=dr;else if(l.value)switch(l.value.content){case"radio":o=Yl;break;case"checkbox":o=Jl;break;case"file":c=!0,n.onError(Jt(60,e.loc));break}}else Nh(t)&&(o=dr)}else i==="select"&&(o=Ql);c||(s.needRuntime=n.helper(o))}else n.onError(Jt(58,e.loc));return s.props=s.props.filter(o=>!(o.key.type===4&&o.key.content==="modelValue")),s},iS=Ve("passive,once,capture"),rS=Ve("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),oS=Ve("left,right"),sp=Ve("onkeyup,onkeydown,onkeypress"),lS=(e,t,n,s)=>{const i=[],r=[],o=[];for(let c=0;c<t.length;c++){const l=t[c].content;l==="native"&&gs("COMPILER_V_ON_NATIVE",n)||iS(l)?o.push(l):oS(l)?Ze(e)?sp(e.content.toLowerCase())?i.push(l):r.push(l):(i.push(l),r.push(l)):rS(l)?r.push(l):i.push(l)}return{keyModifiers:i,nonKeyModifiers:r,eventOptionModifiers:o}},Ra=(e,t)=>Ze(e)&&e.content.toLowerCase()==="onclick"?ne(t,!0):e.type!==4?Et(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e,cS=(e,t,n)=>Wl(e,t,n,s=>{const{modifiers:i}=e;if(!i.length)return s;let{key:r,value:o}=s.props[0];const{keyModifiers:c,nonKeyModifiers:l,eventOptionModifiers:a}=lS(r,i,n,e.loc);if(l.includes("right")&&(r=Ra(r,"onContextmenu")),l.includes("middle")&&(r=Ra(r,"onMouseup")),l.length&&(o=Re(n.helper(Zl),[o,JSON.stringify(l)])),c.length&&(!Ze(r)||sp(r.content.toLowerCase()))&&(o=Re(n.helper(ec),[o,JSON.stringify(c)])),a
Line truncated
|
||||
* vue v3.5.33
|
||||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||||
* @license MIT
|
||||
**/var Pa;function _S(){return Pa||(Pa=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=dS,n=gS,s=mS;function i(l){var a=Object.create(null);if(l)for(var f in l)a[f]=l[f];return a.default=l,Object.freeze(a)}var r=i(n);const o=Object.create(null);function c(l,a){if(!s.isString(l))if(l.nodeType)l=l.innerHTML;else return s.NOOP;const f=s.genCacheKey(l,a),u=o[f];if(u)return u;if(l[0]==="#"){const _=document.querySelector(l);l=_?_.innerHTML:""}const h=s.extend({hoistStatic:!0,onError:void 0,onWarn:s.NOOP},a);!h.isCustomElement&&typeof customElements<"u"&&(h.isCustomElement=_=>!!customElements.get(_));const{code:d}=t.compile(l,h),E=new Function("Vue",d)(r);return E._rc=!0,o[f]=E}n.registerRuntimeCompiler(c),e.compile=c,Object.keys(n).forEach(function(l){l!=="default"&&!Object.prototype.hasOwnProperty.call(e,l)&&(e[l]=n[l])})})(mo)),mo}var Ma;function vS(){return Ma||(Ma=1,go.exports=_S()),go.exports}export{bS as $,n_ as A,Ft as B,Ae as C,pn as D,Or as E,ke as F,ul as G,Ar as H,Es as I,Wt as J,sl as K,ys as L,ko as M,Lt as N,di as O,le as P,md as Q,dg as R,Cl as S,Xd as T,vS as U,NS as V,zs as W,om as X,yl as Y,zo as Z,TS as _,Wi as a,Ff as a0,ug as a1,tr as a2,ll as a3,Te as a4,uu as a5,hg as a6,SS as a7,yS as a8,ES as a9,Ug as aa,gg as ab,u_ as ac,ka as ad,fu as ae,bl as af,lr as ag,Du as ah,Cr as b,gt as c,xf as d,pi as e,Sl as f,et as g,_i as h,mt as i,kd as j,Pr as k,mg as l,hu as m,gi as n,yi as o,Fs as p,Pf as q,xn as r,Mf as s,yd as t,en as u,Ou as v,Ln as w,il as x,Vd as y,Mm as z};
|
||||
Reference in new issue
Block a user