Files
YelayMaths/yelaymaths_admin/.next/static/chunks/app/(admin)/settings/page-56f9fafa3a8b5c68.js
T
2026-09-29 15:25:40 +08:00

1 line
7.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1],{58:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>l});var a=n(1333),r=n(4705),s=n(8312),o=n(2787);function l(){let[e,t]=(0,r.useState)([]),[n,l]=(0,r.useState)({}),[i,d]=(0,r.useState)(""),[c,u]=(0,r.useState)(""),[m,h]=(0,r.useState)(""),g=()=>{d(""),s.F.listSettings().then(e=>{t(e);let n={};e.forEach(e=>{var t;n[e.key]=null!=(t=e.value)?t:""}),l(n)}).catch(e=>d(e.message))};return(0,r.useEffect)(g,[]),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-gray-900",children:"系统配置"}),(0,a.jsx)(o.$T,{message:i}),c&&(0,a.jsx)(o.$T,{message:c,kind:"success"}),(0,a.jsxs)(o.Zp,{title:"站点文案与开关",children:[(0,a.jsx)("p",{className:"mb-4 text-xs text-gray-500",children:"小程序首屏显示的标题、我的页面菜单文案、版本号等都在这里。修改后小程序下拉刷新即可生效。"}),(0,a.jsxs)("div",{className:"space-y-3",children:[e.map(e=>{var t;return(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsxs)("div",{className:"w-56 shrink-0",children:[(0,a.jsx)("div",{className:"text-sm text-gray-700",children:e.remark||e.key}),(0,a.jsx)("div",{className:"font-mono text-xs text-gray-400",children:e.key})]}),(0,a.jsx)("div",{className:"flex-1",children:(0,a.jsx)(o.pd,{value:null!=(t=n[e.key])?t:"",onChange:t=>l({...n,[e.key]:t})})}),(0,a.jsx)(o.$n,{variant:"ghost",onClick:()=>{var t,a;h(e.key),d(""),u(""),s.F.upsertSetting(e.key,null!=(t=n[e.key])?t:"",null!=(a=e.remark)?a:void 0).then(()=>{u("已保存:".concat(e.key)),g()}).catch(e=>d(e.message)).finally(()=>h(""))},disabled:m===e.key,children:m===e.key?"保存中…":"保存"})]},e.key)}),0===e.length&&(0,a.jsx)("div",{className:"py-6 text-center text-sm text-gray-400",children:"暂无配置"})]})]})]})}},1910:(e,t,n)=>{"use strict";n.d(t,{L:()=>o,M3:()=>l,WG:()=>s,gf:()=>r});let a="yelay_admin_token";function r(){var e;return null!=(e=window.localStorage.getItem(a))?e:""}function s(e){window.localStorage.setItem(a,e)}function o(){window.localStorage.removeItem(a)}function l(){return""!==r()}},2787:(e,t,n)=>{"use strict";n.d(t,{$T:()=>c,$n:()=>r,Sv:()=>u,TM:()=>o,Zp:()=>i,aF:()=>d,l6:()=>l,pd:()=>s});var a=n(1333);function r(e){let{children:t,onClick:n,variant:r="primary",disabled:s,type:o="button"}=e;return(0,a.jsx)("button",{type:o,onClick:n,disabled:s,className:"rounded-md px-3 py-1.5 text-sm font-medium transition disabled:cursor-not-allowed disabled:opacity-50 ".concat({primary:"bg-blue-600 text-white hover:bg-blue-700",ghost:"bg-white text-gray-700 border border-gray-300 hover:bg-gray-50",danger:"bg-red-600 text-white hover:bg-red-700"}[r]),children:t})}function s(e){let{value:t,onChange:n,placeholder:r,type:s="text"}=e;return(0,a.jsx)("input",{type:s,value:t,placeholder:r,onChange:e=>n(e.target.value),className:"w-full rounded-md border border-gray-300 px-3 py-1.5 text-sm outline-none focus:border-blue-500"})}function o(e){let{value:t,onChange:n}=e;return(0,a.jsx)("textarea",{value:t,rows:6,onChange:e=>n(e.target.value),className:"w-full rounded-md border border-gray-300 px-3 py-1.5 font-mono text-xs outline-none focus:border-blue-500"})}function l(e){let{value:t,onChange:n,options:r}=e;return(0,a.jsx)("select",{value:t,onChange:e=>n(e.target.value),className:"w-full rounded-md border border-gray-300 px-3 py-1.5 text-sm outline-none focus:border-blue-500",children:r.map(e=>(0,a.jsx)("option",{value:String(e.value),children:e.label},e.value))})}function i(e){let{title:t,children:n,action:r}=e;return(0,a.jsxs)("section",{className:"rounded-lg border border-gray-200 bg-white p-5 shadow-sm",children:[(t||r)&&(0,a.jsxs)("header",{className:"mb-4 flex items-center justify-between",children:[t&&(0,a.jsx)("h2",{className:"text-base font-semibold text-gray-900",children:t}),r]}),n]})}function d(e){let{open:t,title:n,onClose:r,children:s,footer:o}=e;return t?(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4",children:(0,a.jsxs)("div",{className:"max-h-[85vh] w-full max-w-2xl overflow-auto rounded-lg bg-white shadow-xl",children:[(0,a.jsxs)("header",{className:"flex items-center justify-between border-b border-gray-200 px-5 py-3",children:[(0,a.jsx)("h3",{className:"text-base font-semibold",children:n}),(0,a.jsx)("button",{onClick:r,className:"text-gray-400 hover:text-gray-600","aria-label":"关闭",children:"✕"})]}),(0,a.jsx)("div",{className:"px-5 py-4",children:s}),o&&(0,a.jsx)("footer",{className:"flex justify-end gap-2 border-t border-gray-200 px-5 py-3",children:o})]})}):null}function c(e){let{message:t,kind:n="error"}=e;return t?(0,a.jsx)("div",{className:"mb-3 rounded-md border px-3 py-2 text-sm ".concat("error"===n?"bg-red-50 text-red-700 border-red-200":"bg-green-50 text-green-700 border-green-200"),children:t}):null}function u(e){let{text:t="暂无数据"}=e;return(0,a.jsx)("div",{className:"py-10 text-center text-sm text-gray-400",children:t})}},6727:(e,t,n)=>{Promise.resolve().then(n.bind(n,58))},8312:(e,t,n)=>{"use strict";n.d(t,{F:()=>l});var a=n(1910);let r="http://127.0.0.1:3000".replace(/\/+$/,"");async function s(e){var t,n,s,o,l;let i,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=(0,a.gf)(),u={"content-type":"application/json",...null!=(t=d.headers)?t:{}};c&&(u.Authorization="Bearer ".concat(c));try{i=await fetch("".concat(r).concat(e),{...d,headers:u})}catch(e){throw{code:-1,message:"无法连接服务端,请检查网络或接口地址"}}let m=null;try{m=await i.json()}catch(e){throw{code:-1,message:"服务端返回异常(HTTP ".concat(i.status,")")}}if(401===i.status)throw(0,a.L)(),window.location.pathname.startsWith("/login")||(window.location.href="/login"),{code:null!=(n=null==m?void 0:m.code)?n:2e3,message:null!=(s=null==m?void 0:m.message)?s:"登录已失效,请重新登录"};if(!m||0!==m.code)throw{code:null!=(o=null==m?void 0:m.code)?o:-1,message:null!=(l=null==m?void 0:m.message)?l:"请求失败"};return m.data}let o=e=>{let t=Object.entries(e).filter(e=>{let[,t]=e;return void 0!==t&&""!==t}).map(e=>{let[t,n]=e;return"".concat(encodeURIComponent(t),"=").concat(encodeURIComponent(String(n)))});return t.length?"?".concat(t.join("&")):""},l={base:r,request:s,login:(e,t)=>s("/admin/v1/auth/login",{method:"POST",body:JSON.stringify({username:e,password:t})}),bootstrap:(e,t)=>s("/admin/v1/auth/bootstrap",{method:"POST",body:JSON.stringify({username:e,password:t})}),stats:()=>s("/admin/v1/stats"),listUsers:(e,t,n)=>s("/admin/v1/users".concat(o({page:e,pageSize:t,keyword:n}))),updateUser:(e,t)=>s("/admin/v1/users/".concat(e),{method:"PATCH",body:JSON.stringify(t)}),listResource:(e,t)=>s("/admin/v1/data/".concat(e).concat(o(t))),createResource:(e,t)=>s("/admin/v1/data/".concat(e),{method:"POST",body:JSON.stringify(t)}),updateResource:(e,t,n)=>s("/admin/v1/data/".concat(e,"/").concat(t),{method:"PATCH",body:JSON.stringify(n)}),deleteResource:(e,t)=>s("/admin/v1/data/".concat(e,"/").concat(t),{method:"DELETE"}),listSettings:()=>s("/admin/v1/settings"),upsertSetting:(e,t,n)=>s("/admin/v1/settings",{method:"PUT",body:JSON.stringify({key:e,value:t,remark:n})}),listOrders:(e,t,n)=>s("/admin/v1/orders".concat(o({page:e,pageSize:t,status:n}))),refundOrder:(e,t)=>s("/admin/v1/orders/".concat(e,"/refund"),{method:"POST",body:JSON.stringify({reason:t})}),listEntitlements:e=>s("/admin/v1/entitlements".concat(o({userId:e}))),grantEntitlement:(e,t,n)=>s("/admin/v1/entitlements",{method:"POST",body:JSON.stringify({userId:e,courseId:t,note:n})}),revokeEntitlement:(e,t)=>s("/admin/v1/entitlements".concat(o({userId:e,courseId:t})),{method:"DELETE"})}}},e=>{e.O(0,[964,857,358],()=>e(e.s=6727)),_N_E=e.O()}]);