四端上传

This commit is contained in:
tianmo committed 2026-09-29 15:25:40 +08:00
1 parent 25bbb5f9c8
commit c6e2cb4d5b
276 files changed
+17812 -3

No files matched your search

@@ -0,0 +1 @@
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[813],{1910:(e,t,a)=>{"use strict";a.d(t,{L:()=>r,M3:()=>i,WG:()=>s,gf:()=>n});let l="yelay_admin_token";function n(){var e;return null!=(e=window.localStorage.getItem(l))?e:""}function s(e){window.localStorage.setItem(l,e)}function r(){window.localStorage.removeItem(l)}function i(){return""!==n()}},2787:(e,t,a)=>{"use strict";a.d(t,{$T:()=>c,$n:()=>n,Sv:()=>m,TM:()=>r,Zp:()=>d,aF:()=>o,l6:()=>i,pd:()=>s});var l=a(1333);function n(e){let{children:t,onClick:a,variant:n="primary",disabled:s,type:r="button"}=e;return(0,l.jsx)("button",{type:r,onClick:a,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"}[n]),children:t})}function s(e){let{value:t,onChange:a,placeholder:n,type:s="text"}=e;return(0,l.jsx)("input",{type:s,value:t,placeholder:n,onChange:e=>a(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 r(e){let{value:t,onChange:a}=e;return(0,l.jsx)("textarea",{value:t,rows:6,onChange:e=>a(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 i(e){let{value:t,onChange:a,options:n}=e;return(0,l.jsx)("select",{value:t,onChange:e=>a(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:n.map(e=>(0,l.jsx)("option",{value:String(e.value),children:e.label},e.value))})}function d(e){let{title:t,children:a,action:n}=e;return(0,l.jsxs)("section",{className:"rounded-lg border border-gray-200 bg-white p-5 shadow-sm",children:[(t||n)&&(0,l.jsxs)("header",{className:"mb-4 flex items-center justify-between",children:[t&&(0,l.jsx)("h2",{className:"text-base font-semibold text-gray-900",children:t}),n]}),a]})}function o(e){let{open:t,title:a,onClose:n,children:s,footer:r}=e;return t?(0,l.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4",children:(0,l.jsxs)("div",{className:"max-h-[85vh] w-full max-w-2xl overflow-auto rounded-lg bg-white shadow-xl",children:[(0,l.jsxs)("header",{className:"flex items-center justify-between border-b border-gray-200 px-5 py-3",children:[(0,l.jsx)("h3",{className:"text-base font-semibold",children:a}),(0,l.jsx)("button",{onClick:n,className:"text-gray-400 hover:text-gray-600","aria-label":"关闭",children:"✕"})]}),(0,l.jsx)("div",{className:"px-5 py-4",children:s}),r&&(0,l.jsx)("footer",{className:"flex justify-end gap-2 border-t border-gray-200 px-5 py-3",children:r})]})}):null}function c(e){let{message:t,kind:a="error"}=e;return t?(0,l.jsx)("div",{className:"mb-3 rounded-md border px-3 py-2 text-sm ".concat("error"===a?"bg-red-50 text-red-700 border-red-200":"bg-green-50 text-green-700 border-green-200"),children:t}):null}function m(e){let{text:t="暂无数据"}=e;return(0,l.jsx)("div",{className:"py-10 text-center text-sm text-gray-400",children:t})}},3379:(e,t,a)=>{Promise.resolve().then(a.bind(a,7494))},4357:(e,t,a)=>{"use strict";a.d(t,{MW:()=>r,le:()=>s,u_:()=>i});let l={name:"status",label:"状态",type:"select",options:[{value:1,label:"启用"},{value:0,label:"停用"}]},n={name:"sort_order",label:"排序",type:"number",hideInTable:!0},s=[{key:"courses",title:"课程",description:"付费课程。注意 code 是视频目录名与封面名,创建后不可修改。",fields:[{name:"code",label:"课程标识",type:"text",immutable:!0,hint:"64 位哈希,对应视频目录"},{name:"title",label:"课程名称",type:"text"},{name:"intro",label:"课程介绍",type:"text"},{name:"price_fen",label:"价格(分)",type:"number"},{name:"cover_image",label:"封面文件",type:"text",hideInTable:!0},l,n]},{key:"lessons",title:"课时",description:"课程下的视频。chapter_id 与 play_id 参与视频路径拼接,改动会使旧地址失效。",filterByCourse:!0,fields:[{name:"course_id",label:"课程 ID",type:"number"},{name:"chapter_id",label:"章节 ID",type:"text"},{name:"play_id",label:"播放 ID",type:"text"},{name:"chapter_title",label:"章节名称",type:"text"},{name:"lesson_title",label:"视频名称",type:"text"},{name:"duration",label:"时长",type:"text"},{name:"published_at",label:"发布日期",type:"date"},n]},{key:"home-courses",title:"首页新课",description:"首页「新课上线」的长图页面。course_name 决定图片路径,不要改动。",fields:[{name:"course_name",label:"条目名称",type:"text",hint:"对应 Images/NewCourse/{名称}.png"},{name:"intro",label:"简介",type:"text"},{name:"course_id",label:"关联课程 ID",type:"number",hint:"留空则长图页不显示购买按钮"},{name:"content",label:"长图内容",type:"textarea",hideInTable:!0},{name:"publiLine truncated