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:
kate522 committed 2026-07-15 02:10:05 +08:00
1 parent bf061f43ee
commit a3dde3874a
85 files changed
+15987 -249

No files matched your search

@@ -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