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.
2 lines
6.3 KiB
JavaScript
2 lines
6.3 KiB
JavaScript
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(()=>[...e[19]||(e[19]=[n("span",{class:"aksrt-hint-text"},"开启后,用户中心会显示跳转到 WordPress 原生资料页的头像修改入口。",-1)])]),default:a(()=>[s(x,{value:t.user_avatar_upload,"onUpdate:value":e[3]||(e[3]=_=>t.user_avatar_upload=_)},null,8,["value"])]),_:1}),s(p,{label:"背景图编辑位"},{feedback:a(()=>[...e[20]||(e[20]=[n("span",{class:"aksrt-hint-text"},"这里只控制前台入口显示;真正的上传权限仍由“附件权限”页治理。",-1)])]),default:a(()=>[s(x,{value:t.user_cover_upload,"onUpdate:value":e[4]||(e[4]=_=>t.user_cover_upload=_)},null,8,["value"])]),_:1}),s(p,{label:"公开社交链接"},{feedback:a(()=>[...e[21]||(e[21]=[n("span",{class:"aksrt-hint-text"},"关闭后,用户中心联系方式编辑区和公开主页联系卡片会一起隐藏。",-1)])]),default:a(()=>[s(x,{value:t.user_social_links,"onUpdate:value":e[5]||(e[5]=_=>t.user_social_links=_)},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),s(f,{class:"aksrt-section-card"},{default:a(()=>[s(V,{type:"info","show-icon":!1},{default:a(()=>[...e[23]||(e[23]=[l(" 公开主页的封面、侧栏、关注按钮和公开 Tab 仍在“页面&显示 / 用户主页”维护;本页负责“用户中心能否编辑哪些内容”。 ",-1)])]),_:1})]),_:1}),n("div",X,[s(i,{type:"primary",loading:g.value,onClick:R},{default:a(()=>[...e[24]||(e[24]=[l("保存配置",-1)])]),_:1},8,["loading"])])]),_:1},8,["show"])])}}};export{L as default};
|