diff --git a/video-gen-admin/dist/assets/index-CIsX_bex.js b/video-gen-admin/dist/assets/index-C93H_elA.js similarity index 93% rename from video-gen-admin/dist/assets/index-CIsX_bex.js rename to video-gen-admin/dist/assets/index-C93H_elA.js index b47662d5..d2133674 100644 --- a/video-gen-admin/dist/assets/index-CIsX_bex.js +++ b/video-gen-admin/dist/assets/index-C93H_elA.js @@ -200,7 +200,7 @@ html body { &${o}-slide-down-leave${o}-slide-down-leave-active${t}-placement-bottom, &${o}-slide-down-leave${o}-slide-down-leave-active${t}-placement-bottomRight`]:{animationName:Dh},[`&${o}-slide-up-leave${o}-slide-up-leave-active${t}-placement-topLeft, &${o}-slide-up-leave${o}-slide-up-leave-active${t}-placement-top, - &${o}-slide-up-leave${o}-slide-up-leave-active${t}-placement-topRight`]:{animationName:kh}}},Sw(e,h,{arrowPlacement:{top:!0,bottom:!0}}),{[`${t} ${n}`]:{position:`relative`,margin:0},[`${n}-submenu-popup`]:{position:`absolute`,zIndex:r,background:`transparent`,boxShadow:`none`,transformOrigin:`0 0`,"ul, li":{listStyle:`none`,margin:0}},[`${t}, ${t}-menu-submenu`]:{...Kc(e),[n]:{padding:d,listStyleType:`none`,backgroundColor:h,backgroundClip:`padding-box`,borderRadius:e.borderRadiusLG,outline:`none`,boxShadow:e.boxShadowSecondary,...Xc(e),"&:empty":{padding:0,boxShadow:`none`},[`${n}-item-group-title`]:{padding:`${Y(l)} ${Y(m)}`,color:e.colorTextDescription,transition:`all ${c}`},[`${n}-item`]:{position:`relative`,display:`flex`,alignItems:`center`},[`${n}-item-icon`]:{minWidth:u,marginInlineEnd:e.marginXS,fontSize:e.fontSizeSM},[`${n}-title-content`]:{flex:`auto`,"&-with-extra":{display:`inline-flex`,alignItems:`center`,width:`100%`},"> a":{color:`inherit`,transition:`all ${c}`,"&:hover":{color:`inherit`},"&::after":{position:`absolute`,inset:0,content:`""`}},[`${n}-item-extra`]:{paddingInlineStart:e.padding,marginInlineStart:`auto`,fontSize:e.fontSizeSM,color:e.colorTextDescription}},[`${n}-item, ${n}-submenu-title`]:{display:`flex`,margin:0,padding:`${Y(l)} ${Y(m)}`,color:e.colorText,fontWeight:`normal`,fontSize:u,lineHeight:e.lineHeight,cursor:`pointer`,transition:`all ${c}`,borderRadius:e.borderRadiusSM,"&:hover, &-active":{backgroundColor:e.controlItemBgHover},...Xc(e),"&-selected":{color:e.colorPrimary,backgroundColor:e.controlItemBgActive,"&:hover, &-active":{backgroundColor:e.controlItemBgActiveHover}},"&-disabled":{color:f,cursor:`not-allowed`,"&:hover":{color:f,backgroundColor:h,cursor:`not-allowed`},a:{pointerEvents:`none`}},"&-divider":{height:1,margin:`${Y(e.marginXXS)} 0`,overflow:`hidden`,lineHeight:0,backgroundColor:e.colorSplit},[`${t}-menu-submenu-expand-icon`]:{position:`absolute`,insetInlineEnd:e.paddingXS,[`${t}-menu-submenu-arrow-icon`]:{marginInlineEnd:`0 !important`,color:e.colorIcon,fontSize:p,fontStyle:`normal`}}},[`${n}-item-group-list`]:{margin:`0 ${Y(e.marginXS)}`,padding:0,listStyle:`none`},[`${n}-submenu-title`]:{paddingInlineEnd:e.calc(m).add(e.fontSizeSM).equal()},[`${n}-submenu-vertical`]:{position:`relative`},[`${n}-submenu${n}-submenu-disabled ${t}-menu-submenu-title`]:{[`&, ${t}-menu-submenu-arrow-icon`]:{color:f,backgroundColor:h,cursor:`not-allowed`}},[`${n}-submenu-selected ${t}-menu-submenu-title`]:{color:e.colorPrimary}}}},[Fh(e,`slide-up`),Fh(e,`slide-down`),Th(e,`move-up`),Th(e,`move-down`),Xh(e,`zoom-big`)]]},dD=tl(`Dropdown`,e=>{let{marginXXS:t,sizePopupArrow:n,paddingXXS:r,componentCls:i}=e,a=ms(e,{menuCls:`${i}-menu`,dropdownArrowDistance:e.calc(n).div(2).add(t).equal(),dropdownEdgeChildPadding:r});return[uD(a),lD(a)]},e=>({zIndexPopup:e.zIndexPopupBase+50,paddingBlock:(e.controlHeight-e.fontSize*e.lineHeight)/2,...bw({contentRadius:e.borderRadiusLG,limitVerticalRadius:!0}),...vw(e)}),{resetStyle:!1}),fD=e=>{let{menu:t,arrow:n,prefixCls:r,children:i,trigger:a,disabled:o,dropdownRender:s,popupRender:c,getPopupContainer:l,overlayClassName:u,rootClassName:d,overlayStyle:f,open:p,onOpenChange:m,mouseEnterDelay:h=.15,mouseLeaveDelay:g=.1,autoAdjustOverflow:_=!0,placement:v=``,transitionName:y,classNames:b,styles:S,destroyPopupOnHide:C,destroyOnHidden:w}=e,{getPrefixCls:T,direction:E,getPopupContainer:D,className:O,style:k,classNames:A,styles:j}=si(`dropdown`),M={...e,mouseEnterDelay:h,mouseLeaveDelay:g,autoAdjustOverflow:_},[N,P]=Md([A,b],[j,S],{props:M}),F={...k,...f,...P.root},I=c||s;Tr(`Dropdown`);let L=x.useMemo(()=>{let e=T();return y===void 0?v.includes(`top`)?`${e}-slide-down`:`${e}-slide-up`:y},[T,v,y]),R=x.useMemo(()=>v?v.includes(`Center`)?v.slice(0,v.indexOf(`Center`)):v:E===`rtl`?`bottomRight`:`bottomLeft`,[v,E]),z=T(`dropdown`,r),B=of(z),[V,H]=dD(z,B),[,U]=Wc(),W=x.Children.only(hd(i)?x.createElement(`span`,null,i):i),ee=bp(W,{className:J(`${z}-trigger`,{[`${z}-rtl`]:E===`rtl`},W.props.className),disabled:W.props.disabled??o}),te=o?[]:a,ne=!!te?.includes(`contextMenu`),[re,G]=Bn(!1,p),ie=Pn(e=>{m?.(e,{source:`trigger`}),G(e)}),K=J(u,d,V,H,B,O,N.root,{[`${z}-rtl`]:E===`rtl`}),ae=Dw({arrowPointAtCenter:fd(n)&&n.pointAtCenter,autoAdjustOverflow:_,offset:U.marginXXS,arrowWidth:n?U.sizePopupArrow:0,borderRadius:U.borderRadius}),q=Pn(()=>{t?.selectable&&t?.multiple||(m?.(!1,{source:`menu`}),G(!1))}),oe=()=>{let e=br(N,[`root`]),n=br(P,[`root`]),r;return t?.items&&(r=x.createElement(cD,{...t,classNames:{...e,subMenu:{...e}},styles:{...n,subMenu:{...n}}})),I&&(r=I(r)),r=x.Children.only(typeof r==`string`?x.createElement(`span`,null,r):r),x.createElement(KE,{prefixCls:`${z}-menu`,rootClassName:J(H,B),expandIcon:x.createElement(`span`,{className:`${z}-menu-submenu-arrow`},E===`rtl`?x.createElement(eT,{className:`${z}-menu-submenu-arrow-icon`}):x.createElement(sg,{className:`${z}-menu-submenu-arrow-icon`})),mode:`vertical`,selectable:!1,onClick:q,validator:({mode:e})=>{}},r)},[se,ce]=Kd(`Dropdown`,F.zIndex),le=x.createElement(lT,{alignPoint:ne,...br(e,[`rootClassName`,`onOpenChange`]),mouseEnterDelay:h,mouseLeaveDelay:g,visible:re,builtinPlacements:ae,arrow:!!n,overlayClassName:K,prefixCls:z,getPopupContainer:l||D,transitionName:L,trigger:te,overlay:oe,placement:R,onVisibleChange:ie,overlayStyle:{...F,zIndex:se},autoDestroy:w??C},ee);return se&&(le=x.createElement(Bd.Provider,{value:ce},le)),le},pD=mx(fD,`align`,void 0,`dropdown`,e=>e);fD._InternalPanelDoNotUseOrYouWillBeFired=e=>x.createElement(pD,{...e},x.createElement(`span`,null));var mD=Mg,hD=o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e){(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_weekday=r()})(e,(function(){return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,n=this.$W,r=(n{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_localeData=r()})(e,(function(){return function(e,t,n){var r=t.prototype,i=function(e){return e&&(e.indexOf?e:e.s)},a=function(e,t,n,r,a){var o=e.name?e:e.$locale(),s=i(o[t]),c=i(o[n]),l=s||c.map((function(e){return e.slice(0,r)}));if(!a)return l;var u=o.weekStart;return l.map((function(e,t){return l[(t+(u||0))%7]}))},o=function(){return n.Ls[n.locale()]},s=function(e,t){return e.formats[t]||function(e){return e.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}(e.formats[t.toUpperCase()])},c=function(){var e=this;return{months:function(t){return t?t.format(`MMMM`):a(e,`months`)},monthsShort:function(t){return t?t.format(`MMM`):a(e,`monthsShort`,`months`,3)},firstDayOfWeek:function(){return e.$locale().weekStart||0},weekdays:function(t){return t?t.format(`dddd`):a(e,`weekdays`)},weekdaysMin:function(t){return t?t.format(`dd`):a(e,`weekdaysMin`,`weekdays`,2)},weekdaysShort:function(t){return t?t.format(`ddd`):a(e,`weekdaysShort`,`weekdays`,3)},longDateFormat:function(t){return s(e.$locale(),t)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return c.bind(this)()},n.localeData=function(){var e=o();return{firstDayOfWeek:function(){return e.weekStart||0},weekdays:function(){return n.weekdays()},weekdaysShort:function(){return n.weekdaysShort()},weekdaysMin:function(){return n.weekdaysMin()},months:function(){return n.months()},monthsShort:function(){return n.monthsShort()},longDateFormat:function(t){return s(e,t)},meridiem:e.meridiem,ordinal:e.ordinal}},n.months=function(){return a(o(),`months`)},n.monthsShort=function(){return a(o(),`monthsShort`,`months`,3)},n.weekdays=function(e){return a(o(),`weekdays`,null,null,e)},n.weekdaysShort=function(e){return a(o(),`weekdaysShort`,`weekdays`,3,e)},n.weekdaysMin=function(e){return a(o(),`weekdaysMin`,`weekdays`,2,e)}}}))})),vD=o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_weekOfYear=r()})(e,(function(){var e=`week`,t=`year`;return function(n,r,i){var a=r.prototype;a.week=function(n){if(n===void 0&&(n=null),n!==null)return this.add(7*(n-this.week()),`day`);var r=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var a=i(this).startOf(t).add(1,t).date(r),o=i(this).endOf(e);if(a.isBefore(o))return 1}var s=i(this).startOf(t).date(r).startOf(e).subtract(1,`millisecond`),c=this.diff(s,e,!0);return c<0?i(this).startOf(`week`).week():Math.ceil(c)},a.weeks=function(e){return e===void 0&&(e=null),this.week(e)}}}))})),yD=o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_weekYear=r()})(e,(function(){return function(e,t){t.prototype.weekYear=function(){var e=this.month(),t=this.week(),n=this.year();return t===1&&e===11?n+1:e===0&&t>=52?n-1:n}}}))})),bD=o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_advancedFormat=r()})(e,(function(){return function(e,t){var n=t.prototype,r=n.format;n.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return r.bind(this)(e);var i=this.$utils(),a=(e||`YYYY-MM-DDTHH:mm:ssZ`).replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case`Q`:return Math.ceil((t.$M+1)/3);case`Do`:return n.ordinal(t.$D);case`gggg`:return t.weekYear();case`GGGG`:return t.isoWeekYear();case`wo`:return n.ordinal(t.week(),`W`);case`w`:case`ww`:return i.s(t.week(),e===`w`?1:2,`0`);case`W`:case`WW`:return i.s(t.isoWeek(),e===`W`?1:2,`0`);case`k`:case`kk`:return i.s(String(t.$H===0?24:t.$H),e===`k`?1:2,`0`);case`X`:return Math.floor(t.$d.getTime()/1e3);case`x`:return t.$d.getTime();case`z`:return`[`+t.offsetName()+`]`;case`zzz`:return`[`+t.offsetName(`long`)+`]`;default:return e}}));return r.bind(this)(a)}}}))})),xD=o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_customParseFormat=r()})(e,(function(){var e={LTS:`h:mm:ss A`,LT:`h:mm A`,L:`MM/DD/YYYY`,LL:`MMMM D, YYYY`,LLL:`MMMM D, YYYY h:mm A`,LLLL:`dddd, MMMM D, YYYY h:mm A`},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,r=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)},c=function(e){return function(t){this[e]=+t}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||={}).offset=function(e){if(!e||e===`Z`)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return n===0?0:t[0]===`+`?-n:n}(e)}],u=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?`pm`:`PM`);return n},f={A:[a,function(e){this.afternoon=d(e,!1)}],a:[a,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*e}],SS:[r,function(e){this.milliseconds=10*e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[i,c(`seconds`)],ss:[i,c(`seconds`)],m:[i,c(`minutes`)],mm:[i,c(`minutes`)],H:[i,c(`hours`)],h:[i,c(`hours`)],HH:[i,c(`hours`)],hh:[i,c(`hours`)],D:[i,c(`day`)],DD:[r,c(`day`)],Do:[a,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,``)===e&&(this.day=r)}],w:[i,c(`week`)],ww:[r,c(`week`)],M:[i,c(`month`)],MM:[r,c(`month`)],MMM:[a,function(e){var t=u(`months`),n=(u(`monthsShort`)||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw Error();this.month=n%12||n}],MMMM:[a,function(e){var t=u(`months`).indexOf(e)+1;if(t<1)throw Error();this.month=t%12||t}],Y:[/[+-]?\d+/,c(`year`)],YY:[r,function(e){this.year=s(e)}],YYYY:[/\d{4}/,c(`year`)],Z:l,ZZ:l};function p(n){for(var r=n,i=o&&o.formats,a=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var a=r&&r.toUpperCase();return n||i[r]||e[r]||i[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),s=a.length,c=0;c-1)return new Date((t===`X`?1e3:1)*e);var i=p(t)(e),a=i.year,o=i.month,s=i.day,c=i.hours,l=i.minutes,u=i.seconds,d=i.milliseconds,f=i.zone,m=i.week,h=new Date,g=s||(a||o?1:h.getDate()),_=a||h.getFullYear(),v=0;a&&!o||(v=o>0?o-1:h.getMonth());var y,b=c||0,x=l||0,S=u||0,C=d||0;return f?new Date(Date.UTC(_,v,g,b,x,S,C+60*f.offset*1e3)):n?new Date(Date.UTC(_,v,g,b,x,S,C)):(y=new Date(_,v,g,b,x,S,C),m&&(y=r(y).week(m).toDate()),y)}catch{return new Date(``)}}(t,s,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(s)&&(this.$d=new Date(``)),o={}}else if(s instanceof Array)for(var f=s.length,m=1;m<=f;m+=1){a[1]=s[m-1];var h=n.apply(this,a);if(h.isValid()){this.$d=h.$d,this.$L=h.$L,this.init();break}m===f&&(this.$d=new Date(``))}else i.call(this,e)}}}))})),SD=c(hD()),CD=c(gD()),wD=c(_D()),TD=c(vD()),ED=c(yD()),DD=c(bD()),OD=c(xD());SD.default.extend(OD.default),SD.default.extend(DD.default),SD.default.extend(CD.default),SD.default.extend(wD.default),SD.default.extend(TD.default),SD.default.extend(ED.default),SD.default.extend(function(e,t){var n=t.prototype,r=n.format;n.format=function(e){var t=(e||``).replace(`Wo`,`wo`);return r.bind(this)(t)}});var kD={bn_BD:`bn-bd`,by_BY:`be`,en_GB:`en-gb`,en_US:`en`,fr_BE:`fr`,fr_CA:`fr-ca`,hy_AM:`hy-am`,kmr_IQ:`ku`,nl_BE:`nl-be`,pt_BR:`pt-br`,zh_CN:`zh-cn`,zh_HK:`zh-hk`,zh_TW:`zh-tw`},AD=function(e){return kD[e]||e.split(`_`)[0]},jD=function(e){return!SD.default.isDayjs(e)||e instanceof SD.default?e:(0,SD.default)(e.valueOf())},MD={getNow:function(){var e=(0,SD.default)();return typeof e.tz==`function`?e.tz():e},getFixedDate:function(e){return(0,SD.default)(e,[`YYYY-M-DD`,`YYYY-MM-DD`])},getEndDate:function(e){return jD(e).endOf(`month`)},getWeekDay:function(e){var t=jD(e).locale(`en`);return t.weekday()+t.localeData().firstDayOfWeek()},getYear:function(e){return jD(e).year()},getMonth:function(e){return jD(e).month()},getDate:function(e){return jD(e).date()},getHour:function(e){return jD(e).hour()},getMinute:function(e){return jD(e).minute()},getSecond:function(e){return jD(e).second()},getMillisecond:function(e){return jD(e).millisecond()},addYear:function(e,t){return jD(e).add(t,`year`)},addMonth:function(e,t){return jD(e).add(t,`month`)},addDate:function(e,t){return jD(e).add(t,`day`)},setYear:function(e,t){return jD(e).year(t)},setMonth:function(e,t){return jD(e).month(t)},setDate:function(e,t){return jD(e).date(t)},setHour:function(e,t){return jD(e).hour(t)},setMinute:function(e,t){return jD(e).minute(t)},setSecond:function(e,t){return jD(e).second(t)},setMillisecond:function(e,t){return jD(e).millisecond(t)},isAfter:function(e,t){return jD(e).isAfter(jD(t))},isValidate:function(e){return jD(e).isValid()},locale:{getWeekFirstDay:function(e){return(0,SD.default)().locale(AD(e)).localeData().firstDayOfWeek()},getWeekFirstDate:function(e,t){return jD(t).locale(AD(e)).weekday(0)},getWeek:function(e,t){return jD(t).locale(AD(e)).week()},getShortWeekDays:function(e){return(0,SD.default)().locale(AD(e)).localeData().weekdaysMin()},getShortMonths:function(e){return(0,SD.default)().locale(AD(e)).localeData().monthsShort()},format:function(e,t,n){return jD(t).locale(AD(e)).format(n)},parse:function(e,t,n){for(var r=AD(e),i=0;i a":{color:`inherit`,transition:`all ${c}`,"&:hover":{color:`inherit`},"&::after":{position:`absolute`,inset:0,content:`""`}},[`${n}-item-extra`]:{paddingInlineStart:e.padding,marginInlineStart:`auto`,fontSize:e.fontSizeSM,color:e.colorTextDescription}},[`${n}-item, ${n}-submenu-title`]:{display:`flex`,margin:0,padding:`${Y(l)} ${Y(m)}`,color:e.colorText,fontWeight:`normal`,fontSize:u,lineHeight:e.lineHeight,cursor:`pointer`,transition:`all ${c}`,borderRadius:e.borderRadiusSM,"&:hover, &-active":{backgroundColor:e.controlItemBgHover},...Xc(e),"&-selected":{color:e.colorPrimary,backgroundColor:e.controlItemBgActive,"&:hover, &-active":{backgroundColor:e.controlItemBgActiveHover}},"&-disabled":{color:f,cursor:`not-allowed`,"&:hover":{color:f,backgroundColor:h,cursor:`not-allowed`},a:{pointerEvents:`none`}},"&-divider":{height:1,margin:`${Y(e.marginXXS)} 0`,overflow:`hidden`,lineHeight:0,backgroundColor:e.colorSplit},[`${t}-menu-submenu-expand-icon`]:{position:`absolute`,insetInlineEnd:e.paddingXS,[`${t}-menu-submenu-arrow-icon`]:{marginInlineEnd:`0 !important`,color:e.colorIcon,fontSize:p,fontStyle:`normal`}}},[`${n}-item-group-list`]:{margin:`0 ${Y(e.marginXS)}`,padding:0,listStyle:`none`},[`${n}-submenu-title`]:{paddingInlineEnd:e.calc(m).add(e.fontSizeSM).equal()},[`${n}-submenu-vertical`]:{position:`relative`},[`${n}-submenu${n}-submenu-disabled ${t}-menu-submenu-title`]:{[`&, ${t}-menu-submenu-arrow-icon`]:{color:f,backgroundColor:h,cursor:`not-allowed`}},[`${n}-submenu-selected ${t}-menu-submenu-title`]:{color:e.colorPrimary}}}},[Fh(e,`slide-up`),Fh(e,`slide-down`),Th(e,`move-up`),Th(e,`move-down`),Xh(e,`zoom-big`)]]},dD=tl(`Dropdown`,e=>{let{marginXXS:t,sizePopupArrow:n,paddingXXS:r,componentCls:i}=e,a=ms(e,{menuCls:`${i}-menu`,dropdownArrowDistance:e.calc(n).div(2).add(t).equal(),dropdownEdgeChildPadding:r});return[uD(a),lD(a)]},e=>({zIndexPopup:e.zIndexPopupBase+50,paddingBlock:(e.controlHeight-e.fontSize*e.lineHeight)/2,...bw({contentRadius:e.borderRadiusLG,limitVerticalRadius:!0}),...vw(e)}),{resetStyle:!1}),fD=e=>{let{menu:t,arrow:n,prefixCls:r,children:i,trigger:a,disabled:o,dropdownRender:s,popupRender:c,getPopupContainer:l,overlayClassName:u,rootClassName:d,overlayStyle:f,open:p,onOpenChange:m,mouseEnterDelay:h=.15,mouseLeaveDelay:g=.1,autoAdjustOverflow:_=!0,placement:v=``,transitionName:y,classNames:b,styles:S,destroyPopupOnHide:C,destroyOnHidden:w}=e,{getPrefixCls:T,direction:E,getPopupContainer:D,className:O,style:k,classNames:A,styles:j}=si(`dropdown`),M={...e,mouseEnterDelay:h,mouseLeaveDelay:g,autoAdjustOverflow:_},[N,P]=Md([A,b],[j,S],{props:M}),F={...k,...f,...P.root},I=c||s;Tr(`Dropdown`);let L=x.useMemo(()=>{let e=T();return y===void 0?v.includes(`top`)?`${e}-slide-down`:`${e}-slide-up`:y},[T,v,y]),R=x.useMemo(()=>v?v.includes(`Center`)?v.slice(0,v.indexOf(`Center`)):v:E===`rtl`?`bottomRight`:`bottomLeft`,[v,E]),z=T(`dropdown`,r),B=of(z),[V,H]=dD(z,B),[,U]=Wc(),W=x.Children.only(hd(i)?x.createElement(`span`,null,i):i),ee=bp(W,{className:J(`${z}-trigger`,{[`${z}-rtl`]:E===`rtl`},W.props.className),disabled:W.props.disabled??o}),te=o?[]:a,ne=!!te?.includes(`contextMenu`),[re,G]=Bn(!1,p),ie=Pn(e=>{m?.(e,{source:`trigger`}),G(e)}),K=J(u,d,V,H,B,O,N.root,{[`${z}-rtl`]:E===`rtl`}),ae=Dw({arrowPointAtCenter:fd(n)&&n.pointAtCenter,autoAdjustOverflow:_,offset:U.marginXXS,arrowWidth:n?U.sizePopupArrow:0,borderRadius:U.borderRadius}),q=Pn(()=>{t?.selectable&&t?.multiple||(m?.(!1,{source:`menu`}),G(!1))}),oe=()=>{let e=br(N,[`root`]),n=br(P,[`root`]),r;return t?.items&&(r=x.createElement(cD,{...t,classNames:{...e,subMenu:{...e}},styles:{...n,subMenu:{...n}}})),I&&(r=I(r)),r=x.Children.only(typeof r==`string`?x.createElement(`span`,null,r):r),x.createElement(KE,{prefixCls:`${z}-menu`,rootClassName:J(H,B),expandIcon:x.createElement(`span`,{className:`${z}-menu-submenu-arrow`},E===`rtl`?x.createElement(eT,{className:`${z}-menu-submenu-arrow-icon`}):x.createElement(sg,{className:`${z}-menu-submenu-arrow-icon`})),mode:`vertical`,selectable:!1,onClick:q,validator:({mode:e})=>{}},r)},[se,ce]=Kd(`Dropdown`,F.zIndex),le=x.createElement(lT,{alignPoint:ne,...br(e,[`rootClassName`,`onOpenChange`]),mouseEnterDelay:h,mouseLeaveDelay:g,visible:re,builtinPlacements:ae,arrow:!!n,overlayClassName:K,prefixCls:z,getPopupContainer:l||D,transitionName:L,trigger:te,overlay:oe,placement:R,onVisibleChange:ie,overlayStyle:{...F,zIndex:se},autoDestroy:w??C},ee);return se&&(le=x.createElement(Bd.Provider,{value:ce},le)),le},pD=mx(fD,`align`,void 0,`dropdown`,e=>e);fD._InternalPanelDoNotUseOrYouWillBeFired=e=>x.createElement(pD,{...e},x.createElement(`span`,null));var mD=Mg,hD=o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e){(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_weekday=r()})(e,(function(){return function(e,t){t.prototype.weekday=function(e){var t=this.$locale().weekStart||0,n=this.$W,r=(n{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_localeData=r()})(e,(function(){return function(e,t,n){var r=t.prototype,i=function(e){return e&&(e.indexOf?e:e.s)},a=function(e,t,n,r,a){var o=e.name?e:e.$locale(),s=i(o[t]),c=i(o[n]),l=s||c.map((function(e){return e.slice(0,r)}));if(!a)return l;var u=o.weekStart;return l.map((function(e,t){return l[(t+(u||0))%7]}))},o=function(){return n.Ls[n.locale()]},s=function(e,t){return e.formats[t]||function(e){return e.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}(e.formats[t.toUpperCase()])},c=function(){var e=this;return{months:function(t){return t?t.format(`MMMM`):a(e,`months`)},monthsShort:function(t){return t?t.format(`MMM`):a(e,`monthsShort`,`months`,3)},firstDayOfWeek:function(){return e.$locale().weekStart||0},weekdays:function(t){return t?t.format(`dddd`):a(e,`weekdays`)},weekdaysMin:function(t){return t?t.format(`dd`):a(e,`weekdaysMin`,`weekdays`,2)},weekdaysShort:function(t){return t?t.format(`ddd`):a(e,`weekdaysShort`,`weekdays`,3)},longDateFormat:function(t){return s(e.$locale(),t)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};r.localeData=function(){return c.bind(this)()},n.localeData=function(){var e=o();return{firstDayOfWeek:function(){return e.weekStart||0},weekdays:function(){return n.weekdays()},weekdaysShort:function(){return n.weekdaysShort()},weekdaysMin:function(){return n.weekdaysMin()},months:function(){return n.months()},monthsShort:function(){return n.monthsShort()},longDateFormat:function(t){return s(e,t)},meridiem:e.meridiem,ordinal:e.ordinal}},n.months=function(){return a(o(),`months`)},n.monthsShort=function(){return a(o(),`monthsShort`,`months`,3)},n.weekdays=function(e){return a(o(),`weekdays`,null,null,e)},n.weekdaysShort=function(e){return a(o(),`weekdaysShort`,`weekdays`,3,e)},n.weekdaysMin=function(e){return a(o(),`weekdaysMin`,`weekdays`,2,e)}}}))})),vD=o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_weekOfYear=r()})(e,(function(){var e=`week`,t=`year`;return function(n,r,i){var a=r.prototype;a.week=function(n){if(n===void 0&&(n=null),n!==null)return this.add(7*(n-this.week()),`day`);var r=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var a=i(this).startOf(t).add(1,t).date(r),o=i(this).endOf(e);if(a.isBefore(o))return 1}var s=i(this).startOf(t).date(r).startOf(e).subtract(1,`millisecond`),c=this.diff(s,e,!0);return c<0?i(this).startOf(`week`).week():Math.ceil(c)},a.weeks=function(e){return e===void 0&&(e=null),this.week(e)}}}))})),yD=o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_weekYear=r()})(e,(function(){return function(e,t){t.prototype.weekYear=function(){var e=this.month(),t=this.week(),n=this.year();return t===1&&e===11?n+1:e===0&&t>=52?n-1:n}}}))})),bD=o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_advancedFormat=r()})(e,(function(){return function(e,t){var n=t.prototype,r=n.format;n.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return r.bind(this)(e);var i=this.$utils(),a=(e||`YYYY-MM-DDTHH:mm:ssZ`).replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case`Q`:return Math.ceil((t.$M+1)/3);case`Do`:return n.ordinal(t.$D);case`gggg`:return t.weekYear();case`GGGG`:return t.isoWeekYear();case`wo`:return n.ordinal(t.week(),`W`);case`w`:case`ww`:return i.s(t.week(),e===`w`?1:2,`0`);case`W`:case`WW`:return i.s(t.isoWeek(),e===`W`?1:2,`0`);case`k`:case`kk`:return i.s(String(t.$H===0?24:t.$H),e===`k`?1:2,`0`);case`X`:return Math.floor(t.$d.getTime()/1e3);case`x`:return t.$d.getTime();case`z`:return`[`+t.offsetName()+`]`;case`zzz`:return`[`+t.offsetName(`long`)+`]`;default:return e}}));return r.bind(this)(a)}}}))})),xD=o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_customParseFormat=r()})(e,(function(){var e={LTS:`h:mm:ss A`,LT:`h:mm A`,L:`MM/DD/YYYY`,LL:`MMMM D, YYYY`,LLL:`MMMM D, YYYY h:mm A`,LLLL:`dddd, MMMM D, YYYY h:mm A`},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,r=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)},c=function(e){return function(t){this[e]=+t}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||={}).offset=function(e){if(!e||e===`Z`)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return n===0?0:t[0]===`+`?-n:n}(e)}],u=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?`pm`:`PM`);return n},f={A:[a,function(e){this.afternoon=d(e,!1)}],a:[a,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*e}],SS:[r,function(e){this.milliseconds=10*e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[i,c(`seconds`)],ss:[i,c(`seconds`)],m:[i,c(`minutes`)],mm:[i,c(`minutes`)],H:[i,c(`hours`)],h:[i,c(`hours`)],HH:[i,c(`hours`)],hh:[i,c(`hours`)],D:[i,c(`day`)],DD:[r,c(`day`)],Do:[a,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,``)===e&&(this.day=r)}],w:[i,c(`week`)],ww:[r,c(`week`)],M:[i,c(`month`)],MM:[r,c(`month`)],MMM:[a,function(e){var t=u(`months`),n=(u(`monthsShort`)||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw Error();this.month=n%12||n}],MMMM:[a,function(e){var t=u(`months`).indexOf(e)+1;if(t<1)throw Error();this.month=t%12||t}],Y:[/[+-]?\d+/,c(`year`)],YY:[r,function(e){this.year=s(e)}],YYYY:[/\d{4}/,c(`year`)],Z:l,ZZ:l};function p(n){for(var r=n,i=o&&o.formats,a=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var a=r&&r.toUpperCase();return n||i[r]||e[r]||i[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),s=a.length,c=0;c-1)return new Date((t===`X`?1e3:1)*e);var i=p(t)(e),a=i.year,o=i.month,s=i.day,c=i.hours,l=i.minutes,u=i.seconds,d=i.milliseconds,f=i.zone,m=i.week,h=new Date,g=s||(a||o?1:h.getDate()),_=a||h.getFullYear(),v=0;a&&!o||(v=o>0?o-1:h.getMonth());var y,b=c||0,x=l||0,S=u||0,C=d||0;return f?new Date(Date.UTC(_,v,g,b,x,S,C+60*f.offset*1e3)):n?new Date(Date.UTC(_,v,g,b,x,S,C)):(y=new Date(_,v,g,b,x,S,C),m&&(y=r(y).week(m).toDate()),y)}catch{return new Date(``)}}(t,s,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(s)&&(this.$d=new Date(``)),o={}}else if(s instanceof Array)for(var f=s.length,m=1;m<=f;m+=1){a[1]=s[m-1];var h=n.apply(this,a);if(h.isValid()){this.$d=h.$d,this.$L=h.$L,this.init();break}m===f&&(this.$d=new Date(``))}else i.call(this,e)}}}))})),SD=c(hD()),CD=c(gD()),wD=c(_D()),TD=c(vD()),ED=c(yD()),DD=c(bD()),OD=c(xD());SD.default.extend(OD.default),SD.default.extend(DD.default),SD.default.extend(CD.default),SD.default.extend(wD.default),SD.default.extend(TD.default),SD.default.extend(ED.default),SD.default.extend(function(e,t){var n=t.prototype,r=n.format;n.format=function(e){var t=(e||``).replace(`Wo`,`wo`);return r.bind(this)(t)}});var kD={bn_BD:`bn-bd`,by_BY:`be`,en_GB:`en-gb`,en_US:`en`,fr_BE:`fr`,fr_CA:`fr-ca`,hy_AM:`hy-am`,kmr_IQ:`ku`,nl_BE:`nl-be`,pt_BR:`pt-br`,zh_CN:`zh-cn`,zh_HK:`zh-hk`,zh_TW:`zh-tw`},AD=function(e){return kD[e]||e.split(`_`)[0]},jD=function(e){return!SD.default.isDayjs(e)||e instanceof SD.default?e:(0,SD.default)(e.valueOf())},MD={getNow:function(){var e=(0,SD.default)();return typeof e.tz==`function`?e.tz():e},getFixedDate:function(e){return(0,SD.default)(e,[`YYYY-M-DD`,`YYYY-MM-DD`])},getEndDate:function(e){return jD(e).endOf(`month`)},getWeekDay:function(e){var t=jD(e).locale(`en`);return t.weekday()+t.localeData().firstDayOfWeek()},getYear:function(e){return jD(e).year()},getMonth:function(e){return jD(e).month()},getDate:function(e){return jD(e).date()},getHour:function(e){return jD(e).hour()},getMinute:function(e){return jD(e).minute()},getSecond:function(e){return jD(e).second()},getMillisecond:function(e){return jD(e).millisecond()},addYear:function(e,t){return jD(e).add(t,`year`)},addMonth:function(e,t){return jD(e).add(t,`month`)},addDate:function(e,t){return jD(e).add(t,`day`)},setYear:function(e,t){return jD(e).year(t)},setMonth:function(e,t){return jD(e).month(t)},setDate:function(e,t){return jD(e).date(t)},setHour:function(e,t){return jD(e).hour(t)},setMinute:function(e,t){return jD(e).minute(t)},setSecond:function(e,t){return jD(e).second(t)},setMillisecond:function(e,t){return jD(e).millisecond(t)},isAfter:function(e,t){return jD(e).isAfter(jD(t))},isValidate:function(e){return jD(e).isValid()},locale:{getWeekFirstDay:function(e){return(0,SD.default)().locale(AD(e)).localeData().firstDayOfWeek()},getWeekFirstDate:function(e,t){return jD(t).locale(AD(e)).weekday(0)},getWeek:function(e,t){return jD(t).locale(AD(e)).week()},getShortWeekDays:function(e){return(0,SD.default)().locale(AD(e)).localeData().weekdaysMin()},getShortMonths:function(e){return(0,SD.default)().locale(AD(e)).localeData().monthsShort()},format:function(e,t,n){return jD(t).locale(AD(e)).format(n)},parse:function(e,t,n){for(var r=AD(e),i=0;ie.length)&&(t=e.length);for(var n=0,r=Array(t);n2&&arguments[2]!==void 0?arguments[2]:`0`,r=String(e);r.lengthe.length)&&(t=e.length);for(var n=0,r=Array(t);n2&&arguments[2]!==void 0?arguments[2]:[],r=sO(x.useState([!1,!1]),2),i=r[0],a=r[1];return[x.useMemo(function(){return i.map(function(r,i){if(r)return!0;var a=e[i];return a?!!(!n[i]&&!a||a&&t(a,{activeIndex:i})):!1})},[e,i,t,n]),function(e,t){a(function(n){return YD(n,t,e)})}]}function mO(e){"@babel/helpers - typeof";return mO=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},mO(e)}function hO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function gO(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&(o=t.addDate(o,-7)),o}function ak(e,t){var n=t.generateConfig,r=t.locale,i=t.format;return e?typeof i==`function`?i(e):n.locale.format(r.locale,e,i):``}function ok(e,t,n){var r=t,i=[`getHour`,`getMinute`,`getSecond`,`getMillisecond`];return[`setHour`,`setMinute`,`setSecond`,`setMillisecond`].forEach(function(t,a){r=n?e[t](r,e[i[a]](n)):e[t](r,0)}),r}function sk(e,t,n,r,i){return Pn(function(a,o){return!!(n&&n(a,o)||r&&e.isAfter(r,a)&&!tk(e,t,r,a,o.type)||i&&e.isAfter(a,i)&&!tk(e,t,i,a,o.type))})}function ck(e){"@babel/helpers - typeof";return ck=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},ck(e)}function lk(e,t,n){return x.useMemo(function(){var r=JD(ZD(e,t,n)),i=r[0],a=ck(i)===`object`&&i.type===`mask`?i.format:null;return[r.map(function(e){return typeof e==`string`||typeof e==`function`?e:e.format}),a]},[e,t,n])}function uk(e,t,n){return typeof e[0]==`function`||n?!0:t}function dk(e){"@babel/helpers - typeof";return dk=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},dk(e)}function fk(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function pk(e){for(var t=1;t{let{componentCls:t}=e;return{[`${t}-rtl`]:{direction:`rtl`}}},KQ=e=>{let{componentCls:t,colorTextDisabled:n}=e;return{[`${t}-wrapper`]:{...Kc(e),[t]:{outline:0,"input[type='file']":{cursor:`pointer`}},[`${t}-select`]:{display:`inline-block`},[`${t}-hidden`]:{display:`none`},[`${t}-disabled`]:{color:n,cursor:`not-allowed`}}}},qQ=tl(`Upload`,e=>{let{fontSizeHeading3:t,marginXS:n,lineWidth:r,pictureCardSize:i,calc:a}=e,o=ms(e,{uploadThumbnailSize:a(t).mul(2).equal(),uploadProgressOffset:a(a(n).div(2)).add(r).equal(),uploadPicCardSize:i});return[KQ(o),BQ(o),UQ(o),WQ(o),VQ(o),HQ(o),GQ(o),fh(o)]},e=>({actionsColor:e.colorIcon,pictureCardSize:e.controlHeightLG*2.55})),JQ={icon:function(e,t){return{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M534 352V136H232v752h560V394H576a42 42 0 01-42-42z`,fill:t}},{tag:`path`,attrs:{d:`M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z`,fill:e}}]}},name:`file`,theme:`twotone`};function YQ(){return YQ=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,YQ({},e,{ref:t,icon:JQ}))),ZQ={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 00174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z`}}]},name:`paper-clip`,theme:`outlined`};function QQ(){return QQ=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,QQ({},e,{ref:t,icon:ZQ}))),e$={icon:function(e,t){return{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z`,fill:e}},{tag:`path`,attrs:{d:`M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z`,fill:t}},{tag:`path`,attrs:{d:`M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 110 176 88 88 0 010-176z`,fill:t}},{tag:`path`,attrs:{d:`M276 368a28 28 0 1056 0 28 28 0 10-56 0z`,fill:t}},{tag:`path`,attrs:{d:`M304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z`,fill:e}}]}},name:`picture`,theme:`twotone`};function t$(){return t$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,t$({},e,{ref:t,icon:e$})));function r$(e){return{...e,lastModified:e.lastModified,lastModifiedDate:e.lastModifiedDate,name:e.name,size:e.size,type:e.type,uid:e.uid,percent:0,originFileObj:e}}function i$(e,t){let n=Yr(t),r=n.findIndex(({uid:t})=>t===e.uid);return r===-1?n.push(e):n[r]=e,n}function a$(e,t){let n=e.uid===void 0?`name`:`uid`;return t.filter(t=>t[n]===e[n])[0]}function o$(e,t){let n=e.uid===void 0?`name`:`uid`,r=t.filter(t=>t[n]!==e[n]);return r.length===t.length?null:r}var s$=(e=``)=>{let t=e.split(`/`),n=t[t.length-1].split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(n)||[``])[0]},c$=e=>e.indexOf(`image/`)===0,l$=e=>{if(e.type&&!e.thumbUrl)return c$(e.type);let t=e.thumbUrl||e.url||``,n=s$(t);return/^data:image\//.test(t)||/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico|heic|heif)$/i.test(n)?!0:!(/^data:/.test(t)||n)},u$=200;function d$(e){return new Promise(t=>{if(!e.type||!c$(e.type)){t(``);return}let n=document.createElement(`canvas`);n.width=u$,n.height=u$,n.style.cssText=`position: fixed; left: 0; top: 0; width: ${u$}px; height: ${u$}px; z-index: 9999; display: none;`,document.body.appendChild(n);let r=n.getContext(`2d`),i=new Image;if(i.onload=()=>{let{width:e,height:a}=i,o=u$,s=u$,c=0,l=0;e>a?(s=u$/e*a,l=-(s-o)/2):(o=u$/a*e,c=-(o-s)/2),r.drawImage(i,c,l,o,s);let u=n.toDataURL();document.body.removeChild(n),window.URL.revokeObjectURL(i.src),t(u)},i.crossOrigin=`anonymous`,e.type.startsWith(`image/svg+xml`)){let t=new FileReader;t.onload=()=>{t.result&&typeof t.result==`string`&&(i.src=t.result)},t.readAsDataURL(e)}else if(e.type.startsWith(`image/gif`)){let n=new FileReader;n.onload=()=>{n.result&&t(n.result)},n.readAsDataURL(e)}else i.src=window.URL.createObjectURL(e)})}var f$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z`}}]},name:`download`,theme:`outlined`};function p$(){return p$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,p$({},e,{ref:t,icon:f$}))),h$=x.forwardRef(({prefixCls:e,className:t,style:n,classNames:r,styles:i,locale:a,listType:o,file:s,items:c,progress:l,iconRender:u,actionIconRender:d,itemRender:f,isImgUrl:p,showPreviewIcon:m,showRemoveIcon:h,showDownloadIcon:g,previewIcon:_,removeIcon:v,downloadIcon:y,extra:b,onPreview:S,onDownload:C,onClose:w},T)=>{let{status:E}=s,[D,O]=x.useState(E);x.useEffect(()=>{E!==`removed`&&O(E)},[E]);let[k,A]=x.useState(!1);x.useEffect(()=>{let e=setTimeout(()=>{A(!0)},300);return()=>{clearTimeout(e)}},[]);let j=u(s),M=x.createElement(`div`,{className:`${e}-icon`},j);if(o===`picture`||o===`picture-card`||o===`picture-circle`)if(D===`uploading`||!s.thumbUrl&&!s.url){let t=J(`${e}-list-item-thumbnail`,{[`${e}-list-item-file`]:D!==`uploading`});M=x.createElement(`div`,{className:t},j)}else{let t=p?.(s)?x.createElement(`img`,{src:s.thumbUrl||s.url,alt:s.name,className:`${e}-list-item-image`,crossOrigin:s.crossOrigin}):j,n=J(`${e}-list-item-thumbnail`,{[`${e}-list-item-file`]:p&&!p(s)});M=x.createElement(`a`,{className:n,onClick:e=>S(s,e),href:s.url||s.thumbUrl,target:`_blank`,rel:`noopener noreferrer`},t)}let N=J(`${e}-list-item`,`${e}-list-item-${D}`,r?.item),P=typeof s.linkProps==`string`?JSON.parse(s.linkProps):s.linkProps,F=(typeof h==`function`?h(s):h)?d((typeof v==`function`?v(s):v)||x.createElement(kZ,null),()=>w(s),e,a.removeFile,!0):null,I=(typeof g==`function`?g(s):g)&&D===`done`?d((typeof y==`function`?y(s):y)||x.createElement(m$,null),()=>C(s),e,a.downloadFile):null,L=o!==`picture-card`&&o!==`picture-circle`&&x.createElement(`span`,{key:`download-delete`,className:J(`${e}-list-item-actions`,{picture:o===`picture`})},I,F),R=typeof b==`function`?b(s):b,z=R&&x.createElement(`span`,{className:`${e}-list-item-extra`},R),B=J(`${e}-list-item-name`),V=s.url?x.createElement(`a`,{key:`view`,target:`_blank`,rel:`noopener noreferrer`,className:B,title:s.name,...P,href:s.url,onClick:e=>S(s,e)},s.name,z):x.createElement(`span`,{key:`view`,className:B,onClick:e=>S(s,e),title:s.name},s.name,z),H=(typeof m==`function`?m(s):m)&&(s.url||s.thumbUrl)?x.createElement(`a`,{href:s.url||s.thumbUrl,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>S(s,e),title:a.previewFile},typeof _==`function`?_(s):_||x.createElement(xU,null)):null,U=(o===`picture-card`||o===`picture-circle`)&&D!==`uploading`&&x.createElement(`span`,{className:`${e}-list-item-actions`},H,D===`done`&&I,F),{getPrefixCls:W}=x.useContext(ii),ee=W(),te=x.createElement(`div`,{className:N,style:i?.item},M,V,L,U,k&&x.createElement(Nu,{motionName:`${ee}-fade`,visible:D===`uploading`,motionDeadline:2e3},({className:t})=>{let n=`percent`in s?x.createElement(ZG,{type:`line`,percent:s.percent,"aria-label":s[`aria-label`],"aria-labelledby":s[`aria-labelledby`],...l}):null;return x.createElement(`div`,{className:J(`${e}-list-item-progress`,t)},n)})),ne=s.response&&typeof s.response==`string`?s.response:s.error?.statusText||s.error?.message||a.uploadError,re=D===`error`?x.createElement(Bw,{title:ne,getPopupContainer:e=>e.parentNode},te):te;return x.createElement(`div`,{className:J(`${e}-list-item-container`,t),style:n,ref:T},f?f(re,s,c,{download:C.bind(null,s),preview:S.bind(null,s),remove:w.bind(null,s)}):re)}),g$=x.forwardRef((e,t)=>{let{listType:n=`text`,previewFile:r=d$,onPreview:i,onDownload:a,onRemove:o,locale:s,iconRender:c,isImageUrl:l=l$,prefixCls:u,items:d=[],showPreviewIcon:f=!0,showRemoveIcon:p=!0,showDownloadIcon:m=!1,removeIcon:h,previewIcon:g,downloadIcon:_,extra:v,progress:y={size:[-1,2],showInfo:!1},appendAction:b,appendActionVisible:S=!0,itemRender:C,disabled:w,classNames:T,styles:E}=e,[,D]=Cd(),[O,k]=x.useState(!1),A=[`picture-card`,`picture-circle`].includes(n);x.useEffect(()=>{n.startsWith(`picture`)&&(d||[]).forEach(e=>{!(e.originFileObj instanceof File||e.originFileObj instanceof Blob)||e.thumbUrl!==void 0||(e.thumbUrl=``,r?.(e.originFileObj).then(t=>{e.thumbUrl=t||``,D()}))})},[n,d,r]),x.useEffect(()=>{k(!0)},[]);let j=(e,t)=>{if(i)return t?.preventDefault(),i(e)},M=e=>{typeof a==`function`?a(e):e.url&&window.open(e.url)},N=e=>{o?.(e)},P=e=>{if(c)return c(e,n);let t=e.status===`uploading`;if(n.startsWith(`picture`)){let r=n===`picture`?x.createElement(um,null):s.uploading,i=l?.(e)?x.createElement(n$,null):x.createElement(XQ,null);return t?r:i}return t?x.createElement(um,null):x.createElement($Q,null)},F=(e,t,n,r,i)=>{let a={type:`text`,size:`small`,title:r,onClick:n=>{t(),x.isValidElement(e)&&e.props.onClick?.(n)},className:`${n}-list-item-action`,disabled:i?w:!1};return x.isValidElement(e)?x.createElement(Mg,{...a,icon:bp(e,{...e.props,onClick:()=>{}})}):x.createElement(Mg,{...a},x.createElement(`span`,null,e))};x.useImperativeHandle(t,()=>({handlePreview:j,handleDownload:M}));let{getPrefixCls:I}=x.useContext(ii),L=I(`upload`,u),R=I(),z=J(`${L}-list`,`${L}-list-${n}`,T?.list),B=x.useMemo(()=>br(Fm(R),[`onAppearEnd`,`onEnterEnd`,`onLeaveEnd`]),[R]),V={...A?{}:B,motionDeadline:2e3,motionName:`${L}-${A?`animate-inline`:`animate`}`,keys:Yr(d.map(e=>({key:e.uid,file:e}))),motionAppear:O};return x.createElement(`div`,{className:z,style:E?.list},x.createElement(Mu,{...V,component:!1},({key:e,file:t,className:r,style:i})=>x.createElement(h$,{key:e,locale:s,prefixCls:L,className:r,style:i,classNames:T,styles:E,file:t,items:d,progress:y,listType:n,isImgUrl:l,showPreviewIcon:f,showRemoveIcon:p,showDownloadIcon:m,removeIcon:h,previewIcon:g,downloadIcon:_,extra:v,iconRender:P,actionIconRender:F,itemRender:C,onPreview:j,onDownload:M,onClose:N})),b&&x.createElement(Nu,{...V,visible:S,forceRender:!0},({className:e,style:t})=>bp(b,n=>({className:J(n.className,e),style:{...t,pointerEvents:e?`none`:void 0,...n.style}}))))}),_$=`__LIST_IGNORE_${Date.now()}__`,v$=x.forwardRef((e,t)=>{let n=si(`upload`),{fileList:r,defaultFileList:i,onRemove:a,showUploadList:o=!0,listType:s=`text`,onPreview:c,onDownload:l,onChange:u,onDrop:d,previewFile:f,disabled:p,locale:m,iconRender:h,isImageUrl:g,progress:_,prefixCls:v,className:y,type:b=`select`,children:S,style:C,itemRender:w,maxCount:T,data:E={},multiple:D=!1,hasControlInside:O=!0,action:k=``,accept:A=``,supportServerRender:j=!0,rootClassName:M,styles:N,classNames:P}=e,F=x.useContext(Tp),I=p??F,L=e.customRequest||n.customRequest,[R,z]=Bn(i,r),B=R||[],[V,H]=x.useState(`drop`),U=x.useRef(null),W=x.useRef(null);x.useMemo(()=>{let e=Date.now();(r||[]).forEach((t,n)=>{!t.uid&&!Object.isFrozen(t)&&(t.uid=`__AUTO__${e}_${n}__`)})},[r]);let ee=(e,t,n)=>{let r=Yr(t),i=!1;T===1?r=r.slice(-1):T&&(i=r.length>T,r=r.slice(0,T)),(0,Pf.flushSync)(()=>{z(r)});let a={file:e,fileList:r};n&&(a.event=n),(!i||e.status===`removed`||r.some(t=>t.uid===e.uid))&&(0,Pf.flushSync)(()=>{u?.(a)})},te=async(t,n)=>{let{beforeUpload:r}=e,i=t;if(r){let e=await r(t,n);if(e===!1)return!1;if(delete t[_$],e===_$)return Object.defineProperty(t,_$,{value:!0,configurable:!0}),!1;fd(e)&&(i=e)}return i},ne=e=>{let t=e.filter(e=>!e.file[_$]);if(!t.length)return;let n=t.map(e=>r$(e.file)),r=Yr(B);n.forEach(e=>{r=i$(e,r)}),n.forEach((e,n)=>{let i=e;if(t[n].parsedFile)e.status=`uploading`;else{let{originFileObj:t}=e,n;try{n=new File([t],t.name,{type:t.type})}catch{n=new Blob([t],{type:t.type}),n.name=t.name,n.lastModifiedDate=new Date,n.lastModified=new Date().getTime()}n.uid=e.uid,i=n}ee(i,r)})},re=(e,t,n)=>{try{typeof e==`string`&&(e=JSON.parse(e))}catch{}if(!a$(t,B))return;let r=r$(t);r.status=`done`,r.percent=100,r.response=e,r.xhr=n,ee(r,i$(r,B))},G=(e,t)=>{if(!a$(t,B))return;let n=r$(t);n.status=`uploading`,n.percent=e.percent,ee(n,i$(n,B),e)},ie=(e,t,n)=>{if(!a$(n,B))return;let r=r$(n);r.error=e,r.response=t,r.status=`error`,ee(r,i$(r,B))},K=e=>{let t;Promise.resolve(typeof a==`function`?a(e):a).then(n=>{if(n===!1)return;let r=o$(e,B);r&&(t={...e,status:`removed`},B?.forEach(e=>{let n=t.uid===void 0?`name`:`uid`;e[n]===t[n]&&!Object.isFrozen(e)&&(e.status=`removed`)}),U.current?.abort(t),ee(t,r))})},ae=e=>{H(e.type),e.type===`drop`&&d?.(e)};x.useImperativeHandle(t,()=>({onBatchStart:ne,onSuccess:re,onProgress:G,onError:ie,fileList:B,upload:U.current,nativeElement:W.current}));let{getPrefixCls:q,direction:oe,className:se,style:ce,classNames:le,styles:ue}=si(`upload`),de=q(`upload`,v),fe={...e,listType:s,showUploadList:o,type:b,multiple:D,hasControlInside:O,supportServerRender:j,disabled:I},[pe,me]=Md([le,P],[ue,N],{props:fe}),he={onBatchStart:ne,onError:ie,onProgress:G,onSuccess:re,...e,customRequest:L,data:E,multiple:D,action:k,accept:A,supportServerRender:j,prefixCls:de,disabled:I,beforeUpload:te,onChange:void 0,hasControlInside:O};delete he.className,delete he.style,(!S||I)&&delete he.id;let ge=`${de}-wrapper`,[_e,ve]=qQ(de,ge),[ye]=ad(`Upload`,Qu.Upload),{showRemoveIcon:be,showPreviewIcon:xe,showDownloadIcon:Se,removeIcon:Ce,previewIcon:we,downloadIcon:Te,extra:Ee}=typeof o==`boolean`?{}:o,De=be===void 0?!I:be,Oe=(e,t)=>o?x.createElement(g$,{classNames:pe,styles:me,prefixCls:de,listType:s,items:B,previewFile:f,onPreview:c,onDownload:l,onRemove:K,showRemoveIcon:De,showPreviewIcon:xe,showDownloadIcon:Se,removeIcon:Ce,previewIcon:we,downloadIcon:Te,iconRender:h,extra:Ee,locale:{...ye,...m},isImageUrl:g,progress:_,appendAction:e,appendActionVisible:t,itemRender:w,disabled:I}):e,ke=J(ge,y,M,_e,ve,se,pe.root,{[`${de}-rtl`]:oe===`rtl`,[`${de}-picture-card-wrapper`]:s===`picture-card`,[`${de}-picture-circle-wrapper`]:s===`picture-circle`}),Ae={...me.root},je={...ce,...C};if(b===`drag`){let e=J(_e,de,`${de}-drag`,{[`${de}-drag-uploading`]:B.some(e=>e.status===`uploading`),[`${de}-drag-hover`]:V===`dragover`,[`${de}-disabled`]:I,[`${de}-rtl`]:oe===`rtl`},pe.trigger);return x.createElement(`span`,{className:ke,ref:W,style:Ae},x.createElement(`div`,{className:e,style:{...je,...me.trigger},onDrop:ae,onDragOver:ae,onDragLeave:ae},x.createElement(zQ,{...he,ref:U,className:`${de}-btn`},x.createElement(`div`,{className:`${de}-drag-container`},S))),Oe())}let Me=J(de,`${de}-select`,{[`${de}-disabled`]:I,[`${de}-hidden`]:!S},pe.trigger),Ne=x.createElement(`div`,{className:Me,style:{...je,...me.trigger}},x.createElement(zQ,{...he,ref:U}));return s===`picture-card`||s===`picture-circle`?x.createElement(`span`,{className:ke,ref:W,style:Ae},Oe(Ne,!!S)):x.createElement(`span`,{className:ke,ref:W,style:Ae},Ne,Oe())}),y$=x.forwardRef((e,t)=>{let{style:n,height:r,hasControlInside:i=!1,children:a,...o}=e,s={...n,height:r};return x.createElement(v$,{ref:t,hasControlInside:i,...o,style:s,type:`drag`},a)}),b$=v$;b$.Dragger=y$,b$.LIST_IGNORE=_$;var x$=o(((e,t)=>{function n(e){return e&&e.__esModule?e:{default:e}}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports})),S$=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default={items_per_page:`条/页`,jump_to:`跳至`,jump_to_confirm:`确定`,page:`页`,prev_page:`上一页`,next_page:`下一页`,prev_5:`向前 5 页`,next_5:`向后 5 页`,prev_3:`向前 3 页`,next_3:`向后 3 页`,page_size:`页码`}})),C$=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.commonLocale=void 0,e.commonLocale={yearFormat:`YYYY`,dayFormat:`D`,cellMeridiemFormat:`A`,monthBeforeYear:!0}})),w$=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var t=C$();function n(e){"@babel/helpers - typeof";return n=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},n(e)}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default={placeholder:`请选择时间`,rangePlaceholder:[`开始时间`,`结束时间`]}})),E$=o((e=>{var t=x$().default;Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=t(w$()),r=t(T$()),i={lang:{placeholder:`请选择日期`,yearPlaceholder:`请选择年份`,quarterPlaceholder:`请选择季度`,monthPlaceholder:`请选择月份`,weekPlaceholder:`请选择周`,rangePlaceholder:[`开始日期`,`结束日期`],rangeYearPlaceholder:[`开始年份`,`结束年份`],rangeMonthPlaceholder:[`开始月份`,`结束月份`],rangeQuarterPlaceholder:[`开始季度`,`结束季度`],rangeWeekPlaceholder:[`开始周`,`结束周`],...n.default},timePickerLocale:{...r.default}};i.lang.ok=`确定`,e.default=i})),D$=o((e=>{var t=x$().default;Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default=t(E$()).default})),O$=o((e=>{var t=x$().default;Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=t(S$()),r=t(D$()),i=t(E$()),a=t(T$()),o="${label}不是一个有效的${type}";e.default={locale:`zh-cn`,Pagination:n.default,DatePicker:i.default,TimePicker:a.default,Calendar:r.default,global:{placeholder:`请选择`,close:`关闭`,sortable:`可排序`},Table:{filterTitle:`筛选`,filterConfirm:`确定`,filterReset:`重置`,filterEmptyText:`无筛选项`,filterCheckAll:`全选`,filterSearchPlaceholder:`在筛选项中搜索`,emptyText:`暂无数据`,selectAll:`全选当页`,selectInvert:`反选当页`,selectNone:`清空所有`,selectionAll:`全选所有`,sortTitle:`排序`,expand:`展开行`,collapse:`关闭行`,triggerDesc:`点击降序`,triggerAsc:`点击升序`,cancelSort:`取消排序`},Modal:{okText:`确定`,cancelText:`取消`,justOkText:`知道了`},Tour:{Next:`下一步`,Previous:`上一步`,Finish:`结束导览`},Popconfirm:{cancelText:`取消`,okText:`确定`},Transfer:{titles:[``,``],searchPlaceholder:`请输入搜索内容`,itemUnit:`项`,itemsUnit:`项`,remove:`删除`,selectCurrent:`全选当页`,removeCurrent:`删除当页`,selectAll:`全选所有`,deselectAll:`取消全选`,removeAll:`删除全部`,selectInvert:`反选当页`},Upload:{uploading:`文件上传中`,removeFile:`删除文件`,uploadError:`上传错误`,previewFile:`预览文件`,downloadFile:`下载文件`},Empty:{description:`暂无数据`},Icon:{icon:`图标`},Text:{edit:`编辑`,copy:`复制`,copied:`复制成功`,expand:`展开`,collapse:`收起`},Form:{optional:`(可选)`,defaultValidateMessages:{default:"字段验证错误${label}",required:"请输入${label}",enum:"${label}必须是其中一个[${enum}]",whitespace:"${label}不能为空字符",date:{format:"${label}日期格式无效",parse:"${label}不能转换为日期",invalid:"${label}是一个无效日期"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"${label}须为${len}个字符",min:"${label}最少${min}个字符",max:"${label}最多${max}个字符",range:"${label}须在${min}-${max}字符之间"},number:{len:"${label}必须等于${len}",min:"${label}最小值为${min}",max:"${label}最大值为${max}",range:"${label}须在${min}-${max}之间"},array:{len:"须为${len}个${label}",min:"最少${min}个${label}",max:"最多${max}个${label}",range:"${label}数量须在${min}-${max}之间"},pattern:{mismatch:"${label}与模式不匹配${pattern}"}}},QRCode:{expired:`二维码过期`,refresh:`点击刷新`,scanned:`已扫描`},ColorPicker:{presetEmpty:`暂无`,transparent:`无色`,singleColor:`单色`,gradientColor:`渐变色`}}})),k$=o(((e,t)=>{t.exports=O$()})),A$={icon:{tag:`svg`,attrs:{"fill-rule":`evenodd`,viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64c247.42 0 448 200.58 448 448S759.42 960 512 960 64 759.42 64 512 264.58 64 512 64m32.5 168c-69.67 0-86.06 16.84-86.72 39.08l-.02 1.43v46.62H291.45c-9.92 0-14.28 23.05-14.27 39.3 0 2.7 2.08 4.93 4.77 4.93h175.81v58.3h-116.5c-9.96 0-14.3 23.76-14.27 39.47a4.77 4.77 0 004.77 4.76h233.45c-4.53 41.06-15.43 77.59-30.72 109.32l-1.22 2.5-.32-.28c-60.24-28.47-120.43-52.57-194.4-52.57l-2.62.01c-84.98 1.11-144.71 56.5-145.91 127.04l-.02 1.22.02 2.13c1.24 70.4 63.56 126.45 148.52 126.45 61.25 0 116.38-16.85 163.46-45.02a138.58 138.58 0 0014.07-7.96 345.6 345.6 0 0050.3-41.16l9.45 6.35 12.46 8.32c57.53 38.26 113.76 72.62 169.86 79.27a142.62 142.62 0 0018.31 1.16c43.02 0 55-52.68 57.39-95.51l.14-2.84c.4-8.46-6.2-15.6-14.65-15.86-75.46-2.37-136.45-22.05-192-46.11l-6.27-2.75c35.15-56.8 56.66-121.81 57.15-186.66l.09-1.08c.4-5.51-4-10.2-9.52-10.2H549.33v-58.3h165.73c9.92 0 14.28-22.12 14.27-39.31a4.85 4.85 0 00-4.78-4.92H549.32v-82.35a4.8 4.8 0 00-4.83-4.78M328 583.85c54.63 0 107.08 22.41 158.1 52.19l5.76 3.4c-103.57 119.84-247.17 95.9-261.72 26.37a66.89 66.89 0 01-1.14-9.83l-.06-2.34.02-.9c.97-40.12 45.33-68.9 99.04-68.9`}}]},name:`alipay-circle`,theme:`outlined`};function j$(){return j$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,j$({},e,{ref:t,icon:A$}))),N$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z`}}]},name:`api`,theme:`outlined`};function P$(){return P$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,P$({},e,{ref:t,icon:N$}))),I$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z`}}]},name:`appstore`,theme:`outlined`};function L$(){return L$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,L$({},e,{ref:t,icon:I$}))),z$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M862 465.3h-81c-4.6 0-9 2-12.1 5.5L550 723.1V160c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v563.1L255.1 470.8c-3-3.5-7.4-5.5-12.1-5.5h-81c-6.8 0-10.5 8.1-6 13.2L487.9 861a31.96 31.96 0 0048.3 0L868 478.5c4.5-5.2.8-13.2-6-13.2z`}}]},name:`arrow-down`,theme:`outlined`};function B$(){return B$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,B$({},e,{ref:t,icon:z$}))),H$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M868 545.5L536.1 163a31.96 31.96 0 00-48.3 0L156 545.5a7.97 7.97 0 006 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z`}}]},name:`arrow-up`,theme:`outlined`};function U$(){return U$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,U$({},e,{ref:t,icon:H$}))),G$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M842 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1zM512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm-94-392c0-50.6 41.9-92 94-92s94 41.4 94 92v224c0 50.6-41.9 92-94 92s-94-41.4-94-92V232z`}}]},name:`audio`,theme:`outlined`};function K$(){return K$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,K$({},e,{ref:t,icon:G$}))),J$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 00-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM512 196.7l271.1 197.2H240.9L512 196.7zM264 462h117v374H264V462zm189 0h117v374H453V462zm307 374H642V462h118v374z`}}]},name:`bank`,theme:`outlined`};function Y$(){return Y$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Y$({},e,{ref:t,icon:J$}))),Z$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-600-80h56c4.4 0 8-3.6 8-8V560c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V384c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v320c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V462c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v242c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v400c0 4.4 3.6 8 8 8z`}}]},name:`bar-chart`,theme:`outlined`};function Q$(){return Q$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Q$({},e,{ref:t,icon:Z$}))),e1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M816 768h-24V428c0-141.1-104.3-257.7-240-277.1V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.9c-135.7 19.4-240 136-240 277.1v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48zM304 768V428c0-55.6 21.6-107.8 60.9-147.1S456.4 220 512 220c55.6 0 107.8 21.6 147.1 60.9S720 372.4 720 428v340H304z`}}]},name:`bell`,theme:`outlined`};function t1(){return t1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,t1({},e,{ref:t,icon:e1}))),r1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-260 72h96v209.9L621.5 312 572 347.4V136zm220 752H232V136h280v296.9c0 3.3 1 6.6 3 9.3a15.9 15.9 0 0022.3 3.7l83.8-59.9 81.4 59.4c2.7 2 6 3.1 9.4 3.1 8.8 0 16-7.2 16-16V136h64v752z`}}]},name:`book`,theme:`outlined`};function i1(){return i1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,i1({},e,{ref:t,icon:r1}))),o1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zm-504 68h200v200H412V278zm-68 468H144V546h200v200zm268 0H412V546h200v200zm268-268H680V278h200v200z`}}]},name:`build`,theme:`outlined`};function s1(){return s1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,s1({},e,{ref:t,icon:o1}))),l1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z`}}]},name:`bulb`,theme:`outlined`};function u1(){return u1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,u1({},e,{ref:t,icon:l1}))),f1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M251.2 387H320v68.8c0 1.8 1.8 3.2 4 3.2h48c2.2 0 4-1.4 4-3.3V387h68.8c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H376v-68.8c0-1.8-1.8-3.2-4-3.2h-48c-2.2 0-4 1.4-4 3.2V331h-68.8c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm328 0h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 265h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 104h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm-195.7-81l61.2-74.9c4.3-5.2.7-13.1-5.9-13.1H388c-2.3 0-4.5 1-5.9 2.9l-34 41.6-34-41.6a7.85 7.85 0 00-5.9-2.9h-50.9c-6.6 0-10.2 7.9-5.9 13.1l61.2 74.9-62.7 76.8c-4.4 5.2-.8 13.1 5.8 13.1h50.8c2.3 0 4.5-1 5.9-2.9l35.5-43.5 35.5 43.5c1.5 1.8 3.7 2.9 5.9 2.9h50.8c6.6 0 10.2-7.9 5.9-13.1L383.5 675zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-36 732H180V180h664v664z`}}]},name:`calculator`,theme:`outlined`};function p1(){return p1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,p1({},e,{ref:t,icon:f1}))),h1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M864 248H728l-32.4-90.8a32.07 32.07 0 00-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456zM512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z`}}]},name:`camera`,theme:`outlined`};function g1(){return g1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,g1({},e,{ref:t,icon:h1}))),v1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M380 704h264c4.4 0 8-3.6 8-8v-84c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v36H428v-36c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v84c0 4.4 3.6 8 8 8zm340-123a40 40 0 1080 0 40 40 0 10-80 0zm239-167.6L935.3 372a8 8 0 00-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 00-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 00-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 003-10.8zM840 517v237H184V517l15.6-43h624.8l15.6 43zM292.7 218.1l.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220l72.7-199.9zM224 581a40 40 0 1080 0 40 40 0 10-80 0z`}}]},name:`car`,theme:`outlined`};function y1(){return y1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,y1({},e,{ref:t,icon:v1}))),x1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z`}},{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z`}}]},name:`check-circle`,theme:`outlined`};function S1(){return S1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,S1({},e,{ref:t,icon:x1}))),w1={icon:{tag:`svg`,attrs:{"fill-rule":`evenodd`,viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z`}}]},name:`close-circle`,theme:`outlined`};function T1(){return T1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,T1({},e,{ref:t,icon:w1}))),D1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 01-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 01140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0166.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z`}}]},name:`cloud`,theme:`outlined`};function O1(){return O1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,O1({},e,{ref:t,icon:D1}))),A1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M704 446H320c-4.4 0-8 3.6-8 8v402c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8V454c0-4.4-3.6-8-8-8zm-328 64h272v117H376V510zm272 290H376V683h272v117z`}},{tag:`path`,attrs:{d:`M424 748a32 32 0 1064 0 32 32 0 10-64 0zm0-178a32 32 0 1064 0 32 32 0 10-64 0z`}},{tag:`path`,attrs:{d:`M811.4 368.9C765.6 248 648.9 162 512.2 162S258.8 247.9 213 368.8C126.9 391.5 63.5 470.2 64 563.6 64.6 668 145.6 752.9 247.6 762c4.7.4 8.7-3.3 8.7-8v-60.4c0-4-3-7.4-7-7.9-27-3.4-52.5-15.2-72.1-34.5-24-23.5-37.2-55.1-37.2-88.6 0-28 9.1-54.4 26.2-76.4 16.7-21.4 40.2-36.9 66.1-43.7l37.9-10 13.9-36.7c8.6-22.8 20.6-44.2 35.7-63.5 14.9-19.2 32.6-36 52.4-50 41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.3c19.9 14 37.5 30.8 52.4 50 15.1 19.3 27.1 40.7 35.7 63.5l13.8 36.6 37.8 10c54.2 14.4 92.1 63.7 92.1 120 0 33.6-13.2 65.1-37.2 88.6-19.5 19.2-44.9 31.1-71.9 34.5-4 .5-6.9 3.9-6.9 7.9V754c0 4.7 4.1 8.4 8.8 8 101.7-9.2 182.5-94 183.2-198.2.6-93.4-62.7-172.1-148.6-194.9z`}}]},name:`cloud-server`,theme:`outlined`};function j1(){return j1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,j1({},e,{ref:t,icon:A1}))),N1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48zm-194.9 6.1l192-161c3.8-3.2 3.8-9.1 0-12.3l-192-160.9A7.95 7.95 0 00308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 00-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z`}}]},name:`code`,theme:`outlined`};function P1(){return P1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,P1({},e,{ref:t,icon:N1}))),I1={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M275 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm613 144H768c0-39.8-32.2-72-72-72H200c-39.8 0-72 32.2-72 72v248c0 3.4.2 6.7.7 9.9-.5 7-.7 14-.7 21.1 0 176.7 143.3 320 320 320 160.1 0 292.7-117.5 316.3-271H888c39.8 0 72-32.2 72-72V497c0-39.8-32.2-72-72-72zM696 681h-1.1c.7 7.6 1.1 15.2 1.1 23 0 137-111 248-248 248S200 841 200 704c0-7.8.4-15.4 1.1-23H200V425h496v256zm192-8H776V497h112v176zM613 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm-170 0c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36z`}}]},name:`coffee`,theme:`outlined`};function L1(){return L1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,L1({},e,{ref:t,icon:I1}))),z1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm198.4-588.1a32 32 0 00-24.5.5L414.9 415 296.4 686c-3.6 8.2-3.6 17.5 0 25.7 3.4 7.8 9.7 13.9 17.7 17 3.8 1.5 7.7 2.2 11.7 2.2 4.4 0 8.7-.9 12.8-2.7l271-118.6 118.5-271a32.06 32.06 0 00-17.7-42.7zM576.8 534.4l26.2 26.2-42.4 42.4-26.2-26.2L380 644.4 447.5 490 422 464.4l42.4-42.4 25.5 25.5L644.4 380l-67.6 154.4zM464.4 422L422 464.4l25.5 25.6 86.9 86.8 26.2 26.2 42.4-42.4-26.2-26.2-86.8-86.9z`}}]},name:`compass`,theme:`outlined`};function B1(){return B1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,B1({},e,{ref:t,icon:z1}))),H1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 00-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zm-126 534.1H250.3l-53.8-409.4 139.8 86.1L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4zM512 509c-62.1 0-112.6 50.5-112.6 112.6S449.9 734.2 512 734.2s112.6-50.5 112.6-112.6S574.1 509 512 509zm0 160.9c-26.6 0-48.2-21.6-48.2-48.3 0-26.6 21.6-48.3 48.2-48.3s48.2 21.6 48.2 48.3c0 26.6-21.6 48.3-48.2 48.3z`}}]},name:`crown`,theme:`outlined`};function U1(){return U1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,U1({},e,{ref:t,icon:H1}))),G1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M924.8 385.6a446.7 446.7 0 00-96-142.4 446.7 446.7 0 00-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 00-142.4 96 446.7 446.7 0 00-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM761.4 836H262.6A371.12 371.12 0 01140 560c0-99.4 38.7-192.8 109-263 70.3-70.3 163.7-109 263-109 99.4 0 192.8 38.7 263 109 70.3 70.3 109 163.7 109 263 0 105.6-44.5 205.5-122.6 276zM623.5 421.5a8.03 8.03 0 00-11.3 0L527.7 506c-18.7-5-39.4-.2-54.1 14.5a55.95 55.95 0 000 79.2 55.95 55.95 0 0079.2 0 55.87 55.87 0 0014.5-54.1l84.5-84.5c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3zM490 320h44c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8h-44c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8zm260 218v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8zm12.7-197.2l-31.1-31.1a8.03 8.03 0 00-11.3 0l-56.6 56.6a8.03 8.03 0 000 11.3l31.1 31.1c3.1 3.1 8.2 3.1 11.3 0l56.6-56.6c3.1-3.1 3.1-8.2 0-11.3zm-458.6-31.1a8.03 8.03 0 00-11.3 0l-31.1 31.1a8.03 8.03 0 000 11.3l56.6 56.6c3.1 3.1 8.2 3.1 11.3 0l31.1-31.1c3.1-3.1 3.1-8.2 0-11.3l-56.6-56.6zM262 530h-80c-4.4 0-8 3.6-8 8v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8z`}}]},name:`dashboard`,theme:`outlined`};function K1(){return K1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,K1({},e,{ref:t,icon:G1}))),J1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0z`}}]},name:`database`,theme:`outlined`};function Y1(){return Y1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Y1({},e,{ref:t,icon:J1}))),Z1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm47.7-395.2l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z`}}]},name:`dollar`,theme:`outlined`};function Q1(){return Q1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Q1({},e,{ref:t,icon:Z1}))),e0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z`}},{tag:`path`,attrs:{d:`M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z`}}]},name:`exclamation-circle`,theme:`outlined`};function t0(){return t0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,t0({},e,{ref:t,icon:e0}))),r0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 472a40 40 0 1080 0 40 40 0 10-80 0zm367 352.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 01-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.7-107.8c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1L813.5 844h-603z`}}]},name:`experiment`,theme:`outlined`};function i0(){return i0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,i0({},e,{ref:t,icon:r0}))),o0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 00-12.6 0l-99.8 127.2a7.98 7.98 0 006.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 00-12.7 0zM360 442a40 40 0 1080 0 40 40 0 10-80 0zm494.6-153.4L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z`}}]},name:`file-image`,theme:`outlined`};function s0(){return s0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,s0({},e,{ref:t,icon:o0}))),l0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M531.3 574.4l.3-1.4c5.8-23.9 13.1-53.7 7.4-80.7-3.8-21.3-19.5-29.6-32.9-30.2-15.8-.7-29.9 8.3-33.4 21.4-6.6 24-.7 56.8 10.1 98.6-13.6 32.4-35.3 79.5-51.2 107.5-29.6 15.3-69.3 38.9-75.2 68.7-1.2 5.5.2 12.5 3.5 18.8 3.7 7 9.6 12.4 16.5 15 3 1.1 6.6 2 10.8 2 17.6 0 46.1-14.2 84.1-79.4 5.8-1.9 11.8-3.9 17.6-5.9 27.2-9.2 55.4-18.8 80.9-23.1 28.2 15.1 60.3 24.8 82.1 24.8 21.6 0 30.1-12.8 33.3-20.5 5.6-13.5 2.9-30.5-6.2-39.6-13.2-13-45.3-16.4-95.3-10.2-24.6-15-40.7-35.4-52.4-65.8zM421.6 726.3c-13.9 20.2-24.4 30.3-30.1 34.7 6.7-12.3 19.8-25.3 30.1-34.7zm87.6-235.5c5.2 8.9 4.5 35.8.5 49.4-4.9-19.9-5.6-48.1-2.7-51.4.8.1 1.5.7 2.2 2zm-1.6 120.5c10.7 18.5 24.2 34.4 39.1 46.2-21.6 4.9-41.3 13-58.9 20.2-4.2 1.7-8.3 3.4-12.3 5 13.3-24.1 24.4-51.4 32.1-71.4zm155.6 65.5c.1.2.2.5-.4.9h-.2l-.2.3c-.8.5-9 5.3-44.3-8.6 40.6-1.9 45 7.3 45.1 7.4zm191.4-388.2L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z`}}]},name:`file-pdf`,theme:`outlined`};function u0(){return u0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,u0({},e,{ref:t,icon:l0}))),f0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M834.1 469.2A347.49 347.49 0 00751.2 354l-29.1-26.7a8.09 8.09 0 00-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 01-47.5 46.1 352.6 352.6 0 00-100.3 121.5A347.75 347.75 0 00160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0075.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 00760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0027.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0058.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0012.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0024.4 59.8 73.36 73.36 0 0053.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z`}}]},name:`fire`,theme:`outlined`};function p0(){return p0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,p0({},e,{ref:t,icon:f0}))),h0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32zM184 568V232h368v336H184zm656 145H504v-73h112c4.4 0 8-3.6 8-8V377h216v336z`}}]},name:`flag`,theme:`outlined`};function g0(){return g0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,g0({},e,{ref:t,icon:h0}))),v0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M920 416H616c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h60v320h-46c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h164c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-46V480h60v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V424c0-4.4-3.6-8-8-8zM656 296V168c0-4.4-3.6-8-8-8H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8z`}}]},name:`font-size`,theme:`outlined`};function y0(){return y0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,y0({},e,{ref:t,icon:v0}))),x0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M880 310H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v200c0 4.4 3.6 8 8 8h40v344c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V550h40c4.4 0 8-3.6 8-8V342c0-17.7-14.3-32-32-32zm-334-74c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70h-70v-70zm-138-70c38.6 0 70 31.4 70 70v70h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70zM180 482V378h298v104H180zm48 68h250v308H228V550zm568 308H546V550h250v308zm48-376H546V378h298v104z`}}]},name:`gift`,theme:`outlined`};function S0(){return S0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,S0({},e,{ref:t,icon:x0}))),w0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0010-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 003.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 00-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 01887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 01-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 01115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 01540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 00540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 01-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 00-81.5 55.9A373.86 373.86 0 01137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 01-107.6 69.2z`}}]},name:`global`,theme:`outlined`};function T0(){return T0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,T0({},e,{ref:t,icon:w0}))),D0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M923 283.6a260.04 260.04 0 00-56.9-82.8 264.4 264.4 0 00-84-55.5A265.34 265.34 0 00679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 00-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z`}}]},name:`heart`,theme:`outlined`};function O0(){return O0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,O0({},e,{ref:t,icon:D0}))),A0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M957.6 507.4L603.2 158.2a7.9 7.9 0 00-11.2 0L353.3 393.4a8.03 8.03 0 00-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 00-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6 40.4 39.8a7.9 7.9 0 0011.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0011.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2zM389.8 796.2H229.6l134.4-133 80.1 78.9-54.3 54.1zm154.8-62.1L373.2 565.2l68.6-67.6 171.4 168.9-68.6 67.6zM713.1 658L450.3 399.1 597.6 254l262.8 259-147.3 145z`}}]},name:`highlight`,theme:`outlined`};function j0(){return j0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,j0({},e,{ref:t,icon:A0}))),N0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M536.1 273H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.3 120.7c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.7-3.7 1.9-8.7-1.7-11.2L544.1 528.5V281c0-4.4-3.6-8-8-8zm219.8 75.2l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3L752.9 334.1a8 8 0 003 14.1zm167.7 301.1l-56.7-19.5a8 8 0 00-10.1 4.8c-1.9 5.1-3.9 10.1-6 15.1-17.8 42.1-43.3 80-75.9 112.5a353 353 0 01-112.5 75.9 352.18 352.18 0 01-137.7 27.8c-47.8 0-94.1-9.3-137.7-27.8a353 353 0 01-112.5-75.9c-32.5-32.5-58-70.4-75.9-112.5A353.44 353.44 0 01171 512c0-47.8 9.3-94.2 27.8-137.8 17.8-42.1 43.3-80 75.9-112.5a353 353 0 01112.5-75.9C430.6 167.3 477 158 524.8 158s94.1 9.3 137.7 27.8A353 353 0 01775 261.7c10.2 10.3 19.8 21 28.6 32.3l59.8-46.8C784.7 146.6 662.2 81.9 524.6 82 285 82.1 92.6 276.7 95 516.4 97.4 751.9 288.9 942 524.8 942c185.5 0 343.5-117.6 403.7-282.3 1.5-4.2-.7-8.9-4.9-10.4z`}}]},name:`history`,theme:`outlined`};function P0(){return P0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,P0({},e,{ref:t,icon:N0}))),I0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M946.5 505L560.1 118.8l-25.9-25.9a31.5 31.5 0 00-44.4 0L77.5 505a63.9 63.9 0 00-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0018.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z`}}]},name:`home`,theme:`outlined`};function L0(){return L0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,L0({},e,{ref:t,icon:I0}))),z0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560zM610.3 476h123.4c1.3 0 2.3-3.6 2.3-8v-48c0-4.4-1-8-2.3-8H610.3c-1.3 0-2.3 3.6-2.3 8v48c0 4.4 1 8 2.3 8zm4.8 144h185.7c3.9 0 7.1-3.6 7.1-8v-48c0-4.4-3.2-8-7.1-8H615.1c-3.9 0-7.1 3.6-7.1 8v48c0 4.4 3.2 8 7.1 8zM224 673h43.9c4.2 0 7.6-3.3 7.9-7.5 3.8-50.5 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H522a8 8 0 008-8.4c-2.8-53.3-32-99.7-74.6-126.1a111.8 111.8 0 0029.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 00-74.6 126.1c-.4 4.6 3.2 8.4 7.8 8.4zm149-262c28.5 0 51.7 23.3 51.7 52s-23.2 52-51.7 52-51.7-23.3-51.7-52 23.2-52 51.7-52z`}}]},name:`idcard`,theme:`outlined`};function B0(){return B0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,B0({},e,{ref:t,icon:z0}))),H0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M956.9 845.1L896.4 632V168c0-17.7-14.3-32-32-32h-704c-17.7 0-32 14.3-32 32v464L67.9 845.1C60.4 866 75.8 888 98 888h828.8c22.2 0 37.6-22 30.1-42.9zM200.4 208h624v395h-624V208zm228.3 608l8.1-37h150.3l8.1 37H428.7zm224 0l-19.1-86.7c-.8-3.7-4.1-6.3-7.8-6.3H398.2c-3.8 0-7 2.6-7.8 6.3L371.3 816H151l42.3-149h638.2l42.3 149H652.7z`}}]},name:`laptop`,theme:`outlined`};function U0(){return U0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,U0({},e,{ref:t,icon:H0}))),G0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 00-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 00-11.3 0L266.3 586.7a8.03 8.03 0 000 11.3l39.5 39.7z`}}]},name:`line-chart`,theme:`outlined`};function K0(){return K0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,K0({},e,{ref:t,icon:G0}))),J0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 10-56 0z`}}]},name:`lock`,theme:`outlined`};function Y0(){return Y0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Y0({},e,{ref:t,icon:J0}))),Z0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8-7 8.5-14.5 16.7-22.4 24.5a353.84 353.84 0 01-112.7 75.9A352.8 352.8 0 01512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.84 353.84 0 01-112.7-75.9 353.28 353.28 0 01-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 7.9 7.9 15.3 16.1 22.4 24.5 3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82 271.7 82.6 79.6 277.1 82 516.4 84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7 3.4-5.3-.4-12.3-6.7-12.3zm88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 000-12.6z`}}]},name:`logout`,theme:`outlined`};function Q0(){return Q0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Q0({},e,{ref:t,icon:Z0}))),e2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 110.8V792H136V270.8l-27.6-21.5 39.3-50.5 42.8 33.3h643.1l42.8-33.3 39.3 50.5-27.7 21.5zM833.6 232L512 482 190.4 232l-42.8-33.3-39.3 50.5 27.6 21.5 341.6 265.6a55.99 55.99 0 0068.7 0L888 270.8l27.6-21.5-39.3-50.5-42.7 33.2z`}}]},name:`mail`,theme:`outlined`};function t2(){return t2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,t2({},e,{ref:t,icon:e2}))),r2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M839.2 278.1a32 32 0 00-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 00-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM360 184h304v72H360v-72zm480 656H184V513.4L244.3 328h535.4L840 513.4V840zM652 572H544V464c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V636h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z`}}]},name:`medicine-box`,theme:`outlined`};function i2(){return i2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,i2({},e,{ref:t,icon:r2}))),o2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M904 160H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0 624H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0-312H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z`}}]},name:`menu`,theme:`outlined`};function s2(){return s2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,s2({},e,{ref:t,icon:o2}))),l2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z`}},{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z`}}]},name:`minus-circle`,theme:`outlined`};function u2(){return u2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,u2({},e,{ref:t,icon:l2}))),f2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M744 62H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V126c0-35.3-28.7-64-64-64zm-8 824H288V134h448v752zM472 784a40 40 0 1080 0 40 40 0 10-80 0z`}}]},name:`mobile`,theme:`outlined`};function p2(){return p2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,p2({},e,{ref:t,icon:f2}))),h2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M692.8 412.7l.2-.2-34.6-44.3a7.97 7.97 0 00-11.2-1.4l-50.4 39.3-70.5-90.1a7.97 7.97 0 00-11.2-1.4l-37.9 29.7a7.97 7.97 0 00-1.4 11.2l70.5 90.2-.2.1 34.6 44.3c2.7 3.5 7.7 4.1 11.2 1.4l50.4-39.3 64.1 82c2.7 3.5 7.7 4.1 11.2 1.4l37.9-29.6c3.5-2.7 4.1-7.7 1.4-11.2l-64.1-82.1zM608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5L114.3 856.1a8.03 8.03 0 000 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6C473 696.1 537.7 720 608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644s-118.2-23.7-161.2-66.8C403.7 534.2 380 476.9 380 416s23.7-118.2 66.8-161.2c43-43.1 100.3-66.8 161.2-66.8s118.2 23.7 161.2 66.8c43.1 43 66.8 100.3 66.8 161.2s-23.7 118.2-66.8 161.2z`}}]},name:`monitor`,theme:`outlined`};function g2(){return g2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,g2({},e,{ref:t,icon:h2}))),v2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm159.6-585h-59.5c-3 0-5.8 1.7-7.1 4.4l-90.6 180H511l-90.6-180a8 8 0 00-7.1-4.4h-60.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9L457 515.7h-61.4c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V603h-81.7c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V717c0 4.4 3.6 8 8 8h54.3c4.4 0 8-3.6 8-8v-68.1h82c4.4 0 8-3.6 8-8V611c0-4.4-3.6-8-8-8h-82v-41.5h82c4.4 0 8-3.6 8-8v-29.9c0-4.4-3.6-8-8-8h-62l111.1-204.8c.6-1.2 1-2.5 1-3.8-.1-4.4-3.7-8-8.1-8z`}}]},name:`pay-circle`,theme:`outlined`};function y2(){return y2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,y2({},e,{ref:t,icon:v2}))),x2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M877.1 238.7L770.6 132.3c-13-13-30.4-20.3-48.8-20.3s-35.8 7.2-48.8 20.3L558.3 246.8c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l89.6 89.7a405.46 405.46 0 01-86.4 127.3c-36.7 36.9-79.6 66-127.2 86.6l-89.6-89.7c-13-13-30.4-20.3-48.8-20.3a68.2 68.2 0 00-48.8 20.3L132.3 673c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l106.4 106.4c22.2 22.2 52.8 34.9 84.2 34.9 6.5 0 12.8-.5 19.2-1.6 132.4-21.8 263.8-92.3 369.9-198.3C818 606 888.4 474.6 910.4 342.1c6.3-37.6-6.3-76.3-33.3-103.4zm-37.6 91.5c-19.5 117.9-82.9 235.5-178.4 331s-213 158.9-330.9 178.4c-14.8 2.5-30-2.5-40.8-13.2L184.9 721.9 295.7 611l119.8 120 .9.9 21.6-8a481.29 481.29 0 00285.7-285.8l8-21.6-120.8-120.7 110.8-110.9 104.5 104.5c10.8 10.8 15.8 26 13.3 40.8z`}}]},name:`phone`,theme:`outlined`};function S2(){return S2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,S2({},e,{ref:t,icon:x2}))),w2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2zM304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z`}}]},name:`picture`,theme:`outlined`};function T2(){return T2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,T2({},e,{ref:t,icon:w2}))),D2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M864 518H506V160c0-4.4-3.6-8-8-8h-26a398.46 398.46 0 00-282.8 117.1 398.19 398.19 0 00-85.7 127.1A397.61 397.61 0 0072 552a398.46 398.46 0 00117.1 282.8c36.7 36.7 79.5 65.6 127.1 85.7A397.61 397.61 0 00472 952a398.46 398.46 0 00282.8-117.1c36.7-36.7 65.6-79.5 85.7-127.1A397.61 397.61 0 00872 552v-26c0-4.4-3.6-8-8-8zM705.7 787.8A331.59 331.59 0 01470.4 884c-88.1-.4-170.9-34.9-233.2-97.2C174.5 724.1 140 640.7 140 552c0-88.7 34.5-172.1 97.2-234.8 54.6-54.6 124.9-87.9 200.8-95.5V586h364.3c-7.7 76.3-41.3 147-96.6 201.8zM952 462.4l-2.6-28.2c-8.5-92.1-49.4-179-115.2-244.6A399.4 399.4 0 00589 74.6L560.7 72c-4.7-.4-8.7 3.2-8.7 7.9V464c0 4.4 3.6 8 8 8l384-1c4.7 0 8.4-4 8-8.6zm-332.2-58.2V147.6a332.24 332.24 0 01166.4 89.8c45.7 45.6 77 103.6 90 166.1l-256.4.7z`}}]},name:`pie-chart`,theme:`outlined`};function O2(){return O2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,O2({},e,{ref:t,icon:D2}))),A2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z`}},{tag:`path`,attrs:{d:`M719.4 499.1l-296.1-215A15.9 15.9 0 00398 297v430c0 13.1 14.8 20.5 25.3 12.9l296.1-215a15.9 15.9 0 000-25.8zm-257.6 134V390.9L628.5 512 461.8 633.1z`}}]},name:`play-circle`,theme:`outlined`};function j2(){return j2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,j2({},e,{ref:t,icon:A2}))),N2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M280 752h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8zm192-280h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm192 72h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v256c0 4.4 3.6 8 8 8zm216-432H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z`}}]},name:`project`,theme:`outlined`};function P2(){return P2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,P2({},e,{ref:t,icon:N2}))),I2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M928 161H699.2c-49.1 0-97.1 14.1-138.4 40.7L512 233l-48.8-31.3A255.2 255.2 0 00324.8 161H96c-17.7 0-32 14.3-32 32v568c0 17.7 14.3 32 32 32h228.8c49.1 0 97.1 14.1 138.4 40.7l44.4 28.6c1.3.8 2.8 1.3 4.3 1.3s3-.4 4.3-1.3l44.4-28.6C602 807.1 650.1 793 699.2 793H928c17.7 0 32-14.3 32-32V193c0-17.7-14.3-32-32-32zM324.8 721H136V233h188.8c35.4 0 69.8 10.1 99.5 29.2l48.8 31.3 6.9 4.5v462c-47.6-25.6-100.8-39-155.2-39zm563.2 0H699.2c-54.4 0-107.6 13.4-155.2 39V298l6.9-4.5 48.8-31.3c29.7-19.1 64.1-29.2 99.5-29.2H888v488zM396.9 361H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm223.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c0-4.1-3.2-7.5-7.1-7.5H627.1c-3.9 0-7.1 3.4-7.1 7.5zM396.9 501H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm416 0H627.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5z`}}]},name:`read`,theme:`outlined`};function L2(){return L2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,L2({},e,{ref:t,icon:I2}))),z2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`defs`,attrs:{},children:[{tag:`style`,attrs:{}}]},{tag:`path`,attrs:{d:`M508 704c79.5 0 144-64.5 144-144s-64.5-144-144-144-144 64.5-144 144 64.5 144 144 144zm0-224c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z`}},{tag:`path`,attrs:{d:`M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0031.9 29.3h429.2a32 32 0 0031.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zm-518.6-76h397.2l22.4 76H291l22.4-76zm376.2 664H326.4L282 324h451.9l-44.3 520z`}}]},name:`rest`,theme:`outlined`};function B2(){return B2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,B2({},e,{ref:t,icon:z2}))),H2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z`}}]},name:`robot`,theme:`outlined`};function U2(){return U2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,U2({},e,{ref:t,icon:H2}))),G2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 00-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0043.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0043.1-30.5 97.52 97.52 0 0021.4-60.8c0-8.4-1.1-16.4-3.1-23.8H864zM762.3 621.4c9.4 14.6 17 30.3 22.5 46.6H700V558.7a211.6 211.6 0 0162.3 62.7zM388 483.1V318.8l124-147 124 147V668H388V483.1zM239.2 668c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668h-84.8zm388.9 116.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5-38.3 0-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 01-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM464 400a48 48 0 1096 0 48 48 0 10-96 0z`}}]},name:`rocket`,theme:`outlined`};function K2(){return K2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,K2({},e,{ref:t,icon:G2}))),J2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M793 242H366v-74c0-6.7-7.7-10.4-12.9-6.3l-142 112a8 8 0 000 12.6l142 112c5.2 4.1 12.9.4 12.9-6.3v-74h415v470H175c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h618c35.3 0 64-28.7 64-64V306c0-35.3-28.7-64-64-64z`}}]},name:`rollback`,theme:`outlined`};function Y2(){return Y2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Y2({},e,{ref:t,icon:J2}))),Z2={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64L128 192v384c0 212.1 171.9 384 384 384s384-171.9 384-384V192L512 64zm312 512c0 172.3-139.7 312-312 312S200 748.3 200 576V246l312-110 312 110v330z`}},{tag:`path`,attrs:{d:`M378.4 475.1a35.91 35.91 0 00-50.9 0 35.91 35.91 0 000 50.9l129.4 129.4 2.1 2.1a33.98 33.98 0 0048.1 0L730.6 434a33.98 33.98 0 000-48.1l-2.8-2.8a33.98 33.98 0 00-48.1 0L483 579.7 378.4 475.1z`}}]},name:`safety`,theme:`outlined`};function Q2(){return Q2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Q2({},e,{ref:t,icon:Z2}))),e4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z`}}]},name:`save`,theme:`outlined`};function t4(){return t4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,t4({},e,{ref:t,icon:e4}))),r4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zM402.9 528.8l-77.5 77.5a8.03 8.03 0 000 11.3l34 34c3.1 3.1 8.2 3.1 11.3 0l77.5-77.5c55.7 35.1 130.1 28.4 178.6-20.1 56.3-56.3 56.3-147.5 0-203.8-56.3-56.3-147.5-56.3-203.8 0-48.5 48.5-55.2 123-20.1 178.6zm65.4-133.3c31.3-31.3 82-31.3 113.2 0 31.3 31.3 31.3 82 0 113.2-31.3 31.3-82 31.3-113.2 0s-31.3-81.9 0-113.2z`}}]},name:`security-scan`,theme:`outlined`};function i4(){return i4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,i4({},e,{ref:t,icon:r4}))),o4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`defs`,attrs:{},children:[{tag:`style`,attrs:{}}]},{tag:`path`,attrs:{d:`M931.4 498.9L94.9 79.5c-3.4-1.7-7.3-2.1-11-1.2a15.99 15.99 0 00-11.7 19.3l86.2 352.2c1.3 5.3 5.2 9.6 10.4 11.3l147.7 50.7-147.6 50.7c-5.2 1.8-9.1 6-10.3 11.3L72.2 926.5c-.9 3.7-.5 7.6 1.2 10.9 3.9 7.9 13.5 11.1 21.5 7.2l836.5-417c3.1-1.5 5.6-4.1 7.2-7.1 3.9-8 .7-17.6-7.2-21.6zM170.8 826.3l50.3-205.6 295.2-101.3c2.3-.8 4.2-2.6 5-5 1.4-4.2-.8-8.7-5-10.2L221.1 403 171 198.2l628 314.9-628.2 313.2z`}}]},name:`send`,theme:`outlined`};function s4(){return s4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,s4({},e,{ref:t,icon:o4}))),l4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z`}}]},name:`setting`,theme:`outlined`};function u4(){return u4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,u4({},e,{ref:t,icon:l4}))),f4={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M922.9 701.9H327.4l29.9-60.9 496.8-.9c16.8 0 31.2-12 34.2-28.6l68.8-385.1c1.8-10.1-.9-20.5-7.5-28.4a34.99 34.99 0 00-26.6-12.5l-632-2.1-5.4-25.4c-3.4-16.2-18-28-34.6-28H96.5a35.3 35.3 0 100 70.6h125.9L246 312.8l58.1 281.3-74.8 122.1a34.96 34.96 0 00-3 36.8c6 11.9 18.1 19.4 31.5 19.4h62.8a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7h161.1a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7H923c19.4 0 35.3-15.8 35.3-35.3a35.42 35.42 0 00-35.4-35.2zM305.7 253l575.8 1.9-56.4 315.8-452.3.8L305.7 253zm96.9 612.7c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6zm325.1 0c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6z`}}]},name:`shopping-cart`,theme:`outlined`};function p4(){return p4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,p4({},e,{ref:t,icon:f4}))),h4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-432-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16H400v-16zm392 544H232V384h96v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h224v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h96v456z`}}]},name:`shopping`,theme:`outlined`};function g4(){return g4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,g4({},e,{ref:t,icon:h4}))),v4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M925.6 405.1l-203-253.7a6.5 6.5 0 00-5-2.4H306.4c-1.9 0-3.8.9-5 2.4l-203 253.7a6.5 6.5 0 00.2 8.3l408.6 459.5c1.2 1.4 3 2.1 4.8 2.1 1.8 0 3.5-.8 4.8-2.1l408.6-459.5a6.5 6.5 0 00.2-8.3zM645.2 206.4l34.4 133.9-132.5-133.9h98.1zm8.2 178.5H370.6L512 242l141.4 142.9zM378.8 206.4h98.1L344.3 340.3l34.5-133.9zm-53.4 7l-44.1 171.5h-93.1l137.2-171.5zM194.6 434.9H289l125.8 247.7-220.2-247.7zM512 763.4L345.1 434.9h333.7L512 763.4zm97.1-80.8L735 434.9h94.4L609.1 682.6zm133.6-297.7l-44.1-171.5 137.2 171.5h-93.1z`}}]},name:`sketch`,theme:`outlined`};function y4(){return y4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,y4({},e,{ref:t,icon:v4}))),x4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 00-37-29.3H154a44 44 0 00-44 44v252a44 44 0 0044 44h75v388a44 44 0 0044 44h478a44 44 0 0044-44V466h75a44 44 0 0044-44V170a44 44 0 00-44-44zm-28 268H723v432H301V394H182V198h153.3c28.2 71.2 97.5 120 176.7 120s148.5-48.8 176.7-120H842v196z`}}]},name:`skin`,theme:`outlined`};function S4(){return S4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,S4({},e,{ref:t,icon:x4}))),w4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M288 421a48 48 0 1096 0 48 48 0 10-96 0zm352 0a48 48 0 1096 0 48 48 0 10-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 01248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 01249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 01775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 01775 775zM664 533h-48.1c-4.2 0-7.8 3.2-8.1 7.4C604 589.9 562.5 629 512 629s-92.1-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 00-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 00-8-8.4z`}}]},name:`smile`,theme:`outlined`};function T4(){return T4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,T4({},e,{ref:t,icon:w4}))),D4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M688 264c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48zm-8 136H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM480 544H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 308H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm356.8-74.4c29-26.3 47.2-64.3 47.2-106.6 0-79.5-64.5-144-144-144s-144 64.5-144 144c0 42.3 18.2 80.3 47.2 106.6-57 32.5-96.2 92.7-99.2 162.1-.2 4.5 3.5 8.3 8 8.3h48.1c4.2 0 7.7-3.3 8-7.6C564 871.2 621.7 816 692 816s128 55.2 131.9 124.4c.2 4.2 3.7 7.6 8 7.6H880c4.6 0 8.2-3.8 8-8.3-2.9-69.5-42.2-129.6-99.2-162.1zM692 591c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z`}}]},name:`solution`,theme:`outlined`};function O4(){return O4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,O4({},e,{ref:t,icon:D4}))),A4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582zm348-327H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zm-41.9 261.8l-110.3-63.7a15.9 15.9 0 00-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0021.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0021.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 00-21.7-5.9L746 287.8a15.99 15.99 0 00-5.8 21.8L760 344z`}}]},name:`sound`,theme:`outlined`};function j4(){return j4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,j4({},e,{ref:t,icon:A4}))),N4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM664.8 561.6l36.1 210.3L512 672.7 323.1 772l36.1-210.3-152.8-149L417.6 382 512 190.7 606.4 382l211.2 30.7-152.8 148.9z`}}]},name:`star`,theme:`outlined`};function P4(){return P4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,P4({},e,{ref:t,icon:N4}))),I4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z`}}]},name:`stop`,theme:`outlined`};function L4(){return L4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,L4({},e,{ref:t,icon:I4}))),z4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 000 14.1l363.8 363.8c1.9 1.9 4.4 2.9 7.1 2.9s5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM459.7 834.7L189.3 564.3 589 164.6 836 188l23.4 247-399.7 399.7zM680 256c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm0 120c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z`}}]},name:`tag`,theme:`outlined`};function B4(){return B4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,B4({},e,{ref:t,icon:z4}))),H4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M824.2 699.9a301.55 301.55 0 00-86.4-60.4C783.1 602.8 812 546.8 812 484c0-110.8-92.4-201.7-203.2-200-109.1 1.7-197 90.6-197 200 0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C345 754.6 314 826.8 312 903.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5A226.62 226.62 0 01612 684c60.9 0 118.2 23.7 161.3 66.8C814.5 792 838 846.3 840 904.3c.1 4.3 3.7 7.7 8 7.7h56a8 8 0 008-8.2c-2-77-33-149.2-87.8-203.9zM612 612c-34.2 0-66.4-13.3-90.5-37.5a126.86 126.86 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4 0 34.2-13.3 66.3-37.5 90.5A127.3 127.3 0 01612 612zM361.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7z`}}]},name:`team`,theme:`outlined`};function U4(){return U4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,U4({},e,{ref:t,icon:H4}))),G4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.2 732.5l60.3-241H281.1l189.6-327.4h224.6L487 427.4h211L378.2 732.5z`}}]},name:`thunderbolt`,theme:`outlined`};function K4(){return K4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,K4({},e,{ref:t,icon:G4}))),J4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 01144-53.5L537 318.9a32.05 32.05 0 000 45.3l124.5 124.5a32.05 32.05 0 0045.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z`}}]},name:`tool`,theme:`outlined`};function Y4(){return Y4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Y4({},e,{ref:t,icon:J4}))),Z4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 00-44 44v148c0 81.7 60 149.6 138.2 162C265.7 630.2 359 721.7 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.7 758.3 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 00-44-44zM184 352V232h64v207.6a91.99 91.99 0 01-64-87.6zm520 128c0 49.1-19.1 95.4-53.9 130.1-34.8 34.8-81 53.9-130.1 53.9h-16c-49.1 0-95.4-19.1-130.1-53.9-34.8-34.8-53.9-81-53.9-130.1V184h384v296zm136-128c0 41-26.9 75.8-64 87.6V232h64v120z`}}]},name:`trophy`,theme:`outlined`};function Q4(){return Q4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Q4({},e,{ref:t,icon:Z4}))),e3={icon:{tag:`svg`,attrs:{"fill-rule":`evenodd`,viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M608 192a32 32 0 0132 32v160h174.81a32 32 0 0126.68 14.33l113.19 170.84a32 32 0 015.32 17.68V672a32 32 0 01-32 32h-96c0 70.7-57.3 128-128 128s-128-57.3-128-128H384c0 70.7-57.3 128-128 128s-128-57.3-128-128H96a32 32 0 01-32-32V224a32 32 0 0132-32zM256 640a64 64 0 000 128h1.06A64 64 0 00256 640m448 0a64 64 0 000 128h1.06A64 64 0 00704 640M576 256H128v384h17.12c22.13-38.26 63.5-64 110.88-64 47.38 0 88.75 25.74 110.88 64H576zm221.63 192H640v145.12A127.43 127.43 0 01704 576c47.38 0 88.75 25.74 110.88 64H896v-43.52zM500 448a12 12 0 0112 12v40a12 12 0 01-12 12H332a12 12 0 01-12-12v-40a12 12 0 0112-12zM308 320a12 12 0 0112 12v40a12 12 0 01-12 12H204a12 12 0 01-12-12v-40a12 12 0 0112-12z`}}]},name:`truck`,theme:`outlined`};function t3(){return t3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,t3({},e,{ref:t,icon:e3}))),r3={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 00-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 00-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z`}}]},name:`undo`,theme:`outlined`};function i3(){return i3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,i3({},e,{ref:t,icon:r3}))),o3={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z`}}]},name:`upload`,theme:`outlined`};function s3(){return s3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,s3({},e,{ref:t,icon:o3}))),l3={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z`}}]},name:`user`,theme:`outlined`};function u3(){return u3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,u3({},e,{ref:t,icon:l3}))),f3={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM712 792H136V232h576v560zm176-167l-104-59.8V458.9L888 399v226zM208 360h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z`}}]},name:`video-camera`,theme:`outlined`};function p3(){return p3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,p3({},e,{ref:t,icon:f3}))),h3={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1080 0 40 40 0 10-80 0z`}}]},name:`wallet`,theme:`outlined`};function g3(){return g3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,g3({},e,{ref:t,icon:h3}))),v3={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M690.1 377.4c5.9 0 11.8.2 17.6.5-24.4-128.7-158.3-227.1-319.9-227.1C209 150.8 64 271.4 64 420.2c0 81.1 43.6 154.2 111.9 203.6a21.5 21.5 0 019.1 17.6c0 2.4-.5 4.6-1.1 6.9-5.5 20.3-14.2 52.8-14.6 54.3-.7 2.6-1.7 5.2-1.7 7.9 0 5.9 4.8 10.8 10.8 10.8 2.3 0 4.2-.9 6.2-2l70.9-40.9c5.3-3.1 11-5 17.2-5 3.2 0 6.4.5 9.5 1.4 33.1 9.5 68.8 14.8 105.7 14.8 6 0 11.9-.1 17.8-.4-7.1-21-10.9-43.1-10.9-66 0-135.8 132.2-245.8 295.3-245.8zm-194.3-86.5c23.8 0 43.2 19.3 43.2 43.1s-19.3 43.1-43.2 43.1c-23.8 0-43.2-19.3-43.2-43.1s19.4-43.1 43.2-43.1zm-215.9 86.2c-23.8 0-43.2-19.3-43.2-43.1s19.3-43.1 43.2-43.1 43.2 19.3 43.2 43.1-19.4 43.1-43.2 43.1zm586.8 415.6c56.9-41.2 93.2-102 93.2-169.7 0-124-120.8-224.5-269.9-224.5-149 0-269.9 100.5-269.9 224.5S540.9 847.5 690 847.5c30.8 0 60.6-4.4 88.1-12.3 2.6-.8 5.2-1.2 7.9-1.2 5.2 0 9.9 1.6 14.3 4.1l59.1 34c1.7 1 3.3 1.7 5.2 1.7a9 9 0 006.4-2.6 9 9 0 002.6-6.4c0-2.2-.9-4.4-1.4-6.6-.3-1.2-7.6-28.3-12.2-45.3-.5-1.9-.9-3.8-.9-5.7.1-5.9 3.1-11.2 7.6-14.5zM600.2 587.2c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c0 19.8-16.2 35.9-36 35.9zm179.9 0c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9a36.08 36.08 0 01-36 35.9z`}}]},name:`wechat`,theme:`outlined`};function y3(){return y3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,y3({},e,{ref:t,icon:v3}))),x3=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},S3=(e=>e?x3(e):x3),C3=e=>e;function w3(e,t=C3){let n=x.useSyncExternalStore(e.subscribe,x.useCallback(()=>t(e.getState()),[e,t]),x.useCallback(()=>t(e.getInitialState()),[e,t]));return x.useDebugValue(n),n}var T3=e=>{let t=S3(e),n=e=>w3(t,e);return Object.assign(n,t),n},E3=(e=>e?T3(e):T3),D3=c(k$(),1),O3=`AES-GCM`,k3=12,A3=128;async function j3(){throw Error(`VITE_ENCRYPTION_KEY not configured`)}async function M3(e){let t=await j3(),n=crypto.getRandomValues(new Uint8Array(k3)),r=new TextEncoder().encode(e),i=await crypto.subtle.encrypt({name:O3,iv:n,tagLength:A3},t,r),a=new Uint8Array(i),o=new Uint8Array(n.length+a.length);return o.set(n),o.set(a,n.length),btoa(String.fromCharCode(...o))}async function N3(e){let t=await j3(),n=Uint8Array.from(atob(e),e=>e.charCodeAt(0)),r=n.slice(0,k3),i=n.slice(k3),a=await crypto.subtle.decrypt({name:O3,iv:r,tagLength:A3},t,i);return new TextDecoder().decode(a)}var P3=`http://ceshi.apiforeign.minzhong.cn`,F3=!1;function I3(e){return e.replace(/_([a-z])/g,(e,t)=>t.toUpperCase())}function L3(e){return Array.isArray(e)?e.map(L3):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,t])=>[I3(e),L3(t)])):e}function R3(){return localStorage.getItem(`auth_token`)}function z3(e){localStorage.setItem(`auth_token`,e)}function B3(){localStorage.removeItem(`auth_token`)}async function V3(e){try{return await N3(e)}catch{return null}}async function H3(e,t={}){let{method:n=`GET`,body:r,auth:i=!0,encryptBody:a=F3}=t,o={"Content-Type":`application/json`};if(i){let e=R3();e&&(o.Authorization=`Bearer ${e}`)}let s;if(r!==void 0){let e=JSON.stringify(r);a?(o[`X-Encrypted`]=`true`,s=JSON.stringify({data:await M3(e)})):s=e}let c=await fetch(`${P3}/api${e}`,{method:n,headers:o,body:s});if(c.status===204)return;let l=await c.text();if(!l)return;let u;try{u=JSON.parse(l)}catch{throw Error(`响应解析失败 (${c.status})`)}if(u&&typeof u.data==`string`&&a){let e=await V3(u.data);e!==null&&(u=JSON.parse(e))}if(!c.ok){let e=u?.detail||`请求失败 (${c.status})`;throw c.status===401&&(B3(),window.location.href=`/login`),Error(e)}return L3(u)}var U3={get:(e,t=!0)=>H3(e,{auth:t}),post:(e,t,n=!0)=>H3(e,{method:`POST`,body:t,auth:n}),put:(e,t,n=!0)=>H3(e,{method:`PUT`,body:t,auth:n}),delete:(e,t=!0)=>H3(e,{method:`DELETE`,auth:t})};async function W3(e,t,n,r){let i=await U3.post(`/auth/admin-login`,{username:e,password:t,captcha_token:n,remember_me:r||!1},!1);return z3(i.accessToken),i.user}async function G3(){await U3.post(`/auth/logout`),B3()}async function K3(){try{return await U3.get(`/auth/me`)}catch{return null}}async function q3(){return U3.get(`/admin/stats`)}async function J3(e){let t=e?`?search=${encodeURIComponent(e)}`:``;return U3.get(`/admin/users${t}`)}async function Y3(e,t,n){await U3.post(`/admin/users/${e}/credits`,{amount:t,description:n})}async function X3(e,t){await U3.put(`/admin/users/${e}/status`,{is_active:t})}async function Z3(){return U3.get(`/admin/model-configs`)}async function Q3(e){return e.id?U3.put(`/admin/model-configs/${e.id}`,e):U3.post(`/admin/model-configs`,e)}async function $3(e){await U3.delete(`/admin/model-configs/${e}`)}async function e6(){return U3.get(`/admin/system-configs`)}async function t6(e,t){await U3.put(`/admin/system-configs/${e}`,{value:t})}async function n6(e,t){let n=new FormData;n.append(`file`,e),n.append(`config_key`,t);let r=localStorage.getItem(`auth_token`),i=await fetch(`http://localhost:8000/api/admin/upload-pdf`,{method:`POST`,headers:r?{Authorization:`Bearer ${r}`}:{},body:n});if(!i.ok)throw Error(`上传失败`);return i.json()}async function r6(e){let t=new URLSearchParams;e?.user_id&&t.set(`user_id`,e.user_id),e?.type&&t.set(`type`,e.type);let n=t.toString()?`?${t}`:``;return U3.get(`/admin/credit-records${n}`)}async function i6(){return U3.get(`/admin/industry-configs`)}async function a6(e){return e.id?U3.put(`/admin/industry-configs/${e.id}`,e):U3.post(`/admin/industry-configs`,e)}async function o6(e){await U3.delete(`/admin/industry-configs/${e}`)}async function s6(){return U3.get(`/admin/video-engines`)}async function c6(e){return e.id?U3.put(`/admin/video-engines/${e.id}`,e):U3.post(`/admin/video-engines`,e)}async function l6(e){await U3.delete(`/admin/video-engines/${e}`)}async function u6(){return U3.get(`/admin/image-engines`)}async function d6(e){return e.id?U3.put(`/admin/image-engines/${e.id}`,e):U3.post(`/admin/image-engines`,e)}async function f6(e){await U3.delete(`/admin/image-engines/${e}`)}async function p6(){return U3.get(`/admin/credit-ratios`)}async function m6(e){return e.id?U3.put(`/admin/credit-ratios/${e.id}`,e):U3.post(`/admin/credit-ratios`,e)}async function h6(e){await U3.delete(`/admin/credit-ratios/${e}`)}async function g6(){return U3.get(`/admin/payment-configs`)}async function _6(e){await U3.put(`/admin/payment-configs/batch`,e)}async function v6(e){let t=new URLSearchParams;e?.paymentMethod&&t.set(`payment_method`,e.paymentMethod),e?.status&&t.set(`status`,e.status),e?.startDate&&t.set(`start_date`,e.startDate),e?.endDate&&t.set(`end_date`,e.endDate);let n=t.toString(),r=n?`/admin/payment-stats?${n}`:`/admin/payment-stats`;return U3.get(r)}async function y6(e){await U3.post(`/admin/payment-orders/${e}/refund`)}async function b6(){return U3.get(`/admin/notifications`)}async function x6(e){await U3.post(`/admin/notifications`,e)}async function S6(e){await U3.delete(`/admin/notifications/${e}`)}async function C6(e){return U3.get(`/admin/notifications/${e}/read-users`)}async function w6(){return U3.get(`/admin/menu-configs`)}async function T6(e){return e.id?U3.put(`/admin/menu-configs/${e.id}`,e):U3.post(`/admin/menu-configs`,e)}async function E6(e){await U3.delete(`/admin/menu-configs/${e}`)}async function D6(e){return U3.post(`/admin/users`,e)}async function O6(e,t){await U3.put(`/admin/users/${e}/menus`,{allowed_menus:t})}async function k6(e,t){await U3.put(`/admin/users/${e}/reset-password`,{new_password:t})}async function A6(e,t){await U3.post(`/admin/change-password`,{old_password:e,new_password:t})}async function j6(){return U3.get(`/admin/recharge-packages`)}async function M6(e){return e.id?U3.put(`/admin/recharge-packages/${e.id}`,e):U3.post(`/admin/recharge-packages`,e)}async function N6(e){await U3.delete(`/admin/recharge-packages/${e}`)}async function P6(e){let t=e?`?page=${e}`:``;return U3.get(`/admin/operation-logs${t}`)}async function F6(e){let t=e?`?page=${e}`:``;return U3.get(`/admin/user-oauth-apps/list${t}`)}async function I6(e){return U3.post(`/admin/user-oauth-apps/create`,e)}async function L6(e){return U3.get(`/admin/user-oauth-apps/read/${e}`)}async function R6(e,t){return U3.post(`/admin/user-oauth-apps/update/${e}`,t)}async function z6(e){await U3.get(`/admin/user-oauth-apps/delete/${e}`)}async function B6(e){let t=new URLSearchParams;e?.userId&&t.set(`user_id`,e.userId),e?.status&&t.set(`status`,e.status),e?.page&&t.set(`page`,String(e.page)),e?.pageSize&&t.set(`page_size`,String(e.pageSize));let n=t.toString();return U3.get(`/admin/generation-records${n?`?${n}`:``}`)}async function V6(e,t,n){await U3.put(`/admin/generation-records/${e}/status`,{status:t,video_url:n})}async function H6(e,t,n,r){await U3.post(`/admin/generation-records/${e}/generate`,{aspect_ratio:t,resolution:n,image_size:r})}async function U6(){return U3.get(`/generation-ai/engines`)}async function W6(e){let t=new URLSearchParams;e?.genType&&t.set(`gen_type`,e.genType),e?.status&&t.set(`status`,e.status),e?.page&&t.set(`page`,String(e.page)),e?.pageSize&&t.set(`page_size`,String(e.pageSize)),e?.userId&&t.set(`user_id`,e.userId),e?.userName&&t.set(`user_name`,e.userName);let n=t.toString();return U3.get(`/generation-ai/tasks${n?`?${n}`:``}`)}var G6=E3(e=>({user:null,loading:!0,login:async(t,n,r)=>{e({user:await W3(t,n,void 0,r)})},logout:async()=>{await G3(),e({user:null})},checkAuth:async()=>{try{if(!localStorage.getItem(`auth_token`)){e({user:null,loading:!1});return}e({user:await K3(),loading:!1})}catch(t){(t?.message?.includes(`401`)||t?.message?.includes(`Unauthorized`))&&localStorage.removeItem(`auth_token`),e({user:null,loading:!1})}}})),K6=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),$=o(((e,t)=>{t.exports=K6()}))(),{Sider:q6,Content:J6}=QU,Y6={HomeOutlined:(0,$.jsx)(R0,{}),PlayCircleOutlined:(0,$.jsx)(M2,{}),WalletOutlined:(0,$.jsx)(_3,{}),RobotOutlined:(0,$.jsx)(W2,{}),SettingOutlined:(0,$.jsx)(d4,{}),BellOutlined:(0,$.jsx)(n1,{}),UserOutlined:(0,$.jsx)(d3,{}),AppstoreOutlined:(0,$.jsx)(R$,{}),FileTextOutlined:(0,$.jsx)(bH,{}),StarOutlined:(0,$.jsx)(F4,{}),HeartOutlined:(0,$.jsx)(k0,{}),CameraOutlined:(0,$.jsx)(_1,{}),DashboardOutlined:(0,$.jsx)(q1,{}),CalculatorOutlined:(0,$.jsx)(m1,{}),DollarOutlined:(0,$.jsx)($1,{}),GiftOutlined:(0,$.jsx)(C0,{}),ThunderboltOutlined:(0,$.jsx)(q4,{}),FireOutlined:(0,$.jsx)(m0,{}),CloudOutlined:(0,$.jsx)(k1,{}),SmileOutlined:(0,$.jsx)(E4,{}),TrophyOutlined:(0,$.jsx)($4,{}),RocketOutlined:(0,$.jsx)(q2,{}),BulbOutlined:(0,$.jsx)(d1,{}),CodeOutlined:(0,$.jsx)(F1,{}),PictureOutlined:(0,$.jsx)(E2,{}),VideoCameraOutlined:(0,$.jsx)(m3,{}),AudioOutlined:(0,$.jsx)(q$,{}),MailOutlined:(0,$.jsx)(n2,{}),PhoneOutlined:(0,$.jsx)(C2,{}),GlobalOutlined:(0,$.jsx)(E0,{}),ShoppingCartOutlined:(0,$.jsx)(m4,{}),TeamOutlined:(0,$.jsx)(W4,{}),BarChartOutlined:(0,$.jsx)($$,{}),PieChartOutlined:(0,$.jsx)(k2,{}),LineChartOutlined:(0,$.jsx)(q0,{}),SecurityScanOutlined:(0,$.jsx)(a4,{}),ApiOutlined:(0,$.jsx)(F$,{}),DatabaseOutlined:(0,$.jsx)(X1,{}),CloudServerOutlined:(0,$.jsx)(M1,{}),MenuOutlined:(0,$.jsx)(c2,{}),PlusOutlined:(0,$.jsx)(FR,{}),EditOutlined:(0,$.jsx)(MZ,{}),DeleteOutlined:(0,$.jsx)(kZ,{}),LockOutlined:(0,$.jsx)(X0,{}),LogoutOutlined:(0,$.jsx)($0,{})},X6=()=>{let e=Je(),t=Ge(),{user:n,loading:r,logout:i}=G6(),[a,o]=(0,x.useState)(!1),[s,c]=(0,x.useState)([]),[l,u]=(0,x.useState)(!1),[d]=Z.useForm();if((0,x.useEffect)(()=>{w6().then(e=>{let t=e.filter(e=>{let t=e.menu_target??e.menuTarget??`admin`;return(e.is_active??e.isActive??!0)&&(t===`admin`||t===`both`)}),r=!!(n?.isAdmin??n?.is_admin);if(n&&!r){let e=n.allowedMenus??n?.allowed_menus;if(e&&Array.isArray(e)&&e.length>0){let n=new Set(e);t=t.filter(e=>(e.menu_type??e.menuType)===`group`?t.some(t=>(t.parent_id??t.parentId)===e.id&&n.has(t.path)):n.has(e.path))}else t=[]}c(t)}).catch(()=>{})},[n]),r)return(0,$.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100vh`},children:(0,$.jsx)(XW,{size:`large`})});if(!n)return(0,$.jsx)(xt,{to:`/admin/login`,replace:!0});let f={};s.filter(e=>(e.menu_type??e.menuType)!==`group`&&(e.parent_id??e.parentId)).forEach(e=>{let t=e.parent_id??e.parentId;f[t]||(f[t]=[]),f[t].push(e)});let p=[...s].sort((e,t)=>(e.sort_order??e.sortOrder??0)-(t.sort_order??t.sortOrder??0)),m=[];p.forEach(e=>{let t=e.menu_type??e.menuType,n=e.parent_id??e.parentId;if(t===`group`){let t=(f[e.id]||[]).sort((e,t)=>(e.sort_order??e.sortOrder??0)-(t.sort_order??t.sortOrder??0)).map(e=>({key:e.path,icon:Y6[e.icon]||void 0,label:e.label}));t.length>0&&m.push({key:`group-${e.id}`,icon:Y6[e.icon]||void 0,label:e.label,children:t})}else n||m.push({key:e.path,icon:Y6[e.icon]||void 0,label:e.label})});let h=!!(n?.isAdmin??n?.is_admin);m.length===0&&h&&m.push({key:`/`,icon:(0,$.jsx)(q1,{}),label:`数据概览`},{key:`/users`,icon:(0,$.jsx)(d3,{}),label:`用户管理`});let g=t.pathname,_=[];m.forEach(e=>{e.children?e.children.forEach(e=>_.push(e.key)):_.push(e.key)}),_.includes(g)||(g=_.find(e=>g.startsWith(e))||`/`);let v=[];return m.forEach(e=>{e.children&&e.children.some(e=>e.key===g)&&v.push(e.key)}),(0,$.jsxs)(QU,{style:{minHeight:`100vh`},children:[(0,$.jsxs)(q6,{collapsible:!0,collapsed:a,onCollapse:o,width:220,theme:`dark`,style:{background:`linear-gradient(180deg, #0f0f23 0%, #1a1a35 100%)`},children:[(0,$.jsxs)(`div`,{style:{height:64,display:`flex`,alignItems:`center`,justifyContent:`center`,gap:10,borderBottom:`1px solid rgba(255,255,255,0.06)`},children:[(0,$.jsx)(`div`,{style:{width:32,height:32,borderRadius:8,background:`linear-gradient(135deg, #6366f1, #8b5cf6)`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,$.jsx)(q4,{style:{fontSize:16,color:`#fff`}})}),!a&&(0,$.jsx)(`span`,{style:{color:`#f1f5f9`,fontSize:15,fontWeight:700},children:`管理后台`})]}),(0,$.jsx)(cD,{mode:`inline`,selectedKeys:[g],defaultOpenKeys:v,items:m,onClick:({key:t})=>{t.startsWith(`group-`)||e(t)},style:{background:`transparent`,borderRight:0,marginTop:8},theme:`dark`})]}),(0,$.jsxs)(QU,{children:[(0,$.jsxs)(`div`,{style:{height:56,background:`#fff`,borderBottom:`1px solid #f0f0f5`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`0 24px`},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:m.find(e=>e.key===g)?.label||m.flatMap(e=>e.children||[]).find(e=>e.key===g)?.label||`管理后台`}),(0,$.jsx)(_H,{menu:{items:[{key:`user`,icon:(0,$.jsx)(d3,{}),label:n?.username,disabled:!0},{type:`divider`},{key:`changePwd`,icon:(0,$.jsx)(X0,{}),label:`修改密码`},{key:`logout`,icon:(0,$.jsx)($0,{}),label:`退出登录`,danger:!0}],onClick:({key:t})=>{t===`logout`&&(i(),e(`/login`)),t===`changePwd`&&(u(!0),d.resetFields())}},placement:`bottomRight`,arrow:!0,children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,cursor:`pointer`,padding:`4px 8px`,borderRadius:8,transition:`background 0.2s`},children:[(0,$.jsx)(Zw,{size:28,icon:(0,$.jsx)(d3,{}),style:{background:`linear-gradient(135deg, #6366f1, #8b5cf6)`}}),(0,$.jsx)(Q.Text,{style:{fontSize:13,fontWeight:500},children:n?.username})]})})]}),(0,$.jsx)(J6,{style:{padding:24,background:`#f5f6fa`,overflow:`auto`},children:m.length===0&&!h?(0,$.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,height:`60vh`,color:`#94a3b8`},children:[(0,$.jsx)(X0,{style:{fontSize:48,marginBottom:16,color:`#cbd5e1`}}),(0,$.jsx)(`div`,{style:{fontSize:16,fontWeight:600,color:`#64748b`},children:`暂无任何权限`}),(0,$.jsx)(`div`,{style:{fontSize:13,marginTop:8},children:`请联系管理员配置菜单权限`})]}):(0,$.jsx)(St,{})})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(X0,{}),`修改密码`]}),open:l,onOk:async()=>{try{let e=await d.validateFields();if(e.newPassword!==e.confirmPassword){dG.error(`两次输入的密码不一致`);return}await A6(e.oldPassword,e.newPassword),dG.success(`密码修改成功`),u(!1),d.resetFields()}catch(e){if(e?.errorFields)return;dG.error(e?.message||`修改失败`)}},onCancel:()=>{u(!1),d.resetFields()},okText:`确认修改`,cancelText:`取消`,width:420,children:(0,$.jsxs)(Z,{form:d,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsx)(Z.Item,{name:`oldPassword`,label:`原密码`,rules:[{required:!0,message:`请输入原密码`}],children:(0,$.jsx)(UU.Password,{placeholder:`请输入原密码`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`newPassword`,label:`新密码`,rules:[{required:!0,min:6,message:`密码至少6位`}],children:(0,$.jsx)(UU.Password,{placeholder:`请输入新密码(至少6位)`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`confirmPassword`,label:`确认新密码`,rules:[{required:!0,message:`请再次输入新密码`}],children:(0,$.jsx)(UU.Password,{placeholder:`请再次输入新密码`,size:`large`})})]})})]})},Z6=()=>{let e=Je(),{login:t}=G6(),[n,r]=(0,x.useState)(!1);return(0,$.jsx)(`div`,{style:{minHeight:`100vh`,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`linear-gradient(135deg, #0f0f23 0%, #1a1a35 50%, #0f0f23 100%)`},children:(0,$.jsxs)(Xz,{bordered:!1,style:{width:420,borderRadius:16,boxShadow:`0 20px 60px rgba(0,0,0,0.3)`},children:[(0,$.jsxs)(`div`,{style:{textAlign:`center`,marginBottom:32},children:[(0,$.jsx)(`div`,{style:{width:56,height:56,borderRadius:14,margin:`0 auto 16px`,background:`linear-gradient(135deg, #6366f1, #8b5cf6)`,display:`flex`,alignItems:`center`,justifyContent:`center`,boxShadow:`0 8px 24px rgba(99,102,241,0.3)`},children:(0,$.jsx)(q4,{style:{fontSize:26,color:`#fff`}})}),(0,$.jsxs)(Q.Title,{level:3,style:{margin:0},children:[`VideoGen`,(0,$.jsx)(`span`,{style:{color:`#6366f1`},children:`.AI`})]}),(0,$.jsx)(Q.Text,{type:`secondary`,children:`管理后台`})]}),(0,$.jsxs)(Z,{onFinish:async n=>{r(!0);try{await t(n.username,n.password,n.rememberMe),dG.success(`登录成功`),e(`/`)}catch{dG.error(`登录失败`)}finally{r(!1)}},layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`username`,rules:[{required:!0,message:`请输入用户名`}],children:(0,$.jsx)(UU,{placeholder:`用户名`,size:`large`,prefix:(0,$.jsx)(d3,{style:{color:`#94a3b8`,marginRight:8}})})}),(0,$.jsx)(Z.Item,{name:`password`,rules:[{required:!0,message:`请输入密码`}],children:(0,$.jsx)(UU.Password,{placeholder:`密码`,size:`large`,prefix:(0,$.jsx)(X0,{style:{color:`#94a3b8`,marginRight:8}})})}),(0,$.jsx)(Z.Item,{name:`rememberMe`,valuePropName:`checked`,children:(0,$.jsx)(SB,{children:`记住我的登录状态`})}),(0,$.jsx)(Z.Item,{style:{marginBottom:8},children:(0,$.jsx)(mD,{type:`primary`,htmlType:`submit`,loading:n,block:!0,size:`large`,style:{borderRadius:10,fontWeight:600,height:44,background:`linear-gradient(135deg, #6366f1, #8b5cf6)`,border:`none`},children:`登录管理后台`})})]})]})})},Q6=()=>{let[e,t]=(0,x.useState)(null),[n,r]=(0,x.useState)(!0);return(0,x.useEffect)(()=>{(async()=>{r(!0);try{t(await q3())}catch{}r(!1)})()},[]),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(tK,{gutter:[16,16],children:(e?[{title:`总用户数`,value:e.totalUsers,icon:(0,$.jsx)(d3,{}),color:`#6366f1`,bg:`rgba(99,102,241,0.08)`},{title:`总项目数`,value:e.totalProjects,icon:(0,$.jsx)(F2,{}),color:`#06b6d4`,bg:`rgba(6,182,212,0.08)`},{title:`总生成次数`,value:e.totalGenerations,icon:(0,$.jsx)(M2,{}),color:`#10b981`,bg:`rgba(16,185,129,0.08)`},{title:`总收入(元)`,value:e.totalRevenue,icon:(0,$.jsx)($1,{}),color:`#f59e0b`,bg:`rgba(245,158,11,0.08)`,prefix:`¥`},{title:`今日消耗积分`,value:e.creditsConsumedToday,icon:(0,$.jsx)(q4,{}),color:`#ef4444`,bg:`rgba(239,68,68,0.08)`}]:[]).map((e,t)=>(0,$.jsx)(kB,{xs:12,sm:8,lg:t<4?6:24,children:(0,$.jsx)(Xz,{bordered:!1,loading:n,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:14},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:e.bg,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:20,color:e.color,flexShrink:0},children:e.icon}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12,marginBottom:2},children:e.title}),(0,$.jsxs)(`div`,{style:{fontSize:22,fontWeight:800,color:`#1a1a2e`},children:[e.prefix,typeof e.value==`number`?e.value.toLocaleString():e.value]})]})]})})},e.title))}),(0,$.jsx)(tK,{gutter:[16,16],style:{marginTop:16},children:(0,$.jsx)(kB,{xs:24,lg:12,children:(0,$.jsx)(Xz,{title:`系统信息`,bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:(0,$.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:12},children:[{label:`平台名称`,value:`VideoGen.AI`},{label:`API版本`,value:`v1.0.0`},{label:`数据库`,value:`PostgreSQL`},{label:`视频引擎`,value:`Seedance 2.0`}].map(e=>(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,padding:`8px 0`,borderBottom:`1px solid #f5f6fa`},children:[(0,$.jsx)(Q.Text,{type:`secondary`,children:e.label}),(0,$.jsx)(Q.Text,{strong:!0,children:e.value})]},e.label))})})})})]})};function $6(e){if(!e)return`-`;let t=e.trim();t.includes(`T`)||(t=t.replace(` `,`T`));let n=t.indexOf(`.`);return n>0&&(t=t.slice(0,n)),t=t.replace(/[+-]\d{2}:?\d{0,2}$/,``).replace(/Z$/,``),t.replace(`T`,` `).slice(0,16)}var e8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!0),[i,a]=(0,x.useState)(``),[o,s]=(0,x.useState)(`frontend`),[c,l]=(0,x.useState)({open:!1,user:null}),[u,d]=(0,x.useState)(!1),[f,p]=(0,x.useState)(`frontend`),[m,h]=(0,x.useState)({open:!1,user:null}),[g,_]=(0,x.useState)([]),[v,y]=(0,x.useState)([]),[b,S]=(0,x.useState)({open:!1,user:null}),[C]=Z.useForm(),[w]=Z.useForm(),[T]=Z.useForm(),E=async()=>{r(!0);try{t(await J3(i||void 0))}catch{}r(!1)};(0,x.useEffect)(()=>{E()},[]);let D=()=>E(),O=async()=>{try{let e=await C.validateFields(),{user:t}=c;if(!t)return;await Y3(t.id,e.amount,e.description),dG.success(`已${e.amount>0?`增加`:`扣除`} ${Math.abs(e.amount)} 积分`),l({open:!1,user:null}),C.resetFields(),E()}catch{}},k=async e=>{await X3(e.id,!e.isActive),dG.success(e.isActive?`已禁用该用户`:`已启用该用户`),E()},A=async()=>{try{let e=await w.validateFields(),t=e.user_type||`frontend`;await D6({username:t===`admin`?e.username:void 0,password:e.password,email:e.email||void 0,phone:t===`frontend`?e.phone:e.phone||void 0,credits:e.credits||0,user_type:t}),dG.success(`用户创建成功`),d(!1),w.resetFields(),p(`frontend`),E()}catch{}},j=async e=>{try{let t=await w6(),n=e.userType===`admin`;_(t.filter(e=>{let t=e.menu_target??e.menuTarget??`frontend`;return n?t===`admin`||t===`both`:t===`frontend`||t===`both`})),y(e.allowedMenus||[]),h({open:!0,user:e})}catch{dG.error(`加载菜单失败`)}},M=g.filter(e=>(e.menu_type??e.menuType)===`group`),N=g.filter(e=>(e.menu_type??e.menuType)!==`group`),P={};N.filter(e=>e.parent_id??e.parentId).forEach(e=>{let t=e.parent_id??e.parentId;P[t]||(P[t]=[]),P[t].push(e)});let F=N.filter(e=>!(e.parent_id??e.parentId)),I=async()=>{let{user:e}=m;if(e)try{await O6(e.id,v.length>0?v:null),dG.success(`菜单权限已更新`),h({open:!1,user:null}),E()}catch(e){dG.error(e?.message||`保存失败`)}},L=async()=>{try{let e=await T.validateFields(),{user:t}=b;if(!t)return;await k6(t.id,e.newPassword),dG.success(`已重置 ${t.username} 的密码`),S({open:!1,user:null}),T.resetFields()}catch{}},R=e.filter(e=>e.userType===o),z=o===`admin`,B=[{title:`用户`,key:`user`,width:200,render:(e,t)=>(0,$.jsxs)(hH,{children:[(0,$.jsx)(`div`,{style:{width:32,height:32,borderRadius:8,background:t.isAdmin?`linear-gradient(135deg, #f59e0b, #f97316)`:`linear-gradient(135deg, #6366f1, #8b5cf6)`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`#fff`,fontSize:13,fontWeight:700},children:t.username.charAt(0).toUpperCase()}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{style:{fontWeight:600},children:[t.username,t.isAdmin&&(0,$.jsx)(EZ,{color:`orange`,style:{marginLeft:6,fontSize:10},children:`管理员`})]}),(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.email})]})]})},...z?[]:[{title:`积分余额`,dataIndex:`credits`,width:120,sorter:(e,t)=>e.credits-t.credits,render:e=>(0,$.jsx)(Q.Text,{strong:!0,style:{color:e>0?`#10b981`:`#ef4444`,fontSize:15},children:e.toLocaleString()})}],{title:`手机号`,dataIndex:`phone`,width:130,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,children:e||`-`})},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(EZ,{color:e?`green`:`red`,children:e?`正常`:`禁用`})},{title:`注册时间`,dataIndex:`createdAt`,width:120,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:$6(e)})},{title:`最后登录`,dataIndex:`lastLoginAt`,width:140,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:$6(e)})},{title:`操作`,key:`action`,width:320,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[!z&&(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(_3,{}),onClick:()=>{l({open:!0,user:t}),C.resetFields()},children:`调整积分`}),(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(c2,{}),onClick:()=>j(t),children:`菜单权限`}),(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(X0,{}),onClick:()=>{S({open:!0,user:t}),T.resetFields()},children:`重置密码`}),(0,$.jsx)(vG,{title:t.isActive?`确定禁用该用户?`:`确定启用该用户?`,onConfirm:()=>k(t),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:t.isActive,icon:t.isActive?(0,$.jsx)(R4,{}):(0,$.jsx)(C1,{}),children:t.isActive?`禁用`:`启用`})})]})}];return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:12},children:[(0,$.jsx)(UU,{placeholder:`搜索用户名或手机号`,prefix:(0,$.jsx)(KC,{style:{color:`#94a3b8`}}),value:i,onChange:e=>a(e.target.value),onPressEnter:D,style:{width:280,borderRadius:8},allowClear:!0}),(0,$.jsx)(mD,{type:`primary`,onClick:D,style:{borderRadius:8},children:`搜索`})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>{p(o),w.setFieldsValue({user_type:o}),d(!0)},style:{borderRadius:8},children:`创建用户`})]}),(0,$.jsx)(Iz,{activeKey:o,onChange:s,items:[{key:`frontend`,label:`前台用户`},{key:`admin`,label:`后台用户`}]}),(0,$.jsx)(pZ,{columns:B,dataSource:R,rowKey:`id`,loading:n,pagination:{pageSize:10,showTotal:e=>`共 ${e} 个用户`},scroll:{x:1e3}})]}),(0,$.jsxs)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(_3,{}),`调整积分 - `,c.user?.username]}),open:c.open,onOk:O,onCancel:()=>{l({open:!1,user:null}),C.resetFields()},okText:`确认`,cancelText:`取消`,width:440,children:[(0,$.jsxs)(`div`,{style:{marginBottom:16,padding:`12px 16px`,background:`#f8fafc`,borderRadius:8},children:[(0,$.jsx)(`span`,{style:{color:`#64748b`},children:`当前积分:`}),(0,$.jsx)(`span`,{style:{fontWeight:800,fontSize:18,color:`#6366f1`},children:c.user?.credits.toLocaleString()})]}),(0,$.jsxs)(Z,{form:C,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`amount`,label:`积分变动`,rules:[{required:!0,message:`请输入积分数量`}],children:(0,$.jsx)(_V,{style:{width:`100%`},size:`large`,placeholder:`正数增加,负数扣除`,formatter:e=>`${e}`.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)})}),(0,$.jsx)(Z.Item,{name:`description`,label:`原因`,rules:[{required:!0,message:`请输入调整原因`}],children:(0,$.jsx)(UU.TextArea,{rows:2,placeholder:`请输入调整原因`,size:`large`})})]})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(d3,{}),`创建用户`]}),open:u,onOk:A,onCancel:()=>{d(!1),w.resetFields(),p(`frontend`)},okText:`创建`,cancelText:`取消`,width:480,children:(0,$.jsxs)(Z,{form:w,layout:`vertical`,style:{marginTop:16},onValuesChange:e=>{e.user_type&&p(e.user_type)},children:[(0,$.jsx)(Z.Item,{name:`user_type`,label:`用户类型`,initialValue:`frontend`,rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`frontend`,label:`前端用户`},{value:`admin`,label:`后台管理员`}]})}),f===`frontend`?(0,$.jsx)(Z.Item,{name:`phone`,label:`手机号`,rules:[{required:!0,message:`请输入手机号`},{pattern:/^1\d{10}$/,message:`请输入正确的手机号`}],children:(0,$.jsx)(UU,{placeholder:`请输入手机号`,maxLength:11,size:`large`})}):(0,$.jsx)(Z.Item,{name:`username`,label:`用户名`,rules:[{required:!0,message:`请输入用户名`}],children:(0,$.jsx)(UU,{placeholder:`请输入用户名`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`password`,label:`密码`,rules:[{required:!0,min:6,message:`密码至少6位`}],children:(0,$.jsx)(UU.Password,{placeholder:`请输入密码(至少6位)`,size:`large`})}),f===`frontend`&&(0,$.jsx)(Z.Item,{name:`credits`,label:`初始积分`,initialValue:0,children:(0,$.jsx)(_V,{min:0,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`email`,label:`邮箱`,children:(0,$.jsx)(UU,{placeholder:`选填`,size:`large`})})]})}),(0,$.jsxs)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(c2,{}),`菜单权限 - `,m.user?.username,` (`,m.user?.userType===`admin`?`后台菜单`:`前台菜单`,`)`]}),open:m.open,onOk:I,onCancel:()=>{h({open:!1,user:null})},okText:`保存`,cancelText:`取消`,width:520,children:[(0,$.jsx)(`div`,{style:{marginBottom:12},children:(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:13},children:`勾选该用户可访问的菜单,不勾选则显示全部菜单`})}),(0,$.jsx)(`div`,{style:{padding:`12px 16px`,background:`#f8fafc`,borderRadius:8,maxHeight:400,overflow:`auto`},children:(0,$.jsx)(SB.Group,{value:v,onChange:e=>y(e),children:(0,$.jsxs)(hH,{direction:`vertical`,size:8,style:{width:`100%`},children:[F.map(e=>(0,$.jsxs)(SB,{value:e.path,style:{width:`100%`},children:[e.label,(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12,marginLeft:8},children:e.path})]},e.path)),M.map(e=>{let t=P[e.id]||[];return t.length===0?null:(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{fontWeight:600,fontSize:13,color:`#6366f1`,marginBottom:4,marginTop:4},children:e.label}),(0,$.jsx)(hH,{direction:`vertical`,size:4,style:{paddingLeft:12,width:`100%`},children:t.map(e=>(0,$.jsxs)(SB,{value:e.path,style:{width:`100%`},children:[e.label,(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12,marginLeft:8},children:e.path})]},e.path))})]},e.id)})]})})})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(X0,{}),`重置密码 - `,b.user?.username]}),open:b.open,onOk:L,onCancel:()=>{S({open:!1,user:null}),T.resetFields()},okText:`确认重置`,cancelText:`取消`,width:420,children:(0,$.jsx)(Z,{form:T,layout:`vertical`,style:{marginTop:16},children:(0,$.jsx)(Z.Item,{name:`newPassword`,label:`新密码`,rules:[{required:!0,min:6,message:`密码至少6位`}],children:(0,$.jsx)(UU.Password,{placeholder:`请输入新密码(至少6位)`,size:`large`})})})})]})},t8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!0),[i,a]=(0,x.useState)({open:!1,model:null}),[o]=Z.useForm(),s=async()=>{r(!0);try{t(await Z3())}catch{}r(!1)};(0,x.useEffect)(()=>{s()},[]);let c=async()=>{try{let e=await o.validateFields(),t={name:e.name,provider:e.provider,model_name:e.modelName,api_base:e.apiBase,api_key:e.apiKey,weight:e.weight,max_tokens:e.maxTokens,temperature:e.temperature,is_active:e.isActive??!0,priority:e.priority??0};i.model?.id?await Q3({id:i.model.id,...t}):await Q3(t),dG.success(i.model?.id?`模型配置已更新`:`模型配置已添加`),a({open:!1,model:null}),o.resetFields(),s()}catch(e){if(e?.errorFields)return;dG.error(e?.message||`保存失败`)}},l=async e=>{try{await $3(e),dG.success(`模型配置已删除`),s()}catch(e){dG.error(e?.message||`删除失败`)}},u=e=>{a({open:!0,model:e||null}),e?o.setFieldsValue(e):(o.resetFields(),o.setFieldsValue({provider:`sdk`,weight:1,maxTokens:4096,temperature:.7,isActive:!0,priority:0}))};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(Q.Text,{type:`secondary`,children:[`共 `,e.length,` 个模型配置,按权重进行加权随机调度`]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加模型`})]}),(0,$.jsx)(pZ,{columns:[{title:`模型名称`,dataIndex:`name`,width:150,render:(e,t)=>(0,$.jsxs)(hH,{children:[(0,$.jsx)(`div`,{style:{width:32,height:32,borderRadius:8,background:t.isActive?`linear-gradient(135deg, #6366f1, #8b5cf6)`:`linear-gradient(135deg, #94a3b8, #cbd5e1)`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`#fff`,fontSize:14},children:(0,$.jsx)(W2,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{fontWeight:600},children:e}),(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.modelName})]})]})},{title:`提供商`,dataIndex:`provider`,width:140,render:e=>(0,$.jsx)(EZ,{color:e===`mock`?`default`:`blue`,children:{sdk:`SDK模式`,openai_compatible:`OpenAI兼容`,mock:`Mock模式`}[e]||e})},{title:`API地址`,dataIndex:`apiBase`,width:200,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},ellipsis:!0,children:e||`-`})},{title:`权重`,dataIndex:`weight`,width:80,sorter:(e,t)=>e.weight-t.weight},{title:`Max Tokens`,dataIndex:`maxTokens`,width:100},{title:`Temperature`,dataIndex:`temperature`,width:100,render:e=>e.toFixed(1)},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(EZ,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除该模型配置?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(W2,{}),i.model?.id?`编辑模型`:`添加模型`]}),open:i.open,onOk:c,onCancel:()=>{a({open:!1,model:null}),o.resetFields()},okText:`确认`,cancelText:`取消`,width:560,children:(0,$.jsxs)(Z,{form:o,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`name`,label:`显示名称`,rules:[{required:!0,message:`请输入模型名称`}],children:(0,$.jsx)(UU,{placeholder:`例如:GPT-4o`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`provider`,label:`提供商`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`sdk`,label:`SDK模式`},{value:`openai_compatible`,label:`OpenAI兼容`},{value:`mock`,label:`Mock模式`}]})}),(0,$.jsx)(Z.Item,{name:`modelName`,label:`模型标识`,style:{flex:1},rules:[{required:!0,message:`请输入模型标识`}],children:(0,$.jsx)(UU,{placeholder:`例如:gpt-4o`,size:`large`})})]}),(0,$.jsx)(Z.Item,{name:`apiBase`,label:`API地址`,children:(0,$.jsx)(UU,{placeholder:`https://api.openai.com/v1`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`apiKey`,label:`API Key`,children:(0,$.jsx)(UU.Password,{placeholder:`sk-****`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`weight`,label:`权重`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(_V,{min:0,max:10,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`maxTokens`,label:`Max Tokens`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(_V,{min:256,max:128e3,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`temperature`,label:`Temperature`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(_V,{min:0,max:2,step:.1,style:{width:`100%`},size:`large`})})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`priority`,label:`优先级`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(_V,{min:0,max:10,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`isActive`,label:`启用`,valuePropName:`checked`,style:{flex:1,paddingTop:30},children:(0,$.jsx)(SK,{})})]})]})})]})},n8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!0),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(``),[c]=Z.useForm();(0,x.useEffect)(()=>{l()},[]);let l=async()=>{r(!0);let e=await e6();t(e);let n={};e.forEach(e=>{n[e.key]=e.value}),c.setFieldsValue(n),r(!1)},u=async()=>{try{let n=await c.validateFields();a(!0);for(let t of e){let e=n[t.key];e!==void 0&&e!==t.value&&await t6(t.id,e??``)}dG.success(`系统配置已保存`),t(await e6()),a(!1)}catch(e){a(!1),dG.error(e?.message||`保存失败`)}},d=async(e,n)=>{s(n);try{let r=await n6(e,n);t(e=>e.map(e=>e.key===n?{...e,value:r.url}:e)),c.setFieldsValue({[n]:r.url}),dG.success(`PDF上传成功`)}catch{dG.error(`上传失败`)}finally{s(``)}return!1},f={站点信息:e.filter(e=>e.key.startsWith(`site_`)),协议配置:e.filter(e=>e.key===`user_agreement_url`||e.key===`privacy_policy_url`),"SEO 设置":e.filter(e=>e.key.startsWith(`seo_`))},p=e=>({site_name:`平台显示名称,将展示在页面标题和导航栏`,site_logo:`平台Logo图片URL,建议尺寸 200x40px`,user_agreement_url:`用户注册/登录时需同意的用户协议PDF文件`,privacy_policy_url:`用户注册/登录时需同意的隐私政策PDF文件`,seo_title:`搜索引擎结果中显示的标题`,seo_description:`搜索引擎结果中显示的描述文字,建议150字以内`,seo_keywords:`用逗号分隔的关键词列表`})[e.key]||e.description||``,m=e=>e.key===`seo_description`?(0,$.jsx)(UU.TextArea,{rows:3,placeholder:e.description,size:`large`}):e.key===`seo_keywords`?(0,$.jsx)(UU,{placeholder:`关键词1, 关键词2, 关键词3`,size:`large`}):(0,$.jsx)(UU,{placeholder:e.description,size:`large`}),h=({config:e})=>{let t=e.key===`user_agreement_url`?`用户协议`:`隐私政策`,n=e.value&&e.value.startsWith(`/uploads/`);return(0,$.jsxs)(`div`,{style:{padding:`16px`,borderRadius:10,border:`1px solid #f0f0f5`,background:`#fafbfc`,marginBottom:12},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginBottom:8},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(d0,{style:{color:`#ef4444`,fontSize:18}}),(0,$.jsx)(Q.Text,{strong:!0,children:t})]}),(0,$.jsxs)(hH,{children:[n&&(0,$.jsx)(mD,{size:`small`,icon:(0,$.jsx)(xU,{}),onClick:()=>window.open(`http://localhost:8000${e.value}`,`_blank`),children:`预览`}),(0,$.jsx)(b$,{accept:`.pdf`,showUploadList:!1,beforeUpload:t=>d(t,e.key),children:(0,$.jsx)(mD,{size:`small`,type:`primary`,icon:(0,$.jsx)(c3,{}),loading:o===e.key,children:n?`重新上传`:`上传PDF`})})]})]}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:n?`已上传: ${e.value}`:`尚未上传,前台将不显示对应链接`})]})};return n?(0,$.jsx)(Xz,{loading:!0,bordered:!1,style:{borderRadius:12}}):(0,$.jsxs)(`div`,{style:{maxWidth:720},children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`,marginBottom:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12,marginBottom:24},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:`rgba(99,102,241,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:20,color:`#6366f1`},children:(0,$.jsx)(d4,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:4,style:{margin:0},children:`系统设置`}),(0,$.jsx)(Q.Text,{type:`secondary`,children:`管理站点基础信息、协议文件和SEO配置`})]})]}),(0,$.jsx)(Z,{form:c,layout:`vertical`,children:Object.entries(f).map(([e,t])=>(0,$.jsxs)(`div`,{style:{marginBottom:24},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:14,display:`block`,marginBottom:12,paddingBottom:8,borderBottom:`1px solid #f0f0f5`},children:e}),e===`协议配置`?t.map(e=>(0,$.jsx)(h,{config:e},e.id)):t.map(e=>(0,$.jsx)(Z.Item,{name:e.key,label:(0,$.jsx)(`span`,{style:{fontWeight:500},children:e.description}),extra:p(e),children:m(e)},e.id))]},e))})]}),(0,$.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`},children:(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(n4,{}),onClick:u,loading:i,size:`large`,style:{borderRadius:8,minWidth:140},children:`保存配置`})})]})},r8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!1),[i,a]=(0,x.useState)([]),[o,s]=(0,x.useState)(!1),[c]=Z.useForm(),[l,u]=(0,x.useState)({open:!1,notifId:``,title:``}),[d,f]=(0,x.useState)([]),[p,m]=(0,x.useState)(!1),h=async()=>{r(!0);try{let e=await b6(),n=await J3(),r={};n.forEach(e=>{r[e.id]=e.username}),t((e.items||[]).map(e=>({id:e.id,title:e.title,content:e.content,type:e.type,targetUserId:e.userId||null,target:e.userId?r[e.userId]||e.userId:`全部用户`,createdAt:e.createdAt}))),a(n.map(e=>({id:e.id,username:e.username})))}catch{dG.error(`加载通知列表失败`)}finally{r(!1)}};(0,x.useEffect)(()=>{h()},[]);let g=async()=>{try{let e=await c.validateFields();await x6({title:e.title,content:e.content,type:e.type||`system`,target_user_id:e.target_user_id||void 0}),dG.success(`消息已发送`),s(!1),c.resetFields(),h()}catch{}},_=async e=>{try{await S6(e),dG.success(`已删除`),h()}catch(e){dG.error(e?.message||`删除失败`)}},v=async(e,t)=>{u({open:!0,notifId:e,title:t}),m(!0);try{f((await C6(e)).items||[])}catch{dG.error(`加载已读列表失败`)}finally{m(!1)}},y=e=>{switch(e){case`system`:return`blue`;case`credit`:return`orange`;case`promo`:return`purple`;default:return`default`}};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(n1,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`消息推送管理`}),(0,$.jsxs)(EZ,{color:`purple`,children:[e.length,` 条消息`]})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>s(!0),style:{borderRadius:8},children:`发送新消息`})]}),(0,$.jsx)(pZ,{columns:[{title:`标题`,dataIndex:`title`,width:200,render:e=>(0,$.jsx)(Q.Text,{strong:!0,children:e})},{title:`内容`,dataIndex:`content`,ellipsis:!0},{title:`类型`,dataIndex:`type`,width:80,render:e=>(0,$.jsx)(EZ,{color:y(e),children:{system:`系统`,credit:`积分`,promo:`活动`}[e]||e})},{title:`发送目标`,dataIndex:`target`,width:120,render:e=>(0,$.jsx)(EZ,{color:e===`全部用户`?`green`:`blue`,children:e})},{title:`发送时间`,dataIndex:`createdAt`,width:160,render:e=>$6(e)},{title:`操作`,key:`action`,width:180,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(xU,{}),onClick:()=>v(t.id,t.title),children:`已读`}),(0,$.jsx)(vG,{title:`确定删除该消息?`,onConfirm:()=>_(t.id),children:(0,$.jsx)(mD,{type:`link`,danger:!0,size:`small`,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:{pageSize:10,showTotal:e=>`共 ${e} 条消息`},scroll:{x:900}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(c4,{}),`发送消息`]}),open:o,onOk:g,onCancel:()=>{s(!1),c.resetFields()},okText:`发送`,cancelText:`取消`,width:520,children:(0,$.jsxs)(Z,{form:c,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsx)(Z.Item,{name:`title`,label:`消息标题`,rules:[{required:!0,message:`请输入标题`}],children:(0,$.jsx)(UU,{placeholder:`请输入消息标题`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`content`,label:`消息内容`,rules:[{required:!0,message:`请输入内容`}],children:(0,$.jsx)(UU.TextArea,{rows:4,placeholder:`请输入消息内容`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`type`,label:`消息类型`,style:{flex:1},initialValue:`system`,rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`system`,label:`系统通知`},{value:`credit`,label:`积分通知`},{value:`promo`,label:`活动通知`}]})}),(0,$.jsx)(Z.Item,{name:`target_user_id`,label:`发送目标`,style:{flex:1},extra:`留空则发送给全部用户`,children:(0,$.jsx)(ZC,{size:`large`,allowClear:!0,placeholder:`全部用户`,options:i.map(e=>({value:e.id,label:e.username}))})})]})]})}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(W4,{}),`已读用户 — `,l.title]}),open:l.open,onCancel:()=>{u({open:!1,notifId:``,title:``}),f([])},footer:null,width:480,children:p?(0,$.jsx)(`div`,{style:{textAlign:`center`,padding:40},children:`加载中...`}):d.length===0?(0,$.jsx)(xC,{description:`暂无用户已读`,style:{padding:`40px 0`}}):(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{style:{marginBottom:12,color:`#64748b`,fontSize:13},children:[`共 `,d.length,` 人已读`]}),(0,$.jsx)(pZ,{dataSource:d,rowKey:`userId`,pagination:!1,size:`small`,columns:[{title:`用户名`,dataIndex:`username`,render:e=>(0,$.jsx)(Q.Text,{strong:!0,children:e})},{title:`已读时间`,dataIndex:`readAt`,width:180,render:e=>$6(e)}]})]})})]})},i8={recharge:{text:`充值`,color:`green`,icon:(0,$.jsx)(W$,{})},consume:{text:`消费`,color:`red`,icon:(0,$.jsx)(V$,{})},refund:{text:`退回`,color:`blue`,icon:(0,$.jsx)(X2,{})}},a8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(0),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(``),c=async e=>{a(!0);try{let n=await r6(e?{type:e}:void 0);t(n.items||[]),r(n.total||0)}catch{dG.error(`加载积分记录失败`)}finally{a(!1)}};(0,x.useEffect)(()=>{c()},[]);let l=e=>{s(e),c(e||void 0)},u=e.filter(e=>e.type===`recharge`).reduce((e,t)=>e+t.amount,0),d=e.filter(e=>e.type===`consume`).reduce((e,t)=>e+Math.abs(t.amount),0);return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,marginBottom:16},children:[(0,$.jsx)(Xz,{bordered:!1,style:{flex:1,borderRadius:12,border:`1px solid #f0f0f5`},children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:`rgba(16,185,129,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:20,color:`#10b981`},children:(0,$.jsx)(W$,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:`总充值`}),(0,$.jsxs)(`div`,{style:{fontSize:22,fontWeight:800,color:`#10b981`},children:[`+`,u.toLocaleString()]})]})]})}),(0,$.jsx)(Xz,{bordered:!1,style:{flex:1,borderRadius:12,border:`1px solid #f0f0f5`},children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:`rgba(239,68,68,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:20,color:`#ef4444`},children:(0,$.jsx)(V$,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:`总消费`}),(0,$.jsxs)(`div`,{style:{fontSize:22,fontWeight:800,color:`#ef4444`},children:[`-`,d.toLocaleString()]})]})]})}),(0,$.jsx)(Xz,{bordered:!1,style:{flex:1,borderRadius:12,border:`1px solid #f0f0f5`},children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:`rgba(99,102,241,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:20,color:`#6366f1`},children:(0,$.jsx)(_3,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:`交易笔数`}),(0,$.jsx)(`div`,{style:{fontSize:22,fontWeight:800,color:`#1a1a2e`},children:n})]})]})})]}),(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsx)(hH,{children:(0,$.jsx)(ZC,{value:o,onChange:l,style:{width:120},options:[{value:``,label:`全部类型`},{value:`recharge`,label:`充值`},{value:`consume`,label:`消费`},{value:`refund`,label:`退回`}]})}),(0,$.jsx)(mD,{icon:(0,$.jsx)(eK,{}),onClick:()=>c(o||void 0),children:`刷新`})]}),(0,$.jsx)(pZ,{columns:[{title:`用户`,dataIndex:`username`,width:120,render:e=>(0,$.jsx)(Q.Text,{strong:!0,children:e})},{title:`类型`,dataIndex:`type`,width:100,render:e=>{let t=i8[e]||{text:e||`-`,color:`default`,icon:null};return(0,$.jsx)(EZ,{color:t.color,icon:t.icon,children:t.text})}},{title:`变动积分`,dataIndex:`amount`,width:120,sorter:(e,t)=>e.amount-t.amount,render:e=>(0,$.jsxs)(Q.Text,{strong:!0,style:{color:e>0?`#10b981`:`#ef4444`,fontSize:15},children:[e>0?`+`:``,e.toLocaleString()]})},{title:`变动后余额`,dataIndex:`balanceAfter`,width:120,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,children:e.toLocaleString()})},{title:`说明`,dataIndex:`description`,ellipsis:!0},{title:`时间`,dataIndex:`createdAt`,width:160,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:$6(e)})}],dataSource:e,rowKey:`id`,loading:i,pagination:{pageSize:10,showTotal:e=>`共 ${e} 条记录`},scroll:{x:800}})]})]})},o8=()=>{let[e,t]=(0,x.useState)(!1),[n,r]=(0,x.useState)(!1),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(!1),[c,l]=(0,x.useState)(180),[u]=Z.useForm(),d=async()=>{try{let e=await g6(),t={};e.forEach(e=>{t[e.key]=e.value}),u.setFieldsValue({wechat_mch_id:t.payment_wechat_mch_id||``,wechat_api_key:t.payment_wechat_api_key||``,wechat_cert_path:t.payment_wechat_cert_path||``,wechat_notify_url:t.payment_wechat_notify_url||``,alipay_app_id:t.payment_alipay_app_id||``,alipay_private_key:t.payment_alipay_private_key||``,alipay_public_key:t.payment_alipay_public_key||``,alipay_notify_url:t.payment_alipay_notify_url||``,alipay_gateway:t.payment_alipay_gateway||``,order_timeout:t.payment_order_timeout||`180`}),r(t.payment_wechat_enabled===`true`),a(t.payment_alipay_enabled===`true`),s(t.payment_mock===`true`),l(parseInt(t.payment_order_timeout||`180`,10))}catch{dG.error(`加载支付配置失败`)}};return(0,x.useEffect)(()=>{d()},[]),(0,$.jsxs)(`div`,{style:{maxWidth:720},children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`,marginBottom:16},children:[(0,$.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:20},children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:`rgba(99,102,241,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:22,color:`#6366f1`},children:(0,$.jsx)($V,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:5,style:{margin:0},children:`通用设置`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:`订单超时和测试模式配置`})]})]})}),(0,$.jsx)(Z,{form:u,layout:`vertical`,children:(0,$.jsx)(Z.Item,{name:`order_timeout`,label:(0,$.jsx)(`span`,{style:{fontWeight:500},children:`订单超时时间`}),extra:`订单创建后超过此时间未支付将自动取消(秒)`,children:(0,$.jsx)(_V,{min:30,max:86400,placeholder:`180`,style:{width:`100%`},size:`large`})})})]}),(0,$.jsx)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`,marginBottom:16,background:o?`#fff7e6`:`#fafbff`},children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:o?`rgba(245,158,11,0.15)`:`rgba(99,102,241,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:22,color:o?`#f59e0b`:`#6366f1`},children:(0,$.jsx)($1,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:5,style:{margin:0},children:`模拟支付模式`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:o?`⚠️ 开启后所有充值会直接成功(仅用于测试)`:`关闭 - 使用真实支付渠道`})]})]}),(0,$.jsx)(SK,{checked:o,onChange:s,checkedChildren:`已开启`,unCheckedChildren:`已关闭`})]})}),(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`,marginBottom:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:20},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:`rgba(7,193,96,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:22,color:`#07c160`},children:(0,$.jsx)(b3,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:5,style:{margin:0},children:`微信支付`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:`微信商户号支付配置`})]})]}),(0,$.jsx)(SK,{checked:n,onChange:r,checkedChildren:`已启用`,unCheckedChildren:`未启用`})]}),(0,$.jsxs)(Z,{form:u,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`wechat_mch_id`,label:`商户号 (MchID)`,children:(0,$.jsx)(UU,{placeholder:`微信支付商户号`,size:`large`,disabled:!n})}),(0,$.jsx)(Z.Item,{name:`wechat_api_key`,label:`API密钥`,children:(0,$.jsx)(UU.Password,{placeholder:`微信支付API密钥`,size:`large`,disabled:!n})}),(0,$.jsx)(Z.Item,{name:`wechat_cert_path`,label:`证书路径`,children:(0,$.jsx)(UU,{placeholder:`apiclient_cert.pem 路径`,size:`large`,disabled:!n})}),(0,$.jsx)(Z.Item,{name:`wechat_notify_url`,label:`回调地址`,children:(0,$.jsx)(UU,{placeholder:`https://yourdomain.com/api/payments/wechat/callback`,size:`large`,disabled:!n})})]})]}),(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`,marginBottom:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:20},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:`rgba(0,122,255,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:22,color:`#007aff`},children:(0,$.jsx)(M$,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:5,style:{margin:0},children:`支付宝`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:`支付宝应用支付配置`})]})]}),(0,$.jsx)(SK,{checked:i,onChange:a,checkedChildren:`已启用`,unCheckedChildren:`未启用`})]}),(0,$.jsxs)(Z,{form:u,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`alipay_app_id`,label:`AppID`,children:(0,$.jsx)(UU,{placeholder:`支付宝应用AppID`,size:`large`,disabled:!i})}),(0,$.jsx)(Z.Item,{name:`alipay_private_key`,label:`应用私钥`,children:(0,$.jsx)(UU.TextArea,{rows:3,placeholder:`支付宝应用私钥 (PKCS8格式)`,disabled:!i})}),(0,$.jsx)(Z.Item,{name:`alipay_public_key`,label:`支付宝公钥`,children:(0,$.jsx)(UU.TextArea,{rows:3,placeholder:`支付宝公钥`,disabled:!i})}),(0,$.jsx)(Z.Item,{name:`alipay_gateway`,label:`网关地址`,extra:`正式环境: https://openapi.alipay.com/gateway.do 沙箱环境: https://openapi-sandbox.dl.alipaydev.com/gateway.do`,children:(0,$.jsx)(UU,{placeholder:`https://openapi.alipay.com/gateway.do`,size:`large`,disabled:!i})}),(0,$.jsx)(Z.Item,{name:`alipay_notify_url`,label:`回调地址`,extra:`用户支付成功后,支付宝会主动通知此地址,服务器收到通知后给用户加积分`,children:(0,$.jsx)(UU,{placeholder:`https://yourdomain.com/api/payments/alipay/callback`,size:`large`,disabled:!i})})]})]}),(0,$.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`},children:(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(n4,{}),onClick:async()=>{try{let e=await u.validateFields();t(!0),await _6({payment_mock:String(o),payment_wechat_enabled:String(n),payment_wechat_mch_id:e.wechat_mch_id||``,payment_wechat_api_key:e.wechat_api_key||``,payment_wechat_cert_path:e.wechat_cert_path||``,payment_wechat_notify_url:e.wechat_notify_url||``,payment_alipay_enabled:String(i),payment_alipay_app_id:e.alipay_app_id||``,payment_alipay_private_key:e.alipay_private_key||``,payment_alipay_public_key:e.alipay_public_key||``,payment_alipay_notify_url:e.alipay_notify_url||``,payment_alipay_gateway:e.alipay_gateway||``,payment_order_timeout:String(e.order_timeout||180)}),dG.success(`支付配置已保存`),d()}catch{dG.error(`保存失败`)}finally{t(!1)}},loading:e,size:`large`,style:{borderRadius:8,minWidth:140},children:`保存配置`})})]})},{Option:s8}=ZC,{RangePicker:c8}=oH,l8=()=>{let[e,t]=(0,x.useState)(!1),[n,r]=(0,x.useState)(null),[i,a]=(0,x.useState)({startDate:(0,SD.default)().format(`YYYY-MM-DD`),endDate:(0,SD.default)().format(`YYYY-MM-DD`)}),o=async()=>{try{t(!0),r(await v6(i))}catch{dG.error(`加载支付统计失败`)}finally{t(!1)}};(0,x.useEffect)(()=>{o()},[i]);let s=()=>{a({startDate:(0,SD.default)().format(`YYYY-MM-DD`),endDate:(0,SD.default)().format(`YYYY-MM-DD`)})},c=async e=>{try{t(!0),await y6(e),dG.success(`退款成功`),await o()}catch(e){dG.error(e?.response?.data?.detail||`退款失败`)}finally{t(!1)}},l=e=>{e&&e.length===2&&a(t=>({...t,startDate:e[0].format(`YYYY-MM-DD`),endDate:e[1].format(`YYYY-MM-DD`)}))},u={paid:{color:`green`,label:`已支付`,icon:(0,$.jsx)(C1,{})},pending:{color:`gold`,label:`待支付`,icon:(0,$.jsx)($V,{})},cancelled:{color:`default`,label:`已取消`,icon:(0,$.jsx)(E1,{})},refunded:{color:`red`,label:`已退款`,icon:(0,$.jsx)(a3,{})}},d={alipay:{color:`blue`,label:`支付宝`},wechat:{color:`green`,label:`微信`}},f=[{title:`订单号`,dataIndex:`orderNo`,key:`orderNo`,width:200},{title:`用户`,dataIndex:`username`,key:`username`,width:120},{title:`支付方式`,dataIndex:`paymentMethod`,key:`paymentMethod`,width:100,render:e=>{let t=d[e]||{color:`default`,label:e};return(0,$.jsx)(EZ,{color:t.color,children:t.label})}},{title:`金额`,dataIndex:`amount`,key:`amount`,width:100,render:e=>(0,$.jsxs)(Q.Text,{strong:!0,style:{color:`#10b981`},children:[`¥`,e.toFixed(2)]})},{title:`积分`,dataIndex:`credits`,key:`credits`,width:80},{title:`状态`,dataIndex:`status`,key:`status`,width:100,render:e=>{let t=u[e]||{color:`default`,label:e,icon:null};return(0,$.jsx)(EZ,{color:t.color,icon:t.icon,children:t.label})}},{title:`支付宝交易号`,dataIndex:`tradeNo`,key:`tradeNo`,width:200,render:e=>e||`-`},{title:`创建时间`,dataIndex:`createdAt`,key:`createdAt`,width:160,render:e=>(0,$.jsx)(`span`,{className:`date-display`,style:{color:`#94a3b8`},children:e?$6(e):`-`})},{title:`支付时间`,dataIndex:`paidAt`,key:`paidAt`,width:160,render:e=>(0,$.jsx)(`span`,{className:`date-display`,style:{color:`#94a3b8`},children:e?$6(e):`-`})},{title:`操作`,key:`action`,width:120,render:(e,t)=>t.status===`paid`?(0,$.jsx)(vG,{title:`确认要退款该订单吗?`,description:`退款后积分会扣除,金额会原路返回`,onConfirm:()=>c(t.orderNo),okText:`确认`,cancelText:`取消`,children:(0,$.jsx)(mD,{type:`link`,danger:!0,size:`small`,icon:(0,$.jsx)(a3,{}),children:`退款`})}):null}];if(!n)return(0,$.jsx)(`div`,{style:{padding:24,color:`#94a3b8`},children:`加载中…`});let p=n.byStatus?.paid||{count:0,amount:0},m=n.byStatus?.pending||{count:0,amount:0},h=n.byStatus?.cancelled||{count:0,amount:0},g=n.byStatus?.refunded||{count:0,amount:0},_=p.count+m.count+h.count+g.count,v=n.month||{count:0,amount:0};return(0,$.jsx)(Gp,{locale:D3.default,children:(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(tK,{gutter:[16,16],style:{marginBottom:24},children:[(0,$.jsx)(kB,{xs:24,sm:12,lg:12,children:(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsx)(pK,{title:`今日收入`,value:n.today.paidAmount,precision:2,prefix:(0,$.jsx)($1,{style:{color:`#10b981`}}),suffix:`元`,valueStyle:{color:`#10b981`,fontWeight:700}}),(0,$.jsxs)(Q.Text,{type:`secondary`,style:{fontSize:12},children:[n.today.paidCount,` 笔订单`]})]})}),(0,$.jsx)(kB,{xs:24,sm:12,lg:12,children:(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsx)(pK,{title:`本月累计`,value:v.paidAmount,precision:2,prefix:(0,$.jsx)($1,{style:{color:`#6366f1`}}),suffix:`元`,valueStyle:{color:`#6366f1`,fontWeight:700}}),(0,$.jsxs)(Q.Text,{type:`secondary`,style:{fontSize:12},children:[v.paidCount,` 笔订单`]})]})})]}),(0,$.jsx)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`,marginBottom:16},title:(0,$.jsxs)(hH,{children:[(0,$.jsx)($1,{}),`订单状态分布`]}),children:(0,$.jsx)(tK,{gutter:16,children:[`paid`,`pending`,`cancelled`,`refunded`].map(e=>{let t=n.byStatus?.[e]||{count:0,amount:0},r=u[e],i=_>0?(t.count/_*100).toFixed(1):`0.0`;return(0,$.jsx)(kB,{span:6,children:(0,$.jsxs)(`div`,{style:{padding:16,borderRadius:10,background:`#fafbff`,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(EZ,{color:r.color,icon:r.icon,children:r.label}),(0,$.jsxs)(Q.Text,{type:`secondary`,style:{fontSize:12},children:[i,`%`]})]}),(0,$.jsxs)(`div`,{style:{marginTop:8,fontSize:20,fontWeight:700},children:[t.count,` `,(0,$.jsx)(`span`,{style:{fontSize:13,color:`#94a3b8`,fontWeight:400},children:`笔`})]}),(0,$.jsxs)(`div`,{style:{fontSize:13,color:`#64748b`,marginTop:4},children:[`¥`,t.amount.toFixed(2)]})]})},e)})})}),(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},title:(0,$.jsxs)(hH,{children:[(0,$.jsx)($1,{}),`订单列表`]}),children:[(0,$.jsxs)(tK,{gutter:[16,16],align:`middle`,style:{marginBottom:24},children:[(0,$.jsxs)(kB,{xs:24,sm:12,md:6,children:[(0,$.jsx)(`span`,{style:{marginRight:8},children:`支付方式:`}),(0,$.jsxs)(ZC,{placeholder:`全部`,allowClear:!0,style:{width:150},value:i.paymentMethod,onChange:e=>a(t=>({...t,paymentMethod:e})),children:[(0,$.jsx)(s8,{value:`alipay`,children:`支付宝`}),(0,$.jsx)(s8,{value:`wechat`,children:`微信`})]})]}),(0,$.jsxs)(kB,{xs:24,sm:12,md:6,children:[(0,$.jsx)(`span`,{style:{marginRight:8},children:`状态:`}),(0,$.jsxs)(ZC,{placeholder:`全部`,allowClear:!0,style:{width:150},value:i.status,onChange:e=>a(t=>({...t,status:e})),children:[(0,$.jsx)(s8,{value:`paid`,children:`已支付`}),(0,$.jsx)(s8,{value:`pending`,children:`待支付`}),(0,$.jsx)(s8,{value:`cancelled`,children:`已取消`}),(0,$.jsx)(s8,{value:`refunded`,children:`已退款`})]})]}),(0,$.jsxs)(kB,{xs:24,sm:12,md:8,children:[(0,$.jsx)(`span`,{style:{marginRight:8},children:`日期范围:`}),(0,$.jsx)(c8,{value:[(0,SD.default)(i.startDate),(0,SD.default)(i.endDate)],onChange:l})]}),(0,$.jsx)(kB,{xs:24,sm:12,md:4,children:(0,$.jsx)(mD,{icon:(0,$.jsx)(eK,{}),onClick:s,children:`重置`})})]}),(0,$.jsx)(pZ,{columns:f,dataSource:n.recent,rowKey:`id`,loading:e,pagination:{pageSize:10,size:`small`},scroll:{x:1e3},size:`middle`})]})]})})},u8=[{name:`ShoppingCartOutlined`,label:`购物`,component:(0,$.jsx)(m4,{})},{name:`BookOutlined`,label:`书籍`,component:(0,$.jsx)(a1,{})},{name:`HomeOutlined`,label:`房产`,component:(0,$.jsx)(R0,{})},{name:`FireOutlined`,label:`火`,component:(0,$.jsx)(m0,{})},{name:`RocketOutlined`,label:`科技`,component:(0,$.jsx)(q2,{})},{name:`SkinOutlined`,label:`时尚`,component:(0,$.jsx)(C4,{})},{name:`CompassOutlined`,label:`指南`,component:(0,$.jsx)(V1,{})},{name:`HeartOutlined`,label:`健康`,component:(0,$.jsx)(k0,{})},{name:`CarOutlined`,label:`汽车`,component:(0,$.jsx)(b1,{})},{name:`CameraOutlined`,label:`相机`,component:(0,$.jsx)(_1,{})},{name:`CloudOutlined`,label:`云`,component:(0,$.jsx)(k1,{})},{name:`StarOutlined`,label:`星`,component:(0,$.jsx)(F4,{})},{name:`TrophyOutlined`,label:`奖杯`,component:(0,$.jsx)($4,{})},{name:`ThunderboltOutlined`,label:`闪电`,component:(0,$.jsx)(q4,{})},{name:`BulbOutlined`,label:`灯泡`,component:(0,$.jsx)(d1,{})},{name:`CoffeeOutlined`,label:`咖啡`,component:(0,$.jsx)(R1,{})},{name:`CrownOutlined`,label:`皇冠`,component:(0,$.jsx)(W1,{})},{name:`DashboardOutlined`,label:`仪表`,component:(0,$.jsx)(q1,{})},{name:`FlagOutlined`,label:`旗帜`,component:(0,$.jsx)(_0,{})},{name:`GlobalOutlined`,label:`全球`,component:(0,$.jsx)(E0,{})},{name:`GiftOutlined`,label:`礼物`,component:(0,$.jsx)(C0,{})},{name:`LaptopOutlined`,label:`笔记本`,component:(0,$.jsx)(W0,{})},{name:`MobileOutlined`,label:`手机`,component:(0,$.jsx)(m2,{})},{name:`MonitorOutlined`,label:`显示器`,component:(0,$.jsx)(_2,{})},{name:`PayCircleOutlined`,label:`支付`,component:(0,$.jsx)(b2,{})},{name:`PictureOutlined`,label:`图片`,component:(0,$.jsx)(E2,{})},{name:`PlayCircleOutlined`,label:`播放`,component:(0,$.jsx)(M2,{})},{name:`SafetyOutlined`,label:`安全`,component:(0,$.jsx)($2,{})},{name:`ShoppingOutlined`,label:`商店`,component:(0,$.jsx)(_4,{})},{name:`SmileOutlined`,label:`笑脸`,component:(0,$.jsx)(E4,{})},{name:`SoundOutlined`,label:`声音`,component:(0,$.jsx)(M4,{})},{name:`TagOutlined`,label:`标签`,component:(0,$.jsx)(V4,{})},{name:`TeamOutlined`,label:`团队`,component:(0,$.jsx)(W4,{})},{name:`ToolOutlined`,label:`工具`,component:(0,$.jsx)(X4,{})},{name:`TruckOutlined`,label:`物流`,component:(0,$.jsx)(n3,{})},{name:`VideoCameraOutlined`,label:`视频`,component:(0,$.jsx)(m3,{})},{name:`WalletOutlined`,label:`钱包`,component:(0,$.jsx)(_3,{})},{name:`BankOutlined`,label:`银行`,component:(0,$.jsx)(X$,{})},{name:`BuildOutlined`,label:`建筑`,component:(0,$.jsx)(c1,{})},{name:`ExperimentOutlined`,label:`实验`,component:(0,$.jsx)(a0,{})},{name:`HighlightOutlined`,label:`高亮`,component:(0,$.jsx)(M0,{})},{name:`IdcardOutlined`,label:`名片`,component:(0,$.jsx)(V0,{})},{name:`MedicineBoxOutlined`,label:`医药`,component:(0,$.jsx)(a2,{})},{name:`ReadOutlined`,label:`阅读`,component:(0,$.jsx)(R2,{})},{name:`RestOutlined`,label:`休息`,component:(0,$.jsx)(V2,{})},{name:`SketchOutlined`,label:`钻石`,component:(0,$.jsx)(b4,{})},{name:`SolutionOutlined`,label:`方案`,component:(0,$.jsx)(k4,{})}],d8=Object.fromEntries(u8.map(e=>[e.name,e.component]));function f8(e){return d8[e]||(0,$.jsx)(R$,{})}function p8(e){try{let t=typeof e==`string`?JSON.parse(e):e;if(!Array.isArray(t))return{skillItems:[],optionGroups:[]};let n=[],r=[];for(let e of t)e&&e.type===`option_group`&&e.name&&Array.isArray(e.options)?r.push({name:e.name,options:e.options}):e&&e.key&&e.label&&n.push({key:e.key,label:e.label});return{skillItems:n,optionGroups:r}}catch{return{skillItems:[],optionGroups:[]}}}var m8=({value:e,onChange:t})=>{let n=u8.find(t=>t.name===e);return(0,$.jsx)(_H,{trigger:[`click`],dropdownRender:()=>(0,$.jsx)(`div`,{style:{background:`#fff`,borderRadius:12,padding:12,width:360,boxShadow:`0 12px 40px rgba(0,0,0,0.15)`,border:`1px solid #f0f0f5`},children:(0,$.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(8, 1fr)`,gap:4},children:u8.map(n=>(0,$.jsx)(`div`,{onMouseDown:e=>{e.preventDefault(),e.stopPropagation(),t?.(n.name)},title:n.label,style:{width:40,height:40,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`,fontSize:18,transition:`all 0.15s`,background:e===n.name?`#6366f1`:`transparent`,color:e===n.name?`#fff`:`#64748b`,border:e===n.name?`none`:`1px solid transparent`},onMouseEnter:t=>{e!==n.name&&(t.currentTarget.style.background=`#f1f5f9`)},onMouseLeave:t=>{e!==n.name&&(t.currentTarget.style.background=`transparent`)},children:n.component},n.name))})}),children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`8px 12px`,borderRadius:8,border:`1px solid #d9d9d9`,cursor:`pointer`,height:40},children:[e?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{style:{fontSize:18,color:`#6366f1`},children:f8(e)}),(0,$.jsx)(`span`,{style:{color:`#64748b`,fontSize:13},children:n?.label||e})]}):(0,$.jsx)(`span`,{style:{color:`#bfbfbf`,fontSize:13},children:`选择图标`}),(0,$.jsx)(UC,{style:{fontSize:10,color:`#bfbfbf`,marginLeft:`auto`}})]})})},h8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!1),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)({open:!1,item:null}),[c]=Z.useForm(),l=async()=>{r(!0);try{t((await i6()).map(e=>{let{skillItems:t,optionGroups:n}=p8(e.skills);return{id:e.id,key:e.key,label:e.label,icon:e.icon||``,description:e.description||``,skills:JSON.stringify(t),optionGroups:n,isActive:e.is_active??e.isActive??!0,sortOrder:e.sort_order??e.sortOrder??0}}))}catch{dG.error(`加载行业配置失败`)}finally{r(!1)}};(0,x.useEffect)(()=>{l()},[]);let u=async()=>{try{let e=await c.validateFields();a(!0);let t=[];e.skills_wentutujie?.trim()&&t.push({type:`skill`,key:`文图理解生成视频提示词`,label:e.skills_wentutujie.trim()}),e.skills_wentutujie_image?.trim()&&t.push({type:`skill`,key:`文图理解生成图片提示词`,label:e.skills_wentutujie_image.trim()});let n=(e.optionGroups||[]).filter(e=>e?.name?.trim()).map(e=>({name:e.name.trim(),options:(e.options||[]).filter(e=>e?.trim())})).filter(e=>e.options.length>0);for(let e of n)t.push({type:`option_group`,name:e.name,options:e.options});let r={key:e.key,label:e.label,icon:e.icon||``,description:e.description||``,skills:t,is_active:e.is_active??!0,sort_order:e.sort_order??0};o.item?.id?(await a6({id:o.item.id,...r}),dG.success(`已更新`)):(await a6(r),dG.success(`已添加`)),s({open:!1,item:null}),c.resetFields(),l()}catch(e){if(e?.errorFields)return;dG.error(e?.message||`保存失败`)}finally{a(!1)}},d=async e=>{try{await o6(e),dG.success(`已删除`),l()}catch(e){dG.error(e?.message||`删除失败`)}},f=e=>{s({open:!0,item:e||null});let t=``,n=``,r=[];if(e){try{let r=JSON.parse(e.skills);if(Array.isArray(r))for(let e of r)(e.key===`文图理解生成视频提示词`||e.key===`文图理解`)&&(t=e.label||``),e.key===`文图理解生成图片提示词`&&(n=e.label||``)}catch{}r=e.optionGroups.length>0?e.optionGroups:[{name:``,options:[]}]}e?c.setFieldsValue({key:e.key,label:e.label,icon:e.icon||``,description:e.description,skills_wentutujie:t,skills_wentutujie_image:n,optionGroups:r,is_active:e.isActive,sort_order:e.sortOrder}):(c.resetFields(),c.setFieldsValue({is_active:!0,sort_order:0,optionGroups:[{name:``,options:[]}]}))};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(R$,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`行业与技能配置`}),(0,$.jsxs)(EZ,{color:`purple`,children:[e.length,` 个行业`]})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>f(),style:{borderRadius:8},children:`添加行业`})]}),(0,$.jsx)(pZ,{columns:[{title:`行业`,key:`industry`,width:180,render:(e,t)=>(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10},children:[(0,$.jsx)(`div`,{style:{width:36,height:36,borderRadius:10,background:`#f1f5f9`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:18,color:`#6366f1`,flexShrink:0},children:f8(t.icon)}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{strong:!0,children:t.label}),(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.key})]})]})},{title:`描述`,dataIndex:`description`,ellipsis:!0},{title:`选项配置`,key:`optionGroups`,width:260,render:(e,t)=>!t.optionGroups||t.optionGroups.length===0?(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#cbd5e1`},children:`未配置`}):(0,$.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:t.optionGroups.map((e,t)=>(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6},children:[(0,$.jsx)(EZ,{color:`blue`,style:{margin:0,fontSize:11},children:e.name}),(0,$.jsxs)(Q.Text,{style:{fontSize:11,color:`#64748b`},children:[e.options.slice(0,3).join(`、`),e.options.length>3?`...${e.options.length}项`:``]})]},t))})},{title:`文图理解生成视频提示词`,dataIndex:`skills`,ellipsis:!0,render:e=>{try{let t=JSON.parse(e);if(Array.isArray(t)){let e=t.find(e=>e.key===`文图理解生成视频提示词`||e.key===`文图理解`);if(e)return(0,$.jsx)(Q.Text,{ellipsis:!0,style:{fontSize:12},children:e.label})}}catch{}return(0,$.jsx)(`span`,{style:{color:`#bfbfbf`},children:`-`})}},{title:`文图理解生成图片提示词`,dataIndex:`skills`,ellipsis:!0,render:e=>{try{let t=JSON.parse(e);if(Array.isArray(t)){let e=t.find(e=>e.key===`文图理解生成图片提示词`);if(e)return(0,$.jsx)(Q.Text,{ellipsis:!0,style:{fontSize:12},children:e.label})}}catch{}return(0,$.jsx)(`span`,{style:{color:`#bfbfbf`},children:`-`})}},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(EZ,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>f(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除该行业?`,onConfirm:()=>d(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(R$,{}),o.item?`编辑行业`:`添加行业`]}),open:o.open,onOk:u,onCancel:()=>{s({open:!1,item:null}),c.resetFields()},okText:`保存`,cancelText:`取消`,width:640,confirmLoading:i,children:(0,$.jsxs)(Z,{form:c,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`key`,label:`行业标识`,style:{flex:1},rules:[{required:!0,message:`请输入标识`}],children:(0,$.jsx)(UU,{placeholder:`例如:ecommerce`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`label`,label:`行业名称`,style:{flex:1},rules:[{required:!0,message:`请输入名称`}],children:(0,$.jsx)(UU,{placeholder:`例如:电商`,size:`large`})})]}),(0,$.jsx)(Z.Item,{name:`icon`,label:`行业图标`,children:(0,$.jsx)(m8,{})}),(0,$.jsx)(Z.Item,{name:`description`,label:`行业描述`,children:(0,$.jsx)(UU.TextArea,{rows:2,placeholder:`行业描述`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`skills_wentutujie`,label:`文图理解生成视频提示词`,extra:`用于LLM优化视频提示词的系统指令,根据行业特点引导AI理解文案与画面的关系`,children:(0,$.jsx)(UU.TextArea,{rows:3,placeholder:`请输入文图理解生成视频提示词,例如: + `]:{zIndex:10,width:r,margin:`0 ${Y(e.marginXXS)}`,fontSize:r,cursor:`pointer`,transition:`all ${e.motionDurationSlow}`,color:i,"&:hover":{color:i},svg:{verticalAlign:`baseline`}}},[`${s}-thumbnail, ${s}-thumbnail img`]:{position:`static`,display:`block`,width:`100%`,height:`100%`,objectFit:`contain`},[`${s}-name`]:{display:`none`,textAlign:`center`},[`${s}-file + ${s}-name`]:{position:`absolute`,bottom:e.margin,display:`block`,width:`calc(100% - ${Y(a(e.paddingXS).mul(2).equal())})`},[`${s}-uploading`]:{[`&${s}`]:{backgroundColor:e.colorFillAlter},[`&::before, ${n}-eye, ${n}-download, ${n}-delete`]:{display:`none`}},[`${s}-progress`]:{bottom:e.marginXL,width:`calc(100% - ${Y(a(e.paddingXS).mul(2).equal())})`,paddingInlineStart:0}}},[`${t}-wrapper${t}-picture-circle-wrapper`]:{[`${t}${t}-select`]:{borderRadius:`50%`}}}},GQ=e=>{let{componentCls:t}=e;return{[`${t}-rtl`]:{direction:`rtl`}}},KQ=e=>{let{componentCls:t,colorTextDisabled:n}=e;return{[`${t}-wrapper`]:{...Kc(e),[t]:{outline:0,"input[type='file']":{cursor:`pointer`}},[`${t}-select`]:{display:`inline-block`},[`${t}-hidden`]:{display:`none`},[`${t}-disabled`]:{color:n,cursor:`not-allowed`}}}},qQ=tl(`Upload`,e=>{let{fontSizeHeading3:t,marginXS:n,lineWidth:r,pictureCardSize:i,calc:a}=e,o=ms(e,{uploadThumbnailSize:a(t).mul(2).equal(),uploadProgressOffset:a(a(n).div(2)).add(r).equal(),uploadPicCardSize:i});return[KQ(o),BQ(o),UQ(o),WQ(o),VQ(o),HQ(o),GQ(o),fh(o)]},e=>({actionsColor:e.colorIcon,pictureCardSize:e.controlHeightLG*2.55})),JQ={icon:function(e,t){return{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M534 352V136H232v752h560V394H576a42 42 0 01-42-42z`,fill:t}},{tag:`path`,attrs:{d:`M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0042 42h216v494z`,fill:e}}]}},name:`file`,theme:`twotone`};function YQ(){return YQ=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,YQ({},e,{ref:t,icon:JQ}))),ZQ={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0012.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 00174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z`}}]},name:`paper-clip`,theme:`outlined`};function QQ(){return QQ=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,QQ({},e,{ref:t,icon:ZQ}))),e$={icon:function(e,t){return{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z`,fill:e}},{tag:`path`,attrs:{d:`M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z`,fill:t}},{tag:`path`,attrs:{d:`M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 110 176 88 88 0 010-176z`,fill:t}},{tag:`path`,attrs:{d:`M276 368a28 28 0 1056 0 28 28 0 10-56 0z`,fill:t}},{tag:`path`,attrs:{d:`M304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z`,fill:e}}]}},name:`picture`,theme:`twotone`};function t$(){return t$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,t$({},e,{ref:t,icon:e$})));function r$(e){return{...e,lastModified:e.lastModified,lastModifiedDate:e.lastModifiedDate,name:e.name,size:e.size,type:e.type,uid:e.uid,percent:0,originFileObj:e}}function i$(e,t){let n=Yr(t),r=n.findIndex(({uid:t})=>t===e.uid);return r===-1?n.push(e):n[r]=e,n}function a$(e,t){let n=e.uid===void 0?`name`:`uid`;return t.filter(t=>t[n]===e[n])[0]}function o$(e,t){let n=e.uid===void 0?`name`:`uid`,r=t.filter(t=>t[n]!==e[n]);return r.length===t.length?null:r}var s$=(e=``)=>{let t=e.split(`/`),n=t[t.length-1].split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(n)||[``])[0]},c$=e=>e.indexOf(`image/`)===0,l$=e=>{if(e.type&&!e.thumbUrl)return c$(e.type);let t=e.thumbUrl||e.url||``,n=s$(t);return/^data:image\//.test(t)||/(webp|svg|png|gif|jpg|jpeg|jfif|bmp|dpg|ico|heic|heif)$/i.test(n)?!0:!(/^data:/.test(t)||n)},u$=200;function d$(e){return new Promise(t=>{if(!e.type||!c$(e.type)){t(``);return}let n=document.createElement(`canvas`);n.width=u$,n.height=u$,n.style.cssText=`position: fixed; left: 0; top: 0; width: ${u$}px; height: ${u$}px; z-index: 9999; display: none;`,document.body.appendChild(n);let r=n.getContext(`2d`),i=new Image;if(i.onload=()=>{let{width:e,height:a}=i,o=u$,s=u$,c=0,l=0;e>a?(s=u$/e*a,l=-(s-o)/2):(o=u$/a*e,c=-(o-s)/2),r.drawImage(i,c,l,o,s);let u=n.toDataURL();document.body.removeChild(n),window.URL.revokeObjectURL(i.src),t(u)},i.crossOrigin=`anonymous`,e.type.startsWith(`image/svg+xml`)){let t=new FileReader;t.onload=()=>{t.result&&typeof t.result==`string`&&(i.src=t.result)},t.readAsDataURL(e)}else if(e.type.startsWith(`image/gif`)){let n=new FileReader;n.onload=()=>{n.result&&t(n.result)},n.readAsDataURL(e)}else i.src=window.URL.createObjectURL(e)})}var f$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M505.7 661a8 8 0 0012.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z`}}]},name:`download`,theme:`outlined`};function p$(){return p$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,p$({},e,{ref:t,icon:f$}))),h$=x.forwardRef(({prefixCls:e,className:t,style:n,classNames:r,styles:i,locale:a,listType:o,file:s,items:c,progress:l,iconRender:u,actionIconRender:d,itemRender:f,isImgUrl:p,showPreviewIcon:m,showRemoveIcon:h,showDownloadIcon:g,previewIcon:_,removeIcon:v,downloadIcon:y,extra:b,onPreview:S,onDownload:C,onClose:w},T)=>{let{status:E}=s,[D,O]=x.useState(E);x.useEffect(()=>{E!==`removed`&&O(E)},[E]);let[k,A]=x.useState(!1);x.useEffect(()=>{let e=setTimeout(()=>{A(!0)},300);return()=>{clearTimeout(e)}},[]);let j=u(s),M=x.createElement(`div`,{className:`${e}-icon`},j);if(o===`picture`||o===`picture-card`||o===`picture-circle`)if(D===`uploading`||!s.thumbUrl&&!s.url){let t=J(`${e}-list-item-thumbnail`,{[`${e}-list-item-file`]:D!==`uploading`});M=x.createElement(`div`,{className:t},j)}else{let t=p?.(s)?x.createElement(`img`,{src:s.thumbUrl||s.url,alt:s.name,className:`${e}-list-item-image`,crossOrigin:s.crossOrigin}):j,n=J(`${e}-list-item-thumbnail`,{[`${e}-list-item-file`]:p&&!p(s)});M=x.createElement(`a`,{className:n,onClick:e=>S(s,e),href:s.url||s.thumbUrl,target:`_blank`,rel:`noopener noreferrer`},t)}let N=J(`${e}-list-item`,`${e}-list-item-${D}`,r?.item),P=typeof s.linkProps==`string`?JSON.parse(s.linkProps):s.linkProps,F=(typeof h==`function`?h(s):h)?d((typeof v==`function`?v(s):v)||x.createElement(kZ,null),()=>w(s),e,a.removeFile,!0):null,I=(typeof g==`function`?g(s):g)&&D===`done`?d((typeof y==`function`?y(s):y)||x.createElement(m$,null),()=>C(s),e,a.downloadFile):null,L=o!==`picture-card`&&o!==`picture-circle`&&x.createElement(`span`,{key:`download-delete`,className:J(`${e}-list-item-actions`,{picture:o===`picture`})},I,F),R=typeof b==`function`?b(s):b,z=R&&x.createElement(`span`,{className:`${e}-list-item-extra`},R),B=J(`${e}-list-item-name`),V=s.url?x.createElement(`a`,{key:`view`,target:`_blank`,rel:`noopener noreferrer`,className:B,title:s.name,...P,href:s.url,onClick:e=>S(s,e)},s.name,z):x.createElement(`span`,{key:`view`,className:B,onClick:e=>S(s,e),title:s.name},s.name,z),H=(typeof m==`function`?m(s):m)&&(s.url||s.thumbUrl)?x.createElement(`a`,{href:s.url||s.thumbUrl,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>S(s,e),title:a.previewFile},typeof _==`function`?_(s):_||x.createElement(xU,null)):null,U=(o===`picture-card`||o===`picture-circle`)&&D!==`uploading`&&x.createElement(`span`,{className:`${e}-list-item-actions`},H,D===`done`&&I,F),{getPrefixCls:W}=x.useContext(ii),ee=W(),te=x.createElement(`div`,{className:N,style:i?.item},M,V,L,U,k&&x.createElement(Nu,{motionName:`${ee}-fade`,visible:D===`uploading`,motionDeadline:2e3},({className:t})=>{let n=`percent`in s?x.createElement(ZG,{type:`line`,percent:s.percent,"aria-label":s[`aria-label`],"aria-labelledby":s[`aria-labelledby`],...l}):null;return x.createElement(`div`,{className:J(`${e}-list-item-progress`,t)},n)})),ne=s.response&&typeof s.response==`string`?s.response:s.error?.statusText||s.error?.message||a.uploadError,re=D===`error`?x.createElement(Bw,{title:ne,getPopupContainer:e=>e.parentNode},te):te;return x.createElement(`div`,{className:J(`${e}-list-item-container`,t),style:n,ref:T},f?f(re,s,c,{download:C.bind(null,s),preview:S.bind(null,s),remove:w.bind(null,s)}):re)}),g$=x.forwardRef((e,t)=>{let{listType:n=`text`,previewFile:r=d$,onPreview:i,onDownload:a,onRemove:o,locale:s,iconRender:c,isImageUrl:l=l$,prefixCls:u,items:d=[],showPreviewIcon:f=!0,showRemoveIcon:p=!0,showDownloadIcon:m=!1,removeIcon:h,previewIcon:g,downloadIcon:_,extra:v,progress:y={size:[-1,2],showInfo:!1},appendAction:b,appendActionVisible:S=!0,itemRender:C,disabled:w,classNames:T,styles:E}=e,[,D]=Cd(),[O,k]=x.useState(!1),A=[`picture-card`,`picture-circle`].includes(n);x.useEffect(()=>{n.startsWith(`picture`)&&(d||[]).forEach(e=>{!(e.originFileObj instanceof File||e.originFileObj instanceof Blob)||e.thumbUrl!==void 0||(e.thumbUrl=``,r?.(e.originFileObj).then(t=>{e.thumbUrl=t||``,D()}))})},[n,d,r]),x.useEffect(()=>{k(!0)},[]);let j=(e,t)=>{if(i)return t?.preventDefault(),i(e)},M=e=>{typeof a==`function`?a(e):e.url&&window.open(e.url)},N=e=>{o?.(e)},P=e=>{if(c)return c(e,n);let t=e.status===`uploading`;if(n.startsWith(`picture`)){let r=n===`picture`?x.createElement(um,null):s.uploading,i=l?.(e)?x.createElement(n$,null):x.createElement(XQ,null);return t?r:i}return t?x.createElement(um,null):x.createElement($Q,null)},F=(e,t,n,r,i)=>{let a={type:`text`,size:`small`,title:r,onClick:n=>{t(),x.isValidElement(e)&&e.props.onClick?.(n)},className:`${n}-list-item-action`,disabled:i?w:!1};return x.isValidElement(e)?x.createElement(Mg,{...a,icon:bp(e,{...e.props,onClick:()=>{}})}):x.createElement(Mg,{...a},x.createElement(`span`,null,e))};x.useImperativeHandle(t,()=>({handlePreview:j,handleDownload:M}));let{getPrefixCls:I}=x.useContext(ii),L=I(`upload`,u),R=I(),z=J(`${L}-list`,`${L}-list-${n}`,T?.list),B=x.useMemo(()=>br(Fm(R),[`onAppearEnd`,`onEnterEnd`,`onLeaveEnd`]),[R]),V={...A?{}:B,motionDeadline:2e3,motionName:`${L}-${A?`animate-inline`:`animate`}`,keys:Yr(d.map(e=>({key:e.uid,file:e}))),motionAppear:O};return x.createElement(`div`,{className:z,style:E?.list},x.createElement(Mu,{...V,component:!1},({key:e,file:t,className:r,style:i})=>x.createElement(h$,{key:e,locale:s,prefixCls:L,className:r,style:i,classNames:T,styles:E,file:t,items:d,progress:y,listType:n,isImgUrl:l,showPreviewIcon:f,showRemoveIcon:p,showDownloadIcon:m,removeIcon:h,previewIcon:g,downloadIcon:_,extra:v,iconRender:P,actionIconRender:F,itemRender:C,onPreview:j,onDownload:M,onClose:N})),b&&x.createElement(Nu,{...V,visible:S,forceRender:!0},({className:e,style:t})=>bp(b,n=>({className:J(n.className,e),style:{...t,pointerEvents:e?`none`:void 0,...n.style}}))))}),_$=`__LIST_IGNORE_${Date.now()}__`,v$=x.forwardRef((e,t)=>{let n=si(`upload`),{fileList:r,defaultFileList:i,onRemove:a,showUploadList:o=!0,listType:s=`text`,onPreview:c,onDownload:l,onChange:u,onDrop:d,previewFile:f,disabled:p,locale:m,iconRender:h,isImageUrl:g,progress:_,prefixCls:v,className:y,type:b=`select`,children:S,style:C,itemRender:w,maxCount:T,data:E={},multiple:D=!1,hasControlInside:O=!0,action:k=``,accept:A=``,supportServerRender:j=!0,rootClassName:M,styles:N,classNames:P}=e,F=x.useContext(Tp),I=p??F,L=e.customRequest||n.customRequest,[R,z]=Bn(i,r),B=R||[],[V,H]=x.useState(`drop`),U=x.useRef(null),W=x.useRef(null);x.useMemo(()=>{let e=Date.now();(r||[]).forEach((t,n)=>{!t.uid&&!Object.isFrozen(t)&&(t.uid=`__AUTO__${e}_${n}__`)})},[r]);let ee=(e,t,n)=>{let r=Yr(t),i=!1;T===1?r=r.slice(-1):T&&(i=r.length>T,r=r.slice(0,T)),(0,Pf.flushSync)(()=>{z(r)});let a={file:e,fileList:r};n&&(a.event=n),(!i||e.status===`removed`||r.some(t=>t.uid===e.uid))&&(0,Pf.flushSync)(()=>{u?.(a)})},te=async(t,n)=>{let{beforeUpload:r}=e,i=t;if(r){let e=await r(t,n);if(e===!1)return!1;if(delete t[_$],e===_$)return Object.defineProperty(t,_$,{value:!0,configurable:!0}),!1;fd(e)&&(i=e)}return i},ne=e=>{let t=e.filter(e=>!e.file[_$]);if(!t.length)return;let n=t.map(e=>r$(e.file)),r=Yr(B);n.forEach(e=>{r=i$(e,r)}),n.forEach((e,n)=>{let i=e;if(t[n].parsedFile)e.status=`uploading`;else{let{originFileObj:t}=e,n;try{n=new File([t],t.name,{type:t.type})}catch{n=new Blob([t],{type:t.type}),n.name=t.name,n.lastModifiedDate=new Date,n.lastModified=new Date().getTime()}n.uid=e.uid,i=n}ee(i,r)})},re=(e,t,n)=>{try{typeof e==`string`&&(e=JSON.parse(e))}catch{}if(!a$(t,B))return;let r=r$(t);r.status=`done`,r.percent=100,r.response=e,r.xhr=n,ee(r,i$(r,B))},G=(e,t)=>{if(!a$(t,B))return;let n=r$(t);n.status=`uploading`,n.percent=e.percent,ee(n,i$(n,B),e)},ie=(e,t,n)=>{if(!a$(n,B))return;let r=r$(n);r.error=e,r.response=t,r.status=`error`,ee(r,i$(r,B))},K=e=>{let t;Promise.resolve(typeof a==`function`?a(e):a).then(n=>{if(n===!1)return;let r=o$(e,B);r&&(t={...e,status:`removed`},B?.forEach(e=>{let n=t.uid===void 0?`name`:`uid`;e[n]===t[n]&&!Object.isFrozen(e)&&(e.status=`removed`)}),U.current?.abort(t),ee(t,r))})},ae=e=>{H(e.type),e.type===`drop`&&d?.(e)};x.useImperativeHandle(t,()=>({onBatchStart:ne,onSuccess:re,onProgress:G,onError:ie,fileList:B,upload:U.current,nativeElement:W.current}));let{getPrefixCls:q,direction:oe,className:se,style:ce,classNames:le,styles:ue}=si(`upload`),de=q(`upload`,v),fe={...e,listType:s,showUploadList:o,type:b,multiple:D,hasControlInside:O,supportServerRender:j,disabled:I},[pe,me]=Md([le,P],[ue,N],{props:fe}),he={onBatchStart:ne,onError:ie,onProgress:G,onSuccess:re,...e,customRequest:L,data:E,multiple:D,action:k,accept:A,supportServerRender:j,prefixCls:de,disabled:I,beforeUpload:te,onChange:void 0,hasControlInside:O};delete he.className,delete he.style,(!S||I)&&delete he.id;let ge=`${de}-wrapper`,[_e,ve]=qQ(de,ge),[ye]=ad(`Upload`,Qu.Upload),{showRemoveIcon:be,showPreviewIcon:xe,showDownloadIcon:Se,removeIcon:Ce,previewIcon:we,downloadIcon:Te,extra:Ee}=typeof o==`boolean`?{}:o,De=be===void 0?!I:be,Oe=(e,t)=>o?x.createElement(g$,{classNames:pe,styles:me,prefixCls:de,listType:s,items:B,previewFile:f,onPreview:c,onDownload:l,onRemove:K,showRemoveIcon:De,showPreviewIcon:xe,showDownloadIcon:Se,removeIcon:Ce,previewIcon:we,downloadIcon:Te,iconRender:h,extra:Ee,locale:{...ye,...m},isImageUrl:g,progress:_,appendAction:e,appendActionVisible:t,itemRender:w,disabled:I}):e,ke=J(ge,y,M,_e,ve,se,pe.root,{[`${de}-rtl`]:oe===`rtl`,[`${de}-picture-card-wrapper`]:s===`picture-card`,[`${de}-picture-circle-wrapper`]:s===`picture-circle`}),Ae={...me.root},je={...ce,...C};if(b===`drag`){let e=J(_e,de,`${de}-drag`,{[`${de}-drag-uploading`]:B.some(e=>e.status===`uploading`),[`${de}-drag-hover`]:V===`dragover`,[`${de}-disabled`]:I,[`${de}-rtl`]:oe===`rtl`},pe.trigger);return x.createElement(`span`,{className:ke,ref:W,style:Ae},x.createElement(`div`,{className:e,style:{...je,...me.trigger},onDrop:ae,onDragOver:ae,onDragLeave:ae},x.createElement(zQ,{...he,ref:U,className:`${de}-btn`},x.createElement(`div`,{className:`${de}-drag-container`},S))),Oe())}let Me=J(de,`${de}-select`,{[`${de}-disabled`]:I,[`${de}-hidden`]:!S},pe.trigger),Ne=x.createElement(`div`,{className:Me,style:{...je,...me.trigger}},x.createElement(zQ,{...he,ref:U}));return s===`picture-card`||s===`picture-circle`?x.createElement(`span`,{className:ke,ref:W,style:Ae},Oe(Ne,!!S)):x.createElement(`span`,{className:ke,ref:W,style:Ae},Ne,Oe())}),y$=x.forwardRef((e,t)=>{let{style:n,height:r,hasControlInside:i=!1,children:a,...o}=e,s={...n,height:r};return x.createElement(v$,{ref:t,hasControlInside:i,...o,style:s,type:`drag`},a)}),b$=v$;b$.Dragger=y$,b$.LIST_IGNORE=_$;var x$=o(((e,t)=>{function n(e){return e&&e.__esModule?e:{default:e}}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports})),S$=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default={items_per_page:`条/页`,jump_to:`跳至`,jump_to_confirm:`确定`,page:`页`,prev_page:`上一页`,next_page:`下一页`,prev_5:`向前 5 页`,next_5:`向后 5 页`,prev_3:`向前 3 页`,next_3:`向后 3 页`,page_size:`页码`}})),C$=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.commonLocale=void 0,e.commonLocale={yearFormat:`YYYY`,dayFormat:`D`,cellMeridiemFormat:`A`,monthBeforeYear:!0}})),w$=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var t=C$();function n(e){"@babel/helpers - typeof";return n=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},n(e)}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function i(e){for(var t=1;t{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default={placeholder:`请选择时间`,rangePlaceholder:[`开始时间`,`结束时间`]}})),E$=o((e=>{var t=x$().default;Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=t(w$()),r=t(T$()),i={lang:{placeholder:`请选择日期`,yearPlaceholder:`请选择年份`,quarterPlaceholder:`请选择季度`,monthPlaceholder:`请选择月份`,weekPlaceholder:`请选择周`,rangePlaceholder:[`开始日期`,`结束日期`],rangeYearPlaceholder:[`开始年份`,`结束年份`],rangeMonthPlaceholder:[`开始月份`,`结束月份`],rangeQuarterPlaceholder:[`开始季度`,`结束季度`],rangeWeekPlaceholder:[`开始周`,`结束周`],...n.default},timePickerLocale:{...r.default}};i.lang.ok=`确定`,e.default=i})),D$=o((e=>{var t=x$().default;Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default=t(E$()).default})),O$=o((e=>{var t=x$().default;Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=t(S$()),r=t(D$()),i=t(E$()),a=t(T$()),o="${label}不是一个有效的${type}";e.default={locale:`zh-cn`,Pagination:n.default,DatePicker:i.default,TimePicker:a.default,Calendar:r.default,global:{placeholder:`请选择`,close:`关闭`,sortable:`可排序`},Table:{filterTitle:`筛选`,filterConfirm:`确定`,filterReset:`重置`,filterEmptyText:`无筛选项`,filterCheckAll:`全选`,filterSearchPlaceholder:`在筛选项中搜索`,emptyText:`暂无数据`,selectAll:`全选当页`,selectInvert:`反选当页`,selectNone:`清空所有`,selectionAll:`全选所有`,sortTitle:`排序`,expand:`展开行`,collapse:`关闭行`,triggerDesc:`点击降序`,triggerAsc:`点击升序`,cancelSort:`取消排序`},Modal:{okText:`确定`,cancelText:`取消`,justOkText:`知道了`},Tour:{Next:`下一步`,Previous:`上一步`,Finish:`结束导览`},Popconfirm:{cancelText:`取消`,okText:`确定`},Transfer:{titles:[``,``],searchPlaceholder:`请输入搜索内容`,itemUnit:`项`,itemsUnit:`项`,remove:`删除`,selectCurrent:`全选当页`,removeCurrent:`删除当页`,selectAll:`全选所有`,deselectAll:`取消全选`,removeAll:`删除全部`,selectInvert:`反选当页`},Upload:{uploading:`文件上传中`,removeFile:`删除文件`,uploadError:`上传错误`,previewFile:`预览文件`,downloadFile:`下载文件`},Empty:{description:`暂无数据`},Icon:{icon:`图标`},Text:{edit:`编辑`,copy:`复制`,copied:`复制成功`,expand:`展开`,collapse:`收起`},Form:{optional:`(可选)`,defaultValidateMessages:{default:"字段验证错误${label}",required:"请输入${label}",enum:"${label}必须是其中一个[${enum}]",whitespace:"${label}不能为空字符",date:{format:"${label}日期格式无效",parse:"${label}不能转换为日期",invalid:"${label}是一个无效日期"},types:{string:o,method:o,array:o,object:o,number:o,date:o,boolean:o,integer:o,float:o,regexp:o,email:o,url:o,hex:o},string:{len:"${label}须为${len}个字符",min:"${label}最少${min}个字符",max:"${label}最多${max}个字符",range:"${label}须在${min}-${max}字符之间"},number:{len:"${label}必须等于${len}",min:"${label}最小值为${min}",max:"${label}最大值为${max}",range:"${label}须在${min}-${max}之间"},array:{len:"须为${len}个${label}",min:"最少${min}个${label}",max:"最多${max}个${label}",range:"${label}数量须在${min}-${max}之间"},pattern:{mismatch:"${label}与模式不匹配${pattern}"}}},QRCode:{expired:`二维码过期`,refresh:`点击刷新`,scanned:`已扫描`},ColorPicker:{presetEmpty:`暂无`,transparent:`无色`,singleColor:`单色`,gradientColor:`渐变色`}}})),k$=o(((e,t)=>{t.exports=O$()})),A$={icon:{tag:`svg`,attrs:{"fill-rule":`evenodd`,viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64c247.42 0 448 200.58 448 448S759.42 960 512 960 64 759.42 64 512 264.58 64 512 64m32.5 168c-69.67 0-86.06 16.84-86.72 39.08l-.02 1.43v46.62H291.45c-9.92 0-14.28 23.05-14.27 39.3 0 2.7 2.08 4.93 4.77 4.93h175.81v58.3h-116.5c-9.96 0-14.3 23.76-14.27 39.47a4.77 4.77 0 004.77 4.76h233.45c-4.53 41.06-15.43 77.59-30.72 109.32l-1.22 2.5-.32-.28c-60.24-28.47-120.43-52.57-194.4-52.57l-2.62.01c-84.98 1.11-144.71 56.5-145.91 127.04l-.02 1.22.02 2.13c1.24 70.4 63.56 126.45 148.52 126.45 61.25 0 116.38-16.85 163.46-45.02a138.58 138.58 0 0014.07-7.96 345.6 345.6 0 0050.3-41.16l9.45 6.35 12.46 8.32c57.53 38.26 113.76 72.62 169.86 79.27a142.62 142.62 0 0018.31 1.16c43.02 0 55-52.68 57.39-95.51l.14-2.84c.4-8.46-6.2-15.6-14.65-15.86-75.46-2.37-136.45-22.05-192-46.11l-6.27-2.75c35.15-56.8 56.66-121.81 57.15-186.66l.09-1.08c.4-5.51-4-10.2-9.52-10.2H549.33v-58.3h165.73c9.92 0 14.28-22.12 14.27-39.31a4.85 4.85 0 00-4.78-4.92H549.32v-82.35a4.8 4.8 0 00-4.83-4.78M328 583.85c54.63 0 107.08 22.41 158.1 52.19l5.76 3.4c-103.57 119.84-247.17 95.9-261.72 26.37a66.89 66.89 0 01-1.14-9.83l-.06-2.34.02-.9c.97-40.12 45.33-68.9 99.04-68.9`}}]},name:`alipay-circle`,theme:`outlined`};function j$(){return j$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,j$({},e,{ref:t,icon:A$}))),N$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z`}}]},name:`api`,theme:`outlined`};function P$(){return P$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,P$({},e,{ref:t,icon:N$}))),I$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z`}}]},name:`appstore`,theme:`outlined`};function L$(){return L$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,L$({},e,{ref:t,icon:I$}))),z$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M862 465.3h-81c-4.6 0-9 2-12.1 5.5L550 723.1V160c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v563.1L255.1 470.8c-3-3.5-7.4-5.5-12.1-5.5h-81c-6.8 0-10.5 8.1-6 13.2L487.9 861a31.96 31.96 0 0048.3 0L868 478.5c4.5-5.2.8-13.2-6-13.2z`}}]},name:`arrow-down`,theme:`outlined`};function B$(){return B$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,B$({},e,{ref:t,icon:z$}))),H$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M868 545.5L536.1 163a31.96 31.96 0 00-48.3 0L156 545.5a7.97 7.97 0 006 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z`}}]},name:`arrow-up`,theme:`outlined`};function U$(){return U$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,U$({},e,{ref:t,icon:H$}))),G$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M842 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1zM512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm-94-392c0-50.6 41.9-92 94-92s94 41.4 94 92v224c0 50.6-41.9 92-94 92s-94-41.4-94-92V232z`}}]},name:`audio`,theme:`outlined`};function K$(){return K$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,K$({},e,{ref:t,icon:G$}))),J$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 00-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM512 196.7l271.1 197.2H240.9L512 196.7zM264 462h117v374H264V462zm189 0h117v374H453V462zm307 374H642V462h118v374z`}}]},name:`bank`,theme:`outlined`};function Y$(){return Y$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Y$({},e,{ref:t,icon:J$}))),Z$={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-600-80h56c4.4 0 8-3.6 8-8V560c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V384c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v320c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V462c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v242c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v400c0 4.4 3.6 8 8 8z`}}]},name:`bar-chart`,theme:`outlined`};function Q$(){return Q$=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Q$({},e,{ref:t,icon:Z$}))),e1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M816 768h-24V428c0-141.1-104.3-257.7-240-277.1V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.9c-135.7 19.4-240 136-240 277.1v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48zM304 768V428c0-55.6 21.6-107.8 60.9-147.1S456.4 220 512 220c55.6 0 107.8 21.6 147.1 60.9S720 372.4 720 428v340H304z`}}]},name:`bell`,theme:`outlined`};function t1(){return t1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,t1({},e,{ref:t,icon:e1}))),r1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-260 72h96v209.9L621.5 312 572 347.4V136zm220 752H232V136h280v296.9c0 3.3 1 6.6 3 9.3a15.9 15.9 0 0022.3 3.7l83.8-59.9 81.4 59.4c2.7 2 6 3.1 9.4 3.1 8.8 0 16-7.2 16-16V136h64v752z`}}]},name:`book`,theme:`outlined`};function i1(){return i1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,i1({},e,{ref:t,icon:r1}))),o1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zm-504 68h200v200H412V278zm-68 468H144V546h200v200zm268 0H412V546h200v200zm268-268H680V278h200v200z`}}]},name:`build`,theme:`outlined`};function s1(){return s1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,s1({},e,{ref:t,icon:o1}))),l1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z`}}]},name:`bulb`,theme:`outlined`};function u1(){return u1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,u1({},e,{ref:t,icon:l1}))),f1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M251.2 387H320v68.8c0 1.8 1.8 3.2 4 3.2h48c2.2 0 4-1.4 4-3.3V387h68.8c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H376v-68.8c0-1.8-1.8-3.2-4-3.2h-48c-2.2 0-4 1.4-4 3.2V331h-68.8c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm328 0h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 265h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 104h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm-195.7-81l61.2-74.9c4.3-5.2.7-13.1-5.9-13.1H388c-2.3 0-4.5 1-5.9 2.9l-34 41.6-34-41.6a7.85 7.85 0 00-5.9-2.9h-50.9c-6.6 0-10.2 7.9-5.9 13.1l61.2 74.9-62.7 76.8c-4.4 5.2-.8 13.1 5.8 13.1h50.8c2.3 0 4.5-1 5.9-2.9l35.5-43.5 35.5 43.5c1.5 1.8 3.7 2.9 5.9 2.9h50.8c6.6 0 10.2-7.9 5.9-13.1L383.5 675zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-36 732H180V180h664v664z`}}]},name:`calculator`,theme:`outlined`};function p1(){return p1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,p1({},e,{ref:t,icon:f1}))),h1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M864 248H728l-32.4-90.8a32.07 32.07 0 00-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456zM512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z`}}]},name:`camera`,theme:`outlined`};function g1(){return g1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,g1({},e,{ref:t,icon:h1}))),v1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M380 704h264c4.4 0 8-3.6 8-8v-84c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v36H428v-36c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v84c0 4.4 3.6 8 8 8zm340-123a40 40 0 1080 0 40 40 0 10-80 0zm239-167.6L935.3 372a8 8 0 00-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 00-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 00-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 003-10.8zM840 517v237H184V517l15.6-43h624.8l15.6 43zM292.7 218.1l.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220l72.7-199.9zM224 581a40 40 0 1080 0 40 40 0 10-80 0z`}}]},name:`car`,theme:`outlined`};function y1(){return y1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,y1({},e,{ref:t,icon:v1}))),x1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z`}},{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z`}}]},name:`check-circle`,theme:`outlined`};function S1(){return S1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,S1({},e,{ref:t,icon:x1}))),w1={icon:{tag:`svg`,attrs:{"fill-rule":`evenodd`,viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z`}}]},name:`close-circle`,theme:`outlined`};function T1(){return T1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,T1({},e,{ref:t,icon:w1}))),D1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 01-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 01140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0166.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0152.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z`}}]},name:`cloud`,theme:`outlined`};function O1(){return O1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,O1({},e,{ref:t,icon:D1}))),A1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M704 446H320c-4.4 0-8 3.6-8 8v402c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8V454c0-4.4-3.6-8-8-8zm-328 64h272v117H376V510zm272 290H376V683h272v117z`}},{tag:`path`,attrs:{d:`M424 748a32 32 0 1064 0 32 32 0 10-64 0zm0-178a32 32 0 1064 0 32 32 0 10-64 0z`}},{tag:`path`,attrs:{d:`M811.4 368.9C765.6 248 648.9 162 512.2 162S258.8 247.9 213 368.8C126.9 391.5 63.5 470.2 64 563.6 64.6 668 145.6 752.9 247.6 762c4.7.4 8.7-3.3 8.7-8v-60.4c0-4-3-7.4-7-7.9-27-3.4-52.5-15.2-72.1-34.5-24-23.5-37.2-55.1-37.2-88.6 0-28 9.1-54.4 26.2-76.4 16.7-21.4 40.2-36.9 66.1-43.7l37.9-10 13.9-36.7c8.6-22.8 20.6-44.2 35.7-63.5 14.9-19.2 32.6-36 52.4-50 41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.3c19.9 14 37.5 30.8 52.4 50 15.1 19.3 27.1 40.7 35.7 63.5l13.8 36.6 37.8 10c54.2 14.4 92.1 63.7 92.1 120 0 33.6-13.2 65.1-37.2 88.6-19.5 19.2-44.9 31.1-71.9 34.5-4 .5-6.9 3.9-6.9 7.9V754c0 4.7 4.1 8.4 8.8 8 101.7-9.2 182.5-94 183.2-198.2.6-93.4-62.7-172.1-148.6-194.9z`}}]},name:`cloud-server`,theme:`outlined`};function j1(){return j1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,j1({},e,{ref:t,icon:A1}))),N1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48zm-194.9 6.1l192-161c3.8-3.2 3.8-9.1 0-12.3l-192-160.9A7.95 7.95 0 00308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 00-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z`}}]},name:`code`,theme:`outlined`};function P1(){return P1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,P1({},e,{ref:t,icon:N1}))),I1={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M275 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm613 144H768c0-39.8-32.2-72-72-72H200c-39.8 0-72 32.2-72 72v248c0 3.4.2 6.7.7 9.9-.5 7-.7 14-.7 21.1 0 176.7 143.3 320 320 320 160.1 0 292.7-117.5 316.3-271H888c39.8 0 72-32.2 72-72V497c0-39.8-32.2-72-72-72zM696 681h-1.1c.7 7.6 1.1 15.2 1.1 23 0 137-111 248-248 248S200 841 200 704c0-7.8.4-15.4 1.1-23H200V425h496v256zm192-8H776V497h112v176zM613 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm-170 0c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36z`}}]},name:`coffee`,theme:`outlined`};function L1(){return L1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,L1({},e,{ref:t,icon:I1}))),z1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm198.4-588.1a32 32 0 00-24.5.5L414.9 415 296.4 686c-3.6 8.2-3.6 17.5 0 25.7 3.4 7.8 9.7 13.9 17.7 17 3.8 1.5 7.7 2.2 11.7 2.2 4.4 0 8.7-.9 12.8-2.7l271-118.6 118.5-271a32.06 32.06 0 00-17.7-42.7zM576.8 534.4l26.2 26.2-42.4 42.4-26.2-26.2L380 644.4 447.5 490 422 464.4l42.4-42.4 25.5 25.5L644.4 380l-67.6 154.4zM464.4 422L422 464.4l25.5 25.6 86.9 86.8 26.2 26.2 42.4-42.4-26.2-26.2-86.8-86.9z`}}]},name:`compass`,theme:`outlined`};function B1(){return B1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,B1({},e,{ref:t,icon:z1}))),H1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 00-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zm-126 534.1H250.3l-53.8-409.4 139.8 86.1L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4zM512 509c-62.1 0-112.6 50.5-112.6 112.6S449.9 734.2 512 734.2s112.6-50.5 112.6-112.6S574.1 509 512 509zm0 160.9c-26.6 0-48.2-21.6-48.2-48.3 0-26.6 21.6-48.3 48.2-48.3s48.2 21.6 48.2 48.3c0 26.6-21.6 48.3-48.2 48.3z`}}]},name:`crown`,theme:`outlined`};function U1(){return U1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,U1({},e,{ref:t,icon:H1}))),G1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M924.8 385.6a446.7 446.7 0 00-96-142.4 446.7 446.7 0 00-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 00-142.4 96 446.7 446.7 0 00-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM761.4 836H262.6A371.12 371.12 0 01140 560c0-99.4 38.7-192.8 109-263 70.3-70.3 163.7-109 263-109 99.4 0 192.8 38.7 263 109 70.3 70.3 109 163.7 109 263 0 105.6-44.5 205.5-122.6 276zM623.5 421.5a8.03 8.03 0 00-11.3 0L527.7 506c-18.7-5-39.4-.2-54.1 14.5a55.95 55.95 0 000 79.2 55.95 55.95 0 0079.2 0 55.87 55.87 0 0014.5-54.1l84.5-84.5c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3zM490 320h44c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8h-44c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8zm260 218v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8zm12.7-197.2l-31.1-31.1a8.03 8.03 0 00-11.3 0l-56.6 56.6a8.03 8.03 0 000 11.3l31.1 31.1c3.1 3.1 8.2 3.1 11.3 0l56.6-56.6c3.1-3.1 3.1-8.2 0-11.3zm-458.6-31.1a8.03 8.03 0 00-11.3 0l-31.1 31.1a8.03 8.03 0 000 11.3l56.6 56.6c3.1 3.1 8.2 3.1 11.3 0l31.1-31.1c3.1-3.1 3.1-8.2 0-11.3l-56.6-56.6zM262 530h-80c-4.4 0-8 3.6-8 8v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8z`}}]},name:`dashboard`,theme:`outlined`};function K1(){return K1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,K1({},e,{ref:t,icon:G1}))),J1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0zm0 272a40 40 0 1080 0 40 40 0 10-80 0z`}}]},name:`database`,theme:`outlined`};function Y1(){return Y1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Y1({},e,{ref:t,icon:J1}))),Z1={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm47.7-395.2l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z`}}]},name:`dollar`,theme:`outlined`};function Q1(){return Q1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Q1({},e,{ref:t,icon:Z1}))),e0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z`}},{tag:`path`,attrs:{d:`M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z`}}]},name:`exclamation-circle`,theme:`outlined`};function t0(){return t0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,t0({},e,{ref:t,icon:e0}))),r0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 472a40 40 0 1080 0 40 40 0 10-80 0zm367 352.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 01-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.7-107.8c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1L813.5 844h-603z`}}]},name:`experiment`,theme:`outlined`};function i0(){return i0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,i0({},e,{ref:t,icon:r0}))),o0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 00-12.6 0l-99.8 127.2a7.98 7.98 0 006.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 00-12.7 0zM360 442a40 40 0 1080 0 40 40 0 10-80 0zm494.6-153.4L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z`}}]},name:`file-image`,theme:`outlined`};function s0(){return s0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,s0({},e,{ref:t,icon:o0}))),l0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M531.3 574.4l.3-1.4c5.8-23.9 13.1-53.7 7.4-80.7-3.8-21.3-19.5-29.6-32.9-30.2-15.8-.7-29.9 8.3-33.4 21.4-6.6 24-.7 56.8 10.1 98.6-13.6 32.4-35.3 79.5-51.2 107.5-29.6 15.3-69.3 38.9-75.2 68.7-1.2 5.5.2 12.5 3.5 18.8 3.7 7 9.6 12.4 16.5 15 3 1.1 6.6 2 10.8 2 17.6 0 46.1-14.2 84.1-79.4 5.8-1.9 11.8-3.9 17.6-5.9 27.2-9.2 55.4-18.8 80.9-23.1 28.2 15.1 60.3 24.8 82.1 24.8 21.6 0 30.1-12.8 33.3-20.5 5.6-13.5 2.9-30.5-6.2-39.6-13.2-13-45.3-16.4-95.3-10.2-24.6-15-40.7-35.4-52.4-65.8zM421.6 726.3c-13.9 20.2-24.4 30.3-30.1 34.7 6.7-12.3 19.8-25.3 30.1-34.7zm87.6-235.5c5.2 8.9 4.5 35.8.5 49.4-4.9-19.9-5.6-48.1-2.7-51.4.8.1 1.5.7 2.2 2zm-1.6 120.5c10.7 18.5 24.2 34.4 39.1 46.2-21.6 4.9-41.3 13-58.9 20.2-4.2 1.7-8.3 3.4-12.3 5 13.3-24.1 24.4-51.4 32.1-71.4zm155.6 65.5c.1.2.2.5-.4.9h-.2l-.2.3c-.8.5-9 5.3-44.3-8.6 40.6-1.9 45 7.3 45.1 7.4zm191.4-388.2L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z`}}]},name:`file-pdf`,theme:`outlined`};function u0(){return u0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,u0({},e,{ref:t,icon:l0}))),f0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M834.1 469.2A347.49 347.49 0 00751.2 354l-29.1-26.7a8.09 8.09 0 00-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 01-47.5 46.1 352.6 352.6 0 00-100.3 121.5A347.75 347.75 0 00160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0075.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 00760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0027.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0058.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0012.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0024.4 59.8 73.36 73.36 0 0053.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z`}}]},name:`fire`,theme:`outlined`};function p0(){return p0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,p0({},e,{ref:t,icon:f0}))),h0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32zM184 568V232h368v336H184zm656 145H504v-73h112c4.4 0 8-3.6 8-8V377h216v336z`}}]},name:`flag`,theme:`outlined`};function g0(){return g0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,g0({},e,{ref:t,icon:h0}))),v0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M920 416H616c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h60v320h-46c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h164c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-46V480h60v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V424c0-4.4-3.6-8-8-8zM656 296V168c0-4.4-3.6-8-8-8H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8z`}}]},name:`font-size`,theme:`outlined`};function y0(){return y0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,y0({},e,{ref:t,icon:v0}))),x0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M880 310H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v200c0 4.4 3.6 8 8 8h40v344c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V550h40c4.4 0 8-3.6 8-8V342c0-17.7-14.3-32-32-32zm-334-74c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70h-70v-70zm-138-70c38.6 0 70 31.4 70 70v70h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70zM180 482V378h298v104H180zm48 68h250v308H228V550zm568 308H546V550h250v308zm48-376H546V378h298v104z`}}]},name:`gift`,theme:`outlined`};function S0(){return S0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,S0({},e,{ref:t,icon:x0}))),w0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0010-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 003.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 00-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 01887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 01-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 01115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 01540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 00540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 01-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 00-81.5 55.9A373.86 373.86 0 01137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 01-107.6 69.2z`}}]},name:`global`,theme:`outlined`};function T0(){return T0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,T0({},e,{ref:t,icon:w0}))),D0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M923 283.6a260.04 260.04 0 00-56.9-82.8 264.4 264.4 0 00-84-55.5A265.34 265.34 0 00679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 00-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z`}}]},name:`heart`,theme:`outlined`};function O0(){return O0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,O0({},e,{ref:t,icon:D0}))),A0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M957.6 507.4L603.2 158.2a7.9 7.9 0 00-11.2 0L353.3 393.4a8.03 8.03 0 00-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 00-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6 40.4 39.8a7.9 7.9 0 0011.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0011.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2zM389.8 796.2H229.6l134.4-133 80.1 78.9-54.3 54.1zm154.8-62.1L373.2 565.2l68.6-67.6 171.4 168.9-68.6 67.6zM713.1 658L450.3 399.1 597.6 254l262.8 259-147.3 145z`}}]},name:`highlight`,theme:`outlined`};function j0(){return j0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,j0({},e,{ref:t,icon:A0}))),N0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M536.1 273H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.3 120.7c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.7-3.7 1.9-8.7-1.7-11.2L544.1 528.5V281c0-4.4-3.6-8-8-8zm219.8 75.2l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3L752.9 334.1a8 8 0 003 14.1zm167.7 301.1l-56.7-19.5a8 8 0 00-10.1 4.8c-1.9 5.1-3.9 10.1-6 15.1-17.8 42.1-43.3 80-75.9 112.5a353 353 0 01-112.5 75.9 352.18 352.18 0 01-137.7 27.8c-47.8 0-94.1-9.3-137.7-27.8a353 353 0 01-112.5-75.9c-32.5-32.5-58-70.4-75.9-112.5A353.44 353.44 0 01171 512c0-47.8 9.3-94.2 27.8-137.8 17.8-42.1 43.3-80 75.9-112.5a353 353 0 01112.5-75.9C430.6 167.3 477 158 524.8 158s94.1 9.3 137.7 27.8A353 353 0 01775 261.7c10.2 10.3 19.8 21 28.6 32.3l59.8-46.8C784.7 146.6 662.2 81.9 524.6 82 285 82.1 92.6 276.7 95 516.4 97.4 751.9 288.9 942 524.8 942c185.5 0 343.5-117.6 403.7-282.3 1.5-4.2-.7-8.9-4.9-10.4z`}}]},name:`history`,theme:`outlined`};function P0(){return P0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,P0({},e,{ref:t,icon:N0}))),I0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M946.5 505L560.1 118.8l-25.9-25.9a31.5 31.5 0 00-44.4 0L77.5 505a63.9 63.9 0 00-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0018.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z`}}]},name:`home`,theme:`outlined`};function L0(){return L0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,L0({},e,{ref:t,icon:I0}))),z0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560zM610.3 476h123.4c1.3 0 2.3-3.6 2.3-8v-48c0-4.4-1-8-2.3-8H610.3c-1.3 0-2.3 3.6-2.3 8v48c0 4.4 1 8 2.3 8zm4.8 144h185.7c3.9 0 7.1-3.6 7.1-8v-48c0-4.4-3.2-8-7.1-8H615.1c-3.9 0-7.1 3.6-7.1 8v48c0 4.4 3.2 8 7.1 8zM224 673h43.9c4.2 0 7.6-3.3 7.9-7.5 3.8-50.5 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H522a8 8 0 008-8.4c-2.8-53.3-32-99.7-74.6-126.1a111.8 111.8 0 0029.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 00-74.6 126.1c-.4 4.6 3.2 8.4 7.8 8.4zm149-262c28.5 0 51.7 23.3 51.7 52s-23.2 52-51.7 52-51.7-23.3-51.7-52 23.2-52 51.7-52z`}}]},name:`idcard`,theme:`outlined`};function B0(){return B0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,B0({},e,{ref:t,icon:z0}))),H0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M956.9 845.1L896.4 632V168c0-17.7-14.3-32-32-32h-704c-17.7 0-32 14.3-32 32v464L67.9 845.1C60.4 866 75.8 888 98 888h828.8c22.2 0 37.6-22 30.1-42.9zM200.4 208h624v395h-624V208zm228.3 608l8.1-37h150.3l8.1 37H428.7zm224 0l-19.1-86.7c-.8-3.7-4.1-6.3-7.8-6.3H398.2c-3.8 0-7 2.6-7.8 6.3L371.3 816H151l42.3-149h638.2l42.3 149H652.7z`}}]},name:`laptop`,theme:`outlined`};function U0(){return U0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,U0({},e,{ref:t,icon:H0}))),G0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 00-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 00-11.3 0L266.3 586.7a8.03 8.03 0 000 11.3l39.5 39.7z`}}]},name:`line-chart`,theme:`outlined`};function K0(){return K0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,K0({},e,{ref:t,icon:G0}))),J0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 10-56 0z`}}]},name:`lock`,theme:`outlined`};function Y0(){return Y0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Y0({},e,{ref:t,icon:J0}))),Z0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8-7 8.5-14.5 16.7-22.4 24.5a353.84 353.84 0 01-112.7 75.9A352.8 352.8 0 01512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.84 353.84 0 01-112.7-75.9 353.28 353.28 0 01-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 7.9 7.9 15.3 16.1 22.4 24.5 3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82 271.7 82.6 79.6 277.1 82 516.4 84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7 3.4-5.3-.4-12.3-6.7-12.3zm88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 000-12.6z`}}]},name:`logout`,theme:`outlined`};function Q0(){return Q0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Q0({},e,{ref:t,icon:Z0}))),e2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 110.8V792H136V270.8l-27.6-21.5 39.3-50.5 42.8 33.3h643.1l42.8-33.3 39.3 50.5-27.7 21.5zM833.6 232L512 482 190.4 232l-42.8-33.3-39.3 50.5 27.6 21.5 341.6 265.6a55.99 55.99 0 0068.7 0L888 270.8l27.6-21.5-39.3-50.5-42.7 33.2z`}}]},name:`mail`,theme:`outlined`};function t2(){return t2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,t2({},e,{ref:t,icon:e2}))),r2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M839.2 278.1a32 32 0 00-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 00-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM360 184h304v72H360v-72zm480 656H184V513.4L244.3 328h535.4L840 513.4V840zM652 572H544V464c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V636h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z`}}]},name:`medicine-box`,theme:`outlined`};function i2(){return i2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,i2({},e,{ref:t,icon:r2}))),o2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M904 160H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0 624H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0-312H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z`}}]},name:`menu`,theme:`outlined`};function s2(){return s2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,s2({},e,{ref:t,icon:o2}))),l2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z`}},{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z`}}]},name:`minus-circle`,theme:`outlined`};function u2(){return u2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,u2({},e,{ref:t,icon:l2}))),f2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M744 62H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V126c0-35.3-28.7-64-64-64zm-8 824H288V134h448v752zM472 784a40 40 0 1080 0 40 40 0 10-80 0z`}}]},name:`mobile`,theme:`outlined`};function p2(){return p2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,p2({},e,{ref:t,icon:f2}))),h2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M692.8 412.7l.2-.2-34.6-44.3a7.97 7.97 0 00-11.2-1.4l-50.4 39.3-70.5-90.1a7.97 7.97 0 00-11.2-1.4l-37.9 29.7a7.97 7.97 0 00-1.4 11.2l70.5 90.2-.2.1 34.6 44.3c2.7 3.5 7.7 4.1 11.2 1.4l50.4-39.3 64.1 82c2.7 3.5 7.7 4.1 11.2 1.4l37.9-29.6c3.5-2.7 4.1-7.7 1.4-11.2l-64.1-82.1zM608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5L114.3 856.1a8.03 8.03 0 000 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6C473 696.1 537.7 720 608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644s-118.2-23.7-161.2-66.8C403.7 534.2 380 476.9 380 416s23.7-118.2 66.8-161.2c43-43.1 100.3-66.8 161.2-66.8s118.2 23.7 161.2 66.8c43.1 43 66.8 100.3 66.8 161.2s-23.7 118.2-66.8 161.2z`}}]},name:`monitor`,theme:`outlined`};function g2(){return g2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,g2({},e,{ref:t,icon:h2}))),v2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm159.6-585h-59.5c-3 0-5.8 1.7-7.1 4.4l-90.6 180H511l-90.6-180a8 8 0 00-7.1-4.4h-60.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9L457 515.7h-61.4c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V603h-81.7c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V717c0 4.4 3.6 8 8 8h54.3c4.4 0 8-3.6 8-8v-68.1h82c4.4 0 8-3.6 8-8V611c0-4.4-3.6-8-8-8h-82v-41.5h82c4.4 0 8-3.6 8-8v-29.9c0-4.4-3.6-8-8-8h-62l111.1-204.8c.6-1.2 1-2.5 1-3.8-.1-4.4-3.7-8-8.1-8z`}}]},name:`pay-circle`,theme:`outlined`};function y2(){return y2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,y2({},e,{ref:t,icon:v2}))),x2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M877.1 238.7L770.6 132.3c-13-13-30.4-20.3-48.8-20.3s-35.8 7.2-48.8 20.3L558.3 246.8c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l89.6 89.7a405.46 405.46 0 01-86.4 127.3c-36.7 36.9-79.6 66-127.2 86.6l-89.6-89.7c-13-13-30.4-20.3-48.8-20.3a68.2 68.2 0 00-48.8 20.3L132.3 673c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l106.4 106.4c22.2 22.2 52.8 34.9 84.2 34.9 6.5 0 12.8-.5 19.2-1.6 132.4-21.8 263.8-92.3 369.9-198.3C818 606 888.4 474.6 910.4 342.1c6.3-37.6-6.3-76.3-33.3-103.4zm-37.6 91.5c-19.5 117.9-82.9 235.5-178.4 331s-213 158.9-330.9 178.4c-14.8 2.5-30-2.5-40.8-13.2L184.9 721.9 295.7 611l119.8 120 .9.9 21.6-8a481.29 481.29 0 00285.7-285.8l8-21.6-120.8-120.7 110.8-110.9 104.5 104.5c10.8 10.8 15.8 26 13.3 40.8z`}}]},name:`phone`,theme:`outlined`};function S2(){return S2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,S2({},e,{ref:t,icon:x2}))),w2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2zM304 456a88 88 0 100-176 88 88 0 000 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z`}}]},name:`picture`,theme:`outlined`};function T2(){return T2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,T2({},e,{ref:t,icon:w2}))),D2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M864 518H506V160c0-4.4-3.6-8-8-8h-26a398.46 398.46 0 00-282.8 117.1 398.19 398.19 0 00-85.7 127.1A397.61 397.61 0 0072 552a398.46 398.46 0 00117.1 282.8c36.7 36.7 79.5 65.6 127.1 85.7A397.61 397.61 0 00472 952a398.46 398.46 0 00282.8-117.1c36.7-36.7 65.6-79.5 85.7-127.1A397.61 397.61 0 00872 552v-26c0-4.4-3.6-8-8-8zM705.7 787.8A331.59 331.59 0 01470.4 884c-88.1-.4-170.9-34.9-233.2-97.2C174.5 724.1 140 640.7 140 552c0-88.7 34.5-172.1 97.2-234.8 54.6-54.6 124.9-87.9 200.8-95.5V586h364.3c-7.7 76.3-41.3 147-96.6 201.8zM952 462.4l-2.6-28.2c-8.5-92.1-49.4-179-115.2-244.6A399.4 399.4 0 00589 74.6L560.7 72c-4.7-.4-8.7 3.2-8.7 7.9V464c0 4.4 3.6 8 8 8l384-1c4.7 0 8.4-4 8-8.6zm-332.2-58.2V147.6a332.24 332.24 0 01166.4 89.8c45.7 45.6 77 103.6 90 166.1l-256.4.7z`}}]},name:`pie-chart`,theme:`outlined`};function O2(){return O2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,O2({},e,{ref:t,icon:D2}))),A2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z`}},{tag:`path`,attrs:{d:`M719.4 499.1l-296.1-215A15.9 15.9 0 00398 297v430c0 13.1 14.8 20.5 25.3 12.9l296.1-215a15.9 15.9 0 000-25.8zm-257.6 134V390.9L628.5 512 461.8 633.1z`}}]},name:`play-circle`,theme:`outlined`};function j2(){return j2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,j2({},e,{ref:t,icon:A2}))),N2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M280 752h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8zm192-280h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm192 72h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v256c0 4.4 3.6 8 8 8zm216-432H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z`}}]},name:`project`,theme:`outlined`};function P2(){return P2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,P2({},e,{ref:t,icon:N2}))),I2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M928 161H699.2c-49.1 0-97.1 14.1-138.4 40.7L512 233l-48.8-31.3A255.2 255.2 0 00324.8 161H96c-17.7 0-32 14.3-32 32v568c0 17.7 14.3 32 32 32h228.8c49.1 0 97.1 14.1 138.4 40.7l44.4 28.6c1.3.8 2.8 1.3 4.3 1.3s3-.4 4.3-1.3l44.4-28.6C602 807.1 650.1 793 699.2 793H928c17.7 0 32-14.3 32-32V193c0-17.7-14.3-32-32-32zM324.8 721H136V233h188.8c35.4 0 69.8 10.1 99.5 29.2l48.8 31.3 6.9 4.5v462c-47.6-25.6-100.8-39-155.2-39zm563.2 0H699.2c-54.4 0-107.6 13.4-155.2 39V298l6.9-4.5 48.8-31.3c29.7-19.1 64.1-29.2 99.5-29.2H888v488zM396.9 361H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm223.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c0-4.1-3.2-7.5-7.1-7.5H627.1c-3.9 0-7.1 3.4-7.1 7.5zM396.9 501H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm416 0H627.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5z`}}]},name:`read`,theme:`outlined`};function L2(){return L2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,L2({},e,{ref:t,icon:I2}))),z2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`defs`,attrs:{},children:[{tag:`style`,attrs:{}}]},{tag:`path`,attrs:{d:`M508 704c79.5 0 144-64.5 144-144s-64.5-144-144-144-144 64.5-144 144 64.5 144 144 144zm0-224c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z`}},{tag:`path`,attrs:{d:`M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0031.9 29.3h429.2a32 32 0 0031.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zm-518.6-76h397.2l22.4 76H291l22.4-76zm376.2 664H326.4L282 324h451.9l-44.3 520z`}}]},name:`rest`,theme:`outlined`};function B2(){return B2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,B2({},e,{ref:t,icon:z2}))),H2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M300 328a60 60 0 10120 0 60 60 0 10-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 10120 0 60 60 0 10-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z`}}]},name:`robot`,theme:`outlined`};function U2(){return U2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,U2({},e,{ref:t,icon:H2}))),G2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 00-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0043.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0043.1-30.5 97.52 97.52 0 0021.4-60.8c0-8.4-1.1-16.4-3.1-23.8H864zM762.3 621.4c9.4 14.6 17 30.3 22.5 46.6H700V558.7a211.6 211.6 0 0162.3 62.7zM388 483.1V318.8l124-147 124 147V668H388V483.1zM239.2 668c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668h-84.8zm388.9 116.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5-38.3 0-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 01-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM464 400a48 48 0 1096 0 48 48 0 10-96 0z`}}]},name:`rocket`,theme:`outlined`};function K2(){return K2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,K2({},e,{ref:t,icon:G2}))),J2={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M793 242H366v-74c0-6.7-7.7-10.4-12.9-6.3l-142 112a8 8 0 000 12.6l142 112c5.2 4.1 12.9.4 12.9-6.3v-74h415v470H175c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h618c35.3 0 64-28.7 64-64V306c0-35.3-28.7-64-64-64z`}}]},name:`rollback`,theme:`outlined`};function Y2(){return Y2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Y2({},e,{ref:t,icon:J2}))),Z2={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64L128 192v384c0 212.1 171.9 384 384 384s384-171.9 384-384V192L512 64zm312 512c0 172.3-139.7 312-312 312S200 748.3 200 576V246l312-110 312 110v330z`}},{tag:`path`,attrs:{d:`M378.4 475.1a35.91 35.91 0 00-50.9 0 35.91 35.91 0 000 50.9l129.4 129.4 2.1 2.1a33.98 33.98 0 0048.1 0L730.6 434a33.98 33.98 0 000-48.1l-2.8-2.8a33.98 33.98 0 00-48.1 0L483 579.7 378.4 475.1z`}}]},name:`safety`,theme:`outlined`};function Q2(){return Q2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Q2({},e,{ref:t,icon:Z2}))),e4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z`}}]},name:`save`,theme:`outlined`};function t4(){return t4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,t4({},e,{ref:t,icon:e4}))),r4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zM402.9 528.8l-77.5 77.5a8.03 8.03 0 000 11.3l34 34c3.1 3.1 8.2 3.1 11.3 0l77.5-77.5c55.7 35.1 130.1 28.4 178.6-20.1 56.3-56.3 56.3-147.5 0-203.8-56.3-56.3-147.5-56.3-203.8 0-48.5 48.5-55.2 123-20.1 178.6zm65.4-133.3c31.3-31.3 82-31.3 113.2 0 31.3 31.3 31.3 82 0 113.2-31.3 31.3-82 31.3-113.2 0s-31.3-81.9 0-113.2z`}}]},name:`security-scan`,theme:`outlined`};function i4(){return i4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,i4({},e,{ref:t,icon:r4}))),o4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`defs`,attrs:{},children:[{tag:`style`,attrs:{}}]},{tag:`path`,attrs:{d:`M931.4 498.9L94.9 79.5c-3.4-1.7-7.3-2.1-11-1.2a15.99 15.99 0 00-11.7 19.3l86.2 352.2c1.3 5.3 5.2 9.6 10.4 11.3l147.7 50.7-147.6 50.7c-5.2 1.8-9.1 6-10.3 11.3L72.2 926.5c-.9 3.7-.5 7.6 1.2 10.9 3.9 7.9 13.5 11.1 21.5 7.2l836.5-417c3.1-1.5 5.6-4.1 7.2-7.1 3.9-8 .7-17.6-7.2-21.6zM170.8 826.3l50.3-205.6 295.2-101.3c2.3-.8 4.2-2.6 5-5 1.4-4.2-.8-8.7-5-10.2L221.1 403 171 198.2l628 314.9-628.2 313.2z`}}]},name:`send`,theme:`outlined`};function s4(){return s4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,s4({},e,{ref:t,icon:o4}))),l4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z`}}]},name:`setting`,theme:`outlined`};function u4(){return u4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,u4({},e,{ref:t,icon:l4}))),f4={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M922.9 701.9H327.4l29.9-60.9 496.8-.9c16.8 0 31.2-12 34.2-28.6l68.8-385.1c1.8-10.1-.9-20.5-7.5-28.4a34.99 34.99 0 00-26.6-12.5l-632-2.1-5.4-25.4c-3.4-16.2-18-28-34.6-28H96.5a35.3 35.3 0 100 70.6h125.9L246 312.8l58.1 281.3-74.8 122.1a34.96 34.96 0 00-3 36.8c6 11.9 18.1 19.4 31.5 19.4h62.8a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7h161.1a102.43 102.43 0 00-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7H923c19.4 0 35.3-15.8 35.3-35.3a35.42 35.42 0 00-35.4-35.2zM305.7 253l575.8 1.9-56.4 315.8-452.3.8L305.7 253zm96.9 612.7c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6zm325.1 0c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 01-31.6 31.6z`}}]},name:`shopping-cart`,theme:`outlined`};function p4(){return p4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,p4({},e,{ref:t,icon:f4}))),h4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-432-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16H400v-16zm392 544H232V384h96v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h224v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h96v456z`}}]},name:`shopping`,theme:`outlined`};function g4(){return g4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,g4({},e,{ref:t,icon:h4}))),v4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M925.6 405.1l-203-253.7a6.5 6.5 0 00-5-2.4H306.4c-1.9 0-3.8.9-5 2.4l-203 253.7a6.5 6.5 0 00.2 8.3l408.6 459.5c1.2 1.4 3 2.1 4.8 2.1 1.8 0 3.5-.8 4.8-2.1l408.6-459.5a6.5 6.5 0 00.2-8.3zM645.2 206.4l34.4 133.9-132.5-133.9h98.1zm8.2 178.5H370.6L512 242l141.4 142.9zM378.8 206.4h98.1L344.3 340.3l34.5-133.9zm-53.4 7l-44.1 171.5h-93.1l137.2-171.5zM194.6 434.9H289l125.8 247.7-220.2-247.7zM512 763.4L345.1 434.9h333.7L512 763.4zm97.1-80.8L735 434.9h94.4L609.1 682.6zm133.6-297.7l-44.1-171.5 137.2 171.5h-93.1z`}}]},name:`sketch`,theme:`outlined`};function y4(){return y4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,y4({},e,{ref:t,icon:v4}))),x4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 00-37-29.3H154a44 44 0 00-44 44v252a44 44 0 0044 44h75v388a44 44 0 0044 44h478a44 44 0 0044-44V466h75a44 44 0 0044-44V170a44 44 0 00-44-44zm-28 268H723v432H301V394H182V198h153.3c28.2 71.2 97.5 120 176.7 120s148.5-48.8 176.7-120H842v196z`}}]},name:`skin`,theme:`outlined`};function S4(){return S4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,S4({},e,{ref:t,icon:x4}))),w4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M288 421a48 48 0 1096 0 48 48 0 10-96 0zm352 0a48 48 0 1096 0 48 48 0 10-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 01248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 01249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 01775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 01775 775zM664 533h-48.1c-4.2 0-7.8 3.2-8.1 7.4C604 589.9 562.5 629 512 629s-92.1-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 00-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 00-8-8.4z`}}]},name:`smile`,theme:`outlined`};function T4(){return T4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,T4({},e,{ref:t,icon:w4}))),D4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M688 264c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48zm-8 136H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM480 544H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 308H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm356.8-74.4c29-26.3 47.2-64.3 47.2-106.6 0-79.5-64.5-144-144-144s-144 64.5-144 144c0 42.3 18.2 80.3 47.2 106.6-57 32.5-96.2 92.7-99.2 162.1-.2 4.5 3.5 8.3 8 8.3h48.1c4.2 0 7.7-3.3 8-7.6C564 871.2 621.7 816 692 816s128 55.2 131.9 124.4c.2 4.2 3.7 7.6 8 7.6H880c4.6 0 8.2-3.8 8-8.3-2.9-69.5-42.2-129.6-99.2-162.1zM692 591c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z`}}]},name:`solution`,theme:`outlined`};function O4(){return O4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,O4({},e,{ref:t,icon:D4}))),A4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582zm348-327H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zm-41.9 261.8l-110.3-63.7a15.9 15.9 0 00-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0021.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0021.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 00-21.7-5.9L746 287.8a15.99 15.99 0 00-5.8 21.8L760 344z`}}]},name:`sound`,theme:`outlined`};function j4(){return j4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,j4({},e,{ref:t,icon:A4}))),N4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 00.6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0046.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM664.8 561.6l36.1 210.3L512 672.7 323.1 772l36.1-210.3-152.8-149L417.6 382 512 190.7 606.4 382l211.2 30.7-152.8 148.9z`}}]},name:`star`,theme:`outlined`};function P4(){return P4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,P4({},e,{ref:t,icon:N4}))),I4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z`}}]},name:`stop`,theme:`outlined`};function L4(){return L4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,L4({},e,{ref:t,icon:I4}))),z4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 000 14.1l363.8 363.8c1.9 1.9 4.4 2.9 7.1 2.9s5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM459.7 834.7L189.3 564.3 589 164.6 836 188l23.4 247-399.7 399.7zM680 256c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm0 120c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z`}}]},name:`tag`,theme:`outlined`};function B4(){return B4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,B4({},e,{ref:t,icon:z4}))),H4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M824.2 699.9a301.55 301.55 0 00-86.4-60.4C783.1 602.8 812 546.8 812 484c0-110.8-92.4-201.7-203.2-200-109.1 1.7-197 90.6-197 200 0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C345 754.6 314 826.8 312 903.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5A226.62 226.62 0 01612 684c60.9 0 118.2 23.7 161.3 66.8C814.5 792 838 846.3 840 904.3c.1 4.3 3.7 7.7 8 7.7h56a8 8 0 008-8.2c-2-77-33-149.2-87.8-203.9zM612 612c-34.2 0-66.4-13.3-90.5-37.5a126.86 126.86 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4 0 34.2-13.3 66.3-37.5 90.5A127.3 127.3 0 01612 612zM361.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7z`}}]},name:`team`,theme:`outlined`};function U4(){return U4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,U4({},e,{ref:t,icon:H4}))),G4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.2 732.5l60.3-241H281.1l189.6-327.4h224.6L487 427.4h211L378.2 732.5z`}}]},name:`thunderbolt`,theme:`outlined`};function K4(){return K4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,K4({},e,{ref:t,icon:G4}))),J4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 01144-53.5L537 318.9a32.05 32.05 0 000 45.3l124.5 124.5a32.05 32.05 0 0045.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z`}}]},name:`tool`,theme:`outlined`};function Y4(){return Y4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Y4({},e,{ref:t,icon:J4}))),Z4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 00-44 44v148c0 81.7 60 149.6 138.2 162C265.7 630.2 359 721.7 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.7 758.3 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 00-44-44zM184 352V232h64v207.6a91.99 91.99 0 01-64-87.6zm520 128c0 49.1-19.1 95.4-53.9 130.1-34.8 34.8-81 53.9-130.1 53.9h-16c-49.1 0-95.4-19.1-130.1-53.9-34.8-34.8-53.9-81-53.9-130.1V184h384v296zm136-128c0 41-26.9 75.8-64 87.6V232h64v120z`}}]},name:`trophy`,theme:`outlined`};function Q4(){return Q4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Q4({},e,{ref:t,icon:Z4}))),e3={icon:{tag:`svg`,attrs:{"fill-rule":`evenodd`,viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M608 192a32 32 0 0132 32v160h174.81a32 32 0 0126.68 14.33l113.19 170.84a32 32 0 015.32 17.68V672a32 32 0 01-32 32h-96c0 70.7-57.3 128-128 128s-128-57.3-128-128H384c0 70.7-57.3 128-128 128s-128-57.3-128-128H96a32 32 0 01-32-32V224a32 32 0 0132-32zM256 640a64 64 0 000 128h1.06A64 64 0 00256 640m448 0a64 64 0 000 128h1.06A64 64 0 00704 640M576 256H128v384h17.12c22.13-38.26 63.5-64 110.88-64 47.38 0 88.75 25.74 110.88 64H576zm221.63 192H640v145.12A127.43 127.43 0 01704 576c47.38 0 88.75 25.74 110.88 64H896v-43.52zM500 448a12 12 0 0112 12v40a12 12 0 01-12 12H332a12 12 0 01-12-12v-40a12 12 0 0112-12zM308 320a12 12 0 0112 12v40a12 12 0 01-12 12H204a12 12 0 01-12-12v-40a12 12 0 0112-12z`}}]},name:`truck`,theme:`outlined`};function t3(){return t3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,t3({},e,{ref:t,icon:e3}))),r3={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 00-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 00-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z`}}]},name:`undo`,theme:`outlined`};function i3(){return i3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,i3({},e,{ref:t,icon:r3}))),o3={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 00-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z`}}]},name:`upload`,theme:`outlined`};function s3(){return s3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,s3({},e,{ref:t,icon:o3}))),l3={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z`}}]},name:`user`,theme:`outlined`};function u3(){return u3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,u3({},e,{ref:t,icon:l3}))),f3={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM712 792H136V232h576v560zm176-167l-104-59.8V458.9L888 399v226zM208 360h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z`}}]},name:`video-camera`,theme:`outlined`};function p3(){return p3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,p3({},e,{ref:t,icon:f3}))),h3={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1080 0 40 40 0 10-80 0z`}}]},name:`wallet`,theme:`outlined`};function g3(){return g3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,g3({},e,{ref:t,icon:h3}))),v3={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M690.1 377.4c5.9 0 11.8.2 17.6.5-24.4-128.7-158.3-227.1-319.9-227.1C209 150.8 64 271.4 64 420.2c0 81.1 43.6 154.2 111.9 203.6a21.5 21.5 0 019.1 17.6c0 2.4-.5 4.6-1.1 6.9-5.5 20.3-14.2 52.8-14.6 54.3-.7 2.6-1.7 5.2-1.7 7.9 0 5.9 4.8 10.8 10.8 10.8 2.3 0 4.2-.9 6.2-2l70.9-40.9c5.3-3.1 11-5 17.2-5 3.2 0 6.4.5 9.5 1.4 33.1 9.5 68.8 14.8 105.7 14.8 6 0 11.9-.1 17.8-.4-7.1-21-10.9-43.1-10.9-66 0-135.8 132.2-245.8 295.3-245.8zm-194.3-86.5c23.8 0 43.2 19.3 43.2 43.1s-19.3 43.1-43.2 43.1c-23.8 0-43.2-19.3-43.2-43.1s19.4-43.1 43.2-43.1zm-215.9 86.2c-23.8 0-43.2-19.3-43.2-43.1s19.3-43.1 43.2-43.1 43.2 19.3 43.2 43.1-19.4 43.1-43.2 43.1zm586.8 415.6c56.9-41.2 93.2-102 93.2-169.7 0-124-120.8-224.5-269.9-224.5-149 0-269.9 100.5-269.9 224.5S540.9 847.5 690 847.5c30.8 0 60.6-4.4 88.1-12.3 2.6-.8 5.2-1.2 7.9-1.2 5.2 0 9.9 1.6 14.3 4.1l59.1 34c1.7 1 3.3 1.7 5.2 1.7a9 9 0 006.4-2.6 9 9 0 002.6-6.4c0-2.2-.9-4.4-1.4-6.6-.3-1.2-7.6-28.3-12.2-45.3-.5-1.9-.9-3.8-.9-5.7.1-5.9 3.1-11.2 7.6-14.5zM600.2 587.2c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c0 19.8-16.2 35.9-36 35.9zm179.9 0c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9a36.08 36.08 0 01-36 35.9z`}}]},name:`wechat`,theme:`outlined`};function y3(){return y3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,y3({},e,{ref:t,icon:v3}))),x3=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},S3=(e=>e?x3(e):x3),C3=e=>e;function w3(e,t=C3){let n=x.useSyncExternalStore(e.subscribe,x.useCallback(()=>t(e.getState()),[e,t]),x.useCallback(()=>t(e.getInitialState()),[e,t]));return x.useDebugValue(n),n}var T3=e=>{let t=S3(e),n=e=>w3(t,e);return Object.assign(n,t),n},E3=(e=>e?T3(e):T3),D3=c(k$(),1),O3=`AES-GCM`,k3=12,A3=128;async function j3(){throw Error(`VITE_ENCRYPTION_KEY not configured`)}async function M3(e){let t=await j3(),n=crypto.getRandomValues(new Uint8Array(k3)),r=new TextEncoder().encode(e),i=await crypto.subtle.encrypt({name:O3,iv:n,tagLength:A3},t,r),a=new Uint8Array(i),o=new Uint8Array(n.length+a.length);return o.set(n),o.set(a,n.length),btoa(String.fromCharCode(...o))}async function N3(e){let t=await j3(),n=Uint8Array.from(atob(e),e=>e.charCodeAt(0)),r=n.slice(0,k3),i=n.slice(k3),a=await crypto.subtle.decrypt({name:O3,iv:r,tagLength:A3},t,i);return new TextDecoder().decode(a)}var P3=`http://ceshi.apiforeign.minzhong.cn`,F3=!1;function I3(e){return e.replace(/_([a-z])/g,(e,t)=>t.toUpperCase())}function L3(e){return Array.isArray(e)?e.map(L3):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,t])=>[I3(e),L3(t)])):e}function R3(){return localStorage.getItem(`auth_token`)}function z3(e){localStorage.setItem(`auth_token`,e)}function B3(){localStorage.removeItem(`auth_token`)}async function V3(e){try{return await N3(e)}catch{return null}}async function H3(e,t={}){let{method:n=`GET`,body:r,auth:i=!0,encryptBody:a=F3}=t,o={"Content-Type":`application/json`};if(i){let e=R3();e&&(o.Authorization=`Bearer ${e}`)}let s;if(r!==void 0){let e=JSON.stringify(r);a?(o[`X-Encrypted`]=`true`,s=JSON.stringify({data:await M3(e)})):s=e}let c=await fetch(`${P3}/api${e}`,{method:n,headers:o,body:s});if(c.status===204)return;let l=await c.text();if(!l)return;let u;try{u=JSON.parse(l)}catch{throw Error(`响应解析失败 (${c.status})`)}if(u&&typeof u.data==`string`&&a){let e=await V3(u.data);e!==null&&(u=JSON.parse(e))}if(!c.ok){let e=u?.detail||`请求失败 (${c.status})`;throw c.status===401&&(B3(),window.location.href=`/login`),Error(e)}return L3(u)}var U3={get:(e,t=!0)=>H3(e,{auth:t}),post:(e,t,n=!0)=>H3(e,{method:`POST`,body:t,auth:n}),put:(e,t,n=!0)=>H3(e,{method:`PUT`,body:t,auth:n}),delete:(e,t=!0)=>H3(e,{method:`DELETE`,auth:t})};async function W3(e,t,n,r){let i=await U3.post(`/auth/admin-login`,{username:e,password:t,captcha_token:n,remember_me:r||!1},!1);return z3(i.accessToken),i.user}async function G3(){await U3.post(`/auth/logout`),B3()}async function K3(){try{return await U3.get(`/auth/me`)}catch{return null}}async function q3(e,t){let n={};e&&(n.start_date=e),t&&(n.end_date=t);let r=new URLSearchParams(n).toString();return U3.get(`/admin/stats${r?`?${r}`:``}`)}async function J3(e){let t=e?`?search=${encodeURIComponent(e)}`:``;return U3.get(`/admin/users${t}`)}async function Y3(e,t,n){await U3.post(`/admin/users/${e}/credits`,{amount:t,description:n})}async function X3(e,t){await U3.put(`/admin/users/${e}/status`,{is_active:t})}async function Z3(){return U3.get(`/admin/model-configs`)}async function Q3(e){return e.id?U3.put(`/admin/model-configs/${e.id}`,e):U3.post(`/admin/model-configs`,e)}async function $3(e){await U3.delete(`/admin/model-configs/${e}`)}async function e6(){return U3.get(`/admin/system-configs`)}async function t6(e,t){await U3.put(`/admin/system-configs/${e}`,{value:t})}async function n6(e,t){let n=new FormData;n.append(`file`,e),n.append(`config_key`,t);let r=localStorage.getItem(`auth_token`),i=await fetch(`http://localhost:8000/api/admin/upload-pdf`,{method:`POST`,headers:r?{Authorization:`Bearer ${r}`}:{},body:n});if(!i.ok)throw Error(`上传失败`);return i.json()}async function r6(e){let t=new URLSearchParams;e?.user_id&&t.set(`user_id`,e.user_id),e?.user_name&&t.set(`user_name`,e.user_name),e?.type&&t.set(`type`,e.type),e?.start_date&&t.set(`start_date`,e.start_date),e?.end_date&&t.set(`end_date`,e.end_date);let n=t.toString()?`?${t}`:``;return U3.get(`/admin/credit-records${n}`)}async function i6(){return U3.get(`/admin/industry-configs`)}async function a6(e){return e.id?U3.put(`/admin/industry-configs/${e.id}`,e):U3.post(`/admin/industry-configs`,e)}async function o6(e){await U3.delete(`/admin/industry-configs/${e}`)}async function s6(){return U3.get(`/admin/video-engines`)}async function c6(e){return e.id?U3.put(`/admin/video-engines/${e.id}`,e):U3.post(`/admin/video-engines`,e)}async function l6(e){await U3.delete(`/admin/video-engines/${e}`)}async function u6(){return U3.get(`/admin/image-engines`)}async function d6(e){return e.id?U3.put(`/admin/image-engines/${e.id}`,e):U3.post(`/admin/image-engines`,e)}async function f6(e){await U3.delete(`/admin/image-engines/${e}`)}async function p6(){return U3.get(`/admin/credit-ratios`)}async function m6(e){return e.id?U3.put(`/admin/credit-ratios/${e.id}`,e):U3.post(`/admin/credit-ratios`,e)}async function h6(e){await U3.delete(`/admin/credit-ratios/${e}`)}async function g6(){return U3.get(`/admin/payment-configs`)}async function _6(e){await U3.put(`/admin/payment-configs/batch`,e)}async function v6(e){let t=new URLSearchParams;e?.paymentMethod&&t.set(`payment_method`,e.paymentMethod),e?.status&&t.set(`status`,e.status),e?.startDate&&t.set(`start_date`,e.startDate),e?.endDate&&t.set(`end_date`,e.endDate);let n=t.toString(),r=n?`/admin/payment-stats?${n}`:`/admin/payment-stats`;return U3.get(r)}async function y6(e){await U3.post(`/admin/payment-orders/${e}/refund`)}async function b6(){return U3.get(`/admin/notifications`)}async function x6(e){await U3.post(`/admin/notifications`,e)}async function S6(e){await U3.delete(`/admin/notifications/${e}`)}async function C6(e){return U3.get(`/admin/notifications/${e}/read-users`)}async function w6(){return U3.get(`/admin/menu-configs`)}async function T6(e){return e.id?U3.put(`/admin/menu-configs/${e.id}`,e):U3.post(`/admin/menu-configs`,e)}async function E6(e){await U3.delete(`/admin/menu-configs/${e}`)}async function D6(e){return U3.post(`/admin/users`,e)}async function O6(e,t){await U3.put(`/admin/users/${e}/menus`,{allowed_menus:t})}async function k6(e,t){await U3.put(`/admin/users/${e}/reset-password`,{new_password:t})}async function A6(e,t){await U3.post(`/admin/change-password`,{old_password:e,new_password:t})}async function j6(){return U3.get(`/admin/recharge-packages`)}async function M6(e){return e.id?U3.put(`/admin/recharge-packages/${e.id}`,e):U3.post(`/admin/recharge-packages`,e)}async function N6(e){await U3.delete(`/admin/recharge-packages/${e}`)}async function P6(e){let t=e?`?page=${e}`:``;return U3.get(`/admin/operation-logs${t}`)}async function F6(e){let t=e?`?page=${e}`:``;return U3.get(`/admin/user-oauth-apps/list${t}`)}async function I6(e){return U3.post(`/admin/user-oauth-apps/create`,e)}async function L6(e){return U3.get(`/admin/user-oauth-apps/read/${e}`)}async function R6(e,t){return U3.post(`/admin/user-oauth-apps/update/${e}`,t)}async function z6(e){await U3.get(`/admin/user-oauth-apps/delete/${e}`)}async function B6(e){let t=new URLSearchParams;e?.userId&&t.set(`user_id`,e.userId),e?.status&&t.set(`status`,e.status),e?.page&&t.set(`page`,String(e.page)),e?.pageSize&&t.set(`page_size`,String(e.pageSize));let n=t.toString();return U3.get(`/admin/generation-records${n?`?${n}`:``}`)}async function V6(e,t,n){await U3.put(`/admin/generation-records/${e}/status`,{status:t,video_url:n})}async function H6(e,t,n,r){await U3.post(`/admin/generation-records/${e}/generate`,{aspect_ratio:t,resolution:n,image_size:r})}async function U6(){return U3.get(`/generation-ai/engines`)}async function W6(e){let t=new URLSearchParams;e?.genType&&t.set(`gen_type`,e.genType),e?.status&&t.set(`status`,e.status),e?.page&&t.set(`page`,String(e.page)),e?.pageSize&&t.set(`page_size`,String(e.pageSize)),e?.userId&&t.set(`user_id`,e.userId),e?.userName&&t.set(`user_name`,e.userName);let n=t.toString();return U3.get(`/generation-ai/tasks${n?`?${n}`:``}`)}var G6=E3(e=>({user:null,loading:!0,login:async(t,n,r)=>{e({user:await W3(t,n,void 0,r)})},logout:async()=>{await G3(),e({user:null})},checkAuth:async()=>{try{if(!localStorage.getItem(`auth_token`)){e({user:null,loading:!1});return}e({user:await K3(),loading:!1})}catch(t){(t?.message?.includes(`401`)||t?.message?.includes(`Unauthorized`))&&localStorage.removeItem(`auth_token`),e({user:null,loading:!1})}}})),K6=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),$=o(((e,t)=>{t.exports=K6()}))(),{Sider:q6,Content:J6}=QU,Y6={HomeOutlined:(0,$.jsx)(R0,{}),PlayCircleOutlined:(0,$.jsx)(M2,{}),WalletOutlined:(0,$.jsx)(_3,{}),RobotOutlined:(0,$.jsx)(W2,{}),SettingOutlined:(0,$.jsx)(d4,{}),BellOutlined:(0,$.jsx)(n1,{}),UserOutlined:(0,$.jsx)(d3,{}),AppstoreOutlined:(0,$.jsx)(R$,{}),FileTextOutlined:(0,$.jsx)(bH,{}),StarOutlined:(0,$.jsx)(F4,{}),HeartOutlined:(0,$.jsx)(k0,{}),CameraOutlined:(0,$.jsx)(_1,{}),DashboardOutlined:(0,$.jsx)(q1,{}),CalculatorOutlined:(0,$.jsx)(m1,{}),DollarOutlined:(0,$.jsx)($1,{}),GiftOutlined:(0,$.jsx)(C0,{}),ThunderboltOutlined:(0,$.jsx)(q4,{}),FireOutlined:(0,$.jsx)(m0,{}),CloudOutlined:(0,$.jsx)(k1,{}),SmileOutlined:(0,$.jsx)(E4,{}),TrophyOutlined:(0,$.jsx)($4,{}),RocketOutlined:(0,$.jsx)(q2,{}),BulbOutlined:(0,$.jsx)(d1,{}),CodeOutlined:(0,$.jsx)(F1,{}),PictureOutlined:(0,$.jsx)(E2,{}),VideoCameraOutlined:(0,$.jsx)(m3,{}),AudioOutlined:(0,$.jsx)(q$,{}),MailOutlined:(0,$.jsx)(n2,{}),PhoneOutlined:(0,$.jsx)(C2,{}),GlobalOutlined:(0,$.jsx)(E0,{}),ShoppingCartOutlined:(0,$.jsx)(m4,{}),TeamOutlined:(0,$.jsx)(W4,{}),BarChartOutlined:(0,$.jsx)($$,{}),PieChartOutlined:(0,$.jsx)(k2,{}),LineChartOutlined:(0,$.jsx)(q0,{}),SecurityScanOutlined:(0,$.jsx)(a4,{}),ApiOutlined:(0,$.jsx)(F$,{}),DatabaseOutlined:(0,$.jsx)(X1,{}),CloudServerOutlined:(0,$.jsx)(M1,{}),MenuOutlined:(0,$.jsx)(c2,{}),PlusOutlined:(0,$.jsx)(FR,{}),EditOutlined:(0,$.jsx)(MZ,{}),DeleteOutlined:(0,$.jsx)(kZ,{}),LockOutlined:(0,$.jsx)(X0,{}),LogoutOutlined:(0,$.jsx)($0,{})},X6=()=>{let e=Je(),t=Ge(),{user:n,loading:r,logout:i}=G6(),[a,o]=(0,x.useState)(!1),[s,c]=(0,x.useState)([]),[l,u]=(0,x.useState)(!1),[d]=Z.useForm();if((0,x.useEffect)(()=>{w6().then(e=>{let t=e.filter(e=>{let t=e.menu_target??e.menuTarget??`admin`;return(e.is_active??e.isActive??!0)&&(t===`admin`||t===`both`)}),r=!!(n?.isAdmin??n?.is_admin);if(n&&!r){let e=n.allowedMenus??n?.allowed_menus;if(e&&Array.isArray(e)&&e.length>0){let n=new Set(e);t=t.filter(e=>(e.menu_type??e.menuType)===`group`?t.some(t=>(t.parent_id??t.parentId)===e.id&&n.has(t.path)):n.has(e.path))}else t=[]}c(t)}).catch(()=>{})},[n]),r)return(0,$.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100vh`},children:(0,$.jsx)(XW,{size:`large`})});if(!n)return(0,$.jsx)(xt,{to:`/admin/login`,replace:!0});let f={};s.filter(e=>(e.menu_type??e.menuType)!==`group`&&(e.parent_id??e.parentId)).forEach(e=>{let t=e.parent_id??e.parentId;f[t]||(f[t]=[]),f[t].push(e)});let p=[...s].sort((e,t)=>(e.sort_order??e.sortOrder??0)-(t.sort_order??t.sortOrder??0)),m=[];p.forEach(e=>{let t=e.menu_type??e.menuType,n=e.parent_id??e.parentId;if(t===`group`){let t=(f[e.id]||[]).sort((e,t)=>(e.sort_order??e.sortOrder??0)-(t.sort_order??t.sortOrder??0)).map(e=>({key:e.path,icon:Y6[e.icon]||void 0,label:e.label}));t.length>0&&m.push({key:`group-${e.id}`,icon:Y6[e.icon]||void 0,label:e.label,children:t})}else n||m.push({key:e.path,icon:Y6[e.icon]||void 0,label:e.label})});let h=!!(n?.isAdmin??n?.is_admin);m.length===0&&h&&m.push({key:`/`,icon:(0,$.jsx)(q1,{}),label:`数据概览`},{key:`/users`,icon:(0,$.jsx)(d3,{}),label:`用户管理`});let g=t.pathname,_=[];m.forEach(e=>{e.children?e.children.forEach(e=>_.push(e.key)):_.push(e.key)}),_.includes(g)||(g=_.find(e=>g.startsWith(e))||`/`);let v=[];return m.forEach(e=>{e.children&&e.children.some(e=>e.key===g)&&v.push(e.key)}),(0,$.jsxs)(QU,{style:{minHeight:`100vh`},children:[(0,$.jsxs)(q6,{collapsible:!0,collapsed:a,onCollapse:o,width:220,theme:`dark`,style:{background:`linear-gradient(180deg, #0f0f23 0%, #1a1a35 100%)`},children:[(0,$.jsxs)(`div`,{style:{height:64,display:`flex`,alignItems:`center`,justifyContent:`center`,gap:10,borderBottom:`1px solid rgba(255,255,255,0.06)`},children:[(0,$.jsx)(`div`,{style:{width:32,height:32,borderRadius:8,background:`linear-gradient(135deg, #6366f1, #8b5cf6)`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,$.jsx)(q4,{style:{fontSize:16,color:`#fff`}})}),!a&&(0,$.jsx)(`span`,{style:{color:`#f1f5f9`,fontSize:15,fontWeight:700},children:`管理后台`})]}),(0,$.jsx)(cD,{mode:`inline`,selectedKeys:[g],defaultOpenKeys:v,items:m,onClick:({key:t})=>{t.startsWith(`group-`)||e(t)},style:{background:`transparent`,borderRight:0,marginTop:8},theme:`dark`})]}),(0,$.jsxs)(QU,{children:[(0,$.jsxs)(`div`,{style:{height:56,background:`#fff`,borderBottom:`1px solid #f0f0f5`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`0 24px`},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:m.find(e=>e.key===g)?.label||m.flatMap(e=>e.children||[]).find(e=>e.key===g)?.label||`管理后台`}),(0,$.jsx)(_H,{menu:{items:[{key:`user`,icon:(0,$.jsx)(d3,{}),label:n?.username,disabled:!0},{type:`divider`},{key:`changePwd`,icon:(0,$.jsx)(X0,{}),label:`修改密码`},{key:`logout`,icon:(0,$.jsx)($0,{}),label:`退出登录`,danger:!0}],onClick:({key:t})=>{t===`logout`&&(i(),e(`/login`)),t===`changePwd`&&(u(!0),d.resetFields())}},placement:`bottomRight`,arrow:!0,children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,cursor:`pointer`,padding:`4px 8px`,borderRadius:8,transition:`background 0.2s`},children:[(0,$.jsx)(Zw,{size:28,icon:(0,$.jsx)(d3,{}),style:{background:`linear-gradient(135deg, #6366f1, #8b5cf6)`}}),(0,$.jsx)(Q.Text,{style:{fontSize:13,fontWeight:500},children:n?.username})]})})]}),(0,$.jsx)(J6,{style:{padding:24,background:`#f5f6fa`,overflow:`auto`},children:m.length===0&&!h?(0,$.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,height:`60vh`,color:`#94a3b8`},children:[(0,$.jsx)(X0,{style:{fontSize:48,marginBottom:16,color:`#cbd5e1`}}),(0,$.jsx)(`div`,{style:{fontSize:16,fontWeight:600,color:`#64748b`},children:`暂无任何权限`}),(0,$.jsx)(`div`,{style:{fontSize:13,marginTop:8},children:`请联系管理员配置菜单权限`})]}):(0,$.jsx)(St,{})})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(X0,{}),`修改密码`]}),open:l,onOk:async()=>{try{let e=await d.validateFields();if(e.newPassword!==e.confirmPassword){dG.error(`两次输入的密码不一致`);return}await A6(e.oldPassword,e.newPassword),dG.success(`密码修改成功`),u(!1),d.resetFields()}catch(e){if(e?.errorFields)return;dG.error(e?.message||`修改失败`)}},onCancel:()=>{u(!1),d.resetFields()},okText:`确认修改`,cancelText:`取消`,width:420,children:(0,$.jsxs)(Z,{form:d,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsx)(Z.Item,{name:`oldPassword`,label:`原密码`,rules:[{required:!0,message:`请输入原密码`}],children:(0,$.jsx)(UU.Password,{placeholder:`请输入原密码`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`newPassword`,label:`新密码`,rules:[{required:!0,min:6,message:`密码至少6位`}],children:(0,$.jsx)(UU.Password,{placeholder:`请输入新密码(至少6位)`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`confirmPassword`,label:`确认新密码`,rules:[{required:!0,message:`请再次输入新密码`}],children:(0,$.jsx)(UU.Password,{placeholder:`请再次输入新密码`,size:`large`})})]})})]})},Z6=()=>{let e=Je(),{login:t}=G6(),[n,r]=(0,x.useState)(!1);return(0,$.jsx)(`div`,{style:{minHeight:`100vh`,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`linear-gradient(135deg, #0f0f23 0%, #1a1a35 50%, #0f0f23 100%)`},children:(0,$.jsxs)(Xz,{bordered:!1,style:{width:420,borderRadius:16,boxShadow:`0 20px 60px rgba(0,0,0,0.3)`},children:[(0,$.jsxs)(`div`,{style:{textAlign:`center`,marginBottom:32},children:[(0,$.jsx)(`div`,{style:{width:56,height:56,borderRadius:14,margin:`0 auto 16px`,background:`linear-gradient(135deg, #6366f1, #8b5cf6)`,display:`flex`,alignItems:`center`,justifyContent:`center`,boxShadow:`0 8px 24px rgba(99,102,241,0.3)`},children:(0,$.jsx)(q4,{style:{fontSize:26,color:`#fff`}})}),(0,$.jsxs)(Q.Title,{level:3,style:{margin:0},children:[`VideoGen`,(0,$.jsx)(`span`,{style:{color:`#6366f1`},children:`.AI`})]}),(0,$.jsx)(Q.Text,{type:`secondary`,children:`管理后台`})]}),(0,$.jsxs)(Z,{onFinish:async n=>{r(!0);try{await t(n.username,n.password,n.rememberMe),dG.success(`登录成功`),e(`/`)}catch{dG.error(`登录失败`)}finally{r(!1)}},layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`username`,rules:[{required:!0,message:`请输入用户名`}],children:(0,$.jsx)(UU,{placeholder:`用户名`,size:`large`,prefix:(0,$.jsx)(d3,{style:{color:`#94a3b8`,marginRight:8}})})}),(0,$.jsx)(Z.Item,{name:`password`,rules:[{required:!0,message:`请输入密码`}],children:(0,$.jsx)(UU.Password,{placeholder:`密码`,size:`large`,prefix:(0,$.jsx)(X0,{style:{color:`#94a3b8`,marginRight:8}})})}),(0,$.jsx)(Z.Item,{name:`rememberMe`,valuePropName:`checked`,children:(0,$.jsx)(SB,{children:`记住我的登录状态`})}),(0,$.jsx)(Z.Item,{style:{marginBottom:8},children:(0,$.jsx)(mD,{type:`primary`,htmlType:`submit`,loading:n,block:!0,size:`large`,style:{borderRadius:10,fontWeight:600,height:44,background:`linear-gradient(135deg, #6366f1, #8b5cf6)`,border:`none`},children:`登录管理后台`})})]})]})})};o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r(hD()):typeof define==`function`&&define.amd?define([`dayjs`],r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_locale_zh_cn=r(n.dayjs)})(e,(function(e){function t(e){return e&&typeof e==`object`&&`default`in e?e:{default:e}}var n=t(e),r={name:`zh-cn`,weekdays:`星期日_星期一_星期二_星期三_星期四_星期五_星期六`.split(`_`),weekdaysShort:`周日_周一_周二_周三_周四_周五_周六`.split(`_`),weekdaysMin:`日_一_二_三_四_五_六`.split(`_`),months:`一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月`.split(`_`),monthsShort:`1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月`.split(`_`),ordinal:function(e,t){return t===`W`?e+`周`:e+`日`},weekStart:1,yearStart:4,formats:{LT:`HH:mm`,LTS:`HH:mm:ss`,L:`YYYY/MM/DD`,LL:`YYYY年M月D日`,LLL:`YYYY年M月D日Ah点mm分`,LLLL:`YYYY年M月D日ddddAh点mm分`,l:`YYYY/M/D`,ll:`YYYY年M月D日`,lll:`YYYY年M月D日 HH:mm`,llll:`YYYY年M月D日dddd HH:mm`},relativeTime:{future:`%s内`,past:`%s前`,s:`几秒`,m:`1 分钟`,mm:`%d 分钟`,h:`1 小时`,hh:`%d 小时`,d:`1 天`,dd:`%d 天`,M:`1 个月`,MM:`%d 个月`,y:`1 年`,yy:`%d 年`},meridiem:function(e,t){var n=100*e+t;return n<600?`凌晨`:n<900?`早上`:n<1100?`上午`:n<1300?`中午`:n<1800?`下午`:`晚上`}};return n.default.locale(r,null,!0),r}))}))(),SD.default.locale(`zh-cn`);var Q6=()=>{let[e,t]=(0,x.useState)(null),[n,r]=(0,x.useState)(!0),[i,a]=(0,x.useState)([(0,SD.default)().startOf(`day`),(0,SD.default)()]),[o,s]=(0,x.useState)(`数据概览`),c=async()=>{r(!0);try{t(await q3(i[0]?.format(`YYYY-MM-DD`)||void 0,i[1]?.format(`YYYY-MM-DD`)||void 0))}catch{}r(!1)},l=async()=>{try{let e=(await e6()).find(e=>e.key===`site_name`);if(e){let t=`${e.value} 管理后台`;s(t),document.title=t}}catch{s(`数据概览`),document.title=`数据概览`}};(0,x.useEffect)(()=>{c(),l()},[]);let u=()=>{let e=[(0,SD.default)().startOf(`day`),(0,SD.default)()];a(e),m(e)},d=()=>{let e=(0,SD.default)().subtract(1,`day`),t=[e.startOf(`day`),e.endOf(`day`)];a(t),m(t)},f=()=>{let e=[(0,SD.default)().startOf(`week`),(0,SD.default)()];a(e),m(e)},p=()=>{let e=[(0,SD.default)().startOf(`month`),(0,SD.default)()];a(e),m(e)},m=e=>{let n=e[0]?.format(`YYYY-MM-DD`)||void 0,i=e[1]?.format(`YYYY-MM-DD`)||void 0;r(!0),q3(n,i).then(e=>{t(e),r(!1)}).catch(()=>{r(!1)})},h=e=>{e&&(a([e[0],e[1]]),m([e[0],e[1]]))},g=e?[{title:`用户数量`,value:e.totalUsers,lastPeriodValue:e.lastPeriodUsers,icon:(0,$.jsx)(d3,{}),gradient:`linear-gradient(135deg, #667eea 0%, #764ba2 100%)`,prefix:``,suffix:`位用户`,description:`平台注册用户总数`},{title:`总项目数`,value:e.totalProjects,lastPeriodValue:e.lastPeriodProjects,icon:(0,$.jsx)(F2,{}),gradient:`linear-gradient(135deg, #00d4ff 0%, #0099cc 100%)`,prefix:``,suffix:`个项目`,description:`创建的项目总数`},{title:`项目记录`,value:e.totalRecords,lastPeriodValue:e.lastPeriodRecords,icon:(0,$.jsx)(bH,{}),gradient:`linear-gradient(135deg, #10b981 0%, #059669 100%)`,prefix:``,suffix:`条记录`,description:`项目记录总数`},{title:`创作记录`,value:e.totalGenerations,lastPeriodValue:e.lastPeriodGenerations,icon:(0,$.jsx)(M2,{}),gradient:`linear-gradient(135deg, #f59e0b 0%, #d97706 100%)`,prefix:``,suffix:`次创作`,description:`AI创作记录总数`}]:[],_=e?[{title:`支付宝收入`,value:e.todayAlipayRevenue,icon:(0,$.jsx)(_3,{}),gradient:`linear-gradient(135deg, #22c55e 0%, #16a34a 100%)`,prefix:`¥`,suffix:``,description:`支付宝收款`,tag:`支付宝`},{title:`微信收入`,value:e.todayWechatRevenue,icon:(0,$.jsx)($1,{}),gradient:`linear-gradient(135deg, #3b82f6 0%, #2563eb 100%)`,prefix:`¥`,suffix:``,description:`微信收款`,tag:`微信支付`},{title:`总收入`,value:e.totalRevenue,lastPeriodValue:e.lastPeriodRevenue,icon:(0,$.jsx)(W$,{}),gradient:`linear-gradient(135deg, #ec4899 0%, #be185d 100%)`,prefix:`¥`,suffix:``,description:`平台总收入`,tag:`总收入`},{title:`消耗积分`,value:e.creditsConsumedToday,lastPeriodValue:e.lastPeriodCreditsConsumed,icon:(0,$.jsx)($1,{}),gradient:`linear-gradient(135deg, #ef4444 0%, #dc2626 100%)`,prefix:``,suffix:`积分`,description:`用户消耗积分`,tag:`积分消耗`}]:[],v=({title:e,value:t,lastPeriodValue:r,icon:i,gradient:a,prefix:o=``,suffix:s=``,description:c,tag:l})=>{let u=r!==void 0&&r>0?((t-r)/r*100).toFixed(1):null,d=u!==null&&parseFloat(u)>=0;return(0,$.jsx)(Xz,{bordered:!1,loading:n,hoverable:!0,style:{borderRadius:16,border:`1px solid rgba(0,0,0,0.04)`,background:`#ffffff`,boxShadow:`0 4px 20px rgba(0,0,0,0.05)`,transition:`all 0.3s ease`,overflow:`hidden`},children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:16,padding:`16px 0`},children:[(0,$.jsx)(`div`,{style:{width:52,height:52,borderRadius:14,background:a,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:24,color:`#fff`,flexShrink:0,boxShadow:`0 8px 24px rgba(0,0,0,0.1)`},children:i}),(0,$.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:4},children:[(0,$.jsx)(Q.Text,{style:{color:`#64748b`,fontSize:13},children:e}),l&&(0,$.jsx)(`span`,{style:{fontSize:10,padding:`2px 8px`,borderRadius:10,background:`rgba(99,102,241,0.1)`,color:`#6366f1`,fontWeight:500},children:l})]}),(0,$.jsxs)(`div`,{style:{fontSize:28,fontWeight:800,color:`#1e293b`,letterSpacing:-.5,marginBottom:2},children:[o,typeof t==`number`?t.toLocaleString():t,s]}),c&&(0,$.jsx)(Q.Text,{style:{color:`#94a3b8`,fontSize:11},children:c}),u!==null&&r!==void 0&&(0,$.jsxs)(`div`,{style:{marginTop:8,paddingTop:8,borderTop:`1px solid #f1f5f9`,display:`flex`,alignItems:`center`,gap:8},children:[(0,$.jsxs)(Q.Text,{style:{color:`#94a3b8`,fontSize:11},children:[`上一周期: `,o,r.toLocaleString(),s]}),(0,$.jsxs)(`span`,{style:{fontSize:11,fontWeight:500,color:d?`#10b981`:`#ef4444`,display:`flex`,alignItems:`center`,gap:2},children:[d?`↑`:`↓`,` `,Math.abs(parseFloat(u)),`%`]})]})]})]})})};return(0,$.jsxs)(`div`,{style:{padding:0},children:[(0,$.jsxs)(`div`,{style:{background:`linear-gradient(135deg, #667eea 0%, #764ba2 100%)`,padding:`24px 24px 32px`,borderRadius:0,marginBottom:-24,position:`relative`,overflow:`hidden`},children:[(0,$.jsx)(`div`,{style:{position:`absolute`,top:-50,right:-50,width:200,height:200,background:`rgba(255,255,255,0.1)`,borderRadius:`50%`}}),(0,$.jsx)(`div`,{style:{position:`absolute`,bottom:-30,left:-30,width:150,height:150,background:`rgba(255,255,255,0.08)`,borderRadius:`50%`}}),(0,$.jsxs)(`div`,{style:{position:`relative`,zIndex:1},children:[(0,$.jsx)(Q.Title,{level:2,style:{color:`#fff`,marginBottom:4,fontWeight:700},children:o}),(0,$.jsx)(Q.Text,{style:{color:`rgba(255,255,255,0.8)`,fontSize:14},children:`欢迎回来,查看平台运营数据统计`})]})]}),(0,$.jsxs)(`div`,{style:{marginTop:40},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,alignItems:`center`,gap:12,flexWrap:`wrap`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(mD,{type:!i[0]||!i[1]||i[0]?.isSame((0,SD.default)().startOf(`day`))&&i[1]?.isSame((0,SD.default)(),`day`)?`primary`:`default`,size:`small`,onClick:u,children:`今日`}),(0,$.jsx)(mD,{type:`default`,size:`small`,onClick:d,children:`昨日`}),(0,$.jsx)(mD,{type:`default`,size:`small`,onClick:f,children:`本周`}),(0,$.jsx)(mD,{type:`default`,size:`small`,onClick:p,children:`本月`})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,background:`#fff`,border:`1px solid #e2e8f0`,padding:`6px 12px`,borderRadius:8,boxShadow:`0 1px 2px rgba(0,0,0,0.05)`},children:[(0,$.jsx)(XV,{style:{color:`#64748b`,fontSize:14}}),(0,$.jsx)(oH.RangePicker,{value:i,onChange:h,placeholder:[`开始日期`,`结束日期`],size:`small`})]})]}),(0,$.jsxs)(`div`,{style:{marginBottom:16,paddingLeft:4},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{color:`#1e293b`,fontSize:15},children:`核心数据`}),(0,$.jsx)(Q.Text,{style:{color:`#94a3b8`,fontSize:12,marginLeft:8},children:`平台基础运营指标`})]}),(0,$.jsx)(tK,{gutter:[16,16],children:g.map(e=>(0,$.jsx)(kB,{xs:12,sm:8,lg:6,children:(0,$.jsx)(v,{...e})},e.title))})]}),(0,$.jsxs)(`div`,{style:{marginTop:24},children:[(0,$.jsxs)(`div`,{style:{marginBottom:16,paddingLeft:4},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{color:`#1e293b`,fontSize:15},children:`财务统计`}),(0,$.jsx)(Q.Text,{style:{color:`#94a3b8`,fontSize:12,marginLeft:8},children:`收入与消耗数据`})]}),(0,$.jsx)(tK,{gutter:[16,16],children:_.map(e=>(0,$.jsx)(kB,{xs:12,sm:8,lg:6,children:(0,$.jsx)(v,{...e})},e.title))})]})]})};function $6(e){if(!e)return`-`;let t=e.trim();t.includes(`T`)||(t=t.replace(` `,`T`));let n=t.indexOf(`.`);return n>0&&(t=t.slice(0,n)),t=t.replace(/[+-]\d{2}:?\d{0,2}$/,``).replace(/Z$/,``),t.replace(`T`,` `).slice(0,16)}var e8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!0),[i,a]=(0,x.useState)(``),[o,s]=(0,x.useState)(`frontend`),[c,l]=(0,x.useState)({open:!1,user:null}),[u,d]=(0,x.useState)(!1),[f,p]=(0,x.useState)(`frontend`),[m,h]=(0,x.useState)({open:!1,user:null}),[g,_]=(0,x.useState)([]),[v,y]=(0,x.useState)([]),[b,S]=(0,x.useState)({open:!1,user:null}),[C]=Z.useForm(),[w]=Z.useForm(),[T]=Z.useForm(),E=async()=>{r(!0);try{t(await J3(i||void 0))}catch{}r(!1)};(0,x.useEffect)(()=>{E()},[]);let D=()=>E(),O=async()=>{try{let e=await C.validateFields(),{user:t}=c;if(!t)return;await Y3(t.id,e.amount,e.description),dG.success(`已${e.amount>0?`增加`:`扣除`} ${Math.abs(e.amount)} 积分`),l({open:!1,user:null}),C.resetFields(),E()}catch{}},k=async e=>{await X3(e.id,!e.isActive),dG.success(e.isActive?`已禁用该用户`:`已启用该用户`),E()},A=async()=>{try{let e=await w.validateFields(),t=e.user_type||`frontend`;await D6({username:t===`admin`?e.username:void 0,password:e.password,email:e.email||void 0,phone:t===`frontend`?e.phone:e.phone||void 0,credits:e.credits||0,user_type:t}),dG.success(`用户创建成功`),d(!1),w.resetFields(),p(`frontend`),E()}catch{}},j=async e=>{try{let t=await w6(),n=e.userType===`admin`;_(t.filter(e=>{let t=e.menu_target??e.menuTarget??`frontend`;return n?t===`admin`||t===`both`:t===`frontend`||t===`both`})),y(e.allowedMenus||[]),h({open:!0,user:e})}catch{dG.error(`加载菜单失败`)}},M=g.filter(e=>(e.menu_type??e.menuType)===`group`),N=g.filter(e=>(e.menu_type??e.menuType)!==`group`),P={};N.filter(e=>e.parent_id??e.parentId).forEach(e=>{let t=e.parent_id??e.parentId;P[t]||(P[t]=[]),P[t].push(e)});let F=N.filter(e=>!(e.parent_id??e.parentId)),I=async()=>{let{user:e}=m;if(e)try{await O6(e.id,v.length>0?v:null),dG.success(`菜单权限已更新`),h({open:!1,user:null}),E()}catch(e){dG.error(e?.message||`保存失败`)}},L=async()=>{try{let e=await T.validateFields(),{user:t}=b;if(!t)return;await k6(t.id,e.newPassword),dG.success(`已重置 ${t.username} 的密码`),S({open:!1,user:null}),T.resetFields()}catch{}},R=e.filter(e=>e.userType===o),z=o===`admin`,B=[{title:`用户`,key:`user`,width:200,render:(e,t)=>(0,$.jsxs)(hH,{children:[(0,$.jsx)(`div`,{style:{width:32,height:32,borderRadius:8,background:t.isAdmin?`linear-gradient(135deg, #f59e0b, #f97316)`:`linear-gradient(135deg, #6366f1, #8b5cf6)`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`#fff`,fontSize:13,fontWeight:700},children:t.username.charAt(0).toUpperCase()}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{style:{fontWeight:600},children:[t.username,t.isAdmin&&(0,$.jsx)(EZ,{color:`orange`,style:{marginLeft:6,fontSize:10},children:`管理员`})]}),(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.email})]})]})},...z?[]:[{title:`积分余额`,dataIndex:`credits`,width:120,sorter:(e,t)=>e.credits-t.credits,render:e=>(0,$.jsx)(Q.Text,{strong:!0,style:{color:e>0?`#10b981`:`#ef4444`,fontSize:15},children:e.toLocaleString()})}],{title:`手机号`,dataIndex:`phone`,width:130,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,children:e||`-`})},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(EZ,{color:e?`green`:`red`,children:e?`正常`:`禁用`})},{title:`注册时间`,dataIndex:`createdAt`,width:120,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:$6(e)})},{title:`最后登录`,dataIndex:`lastLoginAt`,width:140,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:$6(e)})},{title:`操作`,key:`action`,width:320,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[!z&&(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(_3,{}),onClick:()=>{l({open:!0,user:t}),C.resetFields()},children:`调整积分`}),(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(c2,{}),onClick:()=>j(t),children:`菜单权限`}),(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(X0,{}),onClick:()=>{S({open:!0,user:t}),T.resetFields()},children:`重置密码`}),(0,$.jsx)(vG,{title:t.isActive?`确定禁用该用户?`:`确定启用该用户?`,onConfirm:()=>k(t),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:t.isActive,icon:t.isActive?(0,$.jsx)(R4,{}):(0,$.jsx)(C1,{}),children:t.isActive?`禁用`:`启用`})})]})}];return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:12},children:[(0,$.jsx)(UU,{placeholder:`搜索用户名或手机号`,prefix:(0,$.jsx)(KC,{style:{color:`#94a3b8`}}),value:i,onChange:e=>a(e.target.value),onPressEnter:D,style:{width:280,borderRadius:8},allowClear:!0}),(0,$.jsx)(mD,{type:`primary`,onClick:D,style:{borderRadius:8},children:`搜索`})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>{p(o),w.setFieldsValue({user_type:o}),d(!0)},style:{borderRadius:8},children:`创建用户`})]}),(0,$.jsx)(Iz,{activeKey:o,onChange:s,items:[{key:`frontend`,label:`前台用户`},{key:`admin`,label:`后台用户`}]}),(0,$.jsx)(pZ,{columns:B,dataSource:R,rowKey:`id`,loading:n,pagination:{pageSize:10,showTotal:e=>`共 ${e} 个用户`},scroll:{x:1e3}})]}),(0,$.jsxs)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(_3,{}),`调整积分 - `,c.user?.username]}),open:c.open,onOk:O,onCancel:()=>{l({open:!1,user:null}),C.resetFields()},okText:`确认`,cancelText:`取消`,width:440,children:[(0,$.jsxs)(`div`,{style:{marginBottom:16,padding:`12px 16px`,background:`#f8fafc`,borderRadius:8},children:[(0,$.jsx)(`span`,{style:{color:`#64748b`},children:`当前积分:`}),(0,$.jsx)(`span`,{style:{fontWeight:800,fontSize:18,color:`#6366f1`},children:c.user?.credits.toLocaleString()})]}),(0,$.jsxs)(Z,{form:C,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`amount`,label:`积分变动`,rules:[{required:!0,message:`请输入积分数量`}],children:(0,$.jsx)(_V,{style:{width:`100%`},size:`large`,placeholder:`正数增加,负数扣除`,formatter:e=>`${e}`.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)})}),(0,$.jsx)(Z.Item,{name:`description`,label:`原因`,rules:[{required:!0,message:`请输入调整原因`}],children:(0,$.jsx)(UU.TextArea,{rows:2,placeholder:`请输入调整原因`,size:`large`})})]})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(d3,{}),`创建用户`]}),open:u,onOk:A,onCancel:()=>{d(!1),w.resetFields(),p(`frontend`)},okText:`创建`,cancelText:`取消`,width:480,children:(0,$.jsxs)(Z,{form:w,layout:`vertical`,style:{marginTop:16},onValuesChange:e=>{e.user_type&&p(e.user_type)},children:[(0,$.jsx)(Z.Item,{name:`user_type`,label:`用户类型`,initialValue:`frontend`,rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`frontend`,label:`前端用户`},{value:`admin`,label:`后台管理员`}]})}),f===`frontend`?(0,$.jsx)(Z.Item,{name:`phone`,label:`手机号`,rules:[{required:!0,message:`请输入手机号`},{pattern:/^1\d{10}$/,message:`请输入正确的手机号`}],children:(0,$.jsx)(UU,{placeholder:`请输入手机号`,maxLength:11,size:`large`})}):(0,$.jsx)(Z.Item,{name:`username`,label:`用户名`,rules:[{required:!0,message:`请输入用户名`}],children:(0,$.jsx)(UU,{placeholder:`请输入用户名`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`password`,label:`密码`,rules:[{required:!0,min:6,message:`密码至少6位`}],children:(0,$.jsx)(UU.Password,{placeholder:`请输入密码(至少6位)`,size:`large`})}),f===`frontend`&&(0,$.jsx)(Z.Item,{name:`credits`,label:`初始积分`,initialValue:0,children:(0,$.jsx)(_V,{min:0,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`email`,label:`邮箱`,children:(0,$.jsx)(UU,{placeholder:`选填`,size:`large`})})]})}),(0,$.jsxs)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(c2,{}),`菜单权限 - `,m.user?.username,` (`,m.user?.userType===`admin`?`后台菜单`:`前台菜单`,`)`]}),open:m.open,onOk:I,onCancel:()=>{h({open:!1,user:null})},okText:`保存`,cancelText:`取消`,width:520,children:[(0,$.jsx)(`div`,{style:{marginBottom:12},children:(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:13},children:`勾选该用户可访问的菜单,不勾选则显示全部菜单`})}),(0,$.jsx)(`div`,{style:{padding:`12px 16px`,background:`#f8fafc`,borderRadius:8,maxHeight:400,overflow:`auto`},children:(0,$.jsx)(SB.Group,{value:v,onChange:e=>y(e),children:(0,$.jsxs)(hH,{direction:`vertical`,size:8,style:{width:`100%`},children:[F.map(e=>(0,$.jsxs)(SB,{value:e.path,style:{width:`100%`},children:[e.label,(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12,marginLeft:8},children:e.path})]},e.path)),M.map(e=>{let t=P[e.id]||[];return t.length===0?null:(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{fontWeight:600,fontSize:13,color:`#6366f1`,marginBottom:4,marginTop:4},children:e.label}),(0,$.jsx)(hH,{direction:`vertical`,size:4,style:{paddingLeft:12,width:`100%`},children:t.map(e=>(0,$.jsxs)(SB,{value:e.path,style:{width:`100%`},children:[e.label,(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12,marginLeft:8},children:e.path})]},e.path))})]},e.id)})]})})})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(X0,{}),`重置密码 - `,b.user?.username]}),open:b.open,onOk:L,onCancel:()=>{S({open:!1,user:null}),T.resetFields()},okText:`确认重置`,cancelText:`取消`,width:420,children:(0,$.jsx)(Z,{form:T,layout:`vertical`,style:{marginTop:16},children:(0,$.jsx)(Z.Item,{name:`newPassword`,label:`新密码`,rules:[{required:!0,min:6,message:`密码至少6位`}],children:(0,$.jsx)(UU.Password,{placeholder:`请输入新密码(至少6位)`,size:`large`})})})})]})},t8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!0),[i,a]=(0,x.useState)({open:!1,model:null}),[o]=Z.useForm(),s=async()=>{r(!0);try{t(await Z3())}catch{}r(!1)};(0,x.useEffect)(()=>{s()},[]);let c=async()=>{try{let e=await o.validateFields(),t={name:e.name,provider:e.provider,model_name:e.modelName,api_base:e.apiBase,api_key:e.apiKey,weight:e.weight,max_tokens:e.maxTokens,temperature:e.temperature,is_active:e.isActive??!0,priority:e.priority??0};i.model?.id?await Q3({id:i.model.id,...t}):await Q3(t),dG.success(i.model?.id?`模型配置已更新`:`模型配置已添加`),a({open:!1,model:null}),o.resetFields(),s()}catch(e){if(e?.errorFields)return;dG.error(e?.message||`保存失败`)}},l=async e=>{try{await $3(e),dG.success(`模型配置已删除`),s()}catch(e){dG.error(e?.message||`删除失败`)}},u=e=>{a({open:!0,model:e||null}),e?o.setFieldsValue(e):(o.resetFields(),o.setFieldsValue({provider:`sdk`,weight:1,maxTokens:4096,temperature:.7,isActive:!0,priority:0}))};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(Q.Text,{type:`secondary`,children:[`共 `,e.length,` 个模型配置,按权重进行加权随机调度`]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加模型`})]}),(0,$.jsx)(pZ,{columns:[{title:`模型名称`,dataIndex:`name`,width:150,render:(e,t)=>(0,$.jsxs)(hH,{children:[(0,$.jsx)(`div`,{style:{width:32,height:32,borderRadius:8,background:t.isActive?`linear-gradient(135deg, #6366f1, #8b5cf6)`:`linear-gradient(135deg, #94a3b8, #cbd5e1)`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`#fff`,fontSize:14},children:(0,$.jsx)(W2,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{fontWeight:600},children:e}),(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.modelName})]})]})},{title:`提供商`,dataIndex:`provider`,width:140,render:e=>(0,$.jsx)(EZ,{color:e===`mock`?`default`:`blue`,children:{sdk:`SDK模式`,openai_compatible:`OpenAI兼容`,mock:`Mock模式`}[e]||e})},{title:`API地址`,dataIndex:`apiBase`,width:200,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},ellipsis:!0,children:e||`-`})},{title:`权重`,dataIndex:`weight`,width:80,sorter:(e,t)=>e.weight-t.weight},{title:`Max Tokens`,dataIndex:`maxTokens`,width:100},{title:`Temperature`,dataIndex:`temperature`,width:100,render:e=>e.toFixed(1)},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(EZ,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除该模型配置?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(W2,{}),i.model?.id?`编辑模型`:`添加模型`]}),open:i.open,onOk:c,onCancel:()=>{a({open:!1,model:null}),o.resetFields()},okText:`确认`,cancelText:`取消`,width:560,children:(0,$.jsxs)(Z,{form:o,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`name`,label:`显示名称`,rules:[{required:!0,message:`请输入模型名称`}],children:(0,$.jsx)(UU,{placeholder:`例如:GPT-4o`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`provider`,label:`提供商`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`sdk`,label:`SDK模式`},{value:`openai_compatible`,label:`OpenAI兼容`},{value:`mock`,label:`Mock模式`}]})}),(0,$.jsx)(Z.Item,{name:`modelName`,label:`模型标识`,style:{flex:1},rules:[{required:!0,message:`请输入模型标识`}],children:(0,$.jsx)(UU,{placeholder:`例如:gpt-4o`,size:`large`})})]}),(0,$.jsx)(Z.Item,{name:`apiBase`,label:`API地址`,children:(0,$.jsx)(UU,{placeholder:`https://api.openai.com/v1`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`apiKey`,label:`API Key`,children:(0,$.jsx)(UU.Password,{placeholder:`sk-****`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`weight`,label:`权重`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(_V,{min:0,max:10,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`maxTokens`,label:`Max Tokens`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(_V,{min:256,max:128e3,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`temperature`,label:`Temperature`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(_V,{min:0,max:2,step:.1,style:{width:`100%`},size:`large`})})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`priority`,label:`优先级`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(_V,{min:0,max:10,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`isActive`,label:`启用`,valuePropName:`checked`,style:{flex:1,paddingTop:30},children:(0,$.jsx)(SK,{})})]})]})})]})},n8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!0),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(``),[c]=Z.useForm();(0,x.useEffect)(()=>{l()},[]);let l=async()=>{r(!0);let e=await e6();t(e);let n={};e.forEach(e=>{n[e.key]=e.value}),c.setFieldsValue(n),r(!1)},u=async()=>{try{let n=await c.validateFields();a(!0);for(let t of e){let e=n[t.key];e!==void 0&&e!==t.value&&await t6(t.id,e??``)}dG.success(`系统配置已保存`),t(await e6()),a(!1)}catch(e){a(!1),dG.error(e?.message||`保存失败`)}},d=async(e,n)=>{s(n);try{let r=await n6(e,n);t(e=>e.map(e=>e.key===n?{...e,value:r.url}:e)),c.setFieldsValue({[n]:r.url}),dG.success(`PDF上传成功`)}catch{dG.error(`上传失败`)}finally{s(``)}return!1},f={站点信息:e.filter(e=>e.key.startsWith(`site_`)),协议配置:e.filter(e=>e.key===`user_agreement_url`||e.key===`privacy_policy_url`),"SEO 设置":e.filter(e=>e.key.startsWith(`seo_`))},p=e=>({site_name:`平台显示名称,将展示在页面标题和导航栏`,site_logo:`平台Logo图片URL,建议尺寸 200x40px`,user_agreement_url:`用户注册/登录时需同意的用户协议PDF文件`,privacy_policy_url:`用户注册/登录时需同意的隐私政策PDF文件`,seo_title:`搜索引擎结果中显示的标题`,seo_description:`搜索引擎结果中显示的描述文字,建议150字以内`,seo_keywords:`用逗号分隔的关键词列表`})[e.key]||e.description||``,m=e=>e.key===`seo_description`?(0,$.jsx)(UU.TextArea,{rows:3,placeholder:e.description,size:`large`}):e.key===`seo_keywords`?(0,$.jsx)(UU,{placeholder:`关键词1, 关键词2, 关键词3`,size:`large`}):(0,$.jsx)(UU,{placeholder:e.description,size:`large`}),h=({config:e})=>{let t=e.key===`user_agreement_url`?`用户协议`:`隐私政策`,n=e.value&&e.value.startsWith(`/uploads/`);return(0,$.jsxs)(`div`,{style:{padding:`16px`,borderRadius:10,border:`1px solid #f0f0f5`,background:`#fafbfc`,marginBottom:12},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginBottom:8},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(d0,{style:{color:`#ef4444`,fontSize:18}}),(0,$.jsx)(Q.Text,{strong:!0,children:t})]}),(0,$.jsxs)(hH,{children:[n&&(0,$.jsx)(mD,{size:`small`,icon:(0,$.jsx)(xU,{}),onClick:()=>window.open(`http://localhost:8000${e.value}`,`_blank`),children:`预览`}),(0,$.jsx)(b$,{accept:`.pdf`,showUploadList:!1,beforeUpload:t=>d(t,e.key),children:(0,$.jsx)(mD,{size:`small`,type:`primary`,icon:(0,$.jsx)(c3,{}),loading:o===e.key,children:n?`重新上传`:`上传PDF`})})]})]}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:n?`已上传: ${e.value}`:`尚未上传,前台将不显示对应链接`})]})};return n?(0,$.jsx)(Xz,{loading:!0,bordered:!1,style:{borderRadius:12}}):(0,$.jsxs)(`div`,{style:{maxWidth:720},children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`,marginBottom:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12,marginBottom:24},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:`rgba(99,102,241,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:20,color:`#6366f1`},children:(0,$.jsx)(d4,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:4,style:{margin:0},children:`系统设置`}),(0,$.jsx)(Q.Text,{type:`secondary`,children:`管理站点基础信息、协议文件和SEO配置`})]})]}),(0,$.jsx)(Z,{form:c,layout:`vertical`,children:Object.entries(f).map(([e,t])=>(0,$.jsxs)(`div`,{style:{marginBottom:24},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:14,display:`block`,marginBottom:12,paddingBottom:8,borderBottom:`1px solid #f0f0f5`},children:e}),e===`协议配置`?t.map(e=>(0,$.jsx)(h,{config:e},e.id)):t.map(e=>(0,$.jsx)(Z.Item,{name:e.key,label:(0,$.jsx)(`span`,{style:{fontWeight:500},children:e.description}),extra:p(e),children:m(e)},e.id))]},e))})]}),(0,$.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`},children:(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(n4,{}),onClick:u,loading:i,size:`large`,style:{borderRadius:8,minWidth:140},children:`保存配置`})})]})},r8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!1),[i,a]=(0,x.useState)([]),[o,s]=(0,x.useState)(!1),[c]=Z.useForm(),[l,u]=(0,x.useState)({open:!1,notifId:``,title:``}),[d,f]=(0,x.useState)([]),[p,m]=(0,x.useState)(!1),h=async()=>{r(!0);try{let e=await b6(),n=await J3(),r={};n.forEach(e=>{r[e.id]=e.username}),t((e.items||[]).map(e=>({id:e.id,title:e.title,content:e.content,type:e.type,targetUserId:e.userId||null,target:e.userId?r[e.userId]||e.userId:`全部用户`,createdAt:e.createdAt}))),a(n.map(e=>({id:e.id,username:e.username})))}catch{dG.error(`加载通知列表失败`)}finally{r(!1)}};(0,x.useEffect)(()=>{h()},[]);let g=async()=>{try{let e=await c.validateFields();await x6({title:e.title,content:e.content,type:e.type||`system`,target_user_id:e.target_user_id||void 0}),dG.success(`消息已发送`),s(!1),c.resetFields(),h()}catch{}},_=async e=>{try{await S6(e),dG.success(`已删除`),h()}catch(e){dG.error(e?.message||`删除失败`)}},v=async(e,t)=>{u({open:!0,notifId:e,title:t}),m(!0);try{f((await C6(e)).items||[])}catch{dG.error(`加载已读列表失败`)}finally{m(!1)}},y=e=>{switch(e){case`system`:return`blue`;case`credit`:return`orange`;case`promo`:return`purple`;default:return`default`}};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(n1,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`消息推送管理`}),(0,$.jsxs)(EZ,{color:`purple`,children:[e.length,` 条消息`]})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>s(!0),style:{borderRadius:8},children:`发送新消息`})]}),(0,$.jsx)(pZ,{columns:[{title:`标题`,dataIndex:`title`,width:200,render:e=>(0,$.jsx)(Q.Text,{strong:!0,children:e})},{title:`内容`,dataIndex:`content`,ellipsis:!0},{title:`类型`,dataIndex:`type`,width:80,render:e=>(0,$.jsx)(EZ,{color:y(e),children:{system:`系统`,credit:`积分`,promo:`活动`}[e]||e})},{title:`发送目标`,dataIndex:`target`,width:120,render:e=>(0,$.jsx)(EZ,{color:e===`全部用户`?`green`:`blue`,children:e})},{title:`发送时间`,dataIndex:`createdAt`,width:160,render:e=>$6(e)},{title:`操作`,key:`action`,width:180,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(xU,{}),onClick:()=>v(t.id,t.title),children:`已读`}),(0,$.jsx)(vG,{title:`确定删除该消息?`,onConfirm:()=>_(t.id),children:(0,$.jsx)(mD,{type:`link`,danger:!0,size:`small`,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:{pageSize:10,showTotal:e=>`共 ${e} 条消息`},scroll:{x:900}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(c4,{}),`发送消息`]}),open:o,onOk:g,onCancel:()=>{s(!1),c.resetFields()},okText:`发送`,cancelText:`取消`,width:520,children:(0,$.jsxs)(Z,{form:c,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsx)(Z.Item,{name:`title`,label:`消息标题`,rules:[{required:!0,message:`请输入标题`}],children:(0,$.jsx)(UU,{placeholder:`请输入消息标题`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`content`,label:`消息内容`,rules:[{required:!0,message:`请输入内容`}],children:(0,$.jsx)(UU.TextArea,{rows:4,placeholder:`请输入消息内容`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`type`,label:`消息类型`,style:{flex:1},initialValue:`system`,rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`system`,label:`系统通知`},{value:`credit`,label:`积分通知`},{value:`promo`,label:`活动通知`}]})}),(0,$.jsx)(Z.Item,{name:`target_user_id`,label:`发送目标`,style:{flex:1},extra:`留空则发送给全部用户`,children:(0,$.jsx)(ZC,{size:`large`,allowClear:!0,placeholder:`全部用户`,options:i.map(e=>({value:e.id,label:e.username}))})})]})]})}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(W4,{}),`已读用户 — `,l.title]}),open:l.open,onCancel:()=>{u({open:!1,notifId:``,title:``}),f([])},footer:null,width:480,children:p?(0,$.jsx)(`div`,{style:{textAlign:`center`,padding:40},children:`加载中...`}):d.length===0?(0,$.jsx)(xC,{description:`暂无用户已读`,style:{padding:`40px 0`}}):(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{style:{marginBottom:12,color:`#64748b`,fontSize:13},children:[`共 `,d.length,` 人已读`]}),(0,$.jsx)(pZ,{dataSource:d,rowKey:`userId`,pagination:!1,size:`small`,columns:[{title:`用户名`,dataIndex:`username`,render:e=>(0,$.jsx)(Q.Text,{strong:!0,children:e})},{title:`已读时间`,dataIndex:`readAt`,width:180,render:e=>$6(e)}]})]})})]})},i8={recharge:{text:`充值`,color:`green`,icon:(0,$.jsx)(W$,{})},consume:{text:`消费`,color:`red`,icon:(0,$.jsx)(V$,{})},refund:{text:`退回`,color:`blue`,icon:(0,$.jsx)(X2,{})}},a8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(0),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(``),[c,l]=(0,x.useState)(``),[u,d]=(0,x.useState)([null,null]),f=async()=>{a(!0);try{let e={};o&&(e.type=o),c&&(e.user_name=c),u[0]&&(e.start_date=u[0].format(`YYYY-MM-DD`)),u[1]&&(e.end_date=u[1].format(`YYYY-MM-DD`));let n=await r6(Object.keys(e).length>0?e:void 0);t(n.items||[]),r(n.total||0)}catch{dG.error(`加载积分记录失败`)}finally{a(!1)}};(0,x.useEffect)(()=>{f()},[]);let p=()=>{f()},m=()=>{s(``),l(``),d([null,null]),f()},h=e.filter(e=>e.type===`recharge`).reduce((e,t)=>e+t.amount,0),g=e.filter(e=>e.type===`consume`).reduce((e,t)=>e+Math.abs(t.amount),0);return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,marginBottom:16},children:[(0,$.jsx)(Xz,{bordered:!1,style:{flex:1,borderRadius:12,border:`1px solid #f0f0f5`},children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:`rgba(16,185,129,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:20,color:`#10b981`},children:(0,$.jsx)(W$,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:`总充值`}),(0,$.jsxs)(`div`,{style:{fontSize:22,fontWeight:800,color:`#10b981`},children:[`+`,h.toLocaleString()]})]})]})}),(0,$.jsx)(Xz,{bordered:!1,style:{flex:1,borderRadius:12,border:`1px solid #f0f0f5`},children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:`rgba(239,68,68,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:20,color:`#ef4444`},children:(0,$.jsx)(V$,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:`总消费`}),(0,$.jsxs)(`div`,{style:{fontSize:22,fontWeight:800,color:`#ef4444`},children:[`-`,g.toLocaleString()]})]})]})}),(0,$.jsx)(Xz,{bordered:!1,style:{flex:1,borderRadius:12,border:`1px solid #f0f0f5`},children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:`rgba(99,102,241,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:20,color:`#6366f1`},children:(0,$.jsx)(_3,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:`交易笔数`}),(0,$.jsx)(`div`,{style:{fontSize:22,fontWeight:800,color:`#1a1a2e`},children:n})]})]})})]}),(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16,flexWrap:`wrap`,gap:12},children:[(0,$.jsxs)(hH,{wrap:!0,children:[(0,$.jsx)(ZC,{value:o,onChange:e=>s(e),style:{width:120},options:[{value:``,label:`全部类型`},{value:`recharge`,label:`充值`},{value:`consume`,label:`消费`},{value:`refund`,label:`退回`}]}),(0,$.jsx)(UU,{placeholder:`用户名搜索`,value:c,onChange:e=>l(e.target.value),style:{width:180},allowClear:!0}),(0,$.jsx)(oH.RangePicker,{value:u,onChange:e=>{e&&d([e[0],e[1]])},placeholder:[`开始日期`,`结束日期`],style:{width:250}})]}),(0,$.jsxs)(hH,{children:[(0,$.jsx)(mD,{type:`primary`,onClick:p,children:`搜索`}),(0,$.jsx)(mD,{onClick:m,children:`重置`}),(0,$.jsx)(mD,{icon:(0,$.jsx)(eK,{}),onClick:f,children:`刷新`})]})]}),(0,$.jsx)(pZ,{columns:[{title:`用户`,dataIndex:`username`,width:120,render:e=>(0,$.jsx)(Q.Text,{strong:!0,children:e})},{title:`类型`,dataIndex:`type`,width:100,render:e=>{let t=i8[e]||{text:e||`-`,color:`default`,icon:null};return(0,$.jsx)(EZ,{color:t.color,icon:t.icon,children:t.text})}},{title:`变动积分`,dataIndex:`amount`,width:120,sorter:(e,t)=>e.amount-t.amount,render:e=>(0,$.jsxs)(Q.Text,{strong:!0,style:{color:e>0?`#10b981`:`#ef4444`,fontSize:15},children:[e>0?`+`:``,e.toLocaleString()]})},{title:`变动后余额`,dataIndex:`balanceAfter`,width:120,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,children:e.toLocaleString()})},{title:`说明`,dataIndex:`description`,ellipsis:!0},{title:`时间`,dataIndex:`createdAt`,width:160,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:$6(e)})}],dataSource:e,rowKey:`id`,loading:i,pagination:{pageSize:10,showTotal:e=>`共 ${e} 条记录`},scroll:{x:800}})]})]})},o8=()=>{let[e,t]=(0,x.useState)(!1),[n,r]=(0,x.useState)(!1),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(!1),[c,l]=(0,x.useState)(180),[u]=Z.useForm(),d=async()=>{try{let e=await g6(),t={};e.forEach(e=>{t[e.key]=e.value}),u.setFieldsValue({wechat_appid:t.payment_wechat_appid||``,wechat_mch_id:t.payment_wechat_mch_id||``,wechat_private_key:t.payment_wechat_private_key||``,wechat_cert_serial_no:t.payment_wechat_cert_serial_no||``,wechat_api_v3_key:t.payment_wechat_api_v3_key||``,wechat_notify_url:t.payment_wechat_notify_url||``,wechat_public_key:t.payment_wechat_public_key||``,wechat_public_key_id:t.payment_wechat_public_key_id||``,alipay_app_id:t.payment_alipay_app_id||``,alipay_private_key:t.payment_alipay_private_key||``,alipay_public_key:t.payment_alipay_public_key||``,alipay_notify_url:t.payment_alipay_notify_url||``,alipay_gateway:t.payment_alipay_gateway||``,order_timeout:t.payment_order_timeout||`180`}),r(t.payment_wechat_enabled===`true`),a(t.payment_alipay_enabled===`true`),s(t.payment_mock===`true`),l(parseInt(t.payment_order_timeout||`180`,10))}catch{dG.error(`加载支付配置失败`)}};return(0,x.useEffect)(()=>{d()},[]),(0,$.jsxs)(`div`,{style:{maxWidth:`100%`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:24,flexWrap:`wrap`,marginBottom:24},children:[(0,$.jsx)(`div`,{style:{flex:`1 1 400px`,minWidth:400},children:(0,$.jsx)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:40,height:40,borderRadius:10,background:`rgba(99,102,241,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:20,color:`#6366f1`},children:(0,$.jsx)($V,{})}),(0,$.jsx)(`div`,{children:(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:14},children:`订单超时时间`})})]}),(0,$.jsx)(Z,{form:u,layout:`inline`,children:(0,$.jsx)(Z.Item,{name:`order_timeout`,style:{margin:0},children:(0,$.jsx)(_V,{min:30,max:86400,placeholder:`180`,style:{width:140},size:`middle`,addonAfter:`秒`})})})]})})}),(0,$.jsx)(`div`,{style:{flex:`1 1 400px`,minWidth:400},children:(0,$.jsx)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`,background:o?`#fff7e6`:`#fafbff`},children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:40,height:40,borderRadius:10,background:o?`rgba(245,158,11,0.15)`:`rgba(99,102,241,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:20,color:o?`#f59e0b`:`#6366f1`},children:(0,$.jsx)($1,{})}),(0,$.jsx)(`div`,{children:(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:14},children:`模拟支付模式`})})]}),(0,$.jsx)(SK,{checked:o,onChange:s,checkedChildren:`已开启`,unCheckedChildren:`已关闭`})]})})})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:24,flexWrap:`wrap`},children:[(0,$.jsx)(`div`,{style:{flex:`1 1 400px`,minWidth:400},children:(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:20},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:`rgba(7,193,96,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:22,color:`#07c160`},children:(0,$.jsx)(b3,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:5,style:{margin:0},children:`微信支付`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:`微信商户号支付配置`})]})]}),(0,$.jsx)(SK,{checked:n,onChange:r,checkedChildren:`已启用`,unCheckedChildren:`未启用`})]}),(0,$.jsxs)(Z,{form:u,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`wechat_appid`,label:`AppID`,children:(0,$.jsx)(UU,{placeholder:`微信支付 AppID`,size:`large`,disabled:!n})}),(0,$.jsx)(Z.Item,{name:`wechat_mch_id`,label:`商户号 (MchID)`,children:(0,$.jsx)(UU,{placeholder:`微信支付商户号`,size:`large`,disabled:!n})}),(0,$.jsx)(Z.Item,{name:`wechat_private_key`,label:`商户私钥`,extra:` + ⚠️ 重要:请填写 apiclient_key.pem 的内容,不是 apiclient_cert.pem! + 内容应该以 -----BEGIN PRIVATE KEY----- 或 -----BEGIN RSA PRIVATE KEY----- 开头 + `,children:(0,$.jsx)(UU.TextArea,{rows:4,placeholder:` +-----BEGIN PRIVATE KEY----- +...这里是私钥内容... +-----END PRIVATE KEY----- + `,disabled:!n})}),(0,$.jsx)(Z.Item,{name:`wechat_cert_serial_no`,label:`商户证书序列号`,extra:`从 apiclient_cert.pem 中提取的证书序列号`,children:(0,$.jsx)(UU,{placeholder:`商户证书序列号`,size:`large`,disabled:!n})}),(0,$.jsx)(Z.Item,{name:`wechat_api_v3_key`,label:`API v3 密钥`,children:(0,$.jsx)(UU.Password,{placeholder:`API v3 密钥`,size:`large`,disabled:!n})}),(0,$.jsx)(Z.Item,{name:`wechat_notify_url`,label:`回调地址`,children:(0,$.jsx)(UU,{placeholder:`https://yourdomain.com/api/payments/wechat/callback`,size:`large`,disabled:!n})}),(0,$.jsx)(Z.Item,{name:`wechat_public_key`,label:`微信平台公钥(可选)`,children:(0,$.jsx)(UU.TextArea,{rows:3,placeholder:`微信支付平台公钥内容`,disabled:!n})}),(0,$.jsx)(Z.Item,{name:`wechat_public_key_id`,label:`微信平台公钥ID(可选)`,children:(0,$.jsx)(UU,{placeholder:`平台公钥ID`,size:`large`,disabled:!n})})]})]})}),(0,$.jsx)(`div`,{style:{flex:`1 1 400px`,minWidth:400},children:(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,marginBottom:20},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(`div`,{style:{width:44,height:44,borderRadius:10,background:`rgba(0,122,255,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:22,color:`#007aff`},children:(0,$.jsx)(M$,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:5,style:{margin:0},children:`支付宝`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:`支付宝应用支付配置`})]})]}),(0,$.jsx)(SK,{checked:i,onChange:a,checkedChildren:`已启用`,unCheckedChildren:`未启用`})]}),(0,$.jsxs)(Z,{form:u,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`alipay_app_id`,label:`AppID`,children:(0,$.jsx)(UU,{placeholder:`支付宝应用AppID`,size:`large`,disabled:!i})}),(0,$.jsx)(Z.Item,{name:`alipay_private_key`,label:`应用私钥`,extra:`支付宝应用私钥(PKCS8格式),不需要添加头部和尾部标记`,children:(0,$.jsx)(UU.TextArea,{rows:4,placeholder:` +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC... + `,disabled:!i})}),(0,$.jsx)(Z.Item,{name:`alipay_public_key`,label:`支付宝公钥`,extra:`从支付宝开放平台获取的支付宝公钥`,children:(0,$.jsx)(UU.TextArea,{rows:4,placeholder:` +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA... + `,disabled:!i})}),(0,$.jsx)(Z.Item,{name:`alipay_gateway`,label:`网关地址`,children:(0,$.jsx)(UU,{placeholder:`https://openapi.alipay.com/gateway.do`,size:`large`,disabled:!i})}),(0,$.jsx)(Z.Item,{name:`alipay_notify_url`,label:`回调地址`,children:(0,$.jsx)(UU,{placeholder:`https://yourdomain.com/api/payments/alipay/callback`,size:`large`,disabled:!i})})]})]})})]}),(0,$.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,marginTop:24},children:(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(n4,{}),onClick:async()=>{try{let e=await u.validateFields();t(!0),await _6({payment_mock:String(o),payment_wechat_enabled:String(n),payment_wechat_appid:e.wechat_appid||``,payment_wechat_mch_id:e.wechat_mch_id||``,payment_wechat_private_key:e.wechat_private_key||``,payment_wechat_cert_serial_no:e.wechat_cert_serial_no||``,payment_wechat_api_v3_key:e.wechat_api_v3_key||``,payment_wechat_notify_url:e.wechat_notify_url||``,payment_wechat_public_key:e.wechat_public_key||``,payment_wechat_public_key_id:e.wechat_public_key_id||``,payment_alipay_enabled:String(i),payment_alipay_app_id:e.alipay_app_id||``,payment_alipay_private_key:e.alipay_private_key||``,payment_alipay_public_key:e.alipay_public_key||``,payment_alipay_notify_url:e.alipay_notify_url||``,payment_alipay_gateway:e.alipay_gateway||``,payment_order_timeout:String(e.order_timeout||180)}),dG.success(`支付配置已保存`),d()}catch{dG.error(`保存失败`)}finally{t(!1)}},loading:e,size:`large`,style:{borderRadius:8,minWidth:160,height:44,fontSize:15},children:`保存配置`})})]})},{Option:s8}=ZC,{RangePicker:c8}=oH,l8=()=>{let[e,t]=(0,x.useState)(!1),[n,r]=(0,x.useState)(null),[i,a]=(0,x.useState)({startDate:(0,SD.default)().format(`YYYY-MM-DD`),endDate:(0,SD.default)().format(`YYYY-MM-DD`)}),o=async()=>{try{t(!0),r(await v6(i))}catch{dG.error(`加载支付统计失败`)}finally{t(!1)}};(0,x.useEffect)(()=>{o()},[i]);let s=()=>{a({startDate:(0,SD.default)().format(`YYYY-MM-DD`),endDate:(0,SD.default)().format(`YYYY-MM-DD`)})},c=async e=>{try{t(!0),await y6(e),dG.success(`退款成功`),await o()}catch(e){dG.error(e?.response?.data?.detail||`退款失败`)}finally{t(!1)}},l=e=>{e&&e.length===2&&a(t=>({...t,startDate:e[0].format(`YYYY-MM-DD`),endDate:e[1].format(`YYYY-MM-DD`)}))},u={paid:{color:`green`,label:`已支付`,icon:(0,$.jsx)(C1,{})},pending:{color:`gold`,label:`待支付`,icon:(0,$.jsx)($V,{})},cancelled:{color:`default`,label:`已取消`,icon:(0,$.jsx)(E1,{})},refunded:{color:`red`,label:`已退款`,icon:(0,$.jsx)(a3,{})}},d={alipay:{color:`blue`,label:`支付宝`},wechat:{color:`green`,label:`微信`}},f=[{title:`订单号`,dataIndex:`orderNo`,key:`orderNo`,width:200},{title:`用户`,dataIndex:`username`,key:`username`,width:120},{title:`支付方式`,dataIndex:`paymentMethod`,key:`paymentMethod`,width:100,render:e=>{let t=d[e]||{color:`default`,label:e};return(0,$.jsx)(EZ,{color:t.color,children:t.label})}},{title:`金额`,dataIndex:`amount`,key:`amount`,width:100,render:e=>(0,$.jsxs)(Q.Text,{strong:!0,style:{color:`#10b981`},children:[`¥`,e.toFixed(2)]})},{title:`积分`,dataIndex:`credits`,key:`credits`,width:80},{title:`状态`,dataIndex:`status`,key:`status`,width:100,render:e=>{let t=u[e]||{color:`default`,label:e,icon:null};return(0,$.jsx)(EZ,{color:t.color,icon:t.icon,children:t.label})}},{title:`支付宝交易号`,dataIndex:`tradeNo`,key:`tradeNo`,width:200,render:e=>e||`-`},{title:`创建时间`,dataIndex:`createdAt`,key:`createdAt`,width:160,render:e=>(0,$.jsx)(`span`,{className:`date-display`,style:{color:`#94a3b8`},children:e?$6(e):`-`})},{title:`支付时间`,dataIndex:`paidAt`,key:`paidAt`,width:160,render:e=>(0,$.jsx)(`span`,{className:`date-display`,style:{color:`#94a3b8`},children:e?$6(e):`-`})},{title:`操作`,key:`action`,width:120,render:(e,t)=>t.status===`paid`?(0,$.jsx)(vG,{title:`确认要退款该订单吗?`,description:`退款后积分会扣除,金额会原路返回`,onConfirm:()=>c(t.orderNo),okText:`确认`,cancelText:`取消`,children:(0,$.jsx)(mD,{type:`link`,danger:!0,size:`small`,icon:(0,$.jsx)(a3,{}),children:`退款`})}):null}];if(!n)return(0,$.jsx)(`div`,{style:{padding:24,color:`#94a3b8`},children:`加载中…`});let p=n.byStatus?.paid||{count:0,amount:0},m=n.byStatus?.pending||{count:0,amount:0},h=n.byStatus?.cancelled||{count:0,amount:0},g=n.byStatus?.refunded||{count:0,amount:0},_=p.count+m.count+h.count+g.count,v=n.month||{count:0,amount:0};return(0,$.jsx)(Gp,{locale:D3.default,children:(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(tK,{gutter:[16,16],style:{marginBottom:24},children:[(0,$.jsx)(kB,{xs:24,sm:12,lg:12,children:(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsx)(pK,{title:`今日收入`,value:n.today.paidAmount,precision:2,prefix:(0,$.jsx)($1,{style:{color:`#10b981`}}),suffix:`元`,valueStyle:{color:`#10b981`,fontWeight:700}}),(0,$.jsxs)(Q.Text,{type:`secondary`,style:{fontSize:12},children:[n.today.paidCount,` 笔订单`]})]})}),(0,$.jsx)(kB,{xs:24,sm:12,lg:12,children:(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsx)(pK,{title:`本月累计`,value:v.paidAmount,precision:2,prefix:(0,$.jsx)($1,{style:{color:`#6366f1`}}),suffix:`元`,valueStyle:{color:`#6366f1`,fontWeight:700}}),(0,$.jsxs)(Q.Text,{type:`secondary`,style:{fontSize:12},children:[v.paidCount,` 笔订单`]})]})})]}),(0,$.jsx)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`,marginBottom:16},title:(0,$.jsxs)(hH,{children:[(0,$.jsx)($1,{}),`订单状态分布`]}),children:(0,$.jsx)(tK,{gutter:16,children:[`paid`,`pending`,`cancelled`,`refunded`].map(e=>{let t=n.byStatus?.[e]||{count:0,amount:0},r=u[e],i=_>0?(t.count/_*100).toFixed(1):`0.0`;return(0,$.jsx)(kB,{span:6,children:(0,$.jsxs)(`div`,{style:{padding:16,borderRadius:10,background:`#fafbff`,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(EZ,{color:r.color,icon:r.icon,children:r.label}),(0,$.jsxs)(Q.Text,{type:`secondary`,style:{fontSize:12},children:[i,`%`]})]}),(0,$.jsxs)(`div`,{style:{marginTop:8,fontSize:20,fontWeight:700},children:[t.count,` `,(0,$.jsx)(`span`,{style:{fontSize:13,color:`#94a3b8`,fontWeight:400},children:`笔`})]}),(0,$.jsxs)(`div`,{style:{fontSize:13,color:`#64748b`,marginTop:4},children:[`¥`,t.amount.toFixed(2)]})]})},e)})})}),(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},title:(0,$.jsxs)(hH,{children:[(0,$.jsx)($1,{}),`订单列表`]}),children:[(0,$.jsxs)(tK,{gutter:[16,16],align:`middle`,style:{marginBottom:24},children:[(0,$.jsxs)(kB,{xs:24,sm:12,md:6,children:[(0,$.jsx)(`span`,{style:{marginRight:8},children:`支付方式:`}),(0,$.jsxs)(ZC,{placeholder:`全部`,allowClear:!0,style:{width:150},value:i.paymentMethod,onChange:e=>a(t=>({...t,paymentMethod:e})),children:[(0,$.jsx)(s8,{value:`alipay`,children:`支付宝`}),(0,$.jsx)(s8,{value:`wechat`,children:`微信`})]})]}),(0,$.jsxs)(kB,{xs:24,sm:12,md:6,children:[(0,$.jsx)(`span`,{style:{marginRight:8},children:`状态:`}),(0,$.jsxs)(ZC,{placeholder:`全部`,allowClear:!0,style:{width:150},value:i.status,onChange:e=>a(t=>({...t,status:e})),children:[(0,$.jsx)(s8,{value:`paid`,children:`已支付`}),(0,$.jsx)(s8,{value:`pending`,children:`待支付`}),(0,$.jsx)(s8,{value:`cancelled`,children:`已取消`}),(0,$.jsx)(s8,{value:`refunded`,children:`已退款`})]})]}),(0,$.jsxs)(kB,{xs:24,sm:12,md:8,children:[(0,$.jsx)(`span`,{style:{marginRight:8},children:`日期范围:`}),(0,$.jsx)(c8,{value:[(0,SD.default)(i.startDate),(0,SD.default)(i.endDate)],onChange:l})]}),(0,$.jsx)(kB,{xs:24,sm:12,md:4,children:(0,$.jsx)(mD,{icon:(0,$.jsx)(eK,{}),onClick:s,children:`重置`})})]}),(0,$.jsx)(pZ,{columns:f,dataSource:n.recent,rowKey:`id`,loading:e,pagination:{pageSize:10,size:`small`},scroll:{x:1e3},size:`middle`})]})]})})},u8=[{name:`ShoppingCartOutlined`,label:`购物`,component:(0,$.jsx)(m4,{})},{name:`BookOutlined`,label:`书籍`,component:(0,$.jsx)(a1,{})},{name:`HomeOutlined`,label:`房产`,component:(0,$.jsx)(R0,{})},{name:`FireOutlined`,label:`火`,component:(0,$.jsx)(m0,{})},{name:`RocketOutlined`,label:`科技`,component:(0,$.jsx)(q2,{})},{name:`SkinOutlined`,label:`时尚`,component:(0,$.jsx)(C4,{})},{name:`CompassOutlined`,label:`指南`,component:(0,$.jsx)(V1,{})},{name:`HeartOutlined`,label:`健康`,component:(0,$.jsx)(k0,{})},{name:`CarOutlined`,label:`汽车`,component:(0,$.jsx)(b1,{})},{name:`CameraOutlined`,label:`相机`,component:(0,$.jsx)(_1,{})},{name:`CloudOutlined`,label:`云`,component:(0,$.jsx)(k1,{})},{name:`StarOutlined`,label:`星`,component:(0,$.jsx)(F4,{})},{name:`TrophyOutlined`,label:`奖杯`,component:(0,$.jsx)($4,{})},{name:`ThunderboltOutlined`,label:`闪电`,component:(0,$.jsx)(q4,{})},{name:`BulbOutlined`,label:`灯泡`,component:(0,$.jsx)(d1,{})},{name:`CoffeeOutlined`,label:`咖啡`,component:(0,$.jsx)(R1,{})},{name:`CrownOutlined`,label:`皇冠`,component:(0,$.jsx)(W1,{})},{name:`DashboardOutlined`,label:`仪表`,component:(0,$.jsx)(q1,{})},{name:`FlagOutlined`,label:`旗帜`,component:(0,$.jsx)(_0,{})},{name:`GlobalOutlined`,label:`全球`,component:(0,$.jsx)(E0,{})},{name:`GiftOutlined`,label:`礼物`,component:(0,$.jsx)(C0,{})},{name:`LaptopOutlined`,label:`笔记本`,component:(0,$.jsx)(W0,{})},{name:`MobileOutlined`,label:`手机`,component:(0,$.jsx)(m2,{})},{name:`MonitorOutlined`,label:`显示器`,component:(0,$.jsx)(_2,{})},{name:`PayCircleOutlined`,label:`支付`,component:(0,$.jsx)(b2,{})},{name:`PictureOutlined`,label:`图片`,component:(0,$.jsx)(E2,{})},{name:`PlayCircleOutlined`,label:`播放`,component:(0,$.jsx)(M2,{})},{name:`SafetyOutlined`,label:`安全`,component:(0,$.jsx)($2,{})},{name:`ShoppingOutlined`,label:`商店`,component:(0,$.jsx)(_4,{})},{name:`SmileOutlined`,label:`笑脸`,component:(0,$.jsx)(E4,{})},{name:`SoundOutlined`,label:`声音`,component:(0,$.jsx)(M4,{})},{name:`TagOutlined`,label:`标签`,component:(0,$.jsx)(V4,{})},{name:`TeamOutlined`,label:`团队`,component:(0,$.jsx)(W4,{})},{name:`ToolOutlined`,label:`工具`,component:(0,$.jsx)(X4,{})},{name:`TruckOutlined`,label:`物流`,component:(0,$.jsx)(n3,{})},{name:`VideoCameraOutlined`,label:`视频`,component:(0,$.jsx)(m3,{})},{name:`WalletOutlined`,label:`钱包`,component:(0,$.jsx)(_3,{})},{name:`BankOutlined`,label:`银行`,component:(0,$.jsx)(X$,{})},{name:`BuildOutlined`,label:`建筑`,component:(0,$.jsx)(c1,{})},{name:`ExperimentOutlined`,label:`实验`,component:(0,$.jsx)(a0,{})},{name:`HighlightOutlined`,label:`高亮`,component:(0,$.jsx)(M0,{})},{name:`IdcardOutlined`,label:`名片`,component:(0,$.jsx)(V0,{})},{name:`MedicineBoxOutlined`,label:`医药`,component:(0,$.jsx)(a2,{})},{name:`ReadOutlined`,label:`阅读`,component:(0,$.jsx)(R2,{})},{name:`RestOutlined`,label:`休息`,component:(0,$.jsx)(V2,{})},{name:`SketchOutlined`,label:`钻石`,component:(0,$.jsx)(b4,{})},{name:`SolutionOutlined`,label:`方案`,component:(0,$.jsx)(k4,{})}],d8=Object.fromEntries(u8.map(e=>[e.name,e.component]));function f8(e){return d8[e]||(0,$.jsx)(R$,{})}function p8(e){try{let t=typeof e==`string`?JSON.parse(e):e;if(!Array.isArray(t))return{skillItems:[],optionGroups:[]};let n=[],r=[];for(let e of t)e&&e.type===`option_group`&&e.name&&Array.isArray(e.options)?r.push({name:e.name,options:e.options}):e&&e.key&&e.label&&n.push({key:e.key,label:e.label});return{skillItems:n,optionGroups:r}}catch{return{skillItems:[],optionGroups:[]}}}var m8=({value:e,onChange:t})=>{let n=u8.find(t=>t.name===e);return(0,$.jsx)(_H,{trigger:[`click`],dropdownRender:()=>(0,$.jsx)(`div`,{style:{background:`#fff`,borderRadius:12,padding:12,width:360,boxShadow:`0 12px 40px rgba(0,0,0,0.15)`,border:`1px solid #f0f0f5`},children:(0,$.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(8, 1fr)`,gap:4},children:u8.map(n=>(0,$.jsx)(`div`,{onMouseDown:e=>{e.preventDefault(),e.stopPropagation(),t?.(n.name)},title:n.label,style:{width:40,height:40,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`,fontSize:18,transition:`all 0.15s`,background:e===n.name?`#6366f1`:`transparent`,color:e===n.name?`#fff`:`#64748b`,border:e===n.name?`none`:`1px solid transparent`},onMouseEnter:t=>{e!==n.name&&(t.currentTarget.style.background=`#f1f5f9`)},onMouseLeave:t=>{e!==n.name&&(t.currentTarget.style.background=`transparent`)},children:n.component},n.name))})}),children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`8px 12px`,borderRadius:8,border:`1px solid #d9d9d9`,cursor:`pointer`,height:40},children:[e?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{style:{fontSize:18,color:`#6366f1`},children:f8(e)}),(0,$.jsx)(`span`,{style:{color:`#64748b`,fontSize:13},children:n?.label||e})]}):(0,$.jsx)(`span`,{style:{color:`#bfbfbf`,fontSize:13},children:`选择图标`}),(0,$.jsx)(UC,{style:{fontSize:10,color:`#bfbfbf`,marginLeft:`auto`}})]})})},h8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!1),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)({open:!1,item:null}),[c]=Z.useForm(),l=async()=>{r(!0);try{t((await i6()).map(e=>{let{skillItems:t,optionGroups:n}=p8(e.skills);return{id:e.id,key:e.key,label:e.label,icon:e.icon||``,description:e.description||``,skills:JSON.stringify(t),optionGroups:n,isActive:e.is_active??e.isActive??!0,sortOrder:e.sort_order??e.sortOrder??0}}))}catch{dG.error(`加载行业配置失败`)}finally{r(!1)}};(0,x.useEffect)(()=>{l()},[]);let u=async()=>{try{let e=await c.validateFields();a(!0);let t=[];e.skills_wentutujie?.trim()&&t.push({type:`skill`,key:`文图理解生成视频提示词`,label:e.skills_wentutujie.trim()}),e.skills_wentutujie_image?.trim()&&t.push({type:`skill`,key:`文图理解生成图片提示词`,label:e.skills_wentutujie_image.trim()});let n=(e.optionGroups||[]).filter(e=>e?.name?.trim()).map(e=>({name:e.name.trim(),options:(e.options||[]).filter(e=>e?.trim())})).filter(e=>e.options.length>0);for(let e of n)t.push({type:`option_group`,name:e.name,options:e.options});let r={key:e.key,label:e.label,icon:e.icon||``,description:e.description||``,skills:t,is_active:e.is_active??!0,sort_order:e.sort_order??0};o.item?.id?(await a6({id:o.item.id,...r}),dG.success(`已更新`)):(await a6(r),dG.success(`已添加`)),s({open:!1,item:null}),c.resetFields(),l()}catch(e){if(e?.errorFields)return;dG.error(e?.message||`保存失败`)}finally{a(!1)}},d=async e=>{try{await o6(e),dG.success(`已删除`),l()}catch(e){dG.error(e?.message||`删除失败`)}},f=e=>{s({open:!0,item:e||null});let t=``,n=``,r=[];if(e){try{let r=JSON.parse(e.skills);if(Array.isArray(r))for(let e of r)(e.key===`文图理解生成视频提示词`||e.key===`文图理解`)&&(t=e.label||``),e.key===`文图理解生成图片提示词`&&(n=e.label||``)}catch{}r=e.optionGroups.length>0?e.optionGroups:[{name:``,options:[]}]}e?c.setFieldsValue({key:e.key,label:e.label,icon:e.icon||``,description:e.description,skills_wentutujie:t,skills_wentutujie_image:n,optionGroups:r,is_active:e.isActive,sort_order:e.sortOrder}):(c.resetFields(),c.setFieldsValue({is_active:!0,sort_order:0,optionGroups:[{name:``,options:[]}]}))};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(R$,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`行业与技能配置`}),(0,$.jsxs)(EZ,{color:`purple`,children:[e.length,` 个行业`]})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>f(),style:{borderRadius:8},children:`添加行业`})]}),(0,$.jsx)(pZ,{columns:[{title:`行业`,key:`industry`,width:180,render:(e,t)=>(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10},children:[(0,$.jsx)(`div`,{style:{width:36,height:36,borderRadius:10,background:`#f1f5f9`,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:18,color:`#6366f1`,flexShrink:0},children:f8(t.icon)}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{strong:!0,children:t.label}),(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.key})]})]})},{title:`描述`,dataIndex:`description`,ellipsis:!0},{title:`选项配置`,key:`optionGroups`,width:260,render:(e,t)=>!t.optionGroups||t.optionGroups.length===0?(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#cbd5e1`},children:`未配置`}):(0,$.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:t.optionGroups.map((e,t)=>(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6},children:[(0,$.jsx)(EZ,{color:`blue`,style:{margin:0,fontSize:11},children:e.name}),(0,$.jsxs)(Q.Text,{style:{fontSize:11,color:`#64748b`},children:[e.options.slice(0,3).join(`、`),e.options.length>3?`...${e.options.length}项`:``]})]},t))})},{title:`文图理解生成视频提示词`,dataIndex:`skills`,ellipsis:!0,render:e=>{try{let t=JSON.parse(e);if(Array.isArray(t)){let e=t.find(e=>e.key===`文图理解生成视频提示词`||e.key===`文图理解`);if(e)return(0,$.jsx)(Q.Text,{ellipsis:!0,style:{fontSize:12},children:e.label})}}catch{}return(0,$.jsx)(`span`,{style:{color:`#bfbfbf`},children:`-`})}},{title:`文图理解生成图片提示词`,dataIndex:`skills`,ellipsis:!0,render:e=>{try{let t=JSON.parse(e);if(Array.isArray(t)){let e=t.find(e=>e.key===`文图理解生成图片提示词`);if(e)return(0,$.jsx)(Q.Text,{ellipsis:!0,style:{fontSize:12},children:e.label})}}catch{}return(0,$.jsx)(`span`,{style:{color:`#bfbfbf`},children:`-`})}},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(EZ,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>f(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除该行业?`,onConfirm:()=>d(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(R$,{}),o.item?`编辑行业`:`添加行业`]}),open:o.open,onOk:u,onCancel:()=>{s({open:!1,item:null}),c.resetFields()},okText:`保存`,cancelText:`取消`,width:640,confirmLoading:i,children:(0,$.jsxs)(Z,{form:c,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`key`,label:`行业标识`,style:{flex:1},rules:[{required:!0,message:`请输入标识`}],children:(0,$.jsx)(UU,{placeholder:`例如:ecommerce`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`label`,label:`行业名称`,style:{flex:1},rules:[{required:!0,message:`请输入名称`}],children:(0,$.jsx)(UU,{placeholder:`例如:电商`,size:`large`})})]}),(0,$.jsx)(Z.Item,{name:`icon`,label:`行业图标`,children:(0,$.jsx)(m8,{})}),(0,$.jsx)(Z.Item,{name:`description`,label:`行业描述`,children:(0,$.jsx)(UU.TextArea,{rows:2,placeholder:`行业描述`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`skills_wentutujie`,label:`文图理解生成视频提示词`,extra:`用于LLM优化视频提示词的系统指令,根据行业特点引导AI理解文案与画面的关系`,children:(0,$.jsx)(UU.TextArea,{rows:3,placeholder:`请输入文图理解生成视频提示词,例如: 你是一位专业的电商视频文案专家,擅长将产品卖点转化为视觉语言`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`skills_wentutujie_image`,label:`文图理解生成图片提示词`,extra:`用于LLM优化图片提示词的系统指令,根据行业特点引导AI理解文案与画面的关系`,children:(0,$.jsx)(UU.TextArea,{rows:3,placeholder:`请输入文图理解生成图片提示词,例如: -你是一位专业的电商图片文案专家,擅长将产品卖点转化为图片生成提示词`,size:`large`})}),(0,$.jsxs)(`div`,{style:{marginBottom:8},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:13},children:`行业选项配置`}),(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,marginLeft:8},children:`添加选项组,每组包含名称和多个选项,前台将显示为下拉选择`})]}),(0,$.jsx)(Z.List,{name:`optionGroups`,children:(e,{add:t,remove:n})=>(0,$.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:8,marginBottom:16},children:[e.map(({key:e,name:t,...r})=>(0,$.jsxs)(`div`,{style:{display:`flex`,gap:8,alignItems:`flex-start`,padding:`10px 12px`,borderRadius:10,background:`#f8f9fc`,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,gap:8},children:[(0,$.jsx)(Z.Item,{...r,name:[t,`name`],label:`选项名称`,style:{marginBottom:0},rules:[{required:!0,message:`请输入选项名称`}],children:(0,$.jsx)(UU,{placeholder:`例如:视频风格`,size:`middle`,style:{borderRadius:8}})}),(0,$.jsx)(Z.Item,{...r,name:[t,`options`],label:`选项内容`,style:{marginBottom:0},children:(0,$.jsx)(ZC,{mode:`tags`,size:`middle`,placeholder:`输入选项后回车添加`,style:{borderRadius:8},tokenSeparators:[`,`,`,`,`、`]})})]}),(0,$.jsx)(d2,{onClick:()=>n(t),style:{color:`#ef4444`,fontSize:16,marginTop:34,cursor:`pointer`,flexShrink:0}})]},e)),(0,$.jsx)(mD,{type:`dashed`,onClick:()=>t(),block:!0,icon:(0,$.jsx)(FR,{}),style:{borderRadius:8,height:36},children:`添加选项组`})]})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`is_active`,label:`启用状态`,valuePropName:`checked`,initialValue:!0,style:{flex:1},children:(0,$.jsx)(SK,{})}),(0,$.jsx)(Z.Item,{name:`sort_order`,label:`排序`,initialValue:0,style:{flex:1},children:(0,$.jsx)(UU,{type:`number`,size:`large`})})]})]})})]})};function g8(e){if(Array.isArray(e))return e;if(typeof e==`string`)try{return JSON.parse(e)}catch{return[]}return[]}var _8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!1),[i,a]=(0,x.useState)({open:!1,engine:null}),[o]=Z.useForm(),s=async()=>{r(!0);try{t((await s6()).map(e=>({...e,supportedRatios:g8(e.supportedRatios),supportedResolutions:g8(e.supportedResolutions),supportedDurations:g8(e.supportedDurations)})))}catch{dG.error(`加载视频引擎失败`)}finally{r(!1)}};(0,x.useEffect)(()=>{s()},[]);let c=async()=>{try{let e=await o.validateFields(),t={name:e.name,provider:e.provider,api_base:e.apiBase,api_key:e.apiKey,model_name:e.modelName,supported_ratios:JSON.stringify(e.supportedRatios||[]),supported_resolutions:JSON.stringify(e.supportedResolutions||[]),supported_durations:JSON.stringify(e.supportedDurations||[]),is_active:e.isActive??!0,priority:e.priority??0};i.engine?(await c6({id:i.engine.id,...t}),dG.success(`已更新`)):(await c6(t),dG.success(`已添加`)),a({open:!1,engine:null}),o.resetFields(),s()}catch(e){if(e?.errorFields)return;dG.error(e?.message||`保存失败`)}},l=async e=>{try{await l6(e),dG.success(`已删除`),s()}catch{dG.error(`删除失败`)}},u=e=>{a({open:!0,engine:e||null}),e?o.setFieldsValue(e):(o.resetFields(),o.setFieldsValue({isActive:!0,priority:0,supportedRatios:[`16:9`,`4:3`,`1:1`,`3:4`,`9:16`,`21:9`],supportedResolutions:[`480p`,`720p`,`1080p`],supportedDurations:[4,5,6,7,8,9,10,11,12,13,14,15]}))};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(M2,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`视频引擎配置`}),(0,$.jsxs)(EZ,{color:`purple`,children:[e.length,` 个引擎`]})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加引擎`})]}),(0,$.jsx)(pZ,{columns:[{title:`引擎名称`,key:`name`,width:180,render:(e,t)=>(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10},children:[(0,$.jsx)(`div`,{style:{width:36,height:36,borderRadius:8,background:t.isActive?`linear-gradient(135deg, #6366f1, #8b5cf6)`:`linear-gradient(135deg, #94a3b8, #cbd5e1)`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`#fff`,fontSize:16},children:(0,$.jsx)(M2,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{strong:!0,children:t.name}),(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.provider})]})]})},{title:`支持比例`,dataIndex:`supportedRatios`,width:200,render:e=>(0,$.jsx)(hH,{size:2,wrap:!0,children:e.map(e=>(0,$.jsx)(EZ,{children:e},e))})},{title:`支持分辨率`,dataIndex:`supportedResolutions`,width:150,render:e=>(0,$.jsx)(hH,{size:2,wrap:!0,children:e.map(e=>(0,$.jsx)(EZ,{color:`blue`,children:e},e))})},{title:`支持时长`,dataIndex:`supportedDurations`,width:120,render:e=>(0,$.jsx)(EZ,{color:`orange`,children:e?.length?`${Math.min(...e)}-${Math.max(...e)}s`:`-`})},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(EZ,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(M2,{}),i.engine?`编辑引擎`:`添加引擎`]}),open:i.open,onOk:c,onCancel:()=>{a({open:!1,engine:null}),o.resetFields()},okText:`保存`,cancelText:`取消`,width:620,children:(0,$.jsxs)(Z,{form:o,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`name`,label:`引擎名称`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(UU,{placeholder:`Seedance 2.0`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`provider`,label:`提供商`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`ark`,label:`火山引擎 (Ark)`}]})})]}),(0,$.jsx)(Z.Item,{name:`apiBase`,label:`API基础地址`,rules:[{required:!0}],children:(0,$.jsx)(UU,{placeholder:`https://ark.cn-beijing.volces.com/api/v3`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`apiKey`,label:`API Key`,children:(0,$.jsx)(UU.Password,{placeholder:`sk-****`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`modelName`,label:`模型名称`,children:(0,$.jsx)(UU,{placeholder:`doubao-seedance-2-0-260128`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`supportedRatios`,label:`支持比例`,children:(0,$.jsx)(ZC,{mode:`multiple`,size:`large`,options:[{value:`16:9`,label:`16:9 (横屏)`},{value:`4:3`,label:`4:3 (标准)`},{value:`1:1`,label:`1:1 (方形)`},{value:`3:4`,label:`3:4 (竖版)`},{value:`9:16`,label:`9:16 (竖屏)`},{value:`21:9`,label:`21:9 (超宽)`}]})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`supportedResolutions`,label:`支持分辨率`,style:{flex:1},children:(0,$.jsx)(ZC,{mode:`multiple`,size:`large`,options:[{value:`480p`},{value:`720p`},{value:`1080p`}]})}),(0,$.jsx)(Z.Item,{name:`supportedDurations`,label:`支持时长(秒)`,style:{flex:1},children:(0,$.jsx)(ZC,{mode:`multiple`,size:`large`,options:Array.from({length:12},(e,t)=>({value:t+4,label:`${t+4}秒`}))})})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`priority`,label:`优先级`,children:(0,$.jsx)(ZC,{size:`large`,options:[{value:0,label:`0 (默认)`},{value:1,label:`1`},{value:2,label:`2`},{value:3,label:`3`},{value:5,label:`5`},{value:10,label:`10 (最高)`}]})}),(0,$.jsx)(Z.Item,{name:`isActive`,label:`启用状态`,valuePropName:`checked`,style:{paddingTop:30},children:(0,$.jsx)(SK,{})})]})]})})]})};function v8(e){if(Array.isArray(e))return e;if(typeof e==`string`)try{return JSON.parse(e)}catch{return[]}return[]}function y8(e){if(e&&typeof e==`object`&&!Array.isArray(e))return e;if(typeof e==`string`)try{let t=JSON.parse(e);return t&&typeof t==`object`&&!Array.isArray(t)?t:{}}catch{return{}}return{}}var b8={"2K":{"1:1":`2048×2048`,"4:3":`2304×1728`,"3:4":`1728×2304`,"16:9":`2560×1440`,"9:16":`1600×2848`,"3:2":`2496×1664`,"2:3":`1664×2496`,"21:9":`3024×1296`},"4K":{"1:1":`4096×4096`,"4:3":`4608×3456`,"3:4":`3520×4704`,"16:9":`5404×3040`,"9:16":`3040×5504`,"3:2":`4992×3328`,"2:3":`3328×4992`,"21:9":`6197×2656`}},x8=[`1:1`,`4:3`,`3:4`,`16:9`,`9:16`,`3:2`,`2:3`,`21:9`],S8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!1),[i,a]=(0,x.useState)({open:!1,engine:null}),[o]=Z.useForm(),s=async()=>{r(!0);try{t((await u6()).map(e=>({...e,supportedModels:v8(e.supportedModels),supportedSizes:y8(e.supportedSizes)})))}catch{dG.error(`加载图片引擎失败`)}finally{r(!1)}};(0,x.useEffect)(()=>{s()},[]);let c=async()=>{try{let e=await o.validateFields(),t={};for(let n of[`2K`,`4K`]){let r=e[`size_${n}`]||[];if(r.length>0){t[n]={};for(let e of r)t[n][e]=b8[n]?.[e]||e}}let n={name:e.name,provider:e.provider,api_base:e.apiBase,api_key:e.apiKey,model_name:e.modelName,supported_models:JSON.stringify(e.supportedModels||[]),supported_sizes:JSON.stringify(t),default_size:e.defaultSize||`2K`,generate_url:e.generateUrl||``,is_active:e.isActive??!0,priority:e.priority??0};i.engine?(await d6({id:i.engine.id,...n}),dG.success(`已更新`)):(await d6(n),dG.success(`已添加`)),a({open:!1,engine:null}),o.resetFields(),s()}catch(e){if(e?.errorFields)return;dG.error(e?.message||`保存失败`)}},l=async e=>{try{await f6(e),dG.success(`已删除`),s()}catch{dG.error(`删除失败`)}},u=e=>{if(a({open:!0,engine:e||null}),e){let t={};for(let n of[`2K`,`4K`])t[`size_${n}`]=Object.keys(e.supportedSizes?.[n]||{});o.setFieldsValue({...e,...t})}else o.resetFields(),o.setFieldsValue({isActive:!0,priority:0,supportedModels:[`doubao-seedream-5-0-260128`],defaultSize:`2K`,size_2K:x8,size_4K:x8})};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(E2,{style:{fontSize:18,color:`#10b981`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`图片引擎配置`}),(0,$.jsxs)(EZ,{color:`green`,children:[e.length,` 个引擎`]})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加引擎`})]}),(0,$.jsx)(pZ,{columns:[{title:`引擎名称`,key:`name`,width:180,render:(e,t)=>(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10},children:[(0,$.jsx)(`div`,{style:{width:36,height:36,borderRadius:8,background:t.isActive?`linear-gradient(135deg, #10b981, #059669)`:`linear-gradient(135deg, #94a3b8, #cbd5e1)`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`#fff`,fontSize:16},children:(0,$.jsx)(E2,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{strong:!0,children:t.name}),(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.modelName})]})]})},{title:`2K 支持比例`,key:`sizes_2k`,width:260,render:(e,t)=>{let n=Object.keys(t.supportedSizes?.[`2K`]||{});return n.length===0?(0,$.jsx)(`span`,{style:{color:`#bfbfbf`},children:`-`}):(0,$.jsx)(hH,{size:2,wrap:!0,children:n.map(e=>(0,$.jsxs)(EZ,{color:`blue`,children:[e,` `,t.supportedSizes[`2K`][e]]},e))})}},{title:`4K 支持比例`,key:`sizes_4k`,width:260,render:(e,t)=>{let n=Object.keys(t.supportedSizes?.[`4K`]||{});return n.length===0?(0,$.jsx)(`span`,{style:{color:`#bfbfbf`},children:`-`}):(0,$.jsx)(hH,{size:2,wrap:!0,children:n.map(e=>(0,$.jsxs)(EZ,{color:`purple`,children:[e,` `,t.supportedSizes[`4K`][e]]},e))})}},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(EZ,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:1e3}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(E2,{}),i.engine?`编辑引擎`:`添加引擎`]}),open:i.open,onOk:c,onCancel:()=>{a({open:!1,engine:null}),o.resetFields()},okText:`保存`,cancelText:`取消`,width:680,children:(0,$.jsxs)(Z,{form:o,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`name`,label:`引擎名称`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(UU,{placeholder:`豆包文生图`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`provider`,label:`提供商`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`ark`,label:`火山引擎 (Ark)`}]})})]}),(0,$.jsx)(Z.Item,{name:`apiBase`,label:`API基础地址`,rules:[{required:!0}],children:(0,$.jsx)(UU,{placeholder:`https://ark.cn-beijing.volces.com/api/v3`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`apiKey`,label:`API Key`,children:(0,$.jsx)(UU.Password,{placeholder:`sk-****`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`modelName`,label:`默认模型`,children:(0,$.jsx)(UU,{placeholder:`doubao-seedream-5-0-260128`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`supportedModels`,label:`支持模型列表`,children:(0,$.jsx)(ZC,{mode:`tags`,size:`large`,placeholder:`输入模型ID后回车添加`,tokenSeparators:[`,`,`,`],options:[{value:`doubao-seedream-5-0-260128`}]})}),(0,$.jsxs)(`div`,{style:{background:`#f8f9fc`,borderRadius:10,padding:16,marginBottom:8},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:14},children:`尺寸配置`}),(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,marginLeft:8},children:`勾选每个档位支持的比例,前台选择后传对应像素值给SDK`})]}),[`2K`,`4K`].map(e=>(0,$.jsxs)(`div`,{style:{background:`#fafbfc`,borderRadius:10,padding:`12px 16px`,marginBottom:12,border:`1px solid #f0f0f5`},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:13,color:e===`2K`?`#3b82f6`:`#8b5cf6`},children:e}),(0,$.jsx)(Z.Item,{name:`size_${e}`,style:{marginTop:8,marginBottom:0},children:(0,$.jsx)(SB.Group,{style:{width:`100%`},children:(0,$.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(4, 1fr)`,gap:`6px 0`},children:x8.map(t=>(0,$.jsxs)(SB,{value:t,style:{fontSize:12},children:[t,` `,(0,$.jsx)(`span`,{style:{color:`#94a3b8`,fontSize:11},children:b8[e]?.[t]})]},t))})})})]},e)),(0,$.jsx)(Z.Item,{name:`defaultSize`,label:`默认尺寸档位`,children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]})}),(0,$.jsx)(Z.Item,{name:`generateUrl`,label:`生成接口地址`,children:(0,$.jsx)(UU,{placeholder:`https://ark.cn-beijing.volces.com/api/v3/images/generations`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`priority`,label:`优先级`,children:(0,$.jsx)(ZC,{size:`large`,options:[{value:0,label:`0 (默认)`},{value:1,label:`1`},{value:2,label:`2`},{value:3,label:`3`},{value:5,label:`5`},{value:10,label:`10 (最高)`}]})}),(0,$.jsx)(Z.Item,{name:`isActive`,label:`启用状态`,valuePropName:`checked`,style:{paddingTop:30},children:(0,$.jsx)(SK,{})})]})]})})]})},C8=[`2K`,`4K`],w8=[`480p`,`720p`,`1080p`],T8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)([]),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)({open:!1,ratio:null}),[c]=Z.useForm(),[l,u]=(0,x.useState)(10),[d,f]=(0,x.useState)(null),[p,m]=(0,x.useState)(!1),h=Z.useWatch(`genType`,c)||`video`,g=Z.useWatch(`modelConfigId`,c),_=async()=>{a(!0);try{let[e,n,i]=await Promise.all([p6(),e6(),U6()]),a=(i?.engine?.image||[]).map(e=>({...e,genType:`image`})),o=(i?.engine?.video||[]).map(e=>({...e,genType:`video`}));t(e),r([...o,...a]);let s=n.find(e=>e.key===`text_credits_per_1000_tokens`);s&&(u(Number(s.value)||10),f({id:s.id}))}catch{dG.error(`加载积分比例失败`)}finally{a(!1)}};(0,x.useEffect)(()=>{_()},[]);let v=(0,x.useMemo)(()=>n.filter(e=>e.genType===h).map(e=>({value:e.id,label:`${e.name}${e.modelName?`(${e.modelName})`:``}`})),[n,h]),y=(0,x.useMemo)(()=>n.find(e=>e.id===g&&e.genType===h),[n,h,g]),b=(0,x.useMemo)(()=>{if(h===`image`){let e=y?.supportedSizes?Object.keys(y.supportedSizes):[];return(e.length?e:C8).map(e=>({value:e,label:e}))}let e=y?.supportedResolutions||[];return(e.length?e:w8).map(e=>({value:e,label:e}))},[h,y]),S=(e,t)=>n.find(n=>n.id===e&&(!t||n.genType===t))?.name||e,C=async()=>{try{let e=await c.validateFields(),t={model_config_id:e.modelConfigId,gen_type:e.genType,resolution:e.resolution,ratio:e.ratio,base_credits:e.baseCredits,per_second_credits:e.genType===`image`?0:e.perSecondCredits||0};o.ratio?(await m6({id:o.ratio.id,...t}),dG.success(`已更新`)):(await m6(t),dG.success(`已添加`)),s({open:!1,ratio:null}),c.resetFields(),_()}catch(e){if(e?.errorFields)return;dG.error(e?.message||`保存失败`)}},w=async e=>{try{await h6(e),dG.success(`已删除`),_()}catch{dG.error(`删除失败`)}},T=async()=>{if(d){m(!0);try{await t6(d.id,String(l)),dG.success(`文字积分费率已更新`)}catch(e){dG.error(e?.message||`保存失败`)}finally{m(!1)}}},E=e=>{s({open:!0,ratio:e||null}),e?c.setFieldsValue({modelConfigId:e.modelConfigId,genType:e.genType===`image`?`image`:`video`,resolution:e.resolution,ratio:e.ratio,baseCredits:e.baseCredits,perSecondCredits:e.perSecondCredits}):(c.resetFields(),c.setFieldsValue({genType:`video`,ratio:1,baseCredits:60,perSecondCredits:2}))};return(0,$.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:16},children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(b0,{style:{fontSize:18,color:`#f59e0b`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`文字积分费率`})]}),(0,$.jsx)(mD,{type:`primary`,loading:p,onClick:T,style:{borderRadius:8},children:`保存`})]}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{display:`block`,marginBottom:16,fontSize:13},children:`文字积分计算公式:ceil(总token数 x 费率 / 1000),最低1积分`}),(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:16},children:[(0,$.jsx)(Q.Text,{children:`每1000 token消耗积分:`}),(0,$.jsx)(_V,{min:0,max:1e3,step:.01,value:l,onChange:e=>u(e||0),size:`large`,style:{width:160},addonAfter:`积分`}),(0,$.jsxs)(Q.Text,{type:`secondary`,style:{fontSize:12},children:[`示例:1000 token = `,l,` 积分,500 token = `,(500*l/1e3).toFixed(4),` 积分`]})]})]}),(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(m1,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`积分比例配置`}),(0,$.jsxs)(EZ,{color:`purple`,children:[e.length,` 条规则`]})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>E(),style:{borderRadius:8},children:`添加比例`})]}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{display:`block`,marginBottom:16,fontSize:13},children:`视频积分公式:(基础积分 + 每秒积分 x 视频时长) x 模型倍率;图片积分公式:基础积分 x 模型倍率`}),(0,$.jsx)(pZ,{columns:[{title:`类型`,dataIndex:`genType`,width:80,render:e=>(0,$.jsx)(EZ,{color:e===`image`?`cyan`:`orange`,children:e===`image`?`图片`:`视频`})},{title:`引擎`,dataIndex:`modelConfigId`,width:180,render:(e,t)=>(0,$.jsx)(EZ,{color:t.genType===`image`?`cyan`:`purple`,children:S(e,t.genType)})},{title:`分辨率/尺寸`,dataIndex:`resolution`,width:110,render:e=>(0,$.jsx)(EZ,{color:{"480p":`blue`,"720p":`blue`,"1080p":`blue`,"4K":`green`,"2K":`green`}[e]||`default`,children:e})},{title:`倍率`,dataIndex:`ratio`,width:100,sorter:(e,t)=>e.ratio-t.ratio,render:e=>(0,$.jsxs)(Q.Text,{strong:!0,style:{color:e>=2?`#ef4444`:e>=1.5?`#f59e0b`:`#10b981`},children:[`x`,e]})},{title:`基础积分`,dataIndex:`baseCredits`,width:100,render:e=>(0,$.jsxs)(Q.Text,{children:[e,` 积分`]})},{title:`每秒积分`,dataIndex:`perSecondCredits`,width:100,render:(e,t)=>(0,$.jsx)(Q.Text,{children:t.genType===`image`?`-`:`${e} 积分/秒`})},{title:`示例计算`,key:`example`,width:120,render:(e,t)=>{let n;return n=t.genType===`image`?Math.round(t.baseCredits*t.ratio):Math.round((t.baseCredits+t.perSecondCredits*15)*t.ratio),(0,$.jsxs)(Q.Text,{strong:!0,style:{color:`#6366f1`},children:[n,` 积分`]})}},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>E(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除?`,onConfirm:()=>w(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:i,pagination:!1,scroll:{x:860}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(m1,{}),o.ratio?`编辑比例`:`添加比例`]}),open:o.open,onOk:C,onCancel:()=>{s({open:!1,ratio:null}),c.resetFields()},okText:`保存`,cancelText:`取消`,width:520,children:(0,$.jsxs)(Z,{form:c,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsx)(Z.Item,{name:`genType`,label:`生成类型`,rules:[{required:!0,message:`请选择生成类型`}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`video`,label:`视频`},{value:`image`,label:`图片`}],onChange:()=>{c.setFieldsValue({modelConfigId:void 0,resolution:void 0})}})}),(0,$.jsx)(Z.Item,{name:`modelConfigId`,label:`引擎`,rules:[{required:!0,message:`请选择引擎`}],children:(0,$.jsx)(ZC,{size:`large`,placeholder:`请选择引擎`,options:v,showSearch:!0,optionFilterProp:`label`,onChange:()=>c.setFieldsValue({resolution:void 0})})}),(0,$.jsx)(Z.Item,{name:`resolution`,label:h===`image`?`图片尺寸`:`分辨率`,rules:[{required:!0,message:h===`image`?`请选择图片尺寸`:`请选择分辨率`}],children:(0,$.jsx)(ZC,{size:`large`,placeholder:h===`image`?`请选择图片尺寸`:`请选择分辨率`,options:b})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`ratio`,label:`倍率`,style:{flex:1},rules:[{required:!0,message:`请输入倍率`}],children:(0,$.jsx)(_V,{min:.1,max:10,step:.1,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`baseCredits`,label:`基础积分`,style:{flex:1},rules:[{required:!0,message:`请输入基础积分`}],children:(0,$.jsx)(_V,{min:0,max:1e3,style:{width:`100%`},size:`large`})}),h!==`image`&&(0,$.jsx)(Z.Item,{name:`perSecondCredits`,label:`每秒积分`,style:{flex:1},rules:[{required:!0,message:`请输入每秒积分`}],children:(0,$.jsx)(_V,{min:0,max:100,style:{width:`100%`},size:`large`})})]})]})})]})},E8={HomeOutlined:(0,$.jsx)(R0,{}),PlayCircleOutlined:(0,$.jsx)(M2,{}),WalletOutlined:(0,$.jsx)(_3,{}),RobotOutlined:(0,$.jsx)(W2,{}),SettingOutlined:(0,$.jsx)(d4,{}),BellOutlined:(0,$.jsx)(n1,{}),UserOutlined:(0,$.jsx)(d3,{}),AppstoreOutlined:(0,$.jsx)(R$,{}),FileTextOutlined:(0,$.jsx)(bH,{}),StarOutlined:(0,$.jsx)(F4,{}),HeartOutlined:(0,$.jsx)(k0,{}),CameraOutlined:(0,$.jsx)(_1,{}),DashboardOutlined:(0,$.jsx)(q1,{}),CalculatorOutlined:(0,$.jsx)(m1,{}),DollarOutlined:(0,$.jsx)($1,{}),GiftOutlined:(0,$.jsx)(C0,{}),ThunderboltOutlined:(0,$.jsx)(q4,{}),FireOutlined:(0,$.jsx)(m0,{}),CloudOutlined:(0,$.jsx)(k1,{}),SmileOutlined:(0,$.jsx)(E4,{}),TrophyOutlined:(0,$.jsx)($4,{}),RocketOutlined:(0,$.jsx)(q2,{}),BulbOutlined:(0,$.jsx)(d1,{}),CodeOutlined:(0,$.jsx)(F1,{}),PictureOutlined:(0,$.jsx)(E2,{}),VideoCameraOutlined:(0,$.jsx)(m3,{}),AudioOutlined:(0,$.jsx)(q$,{}),MailOutlined:(0,$.jsx)(n2,{}),PhoneOutlined:(0,$.jsx)(C2,{}),GlobalOutlined:(0,$.jsx)(E0,{}),ShoppingCartOutlined:(0,$.jsx)(m4,{}),TeamOutlined:(0,$.jsx)(W4,{}),BarChartOutlined:(0,$.jsx)($$,{}),PieChartOutlined:(0,$.jsx)(k2,{}),LineChartOutlined:(0,$.jsx)(q0,{}),SecurityScanOutlined:(0,$.jsx)(a4,{}),ApiOutlined:(0,$.jsx)(F$,{}),DatabaseOutlined:(0,$.jsx)(X1,{}),CloudServerOutlined:(0,$.jsx)(M1,{}),MenuOutlined:(0,$.jsx)(c2,{})},D8=Object.keys(E8).map(e=>({value:e,label:(0,$.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[E8[e],` `,e.replace(`Outlined`,``)]})})),O8={page:`blue`,group:`purple`},k8={page:`页面`,group:`分组`},A8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!0),[i,a]=(0,x.useState)(`frontend`),[o,s]=(0,x.useState)({open:!1,menu:null}),[c]=Z.useForm(),l=async()=>{r(!0);try{t(await w6())}catch{}r(!1)};(0,x.useEffect)(()=>{l()},[]);let u=async()=>{try{let e=await c.validateFields(),t={label:e.label,path:e.path||``,icon:e.icon||``,sort_order:e.sortOrder??0,is_active:e.isActive??!0,parent_id:e.parentId||null,menu_type:e.menuType||`page`,menu_target:e.menuTarget||`frontend`,is_default:e.isDefault??!1};o.menu?.id?await T6({...t,id:o.menu.id}):await T6(t),dG.success(o.menu?.id?`菜单已更新`:`菜单已添加`),s({open:!1,menu:null}),c.resetFields(),l()}catch{}},d=async e=>{try{await E6(e),dG.success(`菜单已删除`),l()}catch(e){dG.error(e?.message||`删除失败`)}},f=t=>{s({open:!0,menu:t||null}),t?c.setFieldsValue({label:t.label,path:t.path,icon:t.icon,sortOrder:t.sortOrder??0,isActive:t.isActive??!0,parentId:t.parentId??``,menuType:t.menuType??`page`,menuTarget:t.menuTarget??`frontend`,isDefault:t.isDefault??!1}):(c.resetFields(),c.setFieldsValue({icon:`HomeOutlined`,sortOrder:e.length,isActive:!0,menuType:`page`,menuTarget:i,isDefault:!1}))},p=e.filter(e=>{let t=e.menuTarget??`frontend`;return t===i||t===`both`}),m=[{value:``,label:`顶级菜单`},...p.filter(e=>e.menuType===`group`).map(e=>({value:e.id,label:e.label}))],h=[],g=p.filter(e=>!e.parentId),_={};p.filter(e=>e.parentId).forEach(e=>{let t=e.parentId;_[t]||(_[t]=[]),_[t].push(e)}),g.sort((e,t)=>(e.sortOrder??0)-(t.sortOrder??0)).forEach(e=>{h.push({...e,_depth:0}),(_[e.id]||[]).sort((e,t)=>(e.sortOrder??0)-(t.sortOrder??0)).forEach(e=>{h.push({...e,_depth:1})})});let v=[{title:`排序`,dataIndex:`sortOrder`,width:60},{title:`菜单名称`,key:`label`,width:180,render:(e,t)=>(0,$.jsxs)(`span`,{style:{paddingLeft:t._depth*20,fontWeight:t._depth===0?600:400},children:[t._depth===1&&(0,$.jsx)(`span`,{style:{color:`#cbd5e1`,marginRight:4},children:`└`}),t.label]})},{title:`路由路径`,dataIndex:`path`,width:160,render:e=>e||(0,$.jsx)(Q.Text,{type:`secondary`,children:`-`})},{title:`图标`,dataIndex:`icon`,width:100,render:e=>e&&E8[e]?(0,$.jsx)(`span`,{style:{fontSize:16,color:`#6366f1`},children:E8[e]}):`-`},{title:`类型`,dataIndex:`menuType`,width:80,render:e=>(0,$.jsx)(EZ,{color:O8[e]||`default`,children:k8[e]||e})},{title:`状态`,dataIndex:`isActive`,width:70,render:e=>(0,$.jsx)(`span`,{style:{color:e?`#22c55e`:`#94a3b8`},children:e?`启用`:`停用`})},...i===`frontend`?[{title:`默认显示`,dataIndex:`isDefault`,width:80,render:e=>e?(0,$.jsx)(EZ,{color:`green`,children:`默认`}):(0,$.jsx)(Q.Text,{type:`secondary`,children:`-`})}]:[],{title:`操作`,key:`action`,width:150,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>f(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除该菜单?`,onConfirm:()=>d(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}];return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(c2,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`菜单配置`})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>f(),style:{borderRadius:8},children:`添加菜单`})]}),(0,$.jsx)(Iz,{activeKey:i,onChange:a,items:[{key:`frontend`,label:`前台菜单`},{key:`admin`,label:`后台菜单`}]}),(0,$.jsx)(pZ,{columns:v,dataSource:h,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(c2,{}),o.menu?.id?`编辑菜单`:`添加菜单`]}),open:o.open,onOk:u,onCancel:()=>{s({open:!1,menu:null}),c.resetFields()},okText:`确认`,cancelText:`取消`,width:520,children:(0,$.jsxs)(Z,{form:c,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`label`,label:`菜单名称`,rules:[{required:!0,message:`请输入菜单名称`}],children:(0,$.jsx)(UU,{placeholder:`例如:我的项目`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`path`,label:`路由路径`,tooltip:`分组类型可留空`,children:(0,$.jsx)(UU,{placeholder:`例如:/projects(分组可留空)`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`menuType`,label:`菜单类型`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`page`,label:`页面`},{value:`group`,label:`分组`}]})}),(0,$.jsx)(Z.Item,{name:`menuTarget`,label:`适用端`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`frontend`,label:`前台`},{value:`admin`,label:`后台`},{value:`both`,label:`两者`}]})})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`icon`,label:`图标`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:D8})}),(0,$.jsx)(Z.Item,{name:`sortOrder`,label:`排序`,style:{flex:1},children:(0,$.jsx)(_V,{min:0,max:100,style:{width:`100%`},size:`large`,placeholder:`默认0`})})]}),(0,$.jsx)(Z.Item,{name:`parentId`,label:`上级菜单`,children:(0,$.jsx)(ZC,{size:`large`,options:m,allowClear:!0,placeholder:`顶级菜单`})}),(0,$.jsx)(Z.Item,{name:`isActive`,label:`启用`,valuePropName:`checked`,children:(0,$.jsx)(SK,{})}),(0,$.jsx)(Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.menuTarget!==t.menuTarget,children:({getFieldValue:e})=>e(`menuTarget`)===`admin`?null:(0,$.jsx)(Z.Item,{name:`isDefault`,label:`新用户默认显示`,valuePropName:`checked`,tooltip:`开启后,新注册用户默认显示此菜单`,children:(0,$.jsx)(SK,{})})})]})})]})},j8={normal:`blue`,gift:`green`,promo:`purple`},M8={normal:`常规`,gift:`赠送`,promo:`促销`},N8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!1),[i,a]=(0,x.useState)({open:!1,item:null}),[o]=Z.useForm(),s=async()=>{r(!0);try{t((await j6()).map(e=>({id:e.id,name:e.name,credits:e.credits,price:e.price,bonusCredits:e.bonus_credits??e.bonusCredits??0,totalCredits:e.total_credits??e.totalCredits??e.credits,description:e.description,packageType:e.package_type??e.packageType??`normal`,isGift:e.is_gift??e.isGift??!1,isActive:e.is_active??e.isActive??!0,sortOrder:e.sort_order??e.sortOrder??0})))}catch{dG.error(`加载充值套餐失败`)}finally{r(!1)}};(0,x.useEffect)(()=>{s()},[]);let c=async()=>{try{let e=await o.validateFields(),t={name:e.name,credits:e.credits,price:e.price,bonus_credits:e.bonusCredits||0,description:e.description||null,package_type:e.packageType||`normal`,is_gift:e.isGift||!1,is_active:e.isActive??!0,sort_order:e.sortOrder??0};i.item?.id?(await M6({id:i.item.id,...t}),dG.success(`已更新`)):(await M6(t),dG.success(`已添加`)),a({open:!1,item:null}),o.resetFields(),s()}catch{}},l=async e=>{try{await N6(e),dG.success(`已删除`),s()}catch(e){dG.error(e?.message||`删除失败`)}},u=e=>{a({open:!0,item:e||null}),e?o.setFieldsValue({name:e.name,credits:e.credits,price:e.price,bonusCredits:e.bonusCredits,description:e.description,packageType:e.packageType,isGift:e.isGift,isActive:e.isActive,sortOrder:e.sortOrder}):(o.resetFields(),o.setFieldsValue({isActive:!0,sortOrder:0,packageType:`normal`,bonusCredits:0,isGift:!1}))};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(C0,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`充值套餐管理`}),(0,$.jsxs)(EZ,{color:`purple`,children:[e.length,` 个套餐`]})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加套餐`})]}),(0,$.jsx)(pZ,{columns:[{title:`套餐名称`,key:`name`,width:160,render:(e,t)=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{strong:!0,children:t.name}),t.description&&(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.description})]})},{title:`基础积分`,dataIndex:`credits`,width:100,render:e=>(0,$.jsx)(Q.Text,{children:e.toLocaleString()})},{title:`赠送积分`,dataIndex:`bonusCredits`,width:100,render:e=>e>0?(0,$.jsxs)(EZ,{color:`green`,children:[`+`,e.toLocaleString()]}):(0,$.jsx)(Q.Text,{type:`secondary`,children:`-`})},{title:`总积分`,key:`total`,width:100,render:(e,t)=>(0,$.jsx)(Q.Text,{strong:!0,style:{color:`#6366f1`},children:(t.credits+t.bonusCredits).toLocaleString()})},{title:`价格(元)`,dataIndex:`price`,width:100,render:e=>(0,$.jsxs)(Q.Text,{strong:!0,children:[`¥`,e]})},{title:`类型`,dataIndex:`packageType`,width:80,render:e=>(0,$.jsx)(EZ,{color:j8[e]||`default`,children:M8[e]||e})},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(EZ,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(C0,{}),i.item?`编辑套餐`:`添加套餐`]}),open:i.open,onOk:c,onCancel:()=>{a({open:!1,item:null}),o.resetFields()},okText:`保存`,cancelText:`取消`,width:520,children:(0,$.jsxs)(Z,{form:o,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsx)(Z.Item,{name:`name`,label:`套餐名称`,rules:[{required:!0,message:`请输入套餐名称`}],children:(0,$.jsx)(UU,{placeholder:`例如:进阶包`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`credits`,label:`基础积分`,rules:[{required:!0,message:`请输入积分`}],style:{flex:1},children:(0,$.jsx)(_V,{min:1,placeholder:`2000`,size:`large`,style:{width:`100%`}})}),(0,$.jsx)(Z.Item,{name:`price`,label:`价格(元)`,rules:[{required:!0,message:`请输入价格`}],style:{flex:1},children:(0,$.jsx)(_V,{min:.01,step:1,placeholder:`168`,size:`large`,style:{width:`100%`}})})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`bonusCredits`,label:`赠送积分`,initialValue:0,style:{flex:1},children:(0,$.jsx)(_V,{min:0,placeholder:`0`,size:`large`,style:{width:`100%`}})}),(0,$.jsx)(Z.Item,{name:`packageType`,label:`套餐类型`,initialValue:`normal`,style:{flex:1},children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`normal`,label:`常规`},{value:`gift`,label:`赠送`},{value:`promo`,label:`促销`}]})})]}),(0,$.jsx)(Z.Item,{name:`description`,label:`描述`,children:(0,$.jsx)(UU,{placeholder:`套餐描述(可选)`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`isActive`,label:`启用状态`,valuePropName:`checked`,initialValue:!0,style:{flex:1},children:(0,$.jsx)(SK,{})}),(0,$.jsx)(Z.Item,{name:`isGift`,label:`是否赠送`,valuePropName:`checked`,initialValue:!1,style:{flex:1},children:(0,$.jsx)(SK,{})}),(0,$.jsx)(Z.Item,{name:`sortOrder`,label:`排序`,initialValue:0,style:{flex:1},children:(0,$.jsx)(_V,{size:`large`,style:{width:`100%`}})})]})]})})]})},P8={POST:`green`,PUT:`blue`,DELETE:`red`},F8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(0),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(1),c=async e=>{a(!0);try{let n=await P6(e||o);t(n.items||[]),r(n.total||0)}catch{dG.error(`加载操作日志失败`)}finally{a(!1)}};return(0,x.useEffect)(()=>{c()},[]),(0,$.jsx)(`div`,{children:(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(F0,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`操作日志`})]}),(0,$.jsx)(mD,{icon:(0,$.jsx)(eK,{}),onClick:()=>c(),children:`刷新`})]}),(0,$.jsx)(pZ,{columns:[{title:`操作人`,dataIndex:`username`,width:120,render:e=>(0,$.jsx)(Q.Text,{strong:!0,children:e})},{title:`操作`,dataIndex:`action`,width:160,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`方法`,dataIndex:`method`,width:80,render:e=>(0,$.jsx)(EZ,{color:P8[e]||`default`,children:e})},{title:`路径`,dataIndex:`path`,width:220,ellipsis:!0,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:e})},{title:`时间`,dataIndex:`createdAt`,width:160,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:$6(e)})}],dataSource:e,rowKey:`id`,loading:i,pagination:{current:o,pageSize:20,total:n,showTotal:e=>`共 ${e} 条记录`,onChange:e=>{s(e),c(e)}},scroll:{x:800}})]})})},I8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(0),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(1),[c,l]=(0,x.useState)(!1),[u,d]=(0,x.useState)(!1),[f,p]=(0,x.useState)(!1),[m,h]=(0,x.useState)(null),[g]=Z.useForm(),[_]=Z.useForm(),v=async e=>{a(!0);try{let n=await F6(e||o);t(n.items||[]),r(n.total||0)}catch{dG.error(`加载授权应用列表失败`)}finally{a(!1)}},y=async()=>{try{let e=await g.validateFields();await I6({app_id:e.app_id,secret:e.secret,open_type:e.open_type,count:e.count,auth_url:e.auth_url,company:e.company}),dG.success(`创建成功`),l(!1),g.resetFields(),v()}catch(e){dG.error(e?.message||`创建失败`)}},b=async e=>{try{h(await L6(e)),d(!0)}catch(e){dG.error(e?.message||`获取详情失败`)}},S=async e=>{try{let t=await L6(e);h(t),_.setFieldsValue({app_id:t.appId,secret:t.secret,open_type:t.openType,count:t.count,auth_url:t.authUrl,company:t.company}),p(!0)}catch(e){dG.error(e?.message||`获取详情失败`)}},C=async()=>{if(m)try{let e=await _.validateFields();await R6(m.id,{app_id:e.app_id,secret:e.secret,open_type:e.open_type,count:e.count,auth_url:e.auth_url,company:e.company}),dG.success(`更新成功`),p(!1),_.resetFields(),v()}catch(e){dG.error(e?.message||`更新失败`)}},w=e=>{mG.confirm({title:`确认删除`,content:`确定要删除这个授权应用吗?`,okText:`删除`,okType:`danger`,cancelText:`取消`,onOk:async()=>{try{await z6(e),dG.success(`删除成功`),v()}catch(e){dG.error(e?.message||`删除失败`)}}})};return(0,x.useEffect)(()=>{v()},[]),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{variant:`outlined`,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(F0,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`授权应用列表`})]}),(0,$.jsxs)(hH,{children:[(0,$.jsx)(mD,{icon:(0,$.jsx)(eK,{}),onClick:()=>v(),children:`刷新`}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>l(!0),children:`创建`})]})]}),(0,$.jsx)(pZ,{columns:[{title:`ID`,dataIndex:`id`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`应用ID`,dataIndex:`appId`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`应用密钥`,dataIndex:`secret`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`开户方式`,dataIndex:`openType`,render:e=>(0,$.jsx)(Q.Text,{children:{1:`千川`,2:`广告`,3:`本地推`,4:`星图`,5:`快手代理商`,6:`巨量星图`,7:`巨量服务单`,8:`腾讯服务单`,9:`腾讯营销K2`,10:`腾讯营销K3`}[e]||e})},{title:`归属公司`,dataIndex:`company`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`授权次数`,dataIndex:`count`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`状态`,dataIndex:`status`,render:e=>(0,$.jsx)(EZ,{color:e===1?`green`:`red`,children:e===1?`正常`:`禁用`})},{title:`授权URL`,dataIndex:`authUrl`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`创建人`,dataIndex:`createBy`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`创建时间`,dataIndex:`createdAt`,render:e=>(0,$.jsx)(Q.Text,{children:$6(e)})},{title:`更新时间`,dataIndex:`updatedAt`,render:e=>(0,$.jsx)(Q.Text,{children:$6(e)})},{title:`操作`,render:(e,t)=>(0,$.jsxs)(hH,{children:[(0,$.jsx)(mD,{icon:(0,$.jsx)(xU,{}),size:`small`,onClick:()=>b(t.id),children:`详情`}),(0,$.jsx)(mD,{icon:(0,$.jsx)(MZ,{}),size:`small`,onClick:()=>S(t.id),children:`更新`}),(0,$.jsx)(mD,{icon:(0,$.jsx)(kZ,{}),size:`small`,danger:!0,onClick:()=>w(t.id),children:`删除`})]})}],dataSource:e,rowKey:`id`,loading:i,pagination:{current:o,pageSize:20,total:n,showTotal:e=>`共 ${e} 条记录`,onChange:e=>{s(e),v(e)}},scroll:{x:800}})]}),(0,$.jsx)(mG,{title:`创建授权应用`,open:c,onOk:y,onCancel:()=>{l(!1),g.resetFields()},okText:`创建`,cancelText:`取消`,width:600,children:(0,$.jsxs)(Z,{form:g,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`app_id`,label:`应用ID`,rules:[{required:!0,message:`请输入应用ID`},{max:64,message:`应用ID不能超过64个字符`}],children:(0,$.jsx)(UU,{placeholder:`请输入应用ID`})}),(0,$.jsx)(Z.Item,{name:`secret`,label:`应用密钥`,rules:[{required:!0,message:`请输入应用密钥`},{max:256,message:`应用密钥不能超过256个字符`}],children:(0,$.jsx)(UU,{placeholder:`请输入应用密钥`})}),(0,$.jsx)(Z.Item,{name:`open_type`,label:`开户方式`,rules:[{required:!0,message:`请选择开户方式`}],children:(0,$.jsxs)(ZC,{placeholder:`请选择开户方式`,children:[(0,$.jsx)(ZC.Option,{value:1,children:`千川`}),(0,$.jsx)(ZC.Option,{value:2,children:`广告`}),(0,$.jsx)(ZC.Option,{value:3,children:`本地推`}),(0,$.jsx)(ZC.Option,{value:4,children:`星图`}),(0,$.jsx)(ZC.Option,{value:5,children:`快手代理商`}),(0,$.jsx)(ZC.Option,{value:6,children:`巨量星图`}),(0,$.jsx)(ZC.Option,{value:7,children:`巨量服务单`}),(0,$.jsx)(ZC.Option,{value:8,children:`腾讯服务单`}),(0,$.jsx)(ZC.Option,{value:9,children:`腾讯营销K2`}),(0,$.jsx)(ZC.Option,{value:10,children:`腾讯营销K3`})]})}),(0,$.jsx)(Z.Item,{name:`count`,label:`最大授权用户数`,initialValue:100,children:(0,$.jsx)(_V,{min:1,placeholder:`应用最大可以授权多少个用户`})}),(0,$.jsx)(Z.Item,{name:`auth_url`,label:`应用授权链接`,children:(0,$.jsx)(UU,{placeholder:`请输入应用授权链接`})}),(0,$.jsx)(Z.Item,{name:`company`,label:`应用归属公司名称`,rules:[{max:256,message:`公司名称不能超过256个字符`}],children:(0,$.jsx)(UU,{placeholder:`请输入应用归属公司名称`})})]})}),(0,$.jsx)(mG,{title:`授权应用详情`,open:u,onCancel:()=>{d(!1),h(null)},okText:`关闭`,cancelText:`取消`,width:600,children:m&&(0,$.jsxs)(`div`,{style:{lineHeight:`2`},children:[(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`ID:`}),` `,m.id]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`应用ID:`}),` `,m.appId]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`应用密钥:`}),` `,m.secret]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`开户方式:`}),` `,{1:`千川`,2:`广告`,3:`本地推`,4:`星图`,5:`快手代理商`,6:`巨量星图`,7:`巨量服务单`,8:`腾讯服务单`,9:`腾讯营销K2`,10:`腾讯营销K3`}[m.openType]||m.openType]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`归属公司:`}),` `,m.company||`-`]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`授权次数:`}),` `,m.count]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`状态:`}),` `,m.status===1?`正常`:`禁用`]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`授权URL:`}),` `,m.authUrl||`-`]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`创建人:`}),` `,m.createBy]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`创建时间:`}),` `,$6(m.createdAt)]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`更新时间:`}),` `,$6(m.updatedAt)]})]})}),(0,$.jsx)(mG,{title:`更新授权应用`,open:f,onOk:C,onCancel:()=>{p(!1),_.resetFields(),h(null)},okText:`更新`,cancelText:`取消`,width:600,children:(0,$.jsxs)(Z,{form:_,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`app_id`,label:`应用ID`,rules:[{required:!0,message:`请输入应用ID`},{max:64,message:`应用ID不能超过64个字符`}],children:(0,$.jsx)(UU,{placeholder:`请输入应用ID`})}),(0,$.jsx)(Z.Item,{name:`secret`,label:`应用密钥`,rules:[{required:!0,message:`请输入应用密钥`},{max:256,message:`应用密钥不能超过256个字符`}],children:(0,$.jsx)(UU,{placeholder:`请输入应用密钥`})}),(0,$.jsx)(Z.Item,{name:`open_type`,label:`开户方式`,rules:[{required:!0,message:`请选择开户方式`}],children:(0,$.jsxs)(ZC,{placeholder:`请选择开户方式`,children:[(0,$.jsx)(ZC.Option,{value:1,children:`千川`}),(0,$.jsx)(ZC.Option,{value:2,children:`广告`}),(0,$.jsx)(ZC.Option,{value:3,children:`本地推`}),(0,$.jsx)(ZC.Option,{value:4,children:`星图`}),(0,$.jsx)(ZC.Option,{value:5,children:`快手代理商`}),(0,$.jsx)(ZC.Option,{value:6,children:`巨量星图`}),(0,$.jsx)(ZC.Option,{value:7,children:`巨量服务单`}),(0,$.jsx)(ZC.Option,{value:8,children:`腾讯服务单`}),(0,$.jsx)(ZC.Option,{value:9,children:`腾讯营销K2`}),(0,$.jsx)(ZC.Option,{value:10,children:`腾讯营销K3`})]})}),(0,$.jsx)(Z.Item,{name:`count`,label:`最大授权用户数`,children:(0,$.jsx)(_V,{min:1,placeholder:`应用最大可以授权多少个用户`})}),(0,$.jsx)(Z.Item,{name:`auth_url`,label:`应用授权链接`,children:(0,$.jsx)(UU,{placeholder:`请输入应用授权链接`})}),(0,$.jsx)(Z.Item,{name:`company`,label:`应用归属公司名称`,rules:[{max:256,message:`公司名称不能超过256个字符`}],children:(0,$.jsx)(UU,{placeholder:`请输入应用归属公司名称`})})]})})]})},L8=`http://ceshi.apiforeign.minzhong.cn`.replace(/\/api\/?$/i,``).replace(/\/$/,``),R8={image:`empty`,video:`empty`,videoCover:`empty`,references:{}},z8={optimizing:{color:`processing`,text:`优化中`,icon:(0,$.jsx)(um,{spin:!0})},prompt_optimized:{color:`processing`,text:`待生成`,icon:(0,$.jsx)($V,{})},generating:{color:`warning`,text:`生成中`,icon:(0,$.jsx)(um,{spin:!0})},completed:{color:`success`,text:`已完成`,icon:(0,$.jsx)(C1,{})},failed:{color:`error`,text:`失败`,icon:(0,$.jsx)(E1,{})}},B8={image:{text:`图片`,color:`purple`,icon:(0,$.jsx)(c0,{})},video:{text:`视频`,color:`geekblue`,icon:(0,$.jsx)(m3,{})}},V8=e=>/^(https?:)?\/\//i.test(e)||/^(blob|data):/i.test(e),H8=e=>!!e&&/^blob:/i.test(e.trim()),U8=e=>{if(!e)return``;let t=String(e).trim();return t?V8(t)?t:L8?`${L8}${t.startsWith(`/`)?t:`/${t}`}`:t.startsWith(`/`)?t:`/${t}`:``},W8=e=>e?e.length>12?`${e.slice(0,8)}...`:e:`-`,G8=e=>e?$6(e):`-`,K8=e=>e==null||e===``,q8=e=>{if(!e||H8(e))return!1;try{let t=new URL(U8(e),window.location.origin),n=t.searchParams.get(`exp`)||t.searchParams.get(`expires`)||t.searchParams.get(`expire`)||t.searchParams.get(`expires_at`)||t.searchParams.get(`x-expires`);if(!n)return!1;let r=Number(n);if(!Number.isFinite(r))return!1;let i=r>1e10?r:r*1e3;return Date.now()>=i}catch{return!1}},J8=e=>e?H8(e)||q8(e)?`invalid`:`checking`:`empty`,Y8=e=>{let t=e.url||e.mediaUrl||e.fileUrl;return typeof t==`string`&&t.trim()?t.trim():void 0},X8=e=>{let t=String(e.type||e.mediaType||e.mimeType||``).toLowerCase(),n=Y8(e)?.toLowerCase()||``;return t.includes(`video`)||/\.(mp4|mov|webm|m4v)(\?|$)/i.test(n)?`video`:t.includes(`image`)||/\.(png|jpe?g|webp|gif|bmp|svg)(\?|$)/i.test(n)?`image`:t||`unknown`},Z8=(e,t)=>`${t}-${Y8(e)||`empty`}`,Q8=(e,t=`资源`)=>H8(e)?`本地临时素材已失效`:q8(e)?`${t}链接已超时,请刷新列表或重新搜索后再查看`:`${t}加载失败,请刷新列表或重新搜索后再查看`,$8=({text:e,minHeight:t=240,compact:n=!1,action:r})=>(0,$.jsxs)(`div`,{style:{width:`100%`,minHeight:n?void 0:t,height:n?`100%`:void 0,borderRadius:n?10:12,background:`#f8f9fc`,border:`1px dashed #cbd5e1`,color:`#64748b`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:n?4:10,textAlign:`center`},children:[(0,$.jsx)(Q.Text,{style:{color:`#64748b`,fontSize:n?11:13},children:e}),r]}),e5=({label:e,value:t})=>(0,$.jsxs)(`div`,{style:{flex:1,minWidth:120},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:e}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:14},children:K8(t)?`-`:t})]}),t5=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(0),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(1),[c]=(0,x.useState)(20),[l,u]=(0,x.useState)(``),[d,f]=(0,x.useState)(``),[p,m]=(0,x.useState)(0),[h,g]=(0,x.useState)(null),[_,v]=(0,x.useState)(R8),[y,b]=(0,x.useState)(!1),S=(0,x.useRef)(null),[C,w]=(0,x.useState)(null),[T,E]=(0,x.useState)(null),D=(0,x.useCallback)(async()=>{a(!0);try{let e=await B6({userId:d.trim()||void 0,status:l||void 0,page:o,pageSize:c});t((e.items||[]).map(e=>({id:e.id,userId:e.userId,username:e.username,projectId:e.projectId,projectName:e.projectName,originalPrompt:e.originalPrompt,optimizedPrompt:e.optimizedPrompt,duration:e.duration,aspectRatio:e.aspectRatio,resolution:e.resolution,status:e.status,videoUrl:e.videoUrl,videoCoverUrl:e.videoCoverUrl,references:e.references,creditsCost:e.creditsCost||0,textCreditsCost:e.textCreditsCost||0,textTokensUsed:e.textTokensUsed||0,videoTokensUsed:e.videoTokensUsed||0,errorMessage:e.errorMessage,createdAt:e.createdAt,generatedAt:e.generatedAt,genType:e.genType,imageSize:e.imageSize,imageUrl:e.imageUrl,imageTokensUsed:e.imageTokensUsed||0,imageProportion:e.imageProportion,imagePx:e.imagePx}))),r(e.total||0)}catch{dG.error(`加载记录失败`)}finally{a(!1)}},[l,d,o,c]);(0,x.useEffect)(()=>{D()},[D,p]),(0,x.useEffect)(()=>{if(!h){v(R8);return}let e=(h.references||[]).reduce((e,t,n)=>{let r=Y8(t);return e[Z8(t,n)]=J8(r),e},{});S.current&&(S.current.pause(),S.current.currentTime=0),b(!1),v({image:J8(h.imageUrl),video:J8(h.videoUrl),videoCover:J8(h.videoCoverUrl),references:e})},[h]);let O=()=>{s(1),m(e=>e+1)},k=(0,x.useCallback)(e=>{g(e)},[]),A=()=>{S.current&&S.current.pause(),b(!1),g(null)},j=e=>{v(t=>({...t,...e}))},M=(e,t)=>{v(n=>({...n,references:{...n.references,[e]:t}}))},N=(e,t=`素材`)=>{if(!e){dG.warning(`${t}链接为空,暂无法查看`);return}if(H8(e)){dG.warning(`本地临时素材已失效,暂无法查看`);return}if(q8(e)){dG.warning(`${t}链接已超时,请刷新列表或重新搜索后再查看`);return}window.open(U8(e),`_blank`,`noopener,noreferrer`)},P=()=>{if(h?.videoUrl){if(q8(h.videoUrl)){j({video:`invalid`}),dG.warning(`视频链接已超时,请刷新列表或重新搜索后再查看`);return}b(!0),window.setTimeout(()=>{S.current?.play().catch(()=>{b(!1),j({video:`invalid`}),dG.warning(`视频播放失败,请确认资源链接是否仍然有效`)})},0)}},F=async(e,t,n)=>{w(e);try{await V6(e,t,n),dG.success(`状态已更新`),D()}catch(e){dG.error(e?.message||`更新失败`)}finally{w(null)}},I=async()=>{if(T){w(T.record.id);try{await H6(T.record.id,T.ratio,T.resolution,T.image_size),dG.success(`已提交${T.record.genType===`video`?`视频`:`图片`}生成`),E(null),D()}catch(e){dG.error(e?.message||`生成失败`)}finally{w(null)}}},L=(0,x.useMemo)(()=>[{title:`用户`,key:`user`,width:120,render:(e,t)=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:13},children:t.username||`未知用户`}),(0,$.jsx)(`div`,{style:{fontSize:11,color:`#94a3b8`},children:W8(t.userId)})]})},{title:`项目`,dataIndex:`projectName`,width:120,ellipsis:!0,render:e=>(0,$.jsx)(Q.Text,{style:{fontSize:13},children:e||`-`})},{title:`类型`,dataIndex:`genType`,width:90,ellipsis:!0,render:e=>{let t=B8[e]||{text:e||`-`,color:`default`,icon:null};return(0,$.jsx)(EZ,{color:t.color,icon:t.icon,children:t.text})}},{title:`提示词`,key:`prompt`,ellipsis:!0,render:(e,t)=>(0,$.jsx)(Bw,{title:t.originalPrompt,placement:`topLeft`,children:(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#475569`},ellipsis:!0,children:t.originalPrompt||`-`})})},{title:`参数`,key:`params`,width:160,render:(e,t)=>t.genType===`video`?t.duration||t.aspectRatio||t.resolution?(0,$.jsxs)(hH,{size:4,wrap:!0,children:[t.duration?(0,$.jsxs)(EZ,{children:[t.duration,`s`]}):null,t.aspectRatio?(0,$.jsx)(EZ,{children:t.aspectRatio}):null,t.resolution?(0,$.jsx)(EZ,{children:t.resolution}):null]}):(0,$.jsx)(EZ,{color:`default`,children:`待配置`}):t.imageSize||t.imageProportion||t.imagePx?(0,$.jsxs)(hH,{size:4,wrap:!0,children:[t.imageSize?(0,$.jsx)(EZ,{children:t.imageSize}):null,t.imageProportion?(0,$.jsx)(EZ,{children:t.imageProportion}):null,t.imagePx?(0,$.jsx)(EZ,{children:t.imagePx}):null]}):(0,$.jsx)(EZ,{color:`default`,children:`待配置`})},{title:`积分`,key:`credits`,width:120,render:(e,t)=>(0,$.jsxs)(`div`,{style:{fontSize:12},children:[t.textCreditsCost>0?(0,$.jsxs)(`div`,{style:{color:`#f59e0b`},children:[`文字: `,t.textCreditsCost]}):null,t.creditsCost>0?(0,$.jsxs)(`div`,{style:{color:`#6366f1`},children:[t.genType===`video`?`视频`:`图片`,`: `,t.creditsCost]}):null,t.textCreditsCost===0&&t.creditsCost===0?(0,$.jsx)(Q.Text,{style:{color:`#94a3b8`},children:`0`}):null]})},{title:`状态`,dataIndex:`status`,width:90,render:e=>{let t=z8[e]||{color:`default`,text:e||`-`,icon:null};return(0,$.jsx)(EZ,{color:t.color,icon:t.icon,children:t.text})}},{title:`时间`,key:`time`,width:150,render:(e,t)=>(0,$.jsxs)(`div`,{style:{fontSize:12,color:`#94a3b8`},children:[(0,$.jsx)(`div`,{children:G8(t.createdAt)}),t.generatedAt?(0,$.jsxs)(`div`,{style:{color:`#10b981`},children:[`生成: `,G8(t.generatedAt)]}):null]})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,wrap:!0,children:[(0,$.jsx)(mD,{size:`small`,icon:(0,$.jsx)(xU,{}),onClick:()=>k(t),children:`详情`}),t.status===`generating`?(0,$.jsx)(mD,{size:`small`,danger:!0,loading:C===t.id,onClick:()=>{mG.confirm({title:`确认操作`,icon:(0,$.jsx)(n0,{}),content:`确定将此记录标记为失败?`,onOk:()=>F(t.id,`failed`)})},children:`标记失败`}):null,t.status===`failed`?(0,$.jsx)(mD,{size:`small`,type:`primary`,danger:!0,loading:C===t.id,onClick:()=>E({record:t,ratio:t.aspectRatio||`16:9`,resolution:t.resolution||`720p`,image_size:t.imageSize||`2K`}),children:`重试生成`}):null,t.status===`prompt_optimized`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(mD,{size:`small`,type:`primary`,loading:C===t.id,onClick:()=>E({record:t,ratio:t.aspectRatio||`16:9`,resolution:t.resolution||`720p`,image_size:t.imageSize||`2K`}),style:{background:`#6366f1`,border:`none`},children:[`生成`,t.genType===`video`?`视频`:`图片`]}),(0,$.jsx)(mD,{size:`small`,danger:!0,loading:C===t.id,onClick:()=>{mG.confirm({title:`确认操作`,icon:(0,$.jsx)(n0,{}),content:`确定将此记录标记为失败?`,onOk:()=>F(t.id,`failed`)})},children:`标记失败`})]}):null]})}],[k,C]),R=h?B8[h.genType||``]||{text:h.genType||`-`,color:`default`,icon:null}:null,z=h?z8[h.status]||{color:`default`,text:h.status||`-`,icon:null}:null,B=()=>{if(!h||h.genType!==`image`||h.status!==`completed`)return null;if(!h.imageUrl)return(0,$.jsx)($8,{text:`此图片任务暂无结果图片`,minHeight:260});if(_.image===`invalid`)return(0,$.jsx)($8,{text:Q8(h.imageUrl,`图片`),minHeight:260});let e=U8(h.imageUrl);return(0,$.jsxs)(`div`,{title:`点击新页面查看图片`,onClick:()=>N(h.imageUrl,`生成图片`),style:{position:`relative`,width:`100%`,minHeight:260,borderRadius:12,background:`#f8f9fc`,border:`1px solid #e2e8f0`,overflow:`hidden`,display:`flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`},children:[(0,$.jsx)(`img`,{src:e,alt:`生成图片`,onLoad:()=>j({image:`valid`}),onError:()=>j({image:`invalid`}),style:{display:_.image===`valid`?`block`:`none`,width:`100%`,maxHeight:560,objectFit:`contain`,background:`#fff`}},`${h.id}-${e}`),_.image===`checking`?(0,$.jsx)($8,{text:`图片加载检测中...`,minHeight:260}):null]})},V=()=>{if(!h||y||_.video===`invalid`)return null;let e=h.videoUrl?(0,$.jsx)(mD,{type:`primary`,shape:`circle`,size:`large`,icon:(0,$.jsx)(M2,{}),onClick:P,style:{boxShadow:`0 8px 20px rgba(15,23,42,0.25)`}}):null;if(!h.videoCoverUrl)return(0,$.jsx)(`div`,{style:{position:`absolute`,inset:0,borderRadius:12,overflow:`hidden`,background:`#f8f9fc`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,$.jsx)($8,{text:`此视频无封面`,minHeight:340,action:e})});if(_.videoCover===`invalid`)return(0,$.jsx)($8,{text:Q8(h.videoCoverUrl,`视频封面`),minHeight:340,action:e});let t=U8(h.videoCoverUrl);return(0,$.jsxs)(`div`,{style:{position:`absolute`,inset:0,borderRadius:12,overflow:`hidden`,background:`#f8f9fc`,border:`1px solid #e2e8f0`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,$.jsx)(`img`,{src:t,alt:`视频封面`,onLoad:()=>j({videoCover:`valid`}),onError:()=>j({videoCover:`invalid`}),style:{display:_.videoCover===`valid`?`block`:`none`,width:`100%`,height:`100%`,objectFit:`contain`,background:`#000`}},`${h.id}-cover-${t}`),_.videoCover===`checking`?(0,$.jsx)($8,{text:`视频封面加载检测中...`,minHeight:340,action:e}):null,_.videoCover===`valid`?(0,$.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`rgba(15,23,42,0.18)`},children:e}):null]})},H=()=>{if(!h||h.genType!==`video`||h.status!==`completed`)return null;if(!h.videoUrl)return(0,$.jsx)($8,{text:`此视频任务暂无结果视频`,minHeight:340});if(_.video===`invalid`)return(0,$.jsx)($8,{text:Q8(h.videoUrl,`视频`),minHeight:340});let e=U8(h.videoUrl);return(0,$.jsxs)(`div`,{style:{position:`relative`,width:`100%`,height:340,borderRadius:12,background:`#000`,overflow:`hidden`,border:`1px solid #e2e8f0`},children:[(0,$.jsx)(`video`,{ref:S,src:e,preload:`metadata`,controls:y,onLoadedMetadata:()=>j({video:`valid`}),onCanPlay:()=>j({video:`valid`}),onPlaying:()=>{b(!0),j({video:`valid`})},onPause:()=>b(!1),onEnded:()=>b(!1),onError:()=>{b(!1),j({video:`invalid`})},style:{width:`100%`,height:`100%`,objectFit:`contain`,background:`#000`,opacity:+!!y,pointerEvents:y?`auto`:`none`}},`${h.id}-${e}`),V()]})},U=(e,t)=>{let n=Y8(e),r=X8(e),i=Z8(e,t),a=_.references[i]||J8(n),o=r===`image`,s=r===`video`,c=typeof e.name==`string`&&e.name?e.name:`参考素材 ${t+1}`;if(!n)return(0,$.jsxs)(`div`,{style:{width:94},children:[(0,$.jsx)(`div`,{style:{width:94,height:94},children:(0,$.jsx)($8,{text:`无链接`,compact:!0})}),(0,$.jsx)(Q.Text,{ellipsis:!0,style:{display:`block`,marginTop:4,fontSize:11,color:`#94a3b8`},children:c})]},i);if(a===`invalid`)return(0,$.jsxs)(`div`,{style:{width:94},children:[(0,$.jsx)(`div`,{style:{width:94,height:94},children:(0,$.jsx)($8,{text:H8(n)?`本地临时素材已失效`:`素材不可访问`,compact:!0})}),(0,$.jsx)(Bw,{title:c,children:(0,$.jsx)(Q.Text,{ellipsis:!0,style:{display:`block`,marginTop:4,fontSize:11,color:`#94a3b8`},children:c})})]},i);let l=U8(n);return(0,$.jsxs)(`div`,{style:{width:94},children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,title:`点击新页面查看素材`,onClick:()=>N(n,s?`视频素材`:o?`图片素材`:`素材`),onKeyDown:e=>{e.key===`Enter`&&N(n,s?`视频素材`:o?`图片素材`:`素材`)},style:{width:94,height:94,borderRadius:10,overflow:`hidden`,border:`1px solid #e2e8f0`,background:`#f8f9fc`,position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`},children:[o?(0,$.jsx)(`img`,{src:l,alt:c,onLoad:()=>M(i,`valid`),onError:()=>M(i,`invalid`),style:{display:a===`valid`?`block`:`none`,width:`100%`,height:`100%`,objectFit:`cover`}}):null,s?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`video`,{src:l,preload:`metadata`,onLoadedMetadata:()=>M(i,`valid`),onError:()=>M(i,`invalid`),style:{display:`none`}}),(0,$.jsxs)(`div`,{style:{color:`#64748b`,fontSize:12,textAlign:`center`},children:[(0,$.jsx)(M2,{style:{fontSize:18}}),(0,$.jsx)(`div`,{children:`视频素材`}),(0,$.jsx)(`div`,{style:{fontSize:10,color:`#94a3b8`,marginTop:2},children:`点击查看`})]})]}):null,!o&&!s?(0,$.jsxs)(`div`,{style:{color:`#64748b`,fontSize:12,textAlign:`center`},children:[`文件素材`,(0,$.jsx)(`div`,{style:{fontSize:10,color:`#94a3b8`,marginTop:2},children:`点击查看`})]}):null,a===`checking`&&o?(0,$.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`#f8f9fc`},children:(0,$.jsx)(um,{style:{color:`#6366f1`}})}):null]}),(0,$.jsx)(Bw,{title:c,children:(0,$.jsx)(Q.Text,{ellipsis:!0,style:{display:`block`,marginTop:4,fontSize:11,color:`#94a3b8`},children:c})})]},i)};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16,flexWrap:`wrap`,gap:12},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(m3,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`生成记录管理`}),(0,$.jsxs)(EZ,{color:`purple`,children:[n,` 条记录`]})]}),(0,$.jsxs)(hH,{children:[(0,$.jsx)(ZC,{placeholder:`状态筛选`,allowClear:!0,style:{width:120},value:l||void 0,onChange:e=>{u(e||``),s(1)},options:[{value:`optimizing`,label:`优化中`},{value:`prompt_optimized`,label:`待生成`},{value:`generating`,label:`生成中`},{value:`completed`,label:`已完成`},{value:`failed`,label:`失败`}]}),(0,$.jsx)(UU,{placeholder:`用户ID搜索`,prefix:(0,$.jsx)(KC,{style:{color:`#94a3b8`}}),style:{width:200},value:d,onChange:e=>f(e.target.value),onPressEnter:O,allowClear:!0}),(0,$.jsx)(mD,{type:`primary`,onClick:O,style:{borderRadius:8},children:`搜索`})]})]}),(0,$.jsx)(pZ,{columns:L,dataSource:e,rowKey:`id`,loading:i,scroll:{x:1120},pagination:{current:o,pageSize:c,total:n,onChange:s,showSizeChanger:!1,showTotal:e=>`共 ${e} 条`}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[h?.genType===`video`?(0,$.jsx)(m3,{}):(0,$.jsx)(c0,{}),(0,$.jsx)(`span`,{children:`生成记录详情`})]}),open:!!h,onCancel:A,footer:null,width:900,destroyOnClose:!0,children:h?(0,$.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:16,marginTop:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,flexWrap:`wrap`},children:[(0,$.jsxs)(`div`,{style:{flex:1,minWidth:150,padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:`用户`}),(0,$.jsx)(Q.Text,{strong:!0,children:h.username||`-`})]}),(0,$.jsxs)(`div`,{style:{flex:1,minWidth:150,padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:`项目`}),(0,$.jsx)(Q.Text,{strong:!0,children:h.projectName||`-`})]}),(0,$.jsxs)(`div`,{style:{flex:1,minWidth:150,padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:`类型 / 状态`}),(0,$.jsxs)(hH,{size:4,wrap:!0,children:[R?(0,$.jsx)(EZ,{color:R.color,icon:R.icon,children:R.text}):null,z?(0,$.jsx)(EZ,{color:z.color,icon:z.icon,children:z.text}):null]})]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:`原始提示词`}),(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`,border:`1px solid #f0f0f5`},children:(0,$.jsx)(Q.Text,{style:{fontSize:13,color:`#475569`,lineHeight:1.7},children:h.originalPrompt||`-`})})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:`优化后提示词`}),(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`rgba(99,102,241,0.02)`,border:`1px solid rgba(99,102,241,0.1)`},children:(0,$.jsx)(Q.Text,{style:{fontSize:13,color:`#1a1a2e`,lineHeight:1.7},children:h.optimizedPrompt||`-`})})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(e5,{label:`文字积分`,value:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Q.Text,{strong:!0,style:{color:`#f59e0b`},children:h.textCreditsCost||0}),(0,$.jsxs)(Q.Text,{style:{fontSize:11,color:`#94a3b8`},children:[` (`,h.textTokensUsed||0,` tokens)`]})]})}),(0,$.jsx)(e5,{label:`${h.genType===`image`?`图片`:`视频`}积分`,value:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Q.Text,{strong:!0,style:{color:`#6366f1`},children:h.creditsCost||0}),h.genType===`video`&&h.videoTokensUsed?(0,$.jsxs)(Q.Text,{style:{fontSize:11,color:`#94a3b8`},children:[` (`,h.videoTokensUsed,` tokens)`]}):null,h.genType===`image`&&h.imageTokensUsed?(0,$.jsxs)(Q.Text,{style:{fontSize:11,color:`#94a3b8`},children:[` (`,h.imageTokensUsed,` tokens)`]}):null]})}),(0,$.jsx)(e5,{label:`总积分`,value:(h.textCreditsCost||0)+(h.creditsCost||0)})]}),h.genType===`video`?h.duration||h.aspectRatio||h.resolution?(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(e5,{label:`时长`,value:h.duration?`${h.duration}秒`:`-`}),(0,$.jsx)(e5,{label:`比例`,value:h.aspectRatio||`-`}),(0,$.jsx)(e5,{label:`分辨率`,value:h.resolution||`-`})]}):(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`,textAlign:`center`},children:(0,$.jsx)(EZ,{color:`default`,children:`视频参数待用户配置`})}):null,h.genType===`image`?h.imageSize||h.imageProportion||h.imagePx?(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(e5,{label:`尺寸`,value:h.imagePx||`-`}),(0,$.jsx)(e5,{label:`比例`,value:h.imageProportion||`-`}),(0,$.jsx)(e5,{label:`分辨率`,value:h.imageSize||`-`})]}):(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`,textAlign:`center`},children:(0,$.jsx)(EZ,{color:`default`,children:`图片参数待用户配置`})}):null,!h?.references||h.references.length===0?null:(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:`参考内容`}),(0,$.jsx)(`div`,{style:{display:`flex`,gap:10,flexWrap:`wrap`},children:h.references.map((e,t)=>U(e,t))})]}),h.status===`completed`?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:h.genType===`video`?`生成视频`:`生成图片`}),h.genType===`video`?H():B()]}):null,h.status===`failed`&&h.errorMessage?(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`rgba(239,68,68,0.04)`,border:`1px solid rgba(239,68,68,0.15)`},children:(0,$.jsxs)(Q.Text,{style:{fontSize:12,color:`#ef4444`},children:[`错误信息: `,h.errorMessage]})}):null,(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,fontSize:12,color:`#94a3b8`,flexWrap:`wrap`},children:[(0,$.jsxs)(`span`,{children:[`创建: `,G8(h.createdAt)]}),(0,$.jsxs)(`span`,{children:[`生成: `,G8(h.generatedAt)]})]})]}):(0,$.jsx)(xC,{description:`暂无详情`})}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[T&&(T.record.genType===`video`?(0,$.jsx)(M2,{}):(0,$.jsx)(c0,{})),T&&(T.record.genType===`video`?`生成视频`:`生成图片`)]}),open:!!T,onCancel:()=>E(null),onOk:I,okText:`提交生成`,cancelText:`取消`,confirmLoading:T?C===T.record.id:!1,width:420,children:T?(0,$.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:16,marginTop:16},children:T.record.genType===`video`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:`时长`}),(0,$.jsxs)(Q.Text,{strong:!0,children:[T.record.duration||5,`s`]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#64748b`,display:`block`,marginBottom:6},children:`画面比例`}),(0,$.jsx)(ZC,{value:T.ratio,onChange:e=>E(t=>t?{...t,ratio:e}:null),style:{width:`100%`},options:[`16:9`,`4:3`,`1:1`,`3:4`,`9:16`,`21:9`].map(e=>({value:e,label:e}))})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#64748b`,display:`block`,marginBottom:6},children:`分辨率`}),(0,$.jsx)(ZC,{value:T.resolution,onChange:e=>E(t=>t?{...t,resolution:e}:null),style:{width:`100%`},options:[`480p`,`720p`,`1080p`].map(e=>({value:e,label:e}))})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:`尺寸`}),(0,$.jsx)(Q.Text,{strong:!0,children:T.record.imagePx||`-`})]}),(0,$.jsxs)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:`比例`}),(0,$.jsx)(Q.Text,{strong:!0,children:T.record.imageProportion||`-`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#64748b`,display:`block`,marginBottom:6},children:`分辨率`}),(0,$.jsx)(ZC,{value:T.image_size,onChange:e=>E(t=>t?{...t,image_size:e}:null),style:{width:`100%`},options:[`2K`,`4K`].map(e=>({value:e,label:e}))})]})]})}):null})]})},n5=`http://ceshi.apiforeign.minzhong.cn`.replace(/\/api\/?$/i,``).replace(/\/$/,``),r5=20,i5={image:`empty`,video:`empty`,videoCover:`empty`,references:{}},a5={pending:{color:`default`,text:`待处理`,icon:(0,$.jsx)($V,{})},generating:{color:`warning`,text:`生成中`,icon:(0,$.jsx)(um,{spin:!0})},completed:{color:`success`,text:`已完成`,icon:(0,$.jsx)(C1,{})},failed:{color:`error`,text:`失败`,icon:(0,$.jsx)(E1,{})}},o5={timeout:`任务超时`,queued:`已入队`,preparing:`准备中`,creating_provider_task:`创建任务中`,waiting_remote:`等待生成`,result_ready:`结果就绪`,downloading:`下载中`,done:`完成`,download_failed:`下载失败`,polling:`轮询中`,failed:`失败`},s5={image:{text:`图片`,color:`purple`,icon:(0,$.jsx)(c0,{})},video:{text:`视频`,color:`geekblue`,icon:(0,$.jsx)(m3,{})}},c5=e=>/^(https?:)?\/\//i.test(e)||/^(blob|data):/i.test(e),l5=e=>!!e&&/^blob:/i.test(e.trim()),u5=e=>{if(!e)return``;let t=String(e).trim();return t?c5(t)?t:n5?`${n5}${t.startsWith(`/`)?t:`/${t}`}`:t.startsWith(`/`)?t:`/${t}`:``},d5=e=>e?e.length>12?`${e.slice(0,8)}...`:e:`-`,f5=e=>e?$6(e):`-`,p5=e=>e==null||e===``,m5=e=>{if(!e||l5(e))return!1;try{let t=new URL(u5(e),window.location.origin),n=t.searchParams.get(`exp`)||t.searchParams.get(`expires`)||t.searchParams.get(`expire`)||t.searchParams.get(`expires_at`)||t.searchParams.get(`x-expires`);if(!n)return!1;let r=Number(n);if(!Number.isFinite(r))return!1;let i=r>1e10?r:r*1e3;return Date.now()>=i}catch{return!1}},h5=e=>e?l5(e)||m5(e)?`invalid`:`checking`:`empty`,g5=e=>{let t=e.url||e.mediaUrl||e.fileUrl;return typeof t==`string`&&t.trim()?t.trim():void 0},_5=e=>{let t=String(e.type||e.mediaType||e.mimeType||``).toLowerCase(),n=g5(e)?.toLowerCase()||``;return t.includes(`video`)||/\.(mp4|mov|webm|m4v)(\?|$)/i.test(n)?`video`:t.includes(`image`)||/\.(png|jpe?g|webp|gif|bmp|svg)(\?|$)/i.test(n)?`image`:t||`unknown`},v5=(e,t)=>`${t}-${g5(e)||`empty`}`,y5=(e,t=`资源`)=>l5(e)?`本地临时素材已失效`:m5(e)?`${t}链接已超时,请刷新列表或重新搜索后再查看`:`${t}加载失败,请刷新列表或重新搜索后再查看`,b5=({text:e,minHeight:t=240,compact:n=!1,action:r})=>(0,$.jsxs)(`div`,{style:{width:`100%`,minHeight:n?void 0:t,height:n?`100%`:void 0,borderRadius:n?10:12,background:`#f8f9fc`,border:`1px dashed #cbd5e1`,color:`#64748b`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:n?4:10,textAlign:`center`},children:[(0,$.jsx)(Q.Text,{style:{color:`#64748b`,fontSize:n?11:13},children:e}),r]}),x5=({label:e,value:t})=>(0,$.jsxs)(`div`,{style:{flex:1,minWidth:120},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:e}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:14},children:p5(t)?`-`:t})]}),S5=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(0),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(1),[c,l]=(0,x.useState)(``),[u,d]=(0,x.useState)(``),[f,p]=(0,x.useState)(``),[m,h]=(0,x.useState)(``),[g,_]=(0,x.useState)(``),[v,y]=(0,x.useState)(``),[b,S]=(0,x.useState)(0),[C,w]=(0,x.useState)(null),[T,E]=(0,x.useState)(i5),[D,O]=(0,x.useState)(!1),k=(0,x.useRef)(null),A=(0,x.useCallback)(async()=>{a(!0);try{let e=await W6({genType:u||void 0,status:c||void 0,userId:g||void 0,userName:v||void 0,page:o,pageSize:r5});t(e.items||[]),r(e.total||0)}catch(e){dG.error(e?.message||`加载创作记录失败`)}finally{a(!1)}},[u,c,o,g,v]);(0,x.useEffect)(()=>{A()},[A,b]),(0,x.useEffect)(()=>{if(!C){E(i5);return}let e=(C.mediaReferences||[]).reduce((e,t,n)=>{let r=g5(t);return e[v5(t,n)]=h5(r),e},{});k.current&&(k.current.pause(),k.current.currentTime=0),O(!1),E({image:h5(C.imageUrl),video:h5(C.videoUrl),videoCover:h5(C.videoCoverUrl),references:e})},[C]);let j=()=>{s(1),_(f.trim()),y(m.trim()),S(e=>e+1)},M=(0,x.useCallback)(e=>{w(e)},[]),N=()=>{k.current&&k.current.pause(),O(!1),w(null)},P=e=>{E(t=>({...t,...e}))},F=(e,t)=>{E(n=>({...n,references:{...n.references,[e]:t}}))},I=()=>{if(C?.videoUrl){if(m5(C.videoUrl)){P({video:`invalid`}),dG.warning(`视频链接已超时,请刷新列表或重新搜索后再查看`);return}O(!0),window.setTimeout(()=>{k.current?.play().catch(()=>{O(!1),P({video:`invalid`}),dG.warning(`视频播放失败,请确认资源链接是否仍然有效`)})},0)}},L=(e,t=`素材`)=>{if(!e){dG.warning(`${t}链接为空,暂无法查看`);return}if(l5(e)){dG.warning(`本地临时素材已失效,暂无法查看`);return}if(m5(e)){dG.warning(`${t}链接已超时,请刷新列表或重新搜索后再查看`);return}window.open(u5(e),`_blank`,`noopener,noreferrer`)},R=(0,x.useMemo)(()=>[{title:`用户`,key:`user`,width:150,render:(e,t)=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:13},children:t.userName||`未知用户`}),(0,$.jsx)(`div`,{style:{fontSize:11,color:`#94a3b8`},children:d5(t.userId)})]})},{title:`类型`,dataIndex:`genType`,width:90,render:e=>{let t=s5[e]||{text:e||`-`,color:`default`,icon:null};return(0,$.jsx)(EZ,{color:t.color,icon:t.icon,children:t.text})}},{title:`提示词`,key:`prompt`,ellipsis:!0,render:(e,t)=>(0,$.jsx)(Bw,{title:t.originalPrompt,placement:`topLeft`,children:(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#475569`},ellipsis:!0,children:t.originalPrompt||`-`})})},{title:`参数`,key:`params`,width:180,render:(e,t)=>t.genType===`video`?t.duration||t.aspectRatio||t.resolution?(0,$.jsxs)(hH,{size:4,wrap:!0,children:[t.duration?(0,$.jsxs)(EZ,{children:[t.duration,`s`]}):null,t.aspectRatio?(0,$.jsx)(EZ,{children:t.aspectRatio}):null,t.resolution?(0,$.jsx)(EZ,{children:t.resolution}):null]}):(0,$.jsx)(EZ,{color:`default`,children:`无参数`}):t.imageSize||t.imageProportion||t.imagePx?(0,$.jsxs)(hH,{size:4,wrap:!0,children:[t.imageSize?(0,$.jsx)(EZ,{children:t.imageSize}):null,t.imageProportion?(0,$.jsx)(EZ,{children:t.imageProportion}):null,t.imagePx?(0,$.jsx)(EZ,{children:t.imagePx}):null]}):(0,$.jsx)(EZ,{color:`default`,children:`无参数`})},{title:`积分`,key:`credits`,width:130,render:(e,t)=>(0,$.jsxs)(`div`,{style:{fontSize:12},children:[(0,$.jsxs)(`div`,{style:{color:`#6366f1`},children:[`总: `,t.creditsCost||0]}),t.textCreditsCost>0?(0,$.jsxs)(`div`,{style:{color:`#f59e0b`},children:[`文字: `,t.textCreditsCost]}):null]})},{title:`状态`,dataIndex:`status`,width:100,render:e=>{let t=a5[e]||{color:`default`,text:e||`-`,icon:null};return(0,$.jsx)(EZ,{color:t.color,icon:t.icon,children:t.text})}},{title:`阶段`,dataIndex:`pipelineStage`,width:120,render:e=>(0,$.jsx)(EZ,{color:`blue`,children:o5[e]||e||`-`})},{title:`时间`,key:`time`,width:170,render:(e,t)=>(0,$.jsxs)(`div`,{style:{fontSize:12,color:`#94a3b8`},children:[(0,$.jsx)(`div`,{children:f5(t.createdAt)}),t.generatedAt?(0,$.jsxs)(`div`,{style:{color:`#10b981`},children:[`生成: `,f5(t.generatedAt)]}):null]})},{title:`操作`,key:`action`,width:90,fixed:`right`,render:(e,t)=>(0,$.jsx)(mD,{size:`small`,icon:(0,$.jsx)(xU,{}),onClick:()=>M(t),children:`详情`})}],[M]),z=C?s5[C.genType]||{text:C.genType||`-`,color:`default`,icon:null}:null,B=C?a5[C.status]||{color:`default`,text:C.status||`-`,icon:null}:null,V=()=>{if(!C||C.genType!==`image`||C.status!==`completed`)return null;if(!C.imageUrl)return(0,$.jsx)(b5,{text:`此图片任务暂无结果图片`,minHeight:260});if(T.image===`invalid`)return(0,$.jsx)(b5,{text:y5(C.imageUrl,`图片`),minHeight:260});let e=u5(C.imageUrl);return(0,$.jsxs)(`div`,{style:{position:`relative`,width:`100%`,minHeight:260,borderRadius:12,background:`#f8f9fc`,border:`1px solid #e2e8f0`,overflow:`hidden`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,$.jsx)(`img`,{src:e,alt:`生成图片`,onLoad:()=>P({image:`valid`}),onError:()=>P({image:`invalid`}),style:{display:T.image===`valid`?`block`:`none`,width:`100%`,maxHeight:560,objectFit:`contain`,background:`#fff`}},`${C.id}-${e}`),T.image===`checking`?(0,$.jsx)(b5,{text:`图片加载检测中...`,minHeight:260}):null]})},H=()=>{if(!C||D||T.video===`invalid`)return null;let e=C.videoUrl?(0,$.jsx)(mD,{type:`primary`,shape:`circle`,size:`large`,icon:(0,$.jsx)(M2,{}),onClick:I,style:{boxShadow:`0 8px 20px rgba(15,23,42,0.25)`}}):null;if(!C.videoCoverUrl)return(0,$.jsx)(`div`,{style:{position:`absolute`,inset:0,borderRadius:12,overflow:`hidden`,background:`#f8f9fc`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,$.jsx)(b5,{text:`此视频无封面`,minHeight:340,action:e})});if(T.videoCover===`invalid`)return(0,$.jsx)(b5,{text:y5(C.videoCoverUrl,`视频封面`),minHeight:340,action:e});let t=u5(C.videoCoverUrl);return(0,$.jsxs)(`div`,{style:{position:`absolute`,inset:0,borderRadius:12,overflow:`hidden`,background:`#f8f9fc`,border:`1px solid #e2e8f0`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,$.jsx)(`img`,{src:t,alt:`视频封面`,onLoad:()=>P({videoCover:`valid`}),onError:()=>P({videoCover:`invalid`}),style:{display:T.videoCover===`valid`?`block`:`none`,width:`100%`,height:`100%`,objectFit:`contain`,background:`#000`}},`${C.id}-cover-${t}`),T.videoCover===`checking`?(0,$.jsx)(b5,{text:`视频封面加载检测中...`,minHeight:340,action:e}):null,T.videoCover===`valid`?(0,$.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`rgba(15,23,42,0.18)`},children:e}):null]})},U=()=>{if(!C||C.genType!==`video`||C.status!==`completed`)return null;if(!C.videoUrl)return(0,$.jsx)(b5,{text:`此视频任务暂无结果视频`,minHeight:340});if(T.video===`invalid`)return(0,$.jsx)(b5,{text:y5(C.videoUrl,`视频`),minHeight:340});let e=u5(C.videoUrl);return(0,$.jsxs)(`div`,{style:{position:`relative`,width:`100%`,height:340,borderRadius:12,background:`#000`,overflow:`hidden`,border:`1px solid #e2e8f0`},children:[(0,$.jsx)(`video`,{ref:k,src:e,preload:`metadata`,controls:D,onLoadedMetadata:()=>P({video:`valid`}),onCanPlay:()=>P({video:`valid`}),onPlaying:()=>{O(!0),P({video:`valid`})},onPause:()=>O(!1),onEnded:()=>O(!1),onError:()=>{O(!1),P({video:`invalid`})},style:{width:`100%`,height:`100%`,objectFit:`contain`,background:`#000`,opacity:+!!D,pointerEvents:D?`auto`:`none`}},`${C.id}-${e}`),H()]})},W=(e,t)=>{let n=g5(e),r=_5(e),i=v5(e,t),a=T.references[i]||h5(n),o=r===`image`,s=r===`video`,c=typeof e.name==`string`&&e.name?e.name:`参考素材 ${t+1}`;if(!n)return(0,$.jsxs)(`div`,{style:{width:94},children:[(0,$.jsx)(`div`,{style:{width:94,height:94},children:(0,$.jsx)(b5,{text:`无链接`,compact:!0})}),(0,$.jsx)(Q.Text,{ellipsis:!0,style:{display:`block`,marginTop:4,fontSize:11,color:`#94a3b8`},children:c})]},i);if(a===`invalid`)return(0,$.jsxs)(`div`,{style:{width:94},children:[(0,$.jsx)(`div`,{style:{width:94,height:94},children:(0,$.jsx)(b5,{text:l5(n)?`本地临时素材已失效`:`素材不可访问`,compact:!0})}),(0,$.jsx)(Bw,{title:c,children:(0,$.jsx)(Q.Text,{ellipsis:!0,style:{display:`block`,marginTop:4,fontSize:11,color:`#94a3b8`},children:c})})]},i);let l=u5(n);return(0,$.jsxs)(`div`,{style:{width:94},children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,title:`点击新页面查看素材`,onClick:()=>L(n,s?`视频素材`:o?`图片素材`:`素材`),onKeyDown:e=>{e.key===`Enter`&&L(n,s?`视频素材`:o?`图片素材`:`素材`)},style:{width:94,height:94,borderRadius:10,overflow:`hidden`,border:`1px solid #e2e8f0`,background:`#f8f9fc`,position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`},children:[o?(0,$.jsx)(`img`,{src:l,alt:c,onLoad:()=>F(i,`valid`),onError:()=>F(i,`invalid`),style:{display:a===`valid`?`block`:`none`,width:`100%`,height:`100%`,objectFit:`cover`}}):null,s?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`video`,{src:l,preload:`metadata`,onLoadedMetadata:()=>F(i,`valid`),onError:()=>F(i,`invalid`),style:{display:`none`}}),(0,$.jsxs)(`div`,{style:{color:`#64748b`,fontSize:12,textAlign:`center`},children:[(0,$.jsx)(M2,{style:{fontSize:18}}),(0,$.jsx)(`div`,{children:`视频素材`}),(0,$.jsx)(`div`,{style:{fontSize:10,color:`#94a3b8`,marginTop:2},children:`点击查看`})]})]}):null,!o&&!s?(0,$.jsxs)(`div`,{style:{color:`#64748b`,fontSize:12,textAlign:`center`},children:[`文件素材`,(0,$.jsx)(`div`,{style:{fontSize:10,color:`#94a3b8`,marginTop:2},children:`点击查看`})]}):null,a===`checking`&&o?(0,$.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`#f8f9fc`},children:(0,$.jsx)(um,{style:{color:`#6366f1`}})}):null]}),(0,$.jsx)(Bw,{title:c,children:(0,$.jsx)(Q.Text,{ellipsis:!0,style:{display:`block`,marginTop:4,fontSize:11,color:`#94a3b8`},children:c})})]},i)};return(0,$.jsxs)(`div`,{style:{padding:24},children:[(0,$.jsx)(Xz,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(c0,{}),(0,$.jsx)(`span`,{children:`创作记录管理`})]}),extra:(0,$.jsxs)(hH,{wrap:!0,children:[(0,$.jsx)(ZC,{allowClear:!0,placeholder:`状态筛选`,value:c||void 0,style:{width:140},onChange:e=>{l(e||``),s(1)},options:[{value:`generating`,label:`生成中`},{value:`completed`,label:`已完成`},{value:`failed`,label:`失败`}]}),(0,$.jsx)(ZC,{allowClear:!0,placeholder:`类型筛选`,value:u||void 0,style:{width:120},onChange:e=>{d(e||``),s(1)},options:[{value:`image`,label:`图片`},{value:`video`,label:`视频`}]}),(0,$.jsx)(UU,{placeholder:`用户ID`,value:f,onChange:e=>p(e.target.value),onPressEnter:j,style:{width:180},allowClear:!0}),(0,$.jsx)(UU,{placeholder:`用户名`,value:m,onChange:e=>h(e.target.value),onPressEnter:j,style:{width:160},allowClear:!0}),(0,$.jsx)(mD,{icon:(0,$.jsx)(KC,{}),onClick:j,children:`搜索`})]}),bordered:!1,style:{borderRadius:16},children:(0,$.jsx)(pZ,{rowKey:`id`,loading:i,columns:R,dataSource:e,scroll:{x:1180},pagination:{current:o,pageSize:r5,total:n,showSizeChanger:!1,showTotal:e=>`共 ${e} 条`,onChange:e=>s(e)}})}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[C?.genType===`video`?(0,$.jsx)(m3,{}):(0,$.jsx)(c0,{}),(0,$.jsx)(`span`,{children:`创作记录详情`})]}),open:!!C,onCancel:N,footer:null,width:900,destroyOnClose:!0,children:C?(0,$.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:16,marginTop:12},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:12,flexWrap:`wrap`},children:[z?(0,$.jsx)(EZ,{color:z.color,icon:z.icon,children:z.text}):null,B?(0,$.jsx)(EZ,{color:B.color,icon:B.icon,children:B.text}):null,C.pipelineStage?(0,$.jsx)(EZ,{color:`blue`,children:o5[C.pipelineStage]||C.pipelineStage}):null]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(x5,{label:`用户名称`,value:C.userName||`未知用户`}),(0,$.jsx)(x5,{label:`用户ID`,value:C.userId||`-`}),(0,$.jsx)(x5,{label:`任务ID`,value:C.id})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:`原始提示词`}),(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`,lineHeight:1.6},children:C.originalPrompt||`-`})]}),C.genType===`video`?(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(x5,{label:`时长`,value:C.duration?`${C.duration}秒`:`-`}),(0,$.jsx)(x5,{label:`画面比例`,value:C.aspectRatio||`-`}),(0,$.jsx)(x5,{label:`分辨率`,value:C.resolution||`-`})]}):(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(x5,{label:`图片档位`,value:C.imageSize||`-`}),(0,$.jsx)(x5,{label:`图片比例`,value:C.imageProportion||`-`}),(0,$.jsx)(x5,{label:`像素尺寸`,value:C.imagePx||`-`})]}),C.engineSnapshot?(0,$.jsxs)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:8},children:`引擎快照`}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,flexWrap:`wrap`},children:[(0,$.jsx)(x5,{label:`引擎名称`,value:C.engineSnapshot.name||`-`}),(0,$.jsx)(x5,{label:`服务商`,value:C.engineSnapshot.provider||`-`}),(0,$.jsx)(x5,{label:`模型`,value:C.engineSnapshot.modelName||`-`}),(0,$.jsx)(x5,{label:`引擎ID`,value:C.engineSnapshot.id||C.engineId||`-`})]})]}):null,(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(x5,{label:`总积分`,value:(0,$.jsx)(Q.Text,{strong:!0,style:{color:`#6366f1`},children:C.creditsCost||0})}),(0,$.jsx)(x5,{label:`文字积分`,value:`${C.textCreditsCost||0} (${C.textTokensUsed||0} tokens)`}),(0,$.jsx)(x5,{label:`图片 tokens`,value:C.imageTokensUsed??0}),(0,$.jsx)(x5,{label:`视频 tokens`,value:C.videoTokensUsed??0})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(x5,{label:`第三方任务ID`,value:C.providerTaskId||C.seedanceTaskId||`-`}),(0,$.jsx)(x5,{label:`轮询次数`,value:C.pollCount??0}),(0,$.jsx)(x5,{label:`重试次数`,value:C.retryCount??0})]}),!C?.mediaReferences||C.mediaReferences.length===0?null:(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:`参考内容`}),(0,$.jsx)(`div`,{style:{display:`flex`,gap:10,flexWrap:`wrap`},children:C.mediaReferences.map((e,t)=>W(e,t))})]}),C.status===`completed`?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:C.genType===`video`?`生成视频`:`生成图片`}),C.genType===`video`?U():V()]}):null,C.status===`failed`&&C.errorMessage?(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`rgba(239,68,68,0.04)`,border:`1px solid rgba(239,68,68,0.15)`},children:(0,$.jsxs)(Q.Text,{style:{fontSize:12,color:`#ef4444`},children:[`错误信息: `,C.errorMessage]})}):null,(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,fontSize:12,color:`#94a3b8`,flexWrap:`wrap`},children:[(0,$.jsxs)(`span`,{children:[`创建: `,f5(C.createdAt)]}),(0,$.jsxs)(`span`,{children:[`生成: `,f5(C.generatedAt)]})]})]}):(0,$.jsx)(xC,{description:`暂无详情`})})]})},C5=({children:e})=>{let{user:t,loading:n,checkAuth:r}=G6();return(0,x.useEffect)(()=>{!localStorage.getItem(`auth_token`)&&!n&&!t&&(window.location.href=`/login`)},[t,n]),n?(0,$.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100vh`},children:(0,$.jsx)(XW,{size:`large`})}):t?(0,$.jsx)($.Fragment,{children:e}):(window.location.href=`/login`,null)};(0,Em.createRoot)(document.getElementById(`root`)).render((0,$.jsx)(()=>{let{checkAuth:e}=G6();return(0,x.useEffect)(()=>{e()},[]),(0,$.jsx)(Gp,{locale:D3.default,theme:{token:{colorPrimary:`#6366f1`,borderRadius:8},components:{Button:{controlHeight:36,controlHeightLG:44},Card:{boxShadow:`0 1px 3px rgba(0,0,0,0.04)`},Table:{headerBg:`#fafbfc`}}},children:(0,$.jsx)(fx,{children:(0,$.jsx)(pn,{children:(0,$.jsxs)(Tt,{children:[(0,$.jsx)(Ct,{path:`/login`,element:(0,$.jsx)(Z6,{})}),(0,$.jsxs)(Ct,{path:`/`,element:(0,$.jsx)(C5,{children:(0,$.jsx)(X6,{})}),children:[(0,$.jsx)(Ct,{index:!0,element:(0,$.jsx)(Q6,{})}),(0,$.jsx)(Ct,{path:`users`,element:(0,$.jsx)(e8,{})}),(0,$.jsx)(Ct,{path:`credit-records`,element:(0,$.jsx)(a8,{})}),(0,$.jsx)(Ct,{path:`models`,element:(0,$.jsx)(t8,{})}),(0,$.jsx)(Ct,{path:`credit-ratios`,element:(0,$.jsx)(T8,{})}),(0,$.jsx)(Ct,{path:`video-engines`,element:(0,$.jsx)(_8,{})}),(0,$.jsx)(Ct,{path:`image-engines`,element:(0,$.jsx)(S8,{})}),(0,$.jsx)(Ct,{path:`industries`,element:(0,$.jsx)(h8,{})}),(0,$.jsx)(Ct,{path:`menu-configs`,element:(0,$.jsx)(A8,{})}),(0,$.jsx)(Ct,{path:`recharge-packages`,element:(0,$.jsx)(N8,{})}),(0,$.jsx)(Ct,{path:`payment`,element:(0,$.jsx)(o8,{})}),(0,$.jsx)(Ct,{path:`payment-stats`,element:(0,$.jsx)(l8,{})}),(0,$.jsx)(Ct,{path:`settings`,element:(0,$.jsx)(n8,{})}),(0,$.jsx)(Ct,{path:`notifications`,element:(0,$.jsx)(r8,{})}),(0,$.jsx)(Ct,{path:`oauthapp-list`,element:(0,$.jsx)(I8,{})}),(0,$.jsx)(Ct,{path:`operation-logs`,element:(0,$.jsx)(F8,{})}),(0,$.jsx)(Ct,{path:`generation-records`,element:(0,$.jsx)(t5,{})}),(0,$.jsx)(Ct,{path:`generation-ai`,element:(0,$.jsx)(S5,{})})]}),(0,$.jsx)(Ct,{path:`*`,element:(0,$.jsx)(xt,{to:`/`,replace:!0})})]})})})})},{})); \ No newline at end of file +你是一位专业的电商图片文案专家,擅长将产品卖点转化为图片生成提示词`,size:`large`})}),(0,$.jsxs)(`div`,{style:{marginBottom:8},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:13},children:`行业选项配置`}),(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,marginLeft:8},children:`添加选项组,每组包含名称和多个选项,前台将显示为下拉选择`})]}),(0,$.jsx)(Z.List,{name:`optionGroups`,children:(e,{add:t,remove:n})=>(0,$.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:8,marginBottom:16},children:[e.map(({key:e,name:t,...r})=>(0,$.jsxs)(`div`,{style:{display:`flex`,gap:8,alignItems:`flex-start`,padding:`10px 12px`,borderRadius:10,background:`#f8f9fc`,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,gap:8},children:[(0,$.jsx)(Z.Item,{...r,name:[t,`name`],label:`选项名称`,style:{marginBottom:0},rules:[{required:!0,message:`请输入选项名称`}],children:(0,$.jsx)(UU,{placeholder:`例如:视频风格`,size:`middle`,style:{borderRadius:8}})}),(0,$.jsx)(Z.Item,{...r,name:[t,`options`],label:`选项内容`,style:{marginBottom:0},children:(0,$.jsx)(ZC,{mode:`tags`,size:`middle`,placeholder:`输入选项后回车添加`,style:{borderRadius:8},tokenSeparators:[`,`,`,`,`、`]})})]}),(0,$.jsx)(d2,{onClick:()=>n(t),style:{color:`#ef4444`,fontSize:16,marginTop:34,cursor:`pointer`,flexShrink:0}})]},e)),(0,$.jsx)(mD,{type:`dashed`,onClick:()=>t(),block:!0,icon:(0,$.jsx)(FR,{}),style:{borderRadius:8,height:36},children:`添加选项组`})]})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`is_active`,label:`启用状态`,valuePropName:`checked`,initialValue:!0,style:{flex:1},children:(0,$.jsx)(SK,{})}),(0,$.jsx)(Z.Item,{name:`sort_order`,label:`排序`,initialValue:0,style:{flex:1},children:(0,$.jsx)(UU,{type:`number`,size:`large`})})]})]})})]})};function g8(e){if(Array.isArray(e))return e;if(typeof e==`string`)try{return JSON.parse(e)}catch{return[]}return[]}var _8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!1),[i,a]=(0,x.useState)({open:!1,engine:null}),[o]=Z.useForm(),s=async()=>{r(!0);try{t((await s6()).map(e=>({...e,supportedRatios:g8(e.supportedRatios),supportedResolutions:g8(e.supportedResolutions),supportedDurations:g8(e.supportedDurations)})))}catch{dG.error(`加载视频引擎失败`)}finally{r(!1)}};(0,x.useEffect)(()=>{s()},[]);let c=async()=>{try{let e=await o.validateFields(),t={name:e.name,provider:e.provider,api_base:e.apiBase,api_key:e.apiKey,model_name:e.modelName,supported_ratios:JSON.stringify(e.supportedRatios||[]),supported_resolutions:JSON.stringify(e.supportedResolutions||[]),supported_durations:JSON.stringify(e.supportedDurations||[]),is_active:e.isActive??!0,priority:e.priority??0};i.engine?(await c6({id:i.engine.id,...t}),dG.success(`已更新`)):(await c6(t),dG.success(`已添加`)),a({open:!1,engine:null}),o.resetFields(),s()}catch(e){if(e?.errorFields)return;dG.error(e?.message||`保存失败`)}},l=async e=>{try{await l6(e),dG.success(`已删除`),s()}catch{dG.error(`删除失败`)}},u=e=>{a({open:!0,engine:e||null}),e?o.setFieldsValue(e):(o.resetFields(),o.setFieldsValue({isActive:!0,priority:0,supportedRatios:[`16:9`,`4:3`,`1:1`,`3:4`,`9:16`,`21:9`],supportedResolutions:[`480p`,`720p`,`1080p`],supportedDurations:[4,5,6,7,8,9,10,11,12,13,14,15]}))};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(M2,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`视频引擎配置`}),(0,$.jsxs)(EZ,{color:`purple`,children:[e.length,` 个引擎`]})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加引擎`})]}),(0,$.jsx)(pZ,{columns:[{title:`引擎名称`,key:`name`,width:180,render:(e,t)=>(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10},children:[(0,$.jsx)(`div`,{style:{width:36,height:36,borderRadius:8,background:t.isActive?`linear-gradient(135deg, #6366f1, #8b5cf6)`:`linear-gradient(135deg, #94a3b8, #cbd5e1)`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`#fff`,fontSize:16},children:(0,$.jsx)(M2,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{strong:!0,children:t.name}),(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.provider})]})]})},{title:`支持比例`,dataIndex:`supportedRatios`,width:200,render:e=>(0,$.jsx)(hH,{size:2,wrap:!0,children:e.map(e=>(0,$.jsx)(EZ,{children:e},e))})},{title:`支持分辨率`,dataIndex:`supportedResolutions`,width:150,render:e=>(0,$.jsx)(hH,{size:2,wrap:!0,children:e.map(e=>(0,$.jsx)(EZ,{color:`blue`,children:e},e))})},{title:`支持时长`,dataIndex:`supportedDurations`,width:120,render:e=>(0,$.jsx)(EZ,{color:`orange`,children:e?.length?`${Math.min(...e)}-${Math.max(...e)}s`:`-`})},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(EZ,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(M2,{}),i.engine?`编辑引擎`:`添加引擎`]}),open:i.open,onOk:c,onCancel:()=>{a({open:!1,engine:null}),o.resetFields()},okText:`保存`,cancelText:`取消`,width:620,children:(0,$.jsxs)(Z,{form:o,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`name`,label:`引擎名称`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(UU,{placeholder:`Seedance 2.0`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`provider`,label:`提供商`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`ark`,label:`火山引擎 (Ark)`}]})})]}),(0,$.jsx)(Z.Item,{name:`apiBase`,label:`API基础地址`,rules:[{required:!0}],children:(0,$.jsx)(UU,{placeholder:`https://ark.cn-beijing.volces.com/api/v3`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`apiKey`,label:`API Key`,children:(0,$.jsx)(UU.Password,{placeholder:`sk-****`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`modelName`,label:`模型名称`,children:(0,$.jsx)(UU,{placeholder:`doubao-seedance-2-0-260128`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`supportedRatios`,label:`支持比例`,children:(0,$.jsx)(ZC,{mode:`multiple`,size:`large`,options:[{value:`16:9`,label:`16:9 (横屏)`},{value:`4:3`,label:`4:3 (标准)`},{value:`1:1`,label:`1:1 (方形)`},{value:`3:4`,label:`3:4 (竖版)`},{value:`9:16`,label:`9:16 (竖屏)`},{value:`21:9`,label:`21:9 (超宽)`}]})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`supportedResolutions`,label:`支持分辨率`,style:{flex:1},children:(0,$.jsx)(ZC,{mode:`multiple`,size:`large`,options:[{value:`480p`},{value:`720p`},{value:`1080p`}]})}),(0,$.jsx)(Z.Item,{name:`supportedDurations`,label:`支持时长(秒)`,style:{flex:1},children:(0,$.jsx)(ZC,{mode:`multiple`,size:`large`,options:Array.from({length:12},(e,t)=>({value:t+4,label:`${t+4}秒`}))})})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`priority`,label:`优先级`,children:(0,$.jsx)(ZC,{size:`large`,options:[{value:0,label:`0 (默认)`},{value:1,label:`1`},{value:2,label:`2`},{value:3,label:`3`},{value:5,label:`5`},{value:10,label:`10 (最高)`}]})}),(0,$.jsx)(Z.Item,{name:`isActive`,label:`启用状态`,valuePropName:`checked`,style:{paddingTop:30},children:(0,$.jsx)(SK,{})})]})]})})]})};function v8(e){if(Array.isArray(e))return e;if(typeof e==`string`)try{return JSON.parse(e)}catch{return[]}return[]}function y8(e){if(e&&typeof e==`object`&&!Array.isArray(e))return e;if(typeof e==`string`)try{let t=JSON.parse(e);return t&&typeof t==`object`&&!Array.isArray(t)?t:{}}catch{return{}}return{}}var b8={"2K":{"1:1":`2048×2048`,"4:3":`2304×1728`,"3:4":`1728×2304`,"16:9":`2560×1440`,"9:16":`1600×2848`,"3:2":`2496×1664`,"2:3":`1664×2496`,"21:9":`3024×1296`},"4K":{"1:1":`4096×4096`,"4:3":`4608×3456`,"3:4":`3520×4704`,"16:9":`5404×3040`,"9:16":`3040×5504`,"3:2":`4992×3328`,"2:3":`3328×4992`,"21:9":`6197×2656`}},x8=[`1:1`,`4:3`,`3:4`,`16:9`,`9:16`,`3:2`,`2:3`,`21:9`],S8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!1),[i,a]=(0,x.useState)({open:!1,engine:null}),[o]=Z.useForm(),s=async()=>{r(!0);try{t((await u6()).map(e=>({...e,supportedModels:v8(e.supportedModels),supportedSizes:y8(e.supportedSizes)})))}catch{dG.error(`加载图片引擎失败`)}finally{r(!1)}};(0,x.useEffect)(()=>{s()},[]);let c=async()=>{try{let e=await o.validateFields(),t={};for(let n of[`2K`,`4K`]){let r=e[`size_${n}`]||[];if(r.length>0){t[n]={};for(let e of r)t[n][e]=b8[n]?.[e]||e}}let n={name:e.name,provider:e.provider,api_base:e.apiBase,api_key:e.apiKey,model_name:e.modelName,supported_models:JSON.stringify(e.supportedModels||[]),supported_sizes:JSON.stringify(t),default_size:e.defaultSize||`2K`,generate_url:e.generateUrl||``,is_active:e.isActive??!0,priority:e.priority??0};i.engine?(await d6({id:i.engine.id,...n}),dG.success(`已更新`)):(await d6(n),dG.success(`已添加`)),a({open:!1,engine:null}),o.resetFields(),s()}catch(e){if(e?.errorFields)return;dG.error(e?.message||`保存失败`)}},l=async e=>{try{await f6(e),dG.success(`已删除`),s()}catch{dG.error(`删除失败`)}},u=e=>{if(a({open:!0,engine:e||null}),e){let t={};for(let n of[`2K`,`4K`])t[`size_${n}`]=Object.keys(e.supportedSizes?.[n]||{});o.setFieldsValue({...e,...t})}else o.resetFields(),o.setFieldsValue({isActive:!0,priority:0,supportedModels:[`doubao-seedream-5-0-260128`],defaultSize:`2K`,size_2K:x8,size_4K:x8})};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(E2,{style:{fontSize:18,color:`#10b981`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`图片引擎配置`}),(0,$.jsxs)(EZ,{color:`green`,children:[e.length,` 个引擎`]})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加引擎`})]}),(0,$.jsx)(pZ,{columns:[{title:`引擎名称`,key:`name`,width:180,render:(e,t)=>(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10},children:[(0,$.jsx)(`div`,{style:{width:36,height:36,borderRadius:8,background:t.isActive?`linear-gradient(135deg, #10b981, #059669)`:`linear-gradient(135deg, #94a3b8, #cbd5e1)`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`#fff`,fontSize:16},children:(0,$.jsx)(E2,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{strong:!0,children:t.name}),(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.modelName})]})]})},{title:`2K 支持比例`,key:`sizes_2k`,width:260,render:(e,t)=>{let n=Object.keys(t.supportedSizes?.[`2K`]||{});return n.length===0?(0,$.jsx)(`span`,{style:{color:`#bfbfbf`},children:`-`}):(0,$.jsx)(hH,{size:2,wrap:!0,children:n.map(e=>(0,$.jsxs)(EZ,{color:`blue`,children:[e,` `,t.supportedSizes[`2K`][e]]},e))})}},{title:`4K 支持比例`,key:`sizes_4k`,width:260,render:(e,t)=>{let n=Object.keys(t.supportedSizes?.[`4K`]||{});return n.length===0?(0,$.jsx)(`span`,{style:{color:`#bfbfbf`},children:`-`}):(0,$.jsx)(hH,{size:2,wrap:!0,children:n.map(e=>(0,$.jsxs)(EZ,{color:`purple`,children:[e,` `,t.supportedSizes[`4K`][e]]},e))})}},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(EZ,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:1e3}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(E2,{}),i.engine?`编辑引擎`:`添加引擎`]}),open:i.open,onOk:c,onCancel:()=>{a({open:!1,engine:null}),o.resetFields()},okText:`保存`,cancelText:`取消`,width:680,children:(0,$.jsxs)(Z,{form:o,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`name`,label:`引擎名称`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(UU,{placeholder:`豆包文生图`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`provider`,label:`提供商`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`ark`,label:`火山引擎 (Ark)`}]})})]}),(0,$.jsx)(Z.Item,{name:`apiBase`,label:`API基础地址`,rules:[{required:!0}],children:(0,$.jsx)(UU,{placeholder:`https://ark.cn-beijing.volces.com/api/v3`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`apiKey`,label:`API Key`,children:(0,$.jsx)(UU.Password,{placeholder:`sk-****`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`modelName`,label:`默认模型`,children:(0,$.jsx)(UU,{placeholder:`doubao-seedream-5-0-260128`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`supportedModels`,label:`支持模型列表`,children:(0,$.jsx)(ZC,{mode:`tags`,size:`large`,placeholder:`输入模型ID后回车添加`,tokenSeparators:[`,`,`,`],options:[{value:`doubao-seedream-5-0-260128`}]})}),(0,$.jsxs)(`div`,{style:{background:`#f8f9fc`,borderRadius:10,padding:16,marginBottom:8},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:14},children:`尺寸配置`}),(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,marginLeft:8},children:`勾选每个档位支持的比例,前台选择后传对应像素值给SDK`})]}),[`2K`,`4K`].map(e=>(0,$.jsxs)(`div`,{style:{background:`#fafbfc`,borderRadius:10,padding:`12px 16px`,marginBottom:12,border:`1px solid #f0f0f5`},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:13,color:e===`2K`?`#3b82f6`:`#8b5cf6`},children:e}),(0,$.jsx)(Z.Item,{name:`size_${e}`,style:{marginTop:8,marginBottom:0},children:(0,$.jsx)(SB.Group,{style:{width:`100%`},children:(0,$.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(4, 1fr)`,gap:`6px 0`},children:x8.map(t=>(0,$.jsxs)(SB,{value:t,style:{fontSize:12},children:[t,` `,(0,$.jsx)(`span`,{style:{color:`#94a3b8`,fontSize:11},children:b8[e]?.[t]})]},t))})})})]},e)),(0,$.jsx)(Z.Item,{name:`defaultSize`,label:`默认尺寸档位`,children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]})}),(0,$.jsx)(Z.Item,{name:`generateUrl`,label:`生成接口地址`,children:(0,$.jsx)(UU,{placeholder:`https://ark.cn-beijing.volces.com/api/v3/images/generations`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`priority`,label:`优先级`,children:(0,$.jsx)(ZC,{size:`large`,options:[{value:0,label:`0 (默认)`},{value:1,label:`1`},{value:2,label:`2`},{value:3,label:`3`},{value:5,label:`5`},{value:10,label:`10 (最高)`}]})}),(0,$.jsx)(Z.Item,{name:`isActive`,label:`启用状态`,valuePropName:`checked`,style:{paddingTop:30},children:(0,$.jsx)(SK,{})})]})]})})]})},C8=[`2K`,`4K`],w8=[`480p`,`720p`,`1080p`],T8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)([]),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)({open:!1,ratio:null}),[c]=Z.useForm(),[l,u]=(0,x.useState)(10),[d,f]=(0,x.useState)(null),[p,m]=(0,x.useState)(!1),h=Z.useWatch(`genType`,c)||`video`,g=Z.useWatch(`modelConfigId`,c),_=async()=>{a(!0);try{let[e,n,i]=await Promise.all([p6(),e6(),U6()]),a=(i?.engine?.image||[]).map(e=>({...e,genType:`image`})),o=(i?.engine?.video||[]).map(e=>({...e,genType:`video`}));t(e),r([...o,...a]);let s=n.find(e=>e.key===`text_credits_per_1000_tokens`);s&&(u(Number(s.value)||10),f({id:s.id}))}catch{dG.error(`加载积分比例失败`)}finally{a(!1)}};(0,x.useEffect)(()=>{_()},[]);let v=(0,x.useMemo)(()=>n.filter(e=>e.genType===h).map(e=>({value:e.id,label:`${e.name}${e.modelName?`(${e.modelName})`:``}`})),[n,h]),y=(0,x.useMemo)(()=>n.find(e=>e.id===g&&e.genType===h),[n,h,g]),b=(0,x.useMemo)(()=>{if(h===`image`){let e=y?.supportedSizes?Object.keys(y.supportedSizes):[];return(e.length?e:C8).map(e=>({value:e,label:e}))}let e=y?.supportedResolutions||[];return(e.length?e:w8).map(e=>({value:e,label:e}))},[h,y]),S=(e,t)=>n.find(n=>n.id===e&&(!t||n.genType===t))?.name||e,C=async()=>{try{let e=await c.validateFields(),t={model_config_id:e.modelConfigId,gen_type:e.genType,resolution:e.resolution,ratio:e.ratio,base_credits:e.baseCredits,per_second_credits:e.genType===`image`?0:e.perSecondCredits||0};o.ratio?(await m6({id:o.ratio.id,...t}),dG.success(`已更新`)):(await m6(t),dG.success(`已添加`)),s({open:!1,ratio:null}),c.resetFields(),_()}catch(e){if(e?.errorFields)return;dG.error(e?.message||`保存失败`)}},w=async e=>{try{await h6(e),dG.success(`已删除`),_()}catch{dG.error(`删除失败`)}},T=async()=>{if(d){m(!0);try{await t6(d.id,String(l)),dG.success(`文字积分费率已更新`)}catch(e){dG.error(e?.message||`保存失败`)}finally{m(!1)}}},E=e=>{s({open:!0,ratio:e||null}),e?c.setFieldsValue({modelConfigId:e.modelConfigId,genType:e.genType===`image`?`image`:`video`,resolution:e.resolution,ratio:e.ratio,baseCredits:e.baseCredits,perSecondCredits:e.perSecondCredits}):(c.resetFields(),c.setFieldsValue({genType:`video`,ratio:1,baseCredits:60,perSecondCredits:2}))};return(0,$.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:16},children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(b0,{style:{fontSize:18,color:`#f59e0b`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`文字积分费率`})]}),(0,$.jsx)(mD,{type:`primary`,loading:p,onClick:T,style:{borderRadius:8},children:`保存`})]}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{display:`block`,marginBottom:16,fontSize:13},children:`文字积分计算公式:ceil(总token数 x 费率 / 1000),最低1积分`}),(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:16},children:[(0,$.jsx)(Q.Text,{children:`每1000 token消耗积分:`}),(0,$.jsx)(_V,{min:0,max:1e3,step:.01,value:l,onChange:e=>u(e||0),size:`large`,style:{width:160},addonAfter:`积分`}),(0,$.jsxs)(Q.Text,{type:`secondary`,style:{fontSize:12},children:[`示例:1000 token = `,l,` 积分,500 token = `,(500*l/1e3).toFixed(4),` 积分`]})]})]}),(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(m1,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`积分比例配置`}),(0,$.jsxs)(EZ,{color:`purple`,children:[e.length,` 条规则`]})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>E(),style:{borderRadius:8},children:`添加比例`})]}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{display:`block`,marginBottom:16,fontSize:13},children:`视频积分公式:(基础积分 + 每秒积分 x 视频时长) x 模型倍率;图片积分公式:基础积分 x 模型倍率`}),(0,$.jsx)(pZ,{columns:[{title:`类型`,dataIndex:`genType`,width:80,render:e=>(0,$.jsx)(EZ,{color:e===`image`?`cyan`:`orange`,children:e===`image`?`图片`:`视频`})},{title:`引擎`,dataIndex:`modelConfigId`,width:180,render:(e,t)=>(0,$.jsx)(EZ,{color:t.genType===`image`?`cyan`:`purple`,children:S(e,t.genType)})},{title:`分辨率/尺寸`,dataIndex:`resolution`,width:110,render:e=>(0,$.jsx)(EZ,{color:{"480p":`blue`,"720p":`blue`,"1080p":`blue`,"4K":`green`,"2K":`green`}[e]||`default`,children:e})},{title:`倍率`,dataIndex:`ratio`,width:100,sorter:(e,t)=>e.ratio-t.ratio,render:e=>(0,$.jsxs)(Q.Text,{strong:!0,style:{color:e>=2?`#ef4444`:e>=1.5?`#f59e0b`:`#10b981`},children:[`x`,e]})},{title:`基础积分`,dataIndex:`baseCredits`,width:100,render:e=>(0,$.jsxs)(Q.Text,{children:[e,` 积分`]})},{title:`每秒积分`,dataIndex:`perSecondCredits`,width:100,render:(e,t)=>(0,$.jsx)(Q.Text,{children:t.genType===`image`?`-`:`${e} 积分/秒`})},{title:`示例计算`,key:`example`,width:120,render:(e,t)=>{let n;return n=t.genType===`image`?Math.round(t.baseCredits*t.ratio):Math.round((t.baseCredits+t.perSecondCredits*15)*t.ratio),(0,$.jsxs)(Q.Text,{strong:!0,style:{color:`#6366f1`},children:[n,` 积分`]})}},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>E(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除?`,onConfirm:()=>w(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:i,pagination:!1,scroll:{x:860}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(m1,{}),o.ratio?`编辑比例`:`添加比例`]}),open:o.open,onOk:C,onCancel:()=>{s({open:!1,ratio:null}),c.resetFields()},okText:`保存`,cancelText:`取消`,width:520,children:(0,$.jsxs)(Z,{form:c,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsx)(Z.Item,{name:`genType`,label:`生成类型`,rules:[{required:!0,message:`请选择生成类型`}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`video`,label:`视频`},{value:`image`,label:`图片`}],onChange:()=>{c.setFieldsValue({modelConfigId:void 0,resolution:void 0})}})}),(0,$.jsx)(Z.Item,{name:`modelConfigId`,label:`引擎`,rules:[{required:!0,message:`请选择引擎`}],children:(0,$.jsx)(ZC,{size:`large`,placeholder:`请选择引擎`,options:v,showSearch:!0,optionFilterProp:`label`,onChange:()=>c.setFieldsValue({resolution:void 0})})}),(0,$.jsx)(Z.Item,{name:`resolution`,label:h===`image`?`图片尺寸`:`分辨率`,rules:[{required:!0,message:h===`image`?`请选择图片尺寸`:`请选择分辨率`}],children:(0,$.jsx)(ZC,{size:`large`,placeholder:h===`image`?`请选择图片尺寸`:`请选择分辨率`,options:b})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`ratio`,label:`倍率`,style:{flex:1},rules:[{required:!0,message:`请输入倍率`}],children:(0,$.jsx)(_V,{min:.1,max:10,step:.1,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`baseCredits`,label:`基础积分`,style:{flex:1},rules:[{required:!0,message:`请输入基础积分`}],children:(0,$.jsx)(_V,{min:0,max:1e3,style:{width:`100%`},size:`large`})}),h!==`image`&&(0,$.jsx)(Z.Item,{name:`perSecondCredits`,label:`每秒积分`,style:{flex:1},rules:[{required:!0,message:`请输入每秒积分`}],children:(0,$.jsx)(_V,{min:0,max:100,style:{width:`100%`},size:`large`})})]})]})})]})},E8={HomeOutlined:(0,$.jsx)(R0,{}),PlayCircleOutlined:(0,$.jsx)(M2,{}),WalletOutlined:(0,$.jsx)(_3,{}),RobotOutlined:(0,$.jsx)(W2,{}),SettingOutlined:(0,$.jsx)(d4,{}),BellOutlined:(0,$.jsx)(n1,{}),UserOutlined:(0,$.jsx)(d3,{}),AppstoreOutlined:(0,$.jsx)(R$,{}),FileTextOutlined:(0,$.jsx)(bH,{}),StarOutlined:(0,$.jsx)(F4,{}),HeartOutlined:(0,$.jsx)(k0,{}),CameraOutlined:(0,$.jsx)(_1,{}),DashboardOutlined:(0,$.jsx)(q1,{}),CalculatorOutlined:(0,$.jsx)(m1,{}),DollarOutlined:(0,$.jsx)($1,{}),GiftOutlined:(0,$.jsx)(C0,{}),ThunderboltOutlined:(0,$.jsx)(q4,{}),FireOutlined:(0,$.jsx)(m0,{}),CloudOutlined:(0,$.jsx)(k1,{}),SmileOutlined:(0,$.jsx)(E4,{}),TrophyOutlined:(0,$.jsx)($4,{}),RocketOutlined:(0,$.jsx)(q2,{}),BulbOutlined:(0,$.jsx)(d1,{}),CodeOutlined:(0,$.jsx)(F1,{}),PictureOutlined:(0,$.jsx)(E2,{}),VideoCameraOutlined:(0,$.jsx)(m3,{}),AudioOutlined:(0,$.jsx)(q$,{}),MailOutlined:(0,$.jsx)(n2,{}),PhoneOutlined:(0,$.jsx)(C2,{}),GlobalOutlined:(0,$.jsx)(E0,{}),ShoppingCartOutlined:(0,$.jsx)(m4,{}),TeamOutlined:(0,$.jsx)(W4,{}),BarChartOutlined:(0,$.jsx)($$,{}),PieChartOutlined:(0,$.jsx)(k2,{}),LineChartOutlined:(0,$.jsx)(q0,{}),SecurityScanOutlined:(0,$.jsx)(a4,{}),ApiOutlined:(0,$.jsx)(F$,{}),DatabaseOutlined:(0,$.jsx)(X1,{}),CloudServerOutlined:(0,$.jsx)(M1,{}),MenuOutlined:(0,$.jsx)(c2,{})},D8=Object.keys(E8).map(e=>({value:e,label:(0,$.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[E8[e],` `,e.replace(`Outlined`,``)]})})),O8={page:`blue`,group:`purple`},k8={page:`页面`,group:`分组`},A8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!0),[i,a]=(0,x.useState)(`frontend`),[o,s]=(0,x.useState)({open:!1,menu:null}),[c]=Z.useForm(),l=async()=>{r(!0);try{t(await w6())}catch{}r(!1)};(0,x.useEffect)(()=>{l()},[]);let u=async()=>{try{let e=await c.validateFields(),t={label:e.label,path:e.path||``,icon:e.icon||``,sort_order:e.sortOrder??0,is_active:e.isActive??!0,parent_id:e.parentId||null,menu_type:e.menuType||`page`,menu_target:e.menuTarget||`frontend`,is_default:e.isDefault??!1};o.menu?.id?await T6({...t,id:o.menu.id}):await T6(t),dG.success(o.menu?.id?`菜单已更新`:`菜单已添加`),s({open:!1,menu:null}),c.resetFields(),l()}catch{}},d=async e=>{try{await E6(e),dG.success(`菜单已删除`),l()}catch(e){dG.error(e?.message||`删除失败`)}},f=t=>{s({open:!0,menu:t||null}),t?c.setFieldsValue({label:t.label,path:t.path,icon:t.icon,sortOrder:t.sortOrder??0,isActive:t.isActive??!0,parentId:t.parentId??``,menuType:t.menuType??`page`,menuTarget:t.menuTarget??`frontend`,isDefault:t.isDefault??!1}):(c.resetFields(),c.setFieldsValue({icon:`HomeOutlined`,sortOrder:e.length,isActive:!0,menuType:`page`,menuTarget:i,isDefault:!1}))},p=e.filter(e=>{let t=e.menuTarget??`frontend`;return t===i||t===`both`}),m=[{value:``,label:`顶级菜单`},...p.filter(e=>e.menuType===`group`).map(e=>({value:e.id,label:e.label}))],h=[],g=p.filter(e=>!e.parentId),_={};p.filter(e=>e.parentId).forEach(e=>{let t=e.parentId;_[t]||(_[t]=[]),_[t].push(e)}),g.sort((e,t)=>(e.sortOrder??0)-(t.sortOrder??0)).forEach(e=>{h.push({...e,_depth:0}),(_[e.id]||[]).sort((e,t)=>(e.sortOrder??0)-(t.sortOrder??0)).forEach(e=>{h.push({...e,_depth:1})})});let v=[{title:`排序`,dataIndex:`sortOrder`,width:60},{title:`菜单名称`,key:`label`,width:180,render:(e,t)=>(0,$.jsxs)(`span`,{style:{paddingLeft:t._depth*20,fontWeight:t._depth===0?600:400},children:[t._depth===1&&(0,$.jsx)(`span`,{style:{color:`#cbd5e1`,marginRight:4},children:`└`}),t.label]})},{title:`路由路径`,dataIndex:`path`,width:160,render:e=>e||(0,$.jsx)(Q.Text,{type:`secondary`,children:`-`})},{title:`图标`,dataIndex:`icon`,width:100,render:e=>e&&E8[e]?(0,$.jsx)(`span`,{style:{fontSize:16,color:`#6366f1`},children:E8[e]}):`-`},{title:`类型`,dataIndex:`menuType`,width:80,render:e=>(0,$.jsx)(EZ,{color:O8[e]||`default`,children:k8[e]||e})},{title:`状态`,dataIndex:`isActive`,width:70,render:e=>(0,$.jsx)(`span`,{style:{color:e?`#22c55e`:`#94a3b8`},children:e?`启用`:`停用`})},...i===`frontend`?[{title:`默认显示`,dataIndex:`isDefault`,width:80,render:e=>e?(0,$.jsx)(EZ,{color:`green`,children:`默认`}):(0,$.jsx)(Q.Text,{type:`secondary`,children:`-`})}]:[],{title:`操作`,key:`action`,width:150,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>f(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除该菜单?`,onConfirm:()=>d(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}];return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(c2,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`菜单配置`})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>f(),style:{borderRadius:8},children:`添加菜单`})]}),(0,$.jsx)(Iz,{activeKey:i,onChange:a,items:[{key:`frontend`,label:`前台菜单`},{key:`admin`,label:`后台菜单`}]}),(0,$.jsx)(pZ,{columns:v,dataSource:h,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(c2,{}),o.menu?.id?`编辑菜单`:`添加菜单`]}),open:o.open,onOk:u,onCancel:()=>{s({open:!1,menu:null}),c.resetFields()},okText:`确认`,cancelText:`取消`,width:520,children:(0,$.jsxs)(Z,{form:c,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`label`,label:`菜单名称`,rules:[{required:!0,message:`请输入菜单名称`}],children:(0,$.jsx)(UU,{placeholder:`例如:我的项目`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`path`,label:`路由路径`,tooltip:`分组类型可留空`,children:(0,$.jsx)(UU,{placeholder:`例如:/projects(分组可留空)`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`menuType`,label:`菜单类型`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`page`,label:`页面`},{value:`group`,label:`分组`}]})}),(0,$.jsx)(Z.Item,{name:`menuTarget`,label:`适用端`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`frontend`,label:`前台`},{value:`admin`,label:`后台`},{value:`both`,label:`两者`}]})})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`icon`,label:`图标`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(ZC,{size:`large`,options:D8})}),(0,$.jsx)(Z.Item,{name:`sortOrder`,label:`排序`,style:{flex:1},children:(0,$.jsx)(_V,{min:0,max:100,style:{width:`100%`},size:`large`,placeholder:`默认0`})})]}),(0,$.jsx)(Z.Item,{name:`parentId`,label:`上级菜单`,children:(0,$.jsx)(ZC,{size:`large`,options:m,allowClear:!0,placeholder:`顶级菜单`})}),(0,$.jsx)(Z.Item,{name:`isActive`,label:`启用`,valuePropName:`checked`,children:(0,$.jsx)(SK,{})}),(0,$.jsx)(Z.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.menuTarget!==t.menuTarget,children:({getFieldValue:e})=>e(`menuTarget`)===`admin`?null:(0,$.jsx)(Z.Item,{name:`isDefault`,label:`新用户默认显示`,valuePropName:`checked`,tooltip:`开启后,新注册用户默认显示此菜单`,children:(0,$.jsx)(SK,{})})})]})})]})},j8={normal:`blue`,gift:`green`,promo:`purple`},M8={normal:`常规`,gift:`赠送`,promo:`促销`},N8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(!1),[i,a]=(0,x.useState)({open:!1,item:null}),[o]=Z.useForm(),s=async()=>{r(!0);try{t((await j6()).map(e=>({id:e.id,name:e.name,credits:e.credits,price:e.price,bonusCredits:e.bonus_credits??e.bonusCredits??0,totalCredits:e.total_credits??e.totalCredits??e.credits,description:e.description,packageType:e.package_type??e.packageType??`normal`,isGift:e.is_gift??e.isGift??!1,isActive:e.is_active??e.isActive??!0,sortOrder:e.sort_order??e.sortOrder??0})))}catch{dG.error(`加载充值套餐失败`)}finally{r(!1)}};(0,x.useEffect)(()=>{s()},[]);let c=async()=>{try{let e=await o.validateFields(),t={name:e.name,credits:e.credits,price:e.price,bonus_credits:e.bonusCredits||0,description:e.description||null,package_type:e.packageType||`normal`,is_gift:e.isGift||!1,is_active:e.isActive??!0,sort_order:e.sortOrder??0};i.item?.id?(await M6({id:i.item.id,...t}),dG.success(`已更新`)):(await M6(t),dG.success(`已添加`)),a({open:!1,item:null}),o.resetFields(),s()}catch{}},l=async e=>{try{await N6(e),dG.success(`已删除`),s()}catch(e){dG.error(e?.message||`删除失败`)}},u=e=>{a({open:!0,item:e||null}),e?o.setFieldsValue({name:e.name,credits:e.credits,price:e.price,bonusCredits:e.bonusCredits,description:e.description,packageType:e.packageType,isGift:e.isGift,isActive:e.isActive,sortOrder:e.sortOrder}):(o.resetFields(),o.setFieldsValue({isActive:!0,sortOrder:0,packageType:`normal`,bonusCredits:0,isGift:!1}))};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(C0,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`充值套餐管理`}),(0,$.jsxs)(EZ,{color:`purple`,children:[e.length,` 个套餐`]})]}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加套餐`})]}),(0,$.jsx)(pZ,{columns:[{title:`套餐名称`,key:`name`,width:160,render:(e,t)=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{strong:!0,children:t.name}),t.description&&(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.description})]})},{title:`基础积分`,dataIndex:`credits`,width:100,render:e=>(0,$.jsx)(Q.Text,{children:e.toLocaleString()})},{title:`赠送积分`,dataIndex:`bonusCredits`,width:100,render:e=>e>0?(0,$.jsxs)(EZ,{color:`green`,children:[`+`,e.toLocaleString()]}):(0,$.jsx)(Q.Text,{type:`secondary`,children:`-`})},{title:`总积分`,key:`total`,width:100,render:(e,t)=>(0,$.jsx)(Q.Text,{strong:!0,style:{color:`#6366f1`},children:(t.credits+t.bonusCredits).toLocaleString()})},{title:`价格(元)`,dataIndex:`price`,width:100,render:e=>(0,$.jsxs)(Q.Text,{strong:!0,children:[`¥`,e]})},{title:`类型`,dataIndex:`packageType`,width:80,render:e=>(0,$.jsx)(EZ,{color:j8[e]||`default`,children:M8[e]||e})},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(EZ,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,children:[(0,$.jsx)(mD,{type:`link`,size:`small`,icon:(0,$.jsx)(MZ,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(vG,{title:`确定删除?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(mD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(kZ,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[(0,$.jsx)(C0,{}),i.item?`编辑套餐`:`添加套餐`]}),open:i.open,onOk:c,onCancel:()=>{a({open:!1,item:null}),o.resetFields()},okText:`保存`,cancelText:`取消`,width:520,children:(0,$.jsxs)(Z,{form:o,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsx)(Z.Item,{name:`name`,label:`套餐名称`,rules:[{required:!0,message:`请输入套餐名称`}],children:(0,$.jsx)(UU,{placeholder:`例如:进阶包`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`credits`,label:`基础积分`,rules:[{required:!0,message:`请输入积分`}],style:{flex:1},children:(0,$.jsx)(_V,{min:1,placeholder:`2000`,size:`large`,style:{width:`100%`}})}),(0,$.jsx)(Z.Item,{name:`price`,label:`价格(元)`,rules:[{required:!0,message:`请输入价格`}],style:{flex:1},children:(0,$.jsx)(_V,{min:.01,step:1,placeholder:`168`,size:`large`,style:{width:`100%`}})})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`bonusCredits`,label:`赠送积分`,initialValue:0,style:{flex:1},children:(0,$.jsx)(_V,{min:0,placeholder:`0`,size:`large`,style:{width:`100%`}})}),(0,$.jsx)(Z.Item,{name:`packageType`,label:`套餐类型`,initialValue:`normal`,style:{flex:1},children:(0,$.jsx)(ZC,{size:`large`,options:[{value:`normal`,label:`常规`},{value:`gift`,label:`赠送`},{value:`promo`,label:`促销`}]})})]}),(0,$.jsx)(Z.Item,{name:`description`,label:`描述`,children:(0,$.jsx)(UU,{placeholder:`套餐描述(可选)`,size:`large`})}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16},children:[(0,$.jsx)(Z.Item,{name:`isActive`,label:`启用状态`,valuePropName:`checked`,initialValue:!0,style:{flex:1},children:(0,$.jsx)(SK,{})}),(0,$.jsx)(Z.Item,{name:`isGift`,label:`是否赠送`,valuePropName:`checked`,initialValue:!1,style:{flex:1},children:(0,$.jsx)(SK,{})}),(0,$.jsx)(Z.Item,{name:`sortOrder`,label:`排序`,initialValue:0,style:{flex:1},children:(0,$.jsx)(_V,{size:`large`,style:{width:`100%`}})})]})]})})]})},P8={POST:`green`,PUT:`blue`,DELETE:`red`},F8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(0),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(1),c=async e=>{a(!0);try{let n=await P6(e||o);t(n.items||[]),r(n.total||0)}catch{dG.error(`加载操作日志失败`)}finally{a(!1)}};return(0,x.useEffect)(()=>{c()},[]),(0,$.jsx)(`div`,{children:(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(F0,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`操作日志`})]}),(0,$.jsx)(mD,{icon:(0,$.jsx)(eK,{}),onClick:()=>c(),children:`刷新`})]}),(0,$.jsx)(pZ,{columns:[{title:`操作人`,dataIndex:`username`,width:120,render:e=>(0,$.jsx)(Q.Text,{strong:!0,children:e})},{title:`操作`,dataIndex:`action`,width:160,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`方法`,dataIndex:`method`,width:80,render:e=>(0,$.jsx)(EZ,{color:P8[e]||`default`,children:e})},{title:`路径`,dataIndex:`path`,width:220,ellipsis:!0,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:e})},{title:`时间`,dataIndex:`createdAt`,width:160,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:$6(e)})}],dataSource:e,rowKey:`id`,loading:i,pagination:{current:o,pageSize:20,total:n,showTotal:e=>`共 ${e} 条记录`,onChange:e=>{s(e),c(e)}},scroll:{x:800}})]})})},I8=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(0),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(1),[c,l]=(0,x.useState)(!1),[u,d]=(0,x.useState)(!1),[f,p]=(0,x.useState)(!1),[m,h]=(0,x.useState)(null),[g]=Z.useForm(),[_]=Z.useForm(),v=async e=>{a(!0);try{let n=await F6(e||o);t(n.items||[]),r(n.total||0)}catch{dG.error(`加载授权应用列表失败`)}finally{a(!1)}},y=async()=>{try{let e=await g.validateFields();await I6({app_id:e.app_id,secret:e.secret,open_type:e.open_type,count:e.count,auth_url:e.auth_url,company:e.company}),dG.success(`创建成功`),l(!1),g.resetFields(),v()}catch(e){dG.error(e?.message||`创建失败`)}},b=async e=>{try{h(await L6(e)),d(!0)}catch(e){dG.error(e?.message||`获取详情失败`)}},S=async e=>{try{let t=await L6(e);h(t),_.setFieldsValue({app_id:t.appId,secret:t.secret,open_type:t.openType,count:t.count,auth_url:t.authUrl,company:t.company}),p(!0)}catch(e){dG.error(e?.message||`获取详情失败`)}},C=async()=>{if(m)try{let e=await _.validateFields();await R6(m.id,{app_id:e.app_id,secret:e.secret,open_type:e.open_type,count:e.count,auth_url:e.auth_url,company:e.company}),dG.success(`更新成功`),p(!1),_.resetFields(),v()}catch(e){dG.error(e?.message||`更新失败`)}},w=e=>{mG.confirm({title:`确认删除`,content:`确定要删除这个授权应用吗?`,okText:`删除`,okType:`danger`,cancelText:`取消`,onOk:async()=>{try{await z6(e),dG.success(`删除成功`),v()}catch(e){dG.error(e?.message||`删除失败`)}}})};return(0,x.useEffect)(()=>{v()},[]),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{variant:`outlined`,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(F0,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`授权应用列表`})]}),(0,$.jsxs)(hH,{children:[(0,$.jsx)(mD,{icon:(0,$.jsx)(eK,{}),onClick:()=>v(),children:`刷新`}),(0,$.jsx)(mD,{type:`primary`,icon:(0,$.jsx)(FR,{}),onClick:()=>l(!0),children:`创建`})]})]}),(0,$.jsx)(pZ,{columns:[{title:`ID`,dataIndex:`id`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`应用ID`,dataIndex:`appId`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`应用密钥`,dataIndex:`secret`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`开户方式`,dataIndex:`openType`,render:e=>(0,$.jsx)(Q.Text,{children:{1:`千川`,2:`广告`,3:`本地推`,4:`星图`,5:`快手代理商`,6:`巨量星图`,7:`巨量服务单`,8:`腾讯服务单`,9:`腾讯营销K2`,10:`腾讯营销K3`}[e]||e})},{title:`归属公司`,dataIndex:`company`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`授权次数`,dataIndex:`count`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`状态`,dataIndex:`status`,render:e=>(0,$.jsx)(EZ,{color:e===1?`green`:`red`,children:e===1?`正常`:`禁用`})},{title:`授权URL`,dataIndex:`authUrl`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`创建人`,dataIndex:`createBy`,render:e=>(0,$.jsx)(Q.Text,{children:e})},{title:`创建时间`,dataIndex:`createdAt`,render:e=>(0,$.jsx)(Q.Text,{children:$6(e)})},{title:`更新时间`,dataIndex:`updatedAt`,render:e=>(0,$.jsx)(Q.Text,{children:$6(e)})},{title:`操作`,render:(e,t)=>(0,$.jsxs)(hH,{children:[(0,$.jsx)(mD,{icon:(0,$.jsx)(xU,{}),size:`small`,onClick:()=>b(t.id),children:`详情`}),(0,$.jsx)(mD,{icon:(0,$.jsx)(MZ,{}),size:`small`,onClick:()=>S(t.id),children:`更新`}),(0,$.jsx)(mD,{icon:(0,$.jsx)(kZ,{}),size:`small`,danger:!0,onClick:()=>w(t.id),children:`删除`})]})}],dataSource:e,rowKey:`id`,loading:i,pagination:{current:o,pageSize:20,total:n,showTotal:e=>`共 ${e} 条记录`,onChange:e=>{s(e),v(e)}},scroll:{x:800}})]}),(0,$.jsx)(mG,{title:`创建授权应用`,open:c,onOk:y,onCancel:()=>{l(!1),g.resetFields()},okText:`创建`,cancelText:`取消`,width:600,children:(0,$.jsxs)(Z,{form:g,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`app_id`,label:`应用ID`,rules:[{required:!0,message:`请输入应用ID`},{max:64,message:`应用ID不能超过64个字符`}],children:(0,$.jsx)(UU,{placeholder:`请输入应用ID`})}),(0,$.jsx)(Z.Item,{name:`secret`,label:`应用密钥`,rules:[{required:!0,message:`请输入应用密钥`},{max:256,message:`应用密钥不能超过256个字符`}],children:(0,$.jsx)(UU,{placeholder:`请输入应用密钥`})}),(0,$.jsx)(Z.Item,{name:`open_type`,label:`开户方式`,rules:[{required:!0,message:`请选择开户方式`}],children:(0,$.jsxs)(ZC,{placeholder:`请选择开户方式`,children:[(0,$.jsx)(ZC.Option,{value:1,children:`千川`}),(0,$.jsx)(ZC.Option,{value:2,children:`广告`}),(0,$.jsx)(ZC.Option,{value:3,children:`本地推`}),(0,$.jsx)(ZC.Option,{value:4,children:`星图`}),(0,$.jsx)(ZC.Option,{value:5,children:`快手代理商`}),(0,$.jsx)(ZC.Option,{value:6,children:`巨量星图`}),(0,$.jsx)(ZC.Option,{value:7,children:`巨量服务单`}),(0,$.jsx)(ZC.Option,{value:8,children:`腾讯服务单`}),(0,$.jsx)(ZC.Option,{value:9,children:`腾讯营销K2`}),(0,$.jsx)(ZC.Option,{value:10,children:`腾讯营销K3`})]})}),(0,$.jsx)(Z.Item,{name:`count`,label:`最大授权用户数`,initialValue:100,children:(0,$.jsx)(_V,{min:1,placeholder:`应用最大可以授权多少个用户`})}),(0,$.jsx)(Z.Item,{name:`auth_url`,label:`应用授权链接`,children:(0,$.jsx)(UU,{placeholder:`请输入应用授权链接`})}),(0,$.jsx)(Z.Item,{name:`company`,label:`应用归属公司名称`,rules:[{max:256,message:`公司名称不能超过256个字符`}],children:(0,$.jsx)(UU,{placeholder:`请输入应用归属公司名称`})})]})}),(0,$.jsx)(mG,{title:`授权应用详情`,open:u,onCancel:()=>{d(!1),h(null)},okText:`关闭`,cancelText:`取消`,width:600,children:m&&(0,$.jsxs)(`div`,{style:{lineHeight:`2`},children:[(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`ID:`}),` `,m.id]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`应用ID:`}),` `,m.appId]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`应用密钥:`}),` `,m.secret]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`开户方式:`}),` `,{1:`千川`,2:`广告`,3:`本地推`,4:`星图`,5:`快手代理商`,6:`巨量星图`,7:`巨量服务单`,8:`腾讯服务单`,9:`腾讯营销K2`,10:`腾讯营销K3`}[m.openType]||m.openType]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`归属公司:`}),` `,m.company||`-`]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`授权次数:`}),` `,m.count]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`状态:`}),` `,m.status===1?`正常`:`禁用`]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`授权URL:`}),` `,m.authUrl||`-`]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`创建人:`}),` `,m.createBy]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`创建时间:`}),` `,$6(m.createdAt)]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`更新时间:`}),` `,$6(m.updatedAt)]})]})}),(0,$.jsx)(mG,{title:`更新授权应用`,open:f,onOk:C,onCancel:()=>{p(!1),_.resetFields(),h(null)},okText:`更新`,cancelText:`取消`,width:600,children:(0,$.jsxs)(Z,{form:_,layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`app_id`,label:`应用ID`,rules:[{required:!0,message:`请输入应用ID`},{max:64,message:`应用ID不能超过64个字符`}],children:(0,$.jsx)(UU,{placeholder:`请输入应用ID`})}),(0,$.jsx)(Z.Item,{name:`secret`,label:`应用密钥`,rules:[{required:!0,message:`请输入应用密钥`},{max:256,message:`应用密钥不能超过256个字符`}],children:(0,$.jsx)(UU,{placeholder:`请输入应用密钥`})}),(0,$.jsx)(Z.Item,{name:`open_type`,label:`开户方式`,rules:[{required:!0,message:`请选择开户方式`}],children:(0,$.jsxs)(ZC,{placeholder:`请选择开户方式`,children:[(0,$.jsx)(ZC.Option,{value:1,children:`千川`}),(0,$.jsx)(ZC.Option,{value:2,children:`广告`}),(0,$.jsx)(ZC.Option,{value:3,children:`本地推`}),(0,$.jsx)(ZC.Option,{value:4,children:`星图`}),(0,$.jsx)(ZC.Option,{value:5,children:`快手代理商`}),(0,$.jsx)(ZC.Option,{value:6,children:`巨量星图`}),(0,$.jsx)(ZC.Option,{value:7,children:`巨量服务单`}),(0,$.jsx)(ZC.Option,{value:8,children:`腾讯服务单`}),(0,$.jsx)(ZC.Option,{value:9,children:`腾讯营销K2`}),(0,$.jsx)(ZC.Option,{value:10,children:`腾讯营销K3`})]})}),(0,$.jsx)(Z.Item,{name:`count`,label:`最大授权用户数`,children:(0,$.jsx)(_V,{min:1,placeholder:`应用最大可以授权多少个用户`})}),(0,$.jsx)(Z.Item,{name:`auth_url`,label:`应用授权链接`,children:(0,$.jsx)(UU,{placeholder:`请输入应用授权链接`})}),(0,$.jsx)(Z.Item,{name:`company`,label:`应用归属公司名称`,rules:[{max:256,message:`公司名称不能超过256个字符`}],children:(0,$.jsx)(UU,{placeholder:`请输入应用归属公司名称`})})]})})]})},L8=`http://ceshi.apiforeign.minzhong.cn`.replace(/\/api\/?$/i,``).replace(/\/$/,``),R8={image:`empty`,video:`empty`,videoCover:`empty`,references:{}},z8={optimizing:{color:`processing`,text:`优化中`,icon:(0,$.jsx)(um,{spin:!0})},prompt_optimized:{color:`processing`,text:`待生成`,icon:(0,$.jsx)($V,{})},generating:{color:`warning`,text:`生成中`,icon:(0,$.jsx)(um,{spin:!0})},completed:{color:`success`,text:`已完成`,icon:(0,$.jsx)(C1,{})},failed:{color:`error`,text:`失败`,icon:(0,$.jsx)(E1,{})}},B8={image:{text:`图片`,color:`purple`,icon:(0,$.jsx)(c0,{})},video:{text:`视频`,color:`geekblue`,icon:(0,$.jsx)(m3,{})}},V8=e=>/^(https?:)?\/\//i.test(e)||/^(blob|data):/i.test(e),H8=e=>!!e&&/^blob:/i.test(e.trim()),U8=e=>{if(!e)return``;let t=String(e).trim();return t?V8(t)?t:L8?`${L8}${t.startsWith(`/`)?t:`/${t}`}`:t.startsWith(`/`)?t:`/${t}`:``},W8=e=>e?e.length>12?`${e.slice(0,8)}...`:e:`-`,G8=e=>e?$6(e):`-`,K8=e=>e==null||e===``,q8=e=>{if(!e||H8(e))return!1;try{let t=new URL(U8(e),window.location.origin),n=t.searchParams.get(`exp`)||t.searchParams.get(`expires`)||t.searchParams.get(`expire`)||t.searchParams.get(`expires_at`)||t.searchParams.get(`x-expires`);if(!n)return!1;let r=Number(n);if(!Number.isFinite(r))return!1;let i=r>1e10?r:r*1e3;return Date.now()>=i}catch{return!1}},J8=e=>e?H8(e)||q8(e)?`invalid`:`checking`:`empty`,Y8=e=>{let t=e.url||e.mediaUrl||e.fileUrl;return typeof t==`string`&&t.trim()?t.trim():void 0},X8=e=>{let t=String(e.type||e.mediaType||e.mimeType||``).toLowerCase(),n=Y8(e)?.toLowerCase()||``;return t.includes(`video`)||/\.(mp4|mov|webm|m4v)(\?|$)/i.test(n)?`video`:t.includes(`image`)||/\.(png|jpe?g|webp|gif|bmp|svg)(\?|$)/i.test(n)?`image`:t||`unknown`},Z8=(e,t)=>`${t}-${Y8(e)||`empty`}`,Q8=(e,t=`资源`)=>H8(e)?`本地临时素材已失效`:q8(e)?`${t}链接已超时,请刷新列表或重新搜索后再查看`:`${t}加载失败,请刷新列表或重新搜索后再查看`,$8=({text:e,minHeight:t=240,compact:n=!1,action:r})=>(0,$.jsxs)(`div`,{style:{width:`100%`,minHeight:n?void 0:t,height:n?`100%`:void 0,borderRadius:n?10:12,background:`#f8f9fc`,border:`1px dashed #cbd5e1`,color:`#64748b`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:n?4:10,textAlign:`center`},children:[(0,$.jsx)(Q.Text,{style:{color:`#64748b`,fontSize:n?11:13},children:e}),r]}),e5=({label:e,value:t})=>(0,$.jsxs)(`div`,{style:{flex:1,minWidth:120},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:e}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:14},children:K8(t)?`-`:t})]}),t5=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(0),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(1),[c]=(0,x.useState)(20),[l,u]=(0,x.useState)(``),[d,f]=(0,x.useState)(``),[p,m]=(0,x.useState)(0),[h,g]=(0,x.useState)(null),[_,v]=(0,x.useState)(R8),[y,b]=(0,x.useState)(!1),S=(0,x.useRef)(null),[C,w]=(0,x.useState)(null),[T,E]=(0,x.useState)(null),D=(0,x.useCallback)(async()=>{a(!0);try{let e=await B6({userId:d.trim()||void 0,status:l||void 0,page:o,pageSize:c});t((e.items||[]).map(e=>({id:e.id,userId:e.userId,username:e.username,projectId:e.projectId,projectName:e.projectName,originalPrompt:e.originalPrompt,optimizedPrompt:e.optimizedPrompt,duration:e.duration,aspectRatio:e.aspectRatio,resolution:e.resolution,status:e.status,videoUrl:e.videoUrl,videoCoverUrl:e.videoCoverUrl,references:e.references,creditsCost:e.creditsCost||0,textCreditsCost:e.textCreditsCost||0,textTokensUsed:e.textTokensUsed||0,videoTokensUsed:e.videoTokensUsed||0,errorMessage:e.errorMessage,createdAt:e.createdAt,generatedAt:e.generatedAt,genType:e.genType,imageSize:e.imageSize,imageUrl:e.imageUrl,imageTokensUsed:e.imageTokensUsed||0,imageProportion:e.imageProportion,imagePx:e.imagePx}))),r(e.total||0)}catch{dG.error(`加载记录失败`)}finally{a(!1)}},[l,d,o,c]);(0,x.useEffect)(()=>{D()},[D,p]),(0,x.useEffect)(()=>{if(!h){v(R8);return}let e=(h.references||[]).reduce((e,t,n)=>{let r=Y8(t);return e[Z8(t,n)]=J8(r),e},{});S.current&&(S.current.pause(),S.current.currentTime=0),b(!1),v({image:J8(h.imageUrl),video:J8(h.videoUrl),videoCover:J8(h.videoCoverUrl),references:e})},[h]);let O=()=>{s(1),m(e=>e+1)},k=(0,x.useCallback)(e=>{g(e)},[]),A=()=>{S.current&&S.current.pause(),b(!1),g(null)},j=e=>{v(t=>({...t,...e}))},M=(e,t)=>{v(n=>({...n,references:{...n.references,[e]:t}}))},N=(e,t=`素材`)=>{if(!e){dG.warning(`${t}链接为空,暂无法查看`);return}if(H8(e)){dG.warning(`本地临时素材已失效,暂无法查看`);return}if(q8(e)){dG.warning(`${t}链接已超时,请刷新列表或重新搜索后再查看`);return}window.open(U8(e),`_blank`,`noopener,noreferrer`)},P=()=>{if(h?.videoUrl){if(q8(h.videoUrl)){j({video:`invalid`}),dG.warning(`视频链接已超时,请刷新列表或重新搜索后再查看`);return}b(!0),window.setTimeout(()=>{S.current?.play().catch(()=>{b(!1),j({video:`invalid`}),dG.warning(`视频播放失败,请确认资源链接是否仍然有效`)})},0)}},F=async(e,t,n)=>{w(e);try{await V6(e,t,n),dG.success(`状态已更新`),D()}catch(e){dG.error(e?.message||`更新失败`)}finally{w(null)}},I=async()=>{if(T){w(T.record.id);try{await H6(T.record.id,T.ratio,T.resolution,T.image_size),dG.success(`已提交${T.record.genType===`video`?`视频`:`图片`}生成`),E(null),D()}catch(e){dG.error(e?.message||`生成失败`)}finally{w(null)}}},L=(0,x.useMemo)(()=>[{title:`用户`,key:`user`,width:120,render:(e,t)=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:13},children:t.username||`未知用户`}),(0,$.jsx)(`div`,{style:{fontSize:11,color:`#94a3b8`},children:W8(t.userId)})]})},{title:`项目`,dataIndex:`projectName`,width:120,ellipsis:!0,render:e=>(0,$.jsx)(Q.Text,{style:{fontSize:13},children:e||`-`})},{title:`类型`,dataIndex:`genType`,width:90,ellipsis:!0,render:e=>{let t=B8[e]||{text:e||`-`,color:`default`,icon:null};return(0,$.jsx)(EZ,{color:t.color,icon:t.icon,children:t.text})}},{title:`提示词`,key:`prompt`,ellipsis:!0,render:(e,t)=>(0,$.jsx)(Bw,{title:t.originalPrompt,placement:`topLeft`,children:(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#475569`},ellipsis:!0,children:t.originalPrompt||`-`})})},{title:`参数`,key:`params`,width:160,render:(e,t)=>t.genType===`video`?t.duration||t.aspectRatio||t.resolution?(0,$.jsxs)(hH,{size:4,wrap:!0,children:[t.duration?(0,$.jsxs)(EZ,{children:[t.duration,`s`]}):null,t.aspectRatio?(0,$.jsx)(EZ,{children:t.aspectRatio}):null,t.resolution?(0,$.jsx)(EZ,{children:t.resolution}):null]}):(0,$.jsx)(EZ,{color:`default`,children:`待配置`}):t.imageSize||t.imageProportion||t.imagePx?(0,$.jsxs)(hH,{size:4,wrap:!0,children:[t.imageSize?(0,$.jsx)(EZ,{children:t.imageSize}):null,t.imageProportion?(0,$.jsx)(EZ,{children:t.imageProportion}):null,t.imagePx?(0,$.jsx)(EZ,{children:t.imagePx}):null]}):(0,$.jsx)(EZ,{color:`default`,children:`待配置`})},{title:`积分`,key:`credits`,width:120,render:(e,t)=>(0,$.jsxs)(`div`,{style:{fontSize:12},children:[t.textCreditsCost>0?(0,$.jsxs)(`div`,{style:{color:`#f59e0b`},children:[`文字: `,t.textCreditsCost]}):null,t.creditsCost>0?(0,$.jsxs)(`div`,{style:{color:`#6366f1`},children:[t.genType===`video`?`视频`:`图片`,`: `,t.creditsCost]}):null,t.textCreditsCost===0&&t.creditsCost===0?(0,$.jsx)(Q.Text,{style:{color:`#94a3b8`},children:`0`}):null]})},{title:`状态`,dataIndex:`status`,width:90,render:e=>{let t=z8[e]||{color:`default`,text:e||`-`,icon:null};return(0,$.jsx)(EZ,{color:t.color,icon:t.icon,children:t.text})}},{title:`时间`,key:`time`,width:150,render:(e,t)=>(0,$.jsxs)(`div`,{style:{fontSize:12,color:`#94a3b8`},children:[(0,$.jsx)(`div`,{children:G8(t.createdAt)}),t.generatedAt?(0,$.jsxs)(`div`,{style:{color:`#10b981`},children:[`生成: `,G8(t.generatedAt)]}):null]})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(hH,{size:4,wrap:!0,children:[(0,$.jsx)(mD,{size:`small`,icon:(0,$.jsx)(xU,{}),onClick:()=>k(t),children:`详情`}),t.status===`generating`?(0,$.jsx)(mD,{size:`small`,danger:!0,loading:C===t.id,onClick:()=>{mG.confirm({title:`确认操作`,icon:(0,$.jsx)(n0,{}),content:`确定将此记录标记为失败?`,onOk:()=>F(t.id,`failed`)})},children:`标记失败`}):null,t.status===`failed`?(0,$.jsx)(mD,{size:`small`,type:`primary`,danger:!0,loading:C===t.id,onClick:()=>E({record:t,ratio:t.aspectRatio||`16:9`,resolution:t.resolution||`720p`,image_size:t.imageSize||`2K`}),children:`重试生成`}):null,t.status===`prompt_optimized`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(mD,{size:`small`,type:`primary`,loading:C===t.id,onClick:()=>E({record:t,ratio:t.aspectRatio||`16:9`,resolution:t.resolution||`720p`,image_size:t.imageSize||`2K`}),style:{background:`#6366f1`,border:`none`},children:[`生成`,t.genType===`video`?`视频`:`图片`]}),(0,$.jsx)(mD,{size:`small`,danger:!0,loading:C===t.id,onClick:()=>{mG.confirm({title:`确认操作`,icon:(0,$.jsx)(n0,{}),content:`确定将此记录标记为失败?`,onOk:()=>F(t.id,`failed`)})},children:`标记失败`})]}):null]})}],[k,C]),R=h?B8[h.genType||``]||{text:h.genType||`-`,color:`default`,icon:null}:null,z=h?z8[h.status]||{color:`default`,text:h.status||`-`,icon:null}:null,B=()=>{if(!h||h.genType!==`image`||h.status!==`completed`)return null;if(!h.imageUrl)return(0,$.jsx)($8,{text:`此图片任务暂无结果图片`,minHeight:260});if(_.image===`invalid`)return(0,$.jsx)($8,{text:Q8(h.imageUrl,`图片`),minHeight:260});let e=U8(h.imageUrl);return(0,$.jsxs)(`div`,{title:`点击新页面查看图片`,onClick:()=>N(h.imageUrl,`生成图片`),style:{position:`relative`,width:`100%`,minHeight:260,borderRadius:12,background:`#f8f9fc`,border:`1px solid #e2e8f0`,overflow:`hidden`,display:`flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`},children:[(0,$.jsx)(`img`,{src:e,alt:`生成图片`,onLoad:()=>j({image:`valid`}),onError:()=>j({image:`invalid`}),style:{display:_.image===`valid`?`block`:`none`,width:`100%`,maxHeight:560,objectFit:`contain`,background:`#fff`}},`${h.id}-${e}`),_.image===`checking`?(0,$.jsx)($8,{text:`图片加载检测中...`,minHeight:260}):null]})},V=()=>{if(!h||y||_.video===`invalid`)return null;let e=h.videoUrl?(0,$.jsx)(mD,{type:`primary`,shape:`circle`,size:`large`,icon:(0,$.jsx)(M2,{}),onClick:P,style:{boxShadow:`0 8px 20px rgba(15,23,42,0.25)`}}):null;if(!h.videoCoverUrl)return(0,$.jsx)(`div`,{style:{position:`absolute`,inset:0,borderRadius:12,overflow:`hidden`,background:`#f8f9fc`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,$.jsx)($8,{text:`此视频无封面`,minHeight:340,action:e})});if(_.videoCover===`invalid`)return(0,$.jsx)($8,{text:Q8(h.videoCoverUrl,`视频封面`),minHeight:340,action:e});let t=U8(h.videoCoverUrl);return(0,$.jsxs)(`div`,{style:{position:`absolute`,inset:0,borderRadius:12,overflow:`hidden`,background:`#f8f9fc`,border:`1px solid #e2e8f0`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,$.jsx)(`img`,{src:t,alt:`视频封面`,onLoad:()=>j({videoCover:`valid`}),onError:()=>j({videoCover:`invalid`}),style:{display:_.videoCover===`valid`?`block`:`none`,width:`100%`,height:`100%`,objectFit:`contain`,background:`#000`}},`${h.id}-cover-${t}`),_.videoCover===`checking`?(0,$.jsx)($8,{text:`视频封面加载检测中...`,minHeight:340,action:e}):null,_.videoCover===`valid`?(0,$.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`rgba(15,23,42,0.18)`},children:e}):null]})},H=()=>{if(!h||h.genType!==`video`||h.status!==`completed`)return null;if(!h.videoUrl)return(0,$.jsx)($8,{text:`此视频任务暂无结果视频`,minHeight:340});if(_.video===`invalid`)return(0,$.jsx)($8,{text:Q8(h.videoUrl,`视频`),minHeight:340});let e=U8(h.videoUrl);return(0,$.jsxs)(`div`,{style:{position:`relative`,width:`100%`,height:340,borderRadius:12,background:`#000`,overflow:`hidden`,border:`1px solid #e2e8f0`},children:[(0,$.jsx)(`video`,{ref:S,src:e,preload:`metadata`,controls:y,onLoadedMetadata:()=>j({video:`valid`}),onCanPlay:()=>j({video:`valid`}),onPlaying:()=>{b(!0),j({video:`valid`})},onPause:()=>b(!1),onEnded:()=>b(!1),onError:()=>{b(!1),j({video:`invalid`})},style:{width:`100%`,height:`100%`,objectFit:`contain`,background:`#000`,opacity:+!!y,pointerEvents:y?`auto`:`none`}},`${h.id}-${e}`),V()]})},U=(e,t)=>{let n=Y8(e),r=X8(e),i=Z8(e,t),a=_.references[i]||J8(n),o=r===`image`,s=r===`video`,c=typeof e.name==`string`&&e.name?e.name:`参考素材 ${t+1}`;if(!n)return(0,$.jsxs)(`div`,{style:{width:94},children:[(0,$.jsx)(`div`,{style:{width:94,height:94},children:(0,$.jsx)($8,{text:`无链接`,compact:!0})}),(0,$.jsx)(Q.Text,{ellipsis:!0,style:{display:`block`,marginTop:4,fontSize:11,color:`#94a3b8`},children:c})]},i);if(a===`invalid`)return(0,$.jsxs)(`div`,{style:{width:94},children:[(0,$.jsx)(`div`,{style:{width:94,height:94},children:(0,$.jsx)($8,{text:H8(n)?`本地临时素材已失效`:`素材不可访问`,compact:!0})}),(0,$.jsx)(Bw,{title:c,children:(0,$.jsx)(Q.Text,{ellipsis:!0,style:{display:`block`,marginTop:4,fontSize:11,color:`#94a3b8`},children:c})})]},i);let l=U8(n);return(0,$.jsxs)(`div`,{style:{width:94},children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,title:`点击新页面查看素材`,onClick:()=>N(n,s?`视频素材`:o?`图片素材`:`素材`),onKeyDown:e=>{e.key===`Enter`&&N(n,s?`视频素材`:o?`图片素材`:`素材`)},style:{width:94,height:94,borderRadius:10,overflow:`hidden`,border:`1px solid #e2e8f0`,background:`#f8f9fc`,position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`},children:[o?(0,$.jsx)(`img`,{src:l,alt:c,onLoad:()=>M(i,`valid`),onError:()=>M(i,`invalid`),style:{display:a===`valid`?`block`:`none`,width:`100%`,height:`100%`,objectFit:`cover`}}):null,s?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`video`,{src:l,preload:`metadata`,onLoadedMetadata:()=>M(i,`valid`),onError:()=>M(i,`invalid`),style:{display:`none`}}),(0,$.jsxs)(`div`,{style:{color:`#64748b`,fontSize:12,textAlign:`center`},children:[(0,$.jsx)(M2,{style:{fontSize:18}}),(0,$.jsx)(`div`,{children:`视频素材`}),(0,$.jsx)(`div`,{style:{fontSize:10,color:`#94a3b8`,marginTop:2},children:`点击查看`})]})]}):null,!o&&!s?(0,$.jsxs)(`div`,{style:{color:`#64748b`,fontSize:12,textAlign:`center`},children:[`文件素材`,(0,$.jsx)(`div`,{style:{fontSize:10,color:`#94a3b8`,marginTop:2},children:`点击查看`})]}):null,a===`checking`&&o?(0,$.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`#f8f9fc`},children:(0,$.jsx)(um,{style:{color:`#6366f1`}})}):null]}),(0,$.jsx)(Bw,{title:c,children:(0,$.jsx)(Q.Text,{ellipsis:!0,style:{display:`block`,marginTop:4,fontSize:11,color:`#94a3b8`},children:c})})]},i)};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16,flexWrap:`wrap`,gap:12},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(m3,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`生成记录管理`}),(0,$.jsxs)(EZ,{color:`purple`,children:[n,` 条记录`]})]}),(0,$.jsxs)(hH,{children:[(0,$.jsx)(ZC,{placeholder:`状态筛选`,allowClear:!0,style:{width:120},value:l||void 0,onChange:e=>{u(e||``),s(1)},options:[{value:`optimizing`,label:`优化中`},{value:`prompt_optimized`,label:`待生成`},{value:`generating`,label:`生成中`},{value:`completed`,label:`已完成`},{value:`failed`,label:`失败`}]}),(0,$.jsx)(UU,{placeholder:`用户ID搜索`,prefix:(0,$.jsx)(KC,{style:{color:`#94a3b8`}}),style:{width:200},value:d,onChange:e=>f(e.target.value),onPressEnter:O,allowClear:!0}),(0,$.jsx)(mD,{type:`primary`,onClick:O,style:{borderRadius:8},children:`搜索`})]})]}),(0,$.jsx)(pZ,{columns:L,dataSource:e,rowKey:`id`,loading:i,scroll:{x:1120},pagination:{current:o,pageSize:c,total:n,onChange:s,showSizeChanger:!1,showTotal:e=>`共 ${e} 条`}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[h?.genType===`video`?(0,$.jsx)(m3,{}):(0,$.jsx)(c0,{}),(0,$.jsx)(`span`,{children:`生成记录详情`})]}),open:!!h,onCancel:A,footer:null,width:900,destroyOnClose:!0,children:h?(0,$.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:16,marginTop:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,flexWrap:`wrap`},children:[(0,$.jsxs)(`div`,{style:{flex:1,minWidth:150,padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:`用户`}),(0,$.jsx)(Q.Text,{strong:!0,children:h.username||`-`})]}),(0,$.jsxs)(`div`,{style:{flex:1,minWidth:150,padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:`项目`}),(0,$.jsx)(Q.Text,{strong:!0,children:h.projectName||`-`})]}),(0,$.jsxs)(`div`,{style:{flex:1,minWidth:150,padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:`类型 / 状态`}),(0,$.jsxs)(hH,{size:4,wrap:!0,children:[R?(0,$.jsx)(EZ,{color:R.color,icon:R.icon,children:R.text}):null,z?(0,$.jsx)(EZ,{color:z.color,icon:z.icon,children:z.text}):null]})]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:`原始提示词`}),(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`,border:`1px solid #f0f0f5`},children:(0,$.jsx)(Q.Text,{style:{fontSize:13,color:`#475569`,lineHeight:1.7},children:h.originalPrompt||`-`})})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:`优化后提示词`}),(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`rgba(99,102,241,0.02)`,border:`1px solid rgba(99,102,241,0.1)`},children:(0,$.jsx)(Q.Text,{style:{fontSize:13,color:`#1a1a2e`,lineHeight:1.7},children:h.optimizedPrompt||`-`})})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(e5,{label:`文字积分`,value:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Q.Text,{strong:!0,style:{color:`#f59e0b`},children:h.textCreditsCost||0}),(0,$.jsxs)(Q.Text,{style:{fontSize:11,color:`#94a3b8`},children:[` (`,h.textTokensUsed||0,` tokens)`]})]})}),(0,$.jsx)(e5,{label:`${h.genType===`image`?`图片`:`视频`}积分`,value:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Q.Text,{strong:!0,style:{color:`#6366f1`},children:h.creditsCost||0}),h.genType===`video`&&h.videoTokensUsed?(0,$.jsxs)(Q.Text,{style:{fontSize:11,color:`#94a3b8`},children:[` (`,h.videoTokensUsed,` tokens)`]}):null,h.genType===`image`&&h.imageTokensUsed?(0,$.jsxs)(Q.Text,{style:{fontSize:11,color:`#94a3b8`},children:[` (`,h.imageTokensUsed,` tokens)`]}):null]})}),(0,$.jsx)(e5,{label:`总积分`,value:(h.textCreditsCost||0)+(h.creditsCost||0)})]}),h.genType===`video`?h.duration||h.aspectRatio||h.resolution?(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(e5,{label:`时长`,value:h.duration?`${h.duration}秒`:`-`}),(0,$.jsx)(e5,{label:`比例`,value:h.aspectRatio||`-`}),(0,$.jsx)(e5,{label:`分辨率`,value:h.resolution||`-`})]}):(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`,textAlign:`center`},children:(0,$.jsx)(EZ,{color:`default`,children:`视频参数待用户配置`})}):null,h.genType===`image`?h.imageSize||h.imageProportion||h.imagePx?(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(e5,{label:`尺寸`,value:h.imagePx||`-`}),(0,$.jsx)(e5,{label:`比例`,value:h.imageProportion||`-`}),(0,$.jsx)(e5,{label:`分辨率`,value:h.imageSize||`-`})]}):(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`,textAlign:`center`},children:(0,$.jsx)(EZ,{color:`default`,children:`图片参数待用户配置`})}):null,!h?.references||h.references.length===0?null:(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:`参考内容`}),(0,$.jsx)(`div`,{style:{display:`flex`,gap:10,flexWrap:`wrap`},children:h.references.map((e,t)=>U(e,t))})]}),h.status===`completed`?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:h.genType===`video`?`生成视频`:`生成图片`}),h.genType===`video`?H():B()]}):null,h.status===`failed`&&h.errorMessage?(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`rgba(239,68,68,0.04)`,border:`1px solid rgba(239,68,68,0.15)`},children:(0,$.jsxs)(Q.Text,{style:{fontSize:12,color:`#ef4444`},children:[`错误信息: `,h.errorMessage]})}):null,(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,fontSize:12,color:`#94a3b8`,flexWrap:`wrap`},children:[(0,$.jsxs)(`span`,{children:[`创建: `,G8(h.createdAt)]}),(0,$.jsxs)(`span`,{children:[`生成: `,G8(h.generatedAt)]})]})]}):(0,$.jsx)(xC,{description:`暂无详情`})}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[T&&(T.record.genType===`video`?(0,$.jsx)(M2,{}):(0,$.jsx)(c0,{})),T&&(T.record.genType===`video`?`生成视频`:`生成图片`)]}),open:!!T,onCancel:()=>E(null),onOk:I,okText:`提交生成`,cancelText:`取消`,confirmLoading:T?C===T.record.id:!1,width:420,children:T?(0,$.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:16,marginTop:16},children:T.record.genType===`video`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:`时长`}),(0,$.jsxs)(Q.Text,{strong:!0,children:[T.record.duration||5,`s`]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#64748b`,display:`block`,marginBottom:6},children:`画面比例`}),(0,$.jsx)(ZC,{value:T.ratio,onChange:e=>E(t=>t?{...t,ratio:e}:null),style:{width:`100%`},options:[`16:9`,`4:3`,`1:1`,`3:4`,`9:16`,`21:9`].map(e=>({value:e,label:e}))})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#64748b`,display:`block`,marginBottom:6},children:`分辨率`}),(0,$.jsx)(ZC,{value:T.resolution,onChange:e=>E(t=>t?{...t,resolution:e}:null),style:{width:`100%`},options:[`480p`,`720p`,`1080p`].map(e=>({value:e,label:e}))})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:`尺寸`}),(0,$.jsx)(Q.Text,{strong:!0,children:T.record.imagePx||`-`})]}),(0,$.jsxs)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:`比例`}),(0,$.jsx)(Q.Text,{strong:!0,children:T.record.imageProportion||`-`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#64748b`,display:`block`,marginBottom:6},children:`分辨率`}),(0,$.jsx)(ZC,{value:T.image_size,onChange:e=>E(t=>t?{...t,image_size:e}:null),style:{width:`100%`},options:[`2K`,`4K`].map(e=>({value:e,label:e}))})]})]})}):null})]})},n5=`http://ceshi.apiforeign.minzhong.cn`.replace(/\/api\/?$/i,``).replace(/\/$/,``),r5=20,i5={image:`empty`,video:`empty`,videoCover:`empty`,references:{}},a5={pending:{color:`default`,text:`待处理`,icon:(0,$.jsx)($V,{})},generating:{color:`warning`,text:`生成中`,icon:(0,$.jsx)(um,{spin:!0})},completed:{color:`success`,text:`已完成`,icon:(0,$.jsx)(C1,{})},failed:{color:`error`,text:`失败`,icon:(0,$.jsx)(E1,{})}},o5={timeout:`任务超时`,queued:`已入队`,preparing:`准备中`,creating_provider_task:`创建任务中`,waiting_remote:`等待生成`,result_ready:`结果就绪`,downloading:`下载中`,done:`完成`,download_failed:`下载失败`,polling:`轮询中`,failed:`失败`},s5={image:{text:`图片`,color:`purple`,icon:(0,$.jsx)(c0,{})},video:{text:`视频`,color:`geekblue`,icon:(0,$.jsx)(m3,{})}},c5=e=>/^(https?:)?\/\//i.test(e)||/^(blob|data):/i.test(e),l5=e=>!!e&&/^blob:/i.test(e.trim()),u5=e=>{if(!e)return``;let t=String(e).trim();return t?c5(t)?t:n5?`${n5}${t.startsWith(`/`)?t:`/${t}`}`:t.startsWith(`/`)?t:`/${t}`:``},d5=e=>e?e.length>12?`${e.slice(0,8)}...`:e:`-`,f5=e=>e?$6(e):`-`,p5=e=>e==null||e===``,m5=e=>{if(!e||l5(e))return!1;try{let t=new URL(u5(e),window.location.origin),n=t.searchParams.get(`exp`)||t.searchParams.get(`expires`)||t.searchParams.get(`expire`)||t.searchParams.get(`expires_at`)||t.searchParams.get(`x-expires`);if(!n)return!1;let r=Number(n);if(!Number.isFinite(r))return!1;let i=r>1e10?r:r*1e3;return Date.now()>=i}catch{return!1}},h5=e=>e?l5(e)||m5(e)?`invalid`:`checking`:`empty`,g5=e=>{let t=e.url||e.mediaUrl||e.fileUrl;return typeof t==`string`&&t.trim()?t.trim():void 0},_5=e=>{let t=String(e.type||e.mediaType||e.mimeType||``).toLowerCase(),n=g5(e)?.toLowerCase()||``;return t.includes(`video`)||/\.(mp4|mov|webm|m4v)(\?|$)/i.test(n)?`video`:t.includes(`image`)||/\.(png|jpe?g|webp|gif|bmp|svg)(\?|$)/i.test(n)?`image`:t||`unknown`},v5=(e,t)=>`${t}-${g5(e)||`empty`}`,y5=(e,t=`资源`)=>l5(e)?`本地临时素材已失效`:m5(e)?`${t}链接已超时,请刷新列表或重新搜索后再查看`:`${t}加载失败,请刷新列表或重新搜索后再查看`,b5=({text:e,minHeight:t=240,compact:n=!1,action:r})=>(0,$.jsxs)(`div`,{style:{width:`100%`,minHeight:n?void 0:t,height:n?`100%`:void 0,borderRadius:n?10:12,background:`#f8f9fc`,border:`1px dashed #cbd5e1`,color:`#64748b`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:n?4:10,textAlign:`center`},children:[(0,$.jsx)(Q.Text,{style:{color:`#64748b`,fontSize:n?11:13},children:e}),r]}),x5=({label:e,value:t})=>(0,$.jsxs)(`div`,{style:{flex:1,minWidth:120},children:[(0,$.jsx)(Q.Text,{style:{fontSize:11,color:`#94a3b8`,display:`block`},children:e}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:14},children:p5(t)?`-`:t})]}),S5=()=>{let[e,t]=(0,x.useState)([]),[n,r]=(0,x.useState)(0),[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(1),[c,l]=(0,x.useState)(``),[u,d]=(0,x.useState)(``),[f,p]=(0,x.useState)(``),[m,h]=(0,x.useState)(``),[g,_]=(0,x.useState)(``),[v,y]=(0,x.useState)(``),[b,S]=(0,x.useState)(0),[C,w]=(0,x.useState)(null),[T,E]=(0,x.useState)(i5),[D,O]=(0,x.useState)(!1),k=(0,x.useRef)(null),A=(0,x.useCallback)(async()=>{a(!0);try{let e=await W6({genType:u||void 0,status:c||void 0,userId:g||void 0,userName:v||void 0,page:o,pageSize:r5});t(e.items||[]),r(e.total||0)}catch(e){dG.error(e?.message||`加载创作记录失败`)}finally{a(!1)}},[u,c,o,g,v]);(0,x.useEffect)(()=>{A()},[A,b]),(0,x.useEffect)(()=>{if(!C){E(i5);return}let e=(C.mediaReferences||[]).reduce((e,t,n)=>{let r=g5(t);return e[v5(t,n)]=h5(r),e},{});k.current&&(k.current.pause(),k.current.currentTime=0),O(!1),E({image:h5(C.imageUrl),video:h5(C.videoUrl),videoCover:h5(C.videoCoverUrl),references:e})},[C]);let j=()=>{s(1),_(f.trim()),y(m.trim()),S(e=>e+1)},M=(0,x.useCallback)(e=>{w(e)},[]),N=()=>{k.current&&k.current.pause(),O(!1),w(null)},P=e=>{E(t=>({...t,...e}))},F=(e,t)=>{E(n=>({...n,references:{...n.references,[e]:t}}))},I=()=>{if(C?.videoUrl){if(m5(C.videoUrl)){P({video:`invalid`}),dG.warning(`视频链接已超时,请刷新列表或重新搜索后再查看`);return}O(!0),window.setTimeout(()=>{k.current?.play().catch(()=>{O(!1),P({video:`invalid`}),dG.warning(`视频播放失败,请确认资源链接是否仍然有效`)})},0)}},L=(e,t=`素材`)=>{if(!e){dG.warning(`${t}链接为空,暂无法查看`);return}if(l5(e)){dG.warning(`本地临时素材已失效,暂无法查看`);return}if(m5(e)){dG.warning(`${t}链接已超时,请刷新列表或重新搜索后再查看`);return}window.open(u5(e),`_blank`,`noopener,noreferrer`)},R=(0,x.useMemo)(()=>[{title:`用户`,key:`user`,width:150,render:(e,t)=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:13},children:t.userName||`未知用户`}),(0,$.jsx)(`div`,{style:{fontSize:11,color:`#94a3b8`},children:d5(t.userId)})]})},{title:`类型`,dataIndex:`genType`,width:90,render:e=>{let t=s5[e]||{text:e||`-`,color:`default`,icon:null};return(0,$.jsx)(EZ,{color:t.color,icon:t.icon,children:t.text})}},{title:`提示词`,key:`prompt`,ellipsis:!0,render:(e,t)=>(0,$.jsx)(Bw,{title:t.originalPrompt,placement:`topLeft`,children:(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#475569`},ellipsis:!0,children:t.originalPrompt||`-`})})},{title:`参数`,key:`params`,width:180,render:(e,t)=>t.genType===`video`?t.duration||t.aspectRatio||t.resolution?(0,$.jsxs)(hH,{size:4,wrap:!0,children:[t.duration?(0,$.jsxs)(EZ,{children:[t.duration,`s`]}):null,t.aspectRatio?(0,$.jsx)(EZ,{children:t.aspectRatio}):null,t.resolution?(0,$.jsx)(EZ,{children:t.resolution}):null]}):(0,$.jsx)(EZ,{color:`default`,children:`无参数`}):t.imageSize||t.imageProportion||t.imagePx?(0,$.jsxs)(hH,{size:4,wrap:!0,children:[t.imageSize?(0,$.jsx)(EZ,{children:t.imageSize}):null,t.imageProportion?(0,$.jsx)(EZ,{children:t.imageProportion}):null,t.imagePx?(0,$.jsx)(EZ,{children:t.imagePx}):null]}):(0,$.jsx)(EZ,{color:`default`,children:`无参数`})},{title:`积分`,key:`credits`,width:130,render:(e,t)=>(0,$.jsxs)(`div`,{style:{fontSize:12},children:[(0,$.jsxs)(`div`,{style:{color:`#6366f1`},children:[`总: `,t.creditsCost||0]}),t.textCreditsCost>0?(0,$.jsxs)(`div`,{style:{color:`#f59e0b`},children:[`文字: `,t.textCreditsCost]}):null]})},{title:`状态`,dataIndex:`status`,width:100,render:e=>{let t=a5[e]||{color:`default`,text:e||`-`,icon:null};return(0,$.jsx)(EZ,{color:t.color,icon:t.icon,children:t.text})}},{title:`阶段`,dataIndex:`pipelineStage`,width:120,render:e=>(0,$.jsx)(EZ,{color:`blue`,children:o5[e]||e||`-`})},{title:`时间`,key:`time`,width:170,render:(e,t)=>(0,$.jsxs)(`div`,{style:{fontSize:12,color:`#94a3b8`},children:[(0,$.jsx)(`div`,{children:f5(t.createdAt)}),t.generatedAt?(0,$.jsxs)(`div`,{style:{color:`#10b981`},children:[`生成: `,f5(t.generatedAt)]}):null]})},{title:`操作`,key:`action`,width:90,fixed:`right`,render:(e,t)=>(0,$.jsx)(mD,{size:`small`,icon:(0,$.jsx)(xU,{}),onClick:()=>M(t),children:`详情`})}],[M]),z=C?s5[C.genType]||{text:C.genType||`-`,color:`default`,icon:null}:null,B=C?a5[C.status]||{color:`default`,text:C.status||`-`,icon:null}:null,V=()=>{if(!C||C.genType!==`image`||C.status!==`completed`)return null;if(!C.imageUrl)return(0,$.jsx)(b5,{text:`此图片任务暂无结果图片`,minHeight:260});if(T.image===`invalid`)return(0,$.jsx)(b5,{text:y5(C.imageUrl,`图片`),minHeight:260});let e=u5(C.imageUrl);return(0,$.jsxs)(`div`,{style:{position:`relative`,width:`100%`,minHeight:260,borderRadius:12,background:`#f8f9fc`,border:`1px solid #e2e8f0`,overflow:`hidden`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,$.jsx)(`img`,{src:e,alt:`生成图片`,onLoad:()=>P({image:`valid`}),onError:()=>P({image:`invalid`}),style:{display:T.image===`valid`?`block`:`none`,width:`100%`,maxHeight:560,objectFit:`contain`,background:`#fff`}},`${C.id}-${e}`),T.image===`checking`?(0,$.jsx)(b5,{text:`图片加载检测中...`,minHeight:260}):null]})},H=()=>{if(!C||D||T.video===`invalid`)return null;let e=C.videoUrl?(0,$.jsx)(mD,{type:`primary`,shape:`circle`,size:`large`,icon:(0,$.jsx)(M2,{}),onClick:I,style:{boxShadow:`0 8px 20px rgba(15,23,42,0.25)`}}):null;if(!C.videoCoverUrl)return(0,$.jsx)(`div`,{style:{position:`absolute`,inset:0,borderRadius:12,overflow:`hidden`,background:`#f8f9fc`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,$.jsx)(b5,{text:`此视频无封面`,minHeight:340,action:e})});if(T.videoCover===`invalid`)return(0,$.jsx)(b5,{text:y5(C.videoCoverUrl,`视频封面`),minHeight:340,action:e});let t=u5(C.videoCoverUrl);return(0,$.jsxs)(`div`,{style:{position:`absolute`,inset:0,borderRadius:12,overflow:`hidden`,background:`#f8f9fc`,border:`1px solid #e2e8f0`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,$.jsx)(`img`,{src:t,alt:`视频封面`,onLoad:()=>P({videoCover:`valid`}),onError:()=>P({videoCover:`invalid`}),style:{display:T.videoCover===`valid`?`block`:`none`,width:`100%`,height:`100%`,objectFit:`contain`,background:`#000`}},`${C.id}-cover-${t}`),T.videoCover===`checking`?(0,$.jsx)(b5,{text:`视频封面加载检测中...`,minHeight:340,action:e}):null,T.videoCover===`valid`?(0,$.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`rgba(15,23,42,0.18)`},children:e}):null]})},U=()=>{if(!C||C.genType!==`video`||C.status!==`completed`)return null;if(!C.videoUrl)return(0,$.jsx)(b5,{text:`此视频任务暂无结果视频`,minHeight:340});if(T.video===`invalid`)return(0,$.jsx)(b5,{text:y5(C.videoUrl,`视频`),minHeight:340});let e=u5(C.videoUrl);return(0,$.jsxs)(`div`,{style:{position:`relative`,width:`100%`,height:340,borderRadius:12,background:`#000`,overflow:`hidden`,border:`1px solid #e2e8f0`},children:[(0,$.jsx)(`video`,{ref:k,src:e,preload:`metadata`,controls:D,onLoadedMetadata:()=>P({video:`valid`}),onCanPlay:()=>P({video:`valid`}),onPlaying:()=>{O(!0),P({video:`valid`})},onPause:()=>O(!1),onEnded:()=>O(!1),onError:()=>{O(!1),P({video:`invalid`})},style:{width:`100%`,height:`100%`,objectFit:`contain`,background:`#000`,opacity:+!!D,pointerEvents:D?`auto`:`none`}},`${C.id}-${e}`),H()]})},W=(e,t)=>{let n=g5(e),r=_5(e),i=v5(e,t),a=T.references[i]||h5(n),o=r===`image`,s=r===`video`,c=typeof e.name==`string`&&e.name?e.name:`参考素材 ${t+1}`;if(!n)return(0,$.jsxs)(`div`,{style:{width:94},children:[(0,$.jsx)(`div`,{style:{width:94,height:94},children:(0,$.jsx)(b5,{text:`无链接`,compact:!0})}),(0,$.jsx)(Q.Text,{ellipsis:!0,style:{display:`block`,marginTop:4,fontSize:11,color:`#94a3b8`},children:c})]},i);if(a===`invalid`)return(0,$.jsxs)(`div`,{style:{width:94},children:[(0,$.jsx)(`div`,{style:{width:94,height:94},children:(0,$.jsx)(b5,{text:l5(n)?`本地临时素材已失效`:`素材不可访问`,compact:!0})}),(0,$.jsx)(Bw,{title:c,children:(0,$.jsx)(Q.Text,{ellipsis:!0,style:{display:`block`,marginTop:4,fontSize:11,color:`#94a3b8`},children:c})})]},i);let l=u5(n);return(0,$.jsxs)(`div`,{style:{width:94},children:[(0,$.jsxs)(`div`,{role:`button`,tabIndex:0,title:`点击新页面查看素材`,onClick:()=>L(n,s?`视频素材`:o?`图片素材`:`素材`),onKeyDown:e=>{e.key===`Enter`&&L(n,s?`视频素材`:o?`图片素材`:`素材`)},style:{width:94,height:94,borderRadius:10,overflow:`hidden`,border:`1px solid #e2e8f0`,background:`#f8f9fc`,position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`},children:[o?(0,$.jsx)(`img`,{src:l,alt:c,onLoad:()=>F(i,`valid`),onError:()=>F(i,`invalid`),style:{display:a===`valid`?`block`:`none`,width:`100%`,height:`100%`,objectFit:`cover`}}):null,s?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`video`,{src:l,preload:`metadata`,onLoadedMetadata:()=>F(i,`valid`),onError:()=>F(i,`invalid`),style:{display:`none`}}),(0,$.jsxs)(`div`,{style:{color:`#64748b`,fontSize:12,textAlign:`center`},children:[(0,$.jsx)(M2,{style:{fontSize:18}}),(0,$.jsx)(`div`,{children:`视频素材`}),(0,$.jsx)(`div`,{style:{fontSize:10,color:`#94a3b8`,marginTop:2},children:`点击查看`})]})]}):null,!o&&!s?(0,$.jsxs)(`div`,{style:{color:`#64748b`,fontSize:12,textAlign:`center`},children:[`文件素材`,(0,$.jsx)(`div`,{style:{fontSize:10,color:`#94a3b8`,marginTop:2},children:`点击查看`})]}):null,a===`checking`&&o?(0,$.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`#f8f9fc`},children:(0,$.jsx)(um,{style:{color:`#6366f1`}})}):null]}),(0,$.jsx)(Bw,{title:c,children:(0,$.jsx)(Q.Text,{ellipsis:!0,style:{display:`block`,marginTop:4,fontSize:11,color:`#94a3b8`},children:c})})]},i)};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(Xz,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16,flexWrap:`wrap`,gap:12},children:[(0,$.jsxs)(hH,{children:[(0,$.jsx)(M2,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`创作记录管理`}),(0,$.jsxs)(EZ,{color:`purple`,children:[n,` 条记录`]})]}),(0,$.jsxs)(hH,{children:[(0,$.jsx)(ZC,{allowClear:!0,placeholder:`状态筛选`,value:c||void 0,style:{width:140},onChange:e=>{l(e||``),s(1)},options:[{value:`generating`,label:`生成中`},{value:`completed`,label:`已完成`},{value:`failed`,label:`失败`}]}),(0,$.jsx)(ZC,{allowClear:!0,placeholder:`类型筛选`,value:u||void 0,style:{width:120},onChange:e=>{d(e||``),s(1)},options:[{value:`image`,label:`图片`},{value:`video`,label:`视频`}]}),(0,$.jsx)(UU,{placeholder:`用户ID搜索`,prefix:(0,$.jsx)(KC,{style:{color:`#94a3b8`}}),style:{width:180},value:f,onChange:e=>p(e.target.value),onPressEnter:j,allowClear:!0}),(0,$.jsx)(UU,{placeholder:`用户名搜索`,prefix:(0,$.jsx)(KC,{style:{color:`#94a3b8`}}),style:{width:160},value:m,onChange:e=>h(e.target.value),onPressEnter:j,allowClear:!0}),(0,$.jsx)(mD,{type:`primary`,onClick:j,style:{borderRadius:8},children:`搜索`})]})]}),(0,$.jsx)(pZ,{rowKey:`id`,loading:i,columns:R,dataSource:e,scroll:{x:1180},pagination:{current:o,pageSize:r5,total:n,showSizeChanger:!1,showTotal:e=>`共 ${e} 条`,onChange:e=>s(e)}})]}),(0,$.jsx)(mG,{title:(0,$.jsxs)(hH,{children:[C?.genType===`video`?(0,$.jsx)(m3,{}):(0,$.jsx)(c0,{}),(0,$.jsx)(`span`,{children:`创作记录详情`})]}),open:!!C,onCancel:N,footer:null,width:900,destroyOnClose:!0,children:C?(0,$.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:16,marginTop:12},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,gap:12,flexWrap:`wrap`},children:[z?(0,$.jsx)(EZ,{color:z.color,icon:z.icon,children:z.text}):null,B?(0,$.jsx)(EZ,{color:B.color,icon:B.icon,children:B.text}):null,C.pipelineStage?(0,$.jsx)(EZ,{color:`blue`,children:o5[C.pipelineStage]||C.pipelineStage}):null]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(x5,{label:`用户名称`,value:C.userName||`未知用户`}),(0,$.jsx)(x5,{label:`用户ID`,value:C.userId||`-`}),(0,$.jsx)(x5,{label:`任务ID`,value:C.id})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:`原始提示词`}),(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`,lineHeight:1.6},children:C.originalPrompt||`-`})]}),C.genType===`video`?(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(x5,{label:`时长`,value:C.duration?`${C.duration}秒`:`-`}),(0,$.jsx)(x5,{label:`画面比例`,value:C.aspectRatio||`-`}),(0,$.jsx)(x5,{label:`分辨率`,value:C.resolution||`-`})]}):(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(x5,{label:`图片档位`,value:C.imageSize||`-`}),(0,$.jsx)(x5,{label:`图片比例`,value:C.imageProportion||`-`}),(0,$.jsx)(x5,{label:`像素尺寸`,value:C.imagePx||`-`})]}),C.engineSnapshot?(0,$.jsxs)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`},children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:8},children:`引擎快照`}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,flexWrap:`wrap`},children:[(0,$.jsx)(x5,{label:`引擎名称`,value:C.engineSnapshot.name||`-`}),(0,$.jsx)(x5,{label:`服务商`,value:C.engineSnapshot.provider||`-`}),(0,$.jsx)(x5,{label:`模型`,value:C.engineSnapshot.modelName||`-`}),(0,$.jsx)(x5,{label:`引擎ID`,value:C.engineSnapshot.id||C.engineId||`-`})]})]}):null,(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(x5,{label:`总积分`,value:(0,$.jsx)(Q.Text,{strong:!0,style:{color:`#6366f1`},children:C.creditsCost||0})}),(0,$.jsx)(x5,{label:`文字积分`,value:`${C.textCreditsCost||0} (${C.textTokensUsed||0} tokens)`}),(0,$.jsx)(x5,{label:`图片 tokens`,value:C.imageTokensUsed??0}),(0,$.jsx)(x5,{label:`视频 tokens`,value:C.videoTokensUsed??0})]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(x5,{label:`第三方任务ID`,value:C.providerTaskId||C.seedanceTaskId||`-`}),(0,$.jsx)(x5,{label:`轮询次数`,value:C.pollCount??0}),(0,$.jsx)(x5,{label:`重试次数`,value:C.retryCount??0})]}),!C?.mediaReferences||C.mediaReferences.length===0?null:(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:`参考内容`}),(0,$.jsx)(`div`,{style:{display:`flex`,gap:10,flexWrap:`wrap`},children:C.mediaReferences.map((e,t)=>W(e,t))})]}),C.status===`completed`?(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Text,{style:{fontSize:12,color:`#94a3b8`,display:`block`,marginBottom:6},children:C.genType===`video`?`生成视频`:`生成图片`}),C.genType===`video`?U():V()]}):null,C.status===`failed`&&C.errorMessage?(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`rgba(239,68,68,0.04)`,border:`1px solid rgba(239,68,68,0.15)`},children:(0,$.jsxs)(Q.Text,{style:{fontSize:12,color:`#ef4444`},children:[`错误信息: `,C.errorMessage]})}):null,(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,fontSize:12,color:`#94a3b8`,flexWrap:`wrap`},children:[(0,$.jsxs)(`span`,{children:[`创建: `,f5(C.createdAt)]}),(0,$.jsxs)(`span`,{children:[`生成: `,f5(C.generatedAt)]})]})]}):(0,$.jsx)(xC,{description:`暂无详情`})})]})},C5=({children:e})=>{let{user:t,loading:n,checkAuth:r}=G6();return(0,x.useEffect)(()=>{!localStorage.getItem(`auth_token`)&&!n&&!t&&(window.location.href=`/login`)},[t,n]),n?(0,$.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100vh`},children:(0,$.jsx)(XW,{size:`large`})}):t?(0,$.jsx)($.Fragment,{children:e}):(window.location.href=`/login`,null)};(0,Em.createRoot)(document.getElementById(`root`)).render((0,$.jsx)(()=>{let{checkAuth:e}=G6();return(0,x.useEffect)(()=>{e()},[]),(0,$.jsx)(Gp,{locale:D3.default,theme:{token:{colorPrimary:`#6366f1`,borderRadius:8},components:{Button:{controlHeight:36,controlHeightLG:44},Card:{boxShadow:`0 1px 3px rgba(0,0,0,0.04)`},Table:{headerBg:`#fafbfc`}}},children:(0,$.jsx)(fx,{children:(0,$.jsx)(pn,{children:(0,$.jsxs)(Tt,{children:[(0,$.jsx)(Ct,{path:`/login`,element:(0,$.jsx)(Z6,{})}),(0,$.jsxs)(Ct,{path:`/`,element:(0,$.jsx)(C5,{children:(0,$.jsx)(X6,{})}),children:[(0,$.jsx)(Ct,{index:!0,element:(0,$.jsx)(Q6,{})}),(0,$.jsx)(Ct,{path:`users`,element:(0,$.jsx)(e8,{})}),(0,$.jsx)(Ct,{path:`credit-records`,element:(0,$.jsx)(a8,{})}),(0,$.jsx)(Ct,{path:`models`,element:(0,$.jsx)(t8,{})}),(0,$.jsx)(Ct,{path:`credit-ratios`,element:(0,$.jsx)(T8,{})}),(0,$.jsx)(Ct,{path:`video-engines`,element:(0,$.jsx)(_8,{})}),(0,$.jsx)(Ct,{path:`image-engines`,element:(0,$.jsx)(S8,{})}),(0,$.jsx)(Ct,{path:`industries`,element:(0,$.jsx)(h8,{})}),(0,$.jsx)(Ct,{path:`menu-configs`,element:(0,$.jsx)(A8,{})}),(0,$.jsx)(Ct,{path:`recharge-packages`,element:(0,$.jsx)(N8,{})}),(0,$.jsx)(Ct,{path:`payment`,element:(0,$.jsx)(o8,{})}),(0,$.jsx)(Ct,{path:`payment-stats`,element:(0,$.jsx)(l8,{})}),(0,$.jsx)(Ct,{path:`settings`,element:(0,$.jsx)(n8,{})}),(0,$.jsx)(Ct,{path:`notifications`,element:(0,$.jsx)(r8,{})}),(0,$.jsx)(Ct,{path:`oauthapp-list`,element:(0,$.jsx)(I8,{})}),(0,$.jsx)(Ct,{path:`operation-logs`,element:(0,$.jsx)(F8,{})}),(0,$.jsx)(Ct,{path:`generation-records`,element:(0,$.jsx)(t5,{})}),(0,$.jsx)(Ct,{path:`generation-ai`,element:(0,$.jsx)(S5,{})})]}),(0,$.jsx)(Ct,{path:`*`,element:(0,$.jsx)(xt,{to:`/`,replace:!0})})]})})})})},{})); \ No newline at end of file diff --git a/video-gen-admin/dist/index.html b/video-gen-admin/dist/index.html index 3df5ccd4..1b09de89 100644 --- a/video-gen-admin/dist/index.html +++ b/video-gen-admin/dist/index.html @@ -1,13 +1,13 @@ - - - - - - - VideoGen.AI 管理后台 - - - -
- - + + + + + + + VideoGen.AI 管理后台 + + + +
+ + diff --git a/video-gen-admin/src/api/index.ts b/video-gen-admin/src/api/index.ts index 72951626..c6a37c39 100644 --- a/video-gen-admin/src/api/index.ts +++ b/video-gen-admin/src/api/index.ts @@ -86,8 +86,12 @@ export async function markNotificationRead(id: string): Promise { // ── Admin ───────────────────────────────────────────────── -export async function getAdminStats(): Promise { - return api.get('/admin/stats'); +export async function getAdminStats(startDate?: string, endDate?: string): Promise { + const params: Record = {}; + if (startDate) params.start_date = startDate; + if (endDate) params.end_date = endDate; + const query = new URLSearchParams(params).toString(); + return api.get(`/admin/stats${query ? `?${query}` : ''}`); } export async function getAdminUsers(search?: string): Promise { @@ -139,10 +143,19 @@ export async function uploadPdf(file: File, configKey: string): Promise<{ url: s return res.json(); } -export async function getCreditRecords(filters?: { user_id?: string; type?: string }): Promise { +export async function getCreditRecords(filters?: { + user_id?: string; + user_name?: string; + type?: string; + start_date?: string; + end_date?: string; +}): Promise { const params = new URLSearchParams(); if (filters?.user_id) params.set('user_id', filters.user_id); + if (filters?.user_name) params.set('user_name', filters.user_name); if (filters?.type) params.set('type', filters.type); + if (filters?.start_date) params.set('start_date', filters.start_date); + if (filters?.end_date) params.set('end_date', filters.end_date); const q = params.toString() ? `?${params}` : ''; return api.get(`/admin/credit-records${q}`); } diff --git a/video-gen-admin/src/pages/AdminCreditRecords.tsx b/video-gen-admin/src/pages/AdminCreditRecords.tsx index 6cbd36cf..2abc5fc1 100644 --- a/video-gen-admin/src/pages/AdminCreditRecords.tsx +++ b/video-gen-admin/src/pages/AdminCreditRecords.tsx @@ -1,12 +1,13 @@ import React, { useEffect, useState } from 'react'; import { - Button, Card, Select, Space, Table, Tag, Typography, message, + Button, Card, Select, Space, Table, Tag, Typography, message, Input, DatePicker, } from 'antd'; import { WalletOutlined, ArrowUpOutlined, ArrowDownOutlined, ReloadOutlined, RollbackOutlined, } from '@ant-design/icons'; import { getCreditRecords } from '../api'; import { formatDate } from '../utils/formatDate'; +import dayjs from 'dayjs'; interface CreditRecord { id: string; @@ -29,11 +30,18 @@ const AdminCreditRecords: React.FC = () => { const [total, setTotal] = useState(0); const [loading, setLoading] = useState(false); const [typeFilter, setTypeFilter] = useState(''); + const [userNameFilter, setUserNameFilter] = useState(''); + const [dateRange, setDateRange] = useState<[dayjs.Dayjs | null, dayjs.Dayjs | null]>([null, null]); - const load = async (type?: string) => { + const load = async () => { setLoading(true); try { - const res = await getCreditRecords(type ? { type } : undefined); + const filters: { type?: string; user_name?: string; start_date?: string; end_date?: string } = {}; + if (typeFilter) filters.type = typeFilter; + if (userNameFilter) filters.user_name = userNameFilter; + if (dateRange[0]) filters.start_date = dateRange[0].format('YYYY-MM-DD'); + if (dateRange[1]) filters.end_date = dateRange[1].format('YYYY-MM-DD'); + const res = await getCreditRecords(Object.keys(filters).length > 0 ? filters : undefined); setRecords(res.items || []); setTotal(res.total || 0); } catch { @@ -45,9 +53,15 @@ const AdminCreditRecords: React.FC = () => { useEffect(() => { load(); }, []); - const handleTypeFilter = (value: string) => { - setTypeFilter(value); - load(value || undefined); + const handleSearch = () => { + load(); + }; + + const handleReset = () => { + setTypeFilter(''); + setUserNameFilter(''); + setDateRange([null, null]); + load(); }; const totalRecharge = records.filter(r => r.type === 'recharge').reduce((s, r) => s + r.amount, 0); @@ -139,11 +153,11 @@ const AdminCreditRecords: React.FC = () => { -
- +
+ setUserNameFilter(e.target.value)} + style={{ width: 180 }} + allowClear + /> + { if (dates) setDateRange([dates[0], dates[1]]); }} + placeholder={['开始日期', '结束日期']} + style={{ width: 250 }} + /> + + + + + -
{ const [stats, setStats] = useState(null); const [loading, setLoading] = useState(true); + const [startDate, setStartDate] = useState<[dayjs.Dayjs | null, dayjs.Dayjs | null]>([dayjs().startOf('day'), dayjs()]); + const [siteName, setSiteName] = useState('数据概览'); + + const load = async () => { + setLoading(true); + try { + const start = startDate[0]?.format('YYYY-MM-DD') || undefined; + const end = startDate[1]?.format('YYYY-MM-DD') || undefined; + const data = await getAdminStats(start, end); + setStats(data); + } catch { /* auth error handled by client */ } + setLoading(false); + }; + + const loadSiteName = async () => { + try { + const configs = await getSystemConfigs(); + const siteConfig = configs.find((c: SystemConfig) => c.key === 'site_name'); + if (siteConfig) { + const title = `${siteConfig.value} 管理后台`; + setSiteName(title); + document.title = title; + } + } catch { + setSiteName('数据概览'); + document.title = '数据概览'; + } + }; useEffect(() => { - const load = async () => { - setLoading(true); - try { - const data = await getAdminStats(); - setStats(data); - } catch { /* auth error handled by client */ } - setLoading(false); - }; load(); + loadSiteName(); }, []); - const statCards = stats ? [ - { title: '总用户数', value: stats.totalUsers, icon: , color: '#6366f1', bg: 'rgba(99,102,241,0.08)' }, - { title: '总项目数', value: stats.totalProjects, icon: , color: '#06b6d4', bg: 'rgba(6,182,212,0.08)' }, - { title: '总生成次数', value: stats.totalGenerations, icon: , color: '#10b981', bg: 'rgba(16,185,129,0.08)' }, - { title: '总收入(元)', value: stats.totalRevenue, icon: , color: '#f59e0b', bg: 'rgba(245,158,11,0.08)', prefix: '¥' }, - { title: '今日消耗积分', value: stats.creditsConsumedToday, icon: , color: '#ef4444', bg: 'rgba(239,68,68,0.08)' }, + const handleToday = () => { + const dates: [dayjs.Dayjs, dayjs.Dayjs] = [dayjs().startOf('day'), dayjs()]; + setStartDate(dates); + loadWithDates(dates); + }; + + const handleYesterday = () => { + const yesterday = dayjs().subtract(1, 'day'); + const dates: [dayjs.Dayjs, dayjs.Dayjs] = [yesterday.startOf('day'), yesterday.endOf('day')]; + setStartDate(dates); + loadWithDates(dates); + }; + + const handleWeek = () => { + const dates: [dayjs.Dayjs, dayjs.Dayjs] = [dayjs().startOf('week'), dayjs()]; + setStartDate(dates); + loadWithDates(dates); + }; + + const handleMonth = () => { + const dates: [dayjs.Dayjs, dayjs.Dayjs] = [dayjs().startOf('month'), dayjs()]; + setStartDate(dates); + loadWithDates(dates); + }; + + const loadWithDates = (dates: [dayjs.Dayjs, dayjs.Dayjs]) => { + const start = dates[0]?.format('YYYY-MM-DD') || undefined; + const end = dates[1]?.format('YYYY-MM-DD') || undefined; + setLoading(true); + getAdminStats(start, end).then(data => { + setStats(data); + setLoading(false); + }).catch(() => { + setLoading(false); + }); + }; + + const handleDateChange = (dates: any) => { + if (dates) { + setStartDate([dates[0], dates[1]]); + loadWithDates([dates[0], dates[1]]); + } + }; + + const baseStats = stats ? [ + { + title: '用户数量', + value: stats.totalUsers, + lastPeriodValue: stats.lastPeriodUsers, + icon: , + gradient: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)', + prefix: '', + suffix: '位用户', + description: '平台注册用户总数' + }, + { + title: '总项目数', + value: stats.totalProjects, + lastPeriodValue: stats.lastPeriodProjects, + icon: , + gradient: 'linear-gradient(135deg, #00d4ff 0%, #0099cc 100%)', + prefix: '', + suffix: '个项目', + description: '创建的项目总数' + }, + { + title: '项目记录', + value: stats.totalRecords, + lastPeriodValue: stats.lastPeriodRecords, + icon: , + gradient: 'linear-gradient(135deg, #10b981 0%, #059669 100%)', + prefix: '', + suffix: '条记录', + description: '项目记录总数' + }, + { + title: '创作记录', + value: stats.totalGenerations, + lastPeriodValue: stats.lastPeriodGenerations, + icon: , + gradient: 'linear-gradient(135deg, #f59e0b 0%, #d97706 100%)', + prefix: '', + suffix: '次创作', + description: 'AI创作记录总数' + }, ] : []; - return ( -
- {/* Stats Cards */} - - {statCards.map((s, i) => ( -
- -
-
- {s.icon} -
-
-
{s.title}
-
- {s.prefix}{typeof s.value === 'number' ? s.value.toLocaleString() : s.value} -
-
-
-
- - ))} - + const financeStats = stats ? [ + { + title: '支付宝收入', + value: stats.todayAlipayRevenue, + icon: , + gradient: 'linear-gradient(135deg, #22c55e 0%, #16a34a 100%)', + prefix: '¥', + suffix: '', + description: '支付宝收款', + tag: '支付宝' + }, + { + title: '微信收入', + value: stats.todayWechatRevenue, + icon: , + gradient: 'linear-gradient(135deg, #3b82f6 0%, #2563eb 100%)', + prefix: '¥', + suffix: '', + description: '微信收款', + tag: '微信支付' + }, + { + title: '总收入', + value: stats.totalRevenue, + lastPeriodValue: stats.lastPeriodRevenue, + icon: , + gradient: 'linear-gradient(135deg, #ec4899 0%, #be185d 100%)', + prefix: '¥', + suffix: '', + description: '平台总收入', + tag: '总收入' + }, + { + title: '消耗积分', + value: stats.creditsConsumedToday, + lastPeriodValue: stats.lastPeriodCreditsConsumed, + icon: , + gradient: 'linear-gradient(135deg, #ef4444 0%, #dc2626 100%)', + prefix: '', + suffix: '积分', + description: '用户消耗积分', + tag: '积分消耗' + }, + ] : []; - {/* Quick Info */} - - - -
- {[ - { label: '平台名称', value: 'VideoGen.AI' }, - { label: 'API版本', value: 'v1.0.0' }, - { label: '数据库', value: 'PostgreSQL' }, - { label: '视频引擎', value: 'Seedance 2.0' }, - ].map(item => ( -
- {item.label} - {item.value} -
- ))} + const StatCard: React.FC<{ + title: string; + value: number; + lastPeriodValue?: number; + icon: React.ReactNode; + gradient: string; + prefix?: string; + suffix?: string; + description?: string; + tag?: string; + }> = ({ title, value, lastPeriodValue, icon, gradient, prefix = '', suffix = '', description, tag }) => { + const change = lastPeriodValue !== undefined && lastPeriodValue > 0 + ? ((value - lastPeriodValue) / lastPeriodValue * 100).toFixed(1) + : null; + const isPositive = change !== null && parseFloat(change) >= 0; + + return ( + +
+
+ {icon} +
+
+
+ {title} + {tag && ( + + {tag} + + )}
- - - +
+ {prefix}{typeof value === 'number' ? value.toLocaleString() : value}{suffix} +
+ {description && ( + + {description} + + )} + {change !== null && lastPeriodValue !== undefined && ( +
+ + 上一周期: {prefix}{lastPeriodValue.toLocaleString()}{suffix} + + + {isPositive ? '↑' : '↓'} {Math.abs(parseFloat(change))}% + +
+ )} +
+
+
+ ); + }; + + return ( +
+
+
+
+
+ + {siteName} + + + 欢迎回来,查看平台运营数据统计 + +
+
+ +
+
+ + + + + + +
+ + +
+
+
+ 核心数据 + 平台基础运营指标 +
+ + {baseStats.map((s) => ( +
+ + + ))} + + + +
+
+ 财务统计 + 收入与消耗数据 +
+ + {financeStats.map((s) => ( +
+ + + ))} + + ); }; diff --git a/video-gen-admin/src/pages/AdminGenerationAiRecords.tsx b/video-gen-admin/src/pages/AdminGenerationAiRecords.tsx index c4055c08..7017e117 100644 --- a/video-gen-admin/src/pages/AdminGenerationAiRecords.tsx +++ b/video-gen-admin/src/pages/AdminGenerationAiRecords.tsx @@ -763,81 +763,76 @@ const AdminGenerationAiRecords: React.FC = () => { }; return ( -
- - - 创作记录管理 - - )} - extra={( - - { - setFilterGenType(v || ''); - setPage(1); - }} - options={[ - { value: 'image', label: '图片' }, - { value: 'video', label: '视频' }, - ]} - /> - setInputUserId(e.target.value)} - onPressEnter={handleSearch} - style={{ width: 180 }} - allowClear - /> - setInputUserName(e.target.value)} - onPressEnter={handleSearch} - style={{ width: 160 }} - allowClear - /> - - - )} - bordered={false} - style={{ borderRadius: 16 }} - > +
+ +
+ + + 创作记录管理 + {total} 条记录 + + + { setFilterGenType(v || ''); setPage(1); }} + options={[ + { value: 'image', label: '图片' }, + { value: 'video', label: '视频' }, + ]} + /> + } + style={{ width: 180 }} + value={inputUserId} + onChange={(e) => setInputUserId(e.target.value)} + onPressEnter={handleSearch} + allowClear + /> + } + style={{ width: 160 }} + value={inputUserName} + onChange={(e) => setInputUserName(e.target.value)} + onPressEnter={handleSearch} + allowClear + /> + + +
+
`共 ${t} 条`, - onChange: (p) => setPage(p), - }} + rowKey="id" + loading={loading} + columns={columns as any} + dataSource={records} + scroll={{ x: 1180 }} + pagination={{ + current: page, + pageSize: PAGE_SIZE, + total, + showSizeChanger: false, + showTotal: (t) => `共 ${t} 条`, + onChange: (p) => setPage(p), + }} /> diff --git a/video-gen-admin/src/types/index.ts b/video-gen-admin/src/types/index.ts index 02d0eeae..0f353139 100644 --- a/video-gen-admin/src/types/index.ts +++ b/video-gen-admin/src/types/index.ts @@ -113,8 +113,17 @@ export interface AdminStats { totalUsers: number; totalProjects: number; totalGenerations: number; + totalRecords: number; totalRevenue: number; creditsConsumedToday: number; + todayAlipayRevenue: number; + todayWechatRevenue: number; + lastPeriodUsers: number; + lastPeriodProjects: number; + lastPeriodGenerations: number; + lastPeriodRecords: number; + lastPeriodRevenue: number; + lastPeriodCreditsConsumed: number; } export interface PaymentStats { diff --git a/video-gen-api/app/api/v1/admin.py b/video-gen-api/app/api/v1/admin.py index 02c7b7b3..83a7a4cd 100644 --- a/video-gen-api/app/api/v1/admin.py +++ b/video-gen-api/app/api/v1/admin.py @@ -9,6 +9,7 @@ from app.dependencies import get_db, get_admin_user from app.models.user import User from app.models.project import Project from app.models.generation_record import GenerationRecord +from app.models.chat_generation_task import ChatGenerationTask from app.models.credit_record import CreditRecord from app.models.model_config import ModelConfig from app.models.system_config import SystemConfig @@ -247,7 +248,10 @@ async def list_credit_records( page: int = Query(1, ge=1), page_size: int = Query(20, ge=1, le=100), user_id: str | None = Query(None), + user_name: str | None = Query(None), type: str | None = Query(None), + start_date: str = Query(None), + end_date: str = Query(None), admin: User = Depends(get_admin_user), db: AsyncSession = Depends(get_db), ): @@ -261,9 +265,25 @@ async def list_credit_records( if user_id: query = query.where(CreditRecord.user_id == user_id) count_query = count_query.where(CreditRecord.user_id == user_id) + if user_name: + query = query.where(User.username.like(f'%{user_name}%')) + count_query = count_query.join(User, CreditRecord.user_id == User.id).where(User.username.like(f'%{user_name}%')) if type: query = query.where(CreditRecord.type == type) count_query = count_query.where(CreditRecord.type == type) + + try: + if start_date: + date_start = datetime.strptime(start_date, "%Y-%m-%d") + query = query.where(CreditRecord.created_at >= date_start) + count_query = count_query.where(CreditRecord.created_at >= date_start) + if end_date: + date_end = datetime.strptime(end_date, "%Y-%m-%d") + date_end = date_end.replace(hour=23, minute=59, second=59, microsecond=999999) + query = query.where(CreditRecord.created_at <= date_end) + count_query = count_query.where(CreditRecord.created_at <= date_end) + except: + pass total = (await db.execute(count_query)).scalar() or 0 result = await db.execute(query.offset((page - 1) * page_size).limit(page_size)) @@ -1124,40 +1144,157 @@ async def list_operation_logs( async def get_stats( admin: User = Depends(get_admin_user), db: AsyncSession = Depends(get_db), + start_date: str = Query(None), + end_date: str = Query(None), ): - total_users = (await db.execute( - select(func.count(User.id)).where(User.user_type == "frontend") - )).scalar() or 0 - total_projects = (await db.execute(select(func.count(Project.id)).where(Project.deleted_at.is_(None)))).scalar() or 0 - total_generations = ( - await db.execute(select(func.count(GenerationRecord.id)).where(GenerationRecord.deleted_at.is_(None))) - ).scalar() or 0 - total_revenue = ( - await db.execute( - select(func.coalesce(func.sum(PaymentOrder.amount), 0)).where( - PaymentOrder.status == "paid" - ) - ) - ).scalar() or 0 + today_start = datetime.now().replace(hour=0, minute=0, second=0, microsecond=0) + + try: + if start_date: + date_start = datetime.strptime(start_date, "%Y-%m-%d") + else: + date_start = today_start + if end_date: + date_end = datetime.strptime(end_date, "%Y-%m-%d") + date_end = date_end.replace(hour=23, minute=59, second=59, microsecond=999999) + else: + date_end = datetime.now() + except: + date_start = today_start + date_end = datetime.now() - today_start = datetime.now().replace( - hour=0, minute=0, second=0, microsecond=0 - ) - credits_today = ( - await db.execute( - select(func.coalesce(func.sum(func.abs(CreditRecord.amount)), 0)).where( - CreditRecord.type == "consume", - CreditRecord.created_at >= today_start, - ) + total_users = (await db.execute( + select(func.count(User.id)).where( + User.user_type == "frontend", + User.created_at >= date_start, + User.created_at <= date_end, ) - ).scalar() or 0 + )).scalar() or 0 + + total_projects = (await db.execute( + select(func.count(Project.id)).where( + Project.deleted_at.is_(None), + Project.created_at >= date_start, + Project.created_at <= date_end, + ) + )).scalar() or 0 + + total_generations = (await db.execute( + select(func.count(ChatGenerationTask.id)).where( + ChatGenerationTask.created_at >= date_start, + ChatGenerationTask.created_at <= date_end, + ) + )).scalar() or 0 + + total_records = (await db.execute( + select(func.count(GenerationRecord.id)).where( + GenerationRecord.deleted_at.is_(None), + GenerationRecord.created_at >= date_start, + GenerationRecord.created_at <= date_end, + ) + )).scalar() or 0 + + total_revenue = (await db.execute( + select(func.coalesce(func.sum(PaymentOrder.amount), 0)).where( + PaymentOrder.status == "paid", + PaymentOrder.created_at >= date_start, + PaymentOrder.created_at <= date_end, + ) + )).scalar() or 0 + + credits_consumed = (await db.execute( + select(func.coalesce(func.sum(func.abs(CreditRecord.amount)), 0)).where( + CreditRecord.type == "consume", + CreditRecord.created_at >= date_start, + CreditRecord.created_at <= date_end, + ) + )).scalar() or 0 + + alipay_revenue = (await db.execute( + select(func.coalesce(func.sum(PaymentOrder.amount), 0)).where( + PaymentOrder.status == "paid", + PaymentOrder.payment_method == "alipay", + PaymentOrder.created_at >= date_start, + PaymentOrder.created_at <= date_end, + ) + )).scalar() or 0 + + wechat_revenue = (await db.execute( + select(func.coalesce(func.sum(PaymentOrder.amount), 0)).where( + PaymentOrder.status == "paid", + PaymentOrder.payment_method == "wechat", + PaymentOrder.created_at >= date_start, + PaymentOrder.created_at <= date_end, + ) + )).scalar() or 0 + + period_duration = date_end - date_start + + last_period_start = date_start - period_duration + last_period_end = date_start + + last_period_users = (await db.execute( + select(func.count(User.id)).where( + User.user_type == "frontend", + User.created_at >= last_period_start, + User.created_at <= last_period_end, + ) + )).scalar() or 0 + + last_period_projects = (await db.execute( + select(func.count(Project.id)).where( + Project.deleted_at.is_(None), + Project.created_at >= last_period_start, + Project.created_at <= last_period_end, + ) + )).scalar() or 0 + + last_period_generations = (await db.execute( + select(func.count(ChatGenerationTask.id)).where( + ChatGenerationTask.created_at >= last_period_start, + ChatGenerationTask.created_at <= last_period_end, + ) + )).scalar() or 0 + + last_period_records = (await db.execute( + select(func.count(GenerationRecord.id)).where( + GenerationRecord.deleted_at.is_(None), + GenerationRecord.created_at >= last_period_start, + GenerationRecord.created_at <= last_period_end, + ) + )).scalar() or 0 + + last_period_revenue = (await db.execute( + select(func.coalesce(func.sum(PaymentOrder.amount), 0)).where( + PaymentOrder.status == "paid", + PaymentOrder.created_at >= last_period_start, + PaymentOrder.created_at <= last_period_end, + ) + )).scalar() or 0 + + last_period_credits_consumed = (await db.execute( + select(func.coalesce(func.sum(func.abs(CreditRecord.amount)), 0)).where( + CreditRecord.type == "consume", + CreditRecord.created_at >= last_period_start, + CreditRecord.created_at <= last_period_end, + ) + )).scalar() or 0 return AdminStatsOut( total_users=total_users, total_projects=total_projects, total_generations=total_generations, + total_records=total_records, total_revenue=float(total_revenue), - credits_consumed_today=float(credits_today), + credits_consumed_today=float(credits_consumed), + today_alipay_revenue=float(alipay_revenue), + today_wechat_revenue=float(wechat_revenue), + last_period_users=last_period_users, + last_period_projects=last_period_projects, + last_period_generations=last_period_generations, + last_period_records=last_period_records, + last_period_revenue=float(last_period_revenue), + last_period_credits_consumed=float(last_period_credits_consumed), ) diff --git a/video-gen-api/app/api/v1/sms.py b/video-gen-api/app/api/v1/sms.py index c53b335c..e842ed4f 100644 --- a/video-gen-api/app/api/v1/sms.py +++ b/video-gen-api/app/api/v1/sms.py @@ -1,7 +1,10 @@ -from fastapi import APIRouter, HTTPException, status +from fastapi import APIRouter, Depends, HTTPException, status +from sqlalchemy.ext.asyncio import AsyncSession from app.config import settings -from app.schemas.sms import SmsSendRequest, SmsVerifyRequest, SmsResponse +from app.dependencies import get_db +from app.schemas.sms import SmsResponse, SmsScene, SmsSendRequest, SmsVerifyRequest +from app.services.auth import get_user_by_phone from app.services.sms import generate_and_send_sms, verify_sms_code router = APIRouter(prefix="/sms", tags=["短信验证码"]) @@ -10,6 +13,7 @@ router = APIRouter(prefix="/sms", tags=["短信验证码"]) def _validate_captcha_token(captcha_token: str | None) -> None: if settings.SMS_MOCK: return + if not (req_captcha := captcha_token): raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, @@ -26,15 +30,74 @@ def _validate_captcha_token(captcha_token: str | None) -> None: ) +async def _validate_sms_scene_phone( + *, + db: AsyncSession, + phone: str, + scene: SmsScene, +) -> None: + """ + 按短信来源场景做手机号注册状态前置校验。 + + 规则: + 1. login:必须是已注册手机号,否则拦截发送。 + 2. register:必须是未注册手机号,否则拦截发送。 + 3. common:通用场景,暂不校验手机号注册状态。 + 4. set_password:保留旧场景,按通用场景处理,暂不校验手机号注册状态。 + 5. 其他未确认场景:理论上会被 SmsScene 枚举拦截;这里额外兜底。 + """ + if scene == SmsScene.login: + user = await get_user_by_phone(db, phone) + if not user: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="手机号未注册,请先注册", + ) + return + + if scene == SmsScene.register: + user = await get_user_by_phone(db, phone) + if user: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="该手机号已注册,请直接登录", + ) + return + + if scene in {SmsScene.common, SmsScene.set_password}: + return + + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="未确认短信场景,禁止发送验证码", + ) + + @router.post( "/send", response_model=SmsResponse, summary="发送短信验证码", - description="客户端发送短信验证码。scene=register 用于注册,scene=login 用于短信登录,scene=set_password 用于设置密码。正式环境会按配置校验图形验证码。", + description=( + "客户端发送短信验证码。" + "scene=register 用于注册,发送前会校验手机号未注册;" + "scene=login 用于短信登录,发送前会校验手机号已注册;" + "scene=common 用于通用短信场景,暂不校验手机号注册状态;" + "scene=set_password 用于设置密码,保留旧场景,暂按通用场景处理。" + "正式环境会按配置校验图形验证码。" + ), ) -async def send_sms_code(req: SmsSendRequest): +async def send_sms_code( + req: SmsSendRequest, + db: AsyncSession = Depends(get_db), +): _validate_captcha_token(req.captcha_token) + await _validate_sms_scene_phone( + db=db, + phone=req.phone, + scene=req.scene, + ) + try: ok, code = await generate_and_send_sms(req.phone, req.scene.value) except ValueError as exc: @@ -66,4 +129,4 @@ async def verify_sms(req: SmsVerifyRequest): status_code=status.HTTP_400_BAD_REQUEST, detail="验证码错误或已过期", ) - return SmsResponse(message="验证成功", success=True) + return SmsResponse(message="验证成功", success=True) \ No newline at end of file diff --git a/video-gen-api/app/main.py b/video-gen-api/app/main.py index d93f3727..f0feb2e7 100644 --- a/video-gen-api/app/main.py +++ b/video-gen-api/app/main.py @@ -322,13 +322,54 @@ async def _seed_data(): # Seed menu configs from app.models.menu_config import MenuConfig - default_menus = [ - ("/projects", "我的项目", "HomeOutlined", 0, "frontend"), - ("/conversation", "AI创作", "StarOutlined", 1, "frontend"), - ("/records", "项目记录", "PlayCircleOutlined", 2, "frontend"), - ("/generated", "素材云", "StarOutlined", 3, "frontend"), + frontend_groups = [ + ("AI项目行业生成", "HomeOutlined", 0), + ("AI对话生成", "HomeOutlined", 1), + ("AI视频创作", "HomeOutlined", 2), + ("资产管理", "HomeOutlined", 3), + ("媒体关联", "HomeOutlined", 4), ] - for path, label, icon, order, target in default_menus: + frontend_group_ids: dict[str, str] = {} + for label, icon, order in frontend_groups: + existing = await db.execute( + select(MenuConfig).where( + MenuConfig.label == label, + MenuConfig.menu_type == "group", + MenuConfig.menu_target == "frontend", + ).limit(1) + ) + group = existing.scalar_one_or_none() + if group: + frontend_group_ids[label] = group.id + else: + gid = generate_id() + frontend_group_ids[label] = gid + db.add( + MenuConfig( + id=gid, + path="", + label=label, + icon=icon, + sort_order=order, + is_active=True, + parent_id=None, + menu_type="group", + menu_target="frontend", + is_default=True, + ) + ) + + frontend_pages = [ + ("/projects", "我的项目", "HomeOutlined", 0, "AI项目行业生成", True), + ("/conversation", "AI创作", "StarOutlined", 0, "AI对话生成", True), + ("/initial", "爆款开头复刻", "CodeOutlined", 0, "AI视频创作", False), + ("/removelens", "拆镜复刻", "CameraOutlined", 1, "AI视频创作", False), + ("/records", "项目记录", "PlayCircleOutlined", 0, "资产管理", True), + ("/generated", "素材云", "CloudOutlined", 1, "资产管理", True), + ("/authorization", "授权管理", "UserOutlined", 0, "媒体关联", False), + ("/consume", "消耗列表", "FileTextOutlined", 1, "媒体关联", False), + ] + for path, label, icon, order, group_label, is_default in frontend_pages: existing = await db.execute( select(MenuConfig).where(MenuConfig.path == path).limit(1) ) @@ -341,30 +382,33 @@ async def _seed_data(): icon=icon, sort_order=order, is_active=True, + parent_id=frontend_group_ids.get(group_label), menu_type="page", - menu_target=target, - is_default=True, + menu_target="frontend", + is_default=is_default, ) ) - # Seed admin group menus first, then page menus with parent_id admin_groups = [ + ("模型设置", "RobotOutlined", 98), ("模型配置", "RobotOutlined", 6), ("系统设置", "SettingOutlined", 99), ] - group_ids = {} + admin_group_ids: dict[str, str] = {} for label, icon, order in admin_groups: existing = await db.execute( select(MenuConfig).where( MenuConfig.label == label, MenuConfig.menu_type == "group", MenuConfig.menu_target == "admin", - ) - .limit(1) + ).limit(1) ) group = existing.scalar_one_or_none() - if not group: + if group: + admin_group_ids[label] = group.id + else: gid = generate_id() + admin_group_ids[label] = gid db.add( MenuConfig( id=gid, @@ -377,35 +421,33 @@ async def _seed_data(): menu_target="admin", ) ) - group_ids[label] = gid - else: - group_ids[label] = group.id - # (path, label, icon, sort_order, parent_group_label or None) - admin_menus = [ + admin_pages = [ ("/", "数据概览", "DashboardOutlined", 0, None), ("/users", "用户管理", "UserOutlined", 1, None), ("/credit-records", "交易流水", "WalletOutlined", 2, None), - ("/generation-records", "生成记录", "VideoCameraOutlined", 3, None), + ("/generation-ai", "创作记录", "BulbOutlined", 3, None), + ("/generation-records", "项目记录", "VideoCameraOutlined", 3, None), ("/recharge-packages", "充值套餐", "GiftOutlined", 4, None), ("/notifications", "消息推送", "BellOutlined", 5, None), - ("/video-engines", "视频引擎", "PlayCircleOutlined", 0, "模型配置"), - ("/models", "模型配置", "RobotOutlined", 1, "模型配置"), - ("/image-engines", "图片模型", "PictureOutlined", 2, "模型配置"), - ("/credit-ratios", "积分比例", "CalculatorOutlined", 3, "模型配置"), + ("/payment-stats", "支付统计", "LineChartOutlined", 6, None), + ("/video-engines", "视频引擎", "PlayCircleOutlined", 0, "模型设置"), + ("/models", "模型配置", "RobotOutlined", 1, "模型设置"), + ("/image-engines", "图片模型", "PictureOutlined", 2, "模型设置"), + ("/credit-ratios", "积分比例", "CalculatorOutlined", 3, "模型设置"), ("/payment", "支付配置", "DollarOutlined", 1, "系统设置"), ("/industries", "行业配置", "AppstoreOutlined", 2, "系统设置"), ("/menu-configs", "菜单配置", "SettingOutlined", 3, "系统设置"), ("/settings", "系统设置", "SettingOutlined", 4, "系统设置"), - ("/operation-logs", "操作日志", "HistoryOutlined", 5, "系统设置"), + ("/operation-logs", "操作日志", "DatabaseOutlined", 5, "系统设置"), + ("/oauthapp-list", "授权应用", "MenuOutlined", 28, "系统设置"), ] - for path, label, icon, order, parent_group in admin_menus: + for path, label, icon, order, parent_group in admin_pages: existing = await db.execute( select(MenuConfig).where( MenuConfig.path == path, MenuConfig.menu_target == "admin", - ) - .limit(1) + ).limit(1) ) if not existing.scalar_one_or_none(): db.add( @@ -418,7 +460,7 @@ async def _seed_data(): is_active=True, menu_type="page", menu_target="admin", - parent_id=group_ids.get(parent_group), + parent_id=admin_group_ids.get(parent_group), ) ) diff --git a/video-gen-api/app/schemas/admin.py b/video-gen-api/app/schemas/admin.py index 919828c7..6299a9ed 100644 --- a/video-gen-api/app/schemas/admin.py +++ b/video-gen-api/app/schemas/admin.py @@ -93,5 +93,14 @@ class AdminStatsOut(BaseModel): total_users: int total_projects: int total_generations: int + total_records: int total_revenue: float credits_consumed_today: float + today_alipay_revenue: float + today_wechat_revenue: float + last_period_users: int = 0 + last_period_projects: int = 0 + last_period_generations: int = 0 + last_period_records: int = 0 + last_period_revenue: float = 0.0 + last_period_credits_consumed: float = 0.0 diff --git a/video-gen-api/app/schemas/sms.py b/video-gen-api/app/schemas/sms.py index d070b1f9..1c84396a 100644 --- a/video-gen-api/app/schemas/sms.py +++ b/video-gen-api/app/schemas/sms.py @@ -6,21 +6,40 @@ from pydantic import BaseModel, Field class SmsScene(str, Enum): register = "register" login = "login" + common = "common" set_password = "set_password" class SmsSendRequest(BaseModel): phone: str = Field(..., pattern=r"^1[3-9]\d{9}$", description="手机号") - scene: SmsScene = Field(..., description="短信场景:register=注册,login=短信登录,set_password=设置密码") + scene: SmsScene = Field( + ..., + description=( + "短信场景:" + "register=注册," + "login=短信登录," + "common=通用场景," + "set_password=设置密码" + ), + ) captcha_token: str | None = Field(None, description="图形验证码令牌,正式环境按配置要求传入") class SmsVerifyRequest(BaseModel): phone: str = Field(..., pattern=r"^1[3-9]\d{9}$", description="手机号") - scene: SmsScene = Field(..., description="短信场景") + scene: SmsScene = Field( + ..., + description=( + "短信场景:" + "register=注册," + "login=短信登录," + "common=通用场景," + "set_password=设置密码" + ), + ) code: str = Field(..., min_length=4, max_length=8, description="验证码") class SmsResponse(BaseModel): message: str - success: bool + success: bool \ No newline at end of file diff --git a/video-gen-api/app/tasks/__init__.py b/video-gen-api/app/tasks/__init__.py index 81a62333..8f013790 100644 --- a/video-gen-api/app/tasks/__init__.py +++ b/video-gen-api/app/tasks/__init__.py @@ -1,24 +1,9 @@ -"""Celery task module imports. +"""Celery task package. -Celery autodiscover imports ``app.tasks``; importing task modules here ensures -custom named tasks are registered when workers start. -""" +任务模块注册统一由 app.tasks.celery_app.CELERY_TASK_IMPORTS 控制。 -import logging - -logger = logging.getLogger("video_gen") - -try: - from app.tasks import ( # noqa: F401 - generation_create_tasks, - generation_poll_tasks, - generation_download_tasks, - generation_recovery_tasks, - hot_opening_replicate_tasks, - shot_replicate_tasks, - shot_replicate_flow_tasks, - module_async_recovery_tasks, - ) -except Exception: - logger.exception("Celery 任务模块导入失败,worker 可能出现 unregistered task。") - raise +这里不要主动 import 子任务模块,避免以下问题: +1. Celery worker 启动时循环导入; +2. 新增任务文件后部分 worker 注册不完整; +3. app.tasks.__init__ 被普通业务代码 import 时意外加载全部 Celery 任务。 +""" \ No newline at end of file diff --git a/video-gen-api/app/tasks/celery_app.py b/video-gen-api/app/tasks/celery_app.py index e203f2c0..9ef946f7 100644 --- a/video-gen-api/app/tasks/celery_app.py +++ b/video-gen-api/app/tasks/celery_app.py @@ -10,6 +10,22 @@ from app.tasks.async_runner import close_loop, run_async logger = logging.getLogger("video_gen") +# 显式注册所有 Celery 任务模块,避免新增任务文件后 worker 启动时未注册任务。 +# 不再依赖 app.tasks.__init__ 内部 import,也不再依赖 autodiscover_tasks。 +CELERY_TASK_IMPORTS = ( + "app.tasks.generation_create_tasks", + "app.tasks.generation_poll_tasks", + "app.tasks.generation_download_tasks", + "app.tasks.generation_recovery_tasks", + "app.tasks.hot_opening_replicate_tasks", + "app.tasks.shot_replicate_tasks", + "app.tasks.shot_replicate_flow_tasks", + "app.tasks.module_async_recovery_tasks", + "app.tasks.user_oauth_tasks", + "app.tasks.cleanup", +) + + def _derive_redis_db(url: str, db_no: int) -> str: if not url: return url @@ -24,10 +40,11 @@ broker_url = settings.CELERY_BROKER_URL or (_derive_redis_db(settings.REDIS_URL, backend_url = settings.CELERY_RESULT_BACKEND or (_derive_redis_db(settings.REDIS_URL, 2) if settings.REDIS_URL else "") if broker_url: - celery_app = Celery("videogen") + celery_app = Celery("videogen", include=CELERY_TASK_IMPORTS) celery_app.conf.update( broker_url=broker_url, result_backend=backend_url or broker_url, + imports=CELERY_TASK_IMPORTS, task_serializer="json", accept_content=["json"], result_serializer="json", @@ -60,10 +77,10 @@ if broker_url: "generation.recover_download_tasks_once": {"queue": "gen_result_download"}, "generation.recover_generation_tasks_once": {"queue": "gen_result_download"}, "module_async.recover_module_async_tasks_once": {"queue": "gen_result_download"}, + "user_oauth.update_oauth_accounts": {"queue": "default"}, "app.tasks.cleanup.*": {"queue": "default"}, }, ) - celery_app.autodiscover_tasks(["app.tasks"]) else: celery_app = None @@ -164,4 +181,4 @@ def on_worker_process_shutdown(**kwargs): except Exception: pass finally: - close_loop() + close_loop() \ No newline at end of file diff --git a/video-gen-app/dist.zip b/video-gen-app/dist.zip new file mode 100644 index 00000000..e41d884d Binary files /dev/null and b/video-gen-app/dist.zip differ diff --git a/video-gen-app/src/App.tsx b/video-gen-app/src/App.tsx index 88eea2d6..6c62ed35 100644 --- a/video-gen-app/src/App.tsx +++ b/video-gen-app/src/App.tsx @@ -100,6 +100,7 @@ const App = () => { } /> } /> } /> + } /> } /> } /> } /> diff --git a/video-gen-app/src/api/index.ts b/video-gen-app/src/api/index.ts index d4318155..4c52de8c 100644 --- a/video-gen-app/src/api/index.ts +++ b/video-gen-app/src/api/index.ts @@ -342,3 +342,35 @@ export async function getAuthorizationList(params: OAuthAppParam): Promise(`/admin/user-oauth-apps/list?${query.toString()}`); } + + +// 爆款开头复刻 +export async function generateReplication(params: any): Promise { + return api.post('/hot-opening-replications/tasks', params); +} +// 获取爆款开头复刻任务列表 +export async function getReplicationList(page: number,page_size: number): Promise { + return api.get(`/hot-opening-replications/tasks?page=${page}&page_size=${page_size}`); +} +// 获取爆款开头复刻任务详情 +export async function getReplicationDetail(id: string): Promise { + return api.get(`/hot-opening-replications/tasks/${id}`); +} +// 第一步,生成提示词 +export async function getone(projectId: string, stepId: string): Promise { + return api.post(`/hot-opening-replications/tasks/${projectId}/steps/${stepId}/generate-image-prompt`); +} + +// 第二步,生成图片 +export async function gettwo(projectId: string, stepId: string ,params: any): Promise { + return api.post(`/hot-opening-replications/tasks/${projectId}/steps/${stepId}/generate-image`, params); +} + +// 第三步,生成视频提示词 +export async function getthree(projectId: string, stepId: string ,params: any): Promise { + return api.post(`/hot-opening-replications/tasks/${projectId}/steps/${stepId}/generate-video-prompt`, params); +} +// 第四步,生成视频 +export async function getfour(projectId: string, stepId: string ,params: any): Promise { + return api.post(`/hot-opening-replications/tasks/${projectId}/steps/${stepId}/generate-video`, params); +} diff --git a/video-gen-app/src/components/Layout/AppLayout.tsx b/video-gen-app/src/components/Layout/AppLayout.tsx index 3cbb0e74..b1ac9c48 100644 --- a/video-gen-app/src/components/Layout/AppLayout.tsx +++ b/video-gen-app/src/components/Layout/AppLayout.tsx @@ -281,8 +281,8 @@ const AppLayout: React.FC = () => { else if (key === 'changePwd') { setPwdModalOpen(true); } else if (key === 'messages') { navigate('/messages'); } else if (key === 'recharge') { setRechargeModalOpen(true); } - else if (key === 'myCredits') { navigate('/credit-records'); } - else if (key === 'orderRecords') { navigate('/order-records'); } + else if (key === 'myCredits') { navigate('/user-center?tab=credits'); } + else if (key === 'orderRecords') { navigate('/user-center?tab=orders'); } }; const handleChangePwd = async () => { @@ -410,11 +410,11 @@ const AppLayout: React.FC = () => { {/* Menu */}
- {!collapsed && ( + {/* {!collapsed && (
导航
- )} + )} */} {(() => { const groups = menuItems.filter(m => (m.menu_type ?? m.menuType) === 'group'); const pages = menuItems.filter(m => (m.menu_type ?? m.menuType) !== 'group'); @@ -454,19 +454,15 @@ const AppLayout: React.FC = () => { groups.sort((a, b) => (a.sortOrder ?? 0) - (b.sortOrder ?? 0)).forEach(g => { const children = (childMap[g.id] || []).sort((a, b) => (a.sortOrder ?? 0) - (b.sortOrder ?? 0)); if (!collapsed) { - const isGroupOpen = !collapsedGroups[g.id]; items.push(
-
setCollapsedGroups(prev => ({ ...prev, [g.id]: !prev[g.id] }))} style={{ - display: 'flex', alignItems: 'center', justifyContent: 'space-between', - padding: '8px 14px', margin: '8px 0 2px', cursor: 'pointer', - color: 'rgba(148,163,184,0.5)', fontSize: 11, fontWeight: 600, - letterSpacing: 0.5, +
- {g.label} - + {g.label}
- {isGroupOpen && children.map(c => renderMenuItem(c, 1))} + {children.map(c => renderMenuItem(c, 1))}
); } else { diff --git a/video-gen-app/src/pages/GenerateConver.tsx b/video-gen-app/src/pages/GenerateConver.tsx index 45f23b71..5e6d5e4b 100644 --- a/video-gen-app/src/pages/GenerateConver.tsx +++ b/video-gen-app/src/pages/GenerateConver.tsx @@ -121,6 +121,9 @@ const AIChatPage: React.FC = () => { const [previewType, setPreviewType] = useState<'image' | 'video'>('image'); const videoRef = useRef(null); + // 提示词展开状态 + const [expandedPrompts, setExpandedPrompts] = useState>(new Set()); + // 从URL中提取exp时间戳(支持相对路径和完整URL) const extractExpTimestamp = (url: string): number | null => { if (!url) return null; @@ -249,7 +252,6 @@ const AIChatPage: React.FC = () => { } - console.log(config); // 根据配置计算积分 @@ -456,7 +458,7 @@ const AIChatPage: React.FC = () => { setTotalnumber(data.total); }).catch((error) => { }); - }, 5000); + }, 10000); // 清理定时器 return () => { @@ -807,7 +809,7 @@ const AIChatPage: React.FC = () => { const handleClosePreview = () => { setPreviewVisible(false); - setPreviewUrl(''); + setPreviewUrl(''); if (videoRef.current) { videoRef.current.pause(); } @@ -818,7 +820,7 @@ const AIChatPage: React.FC = () => { e.stopPropagation(); if (!previewUrl) return; const link = document.createElement('a'); - link.href = `${import.meta.env.VITE_API_BASE || "http://localhost:8000"}${previewUrl}`; + link.href = `${import.meta.env.VITE_API_BASE || "http://localhost:8000"}${previewUrl}&download=1`; link.download = previewType === 'image' ? 'image.png' : 'video.mp4'; document.body.appendChild(link); link.click(); @@ -1088,7 +1090,7 @@ const AIChatPage: React.FC = () => { }} > {/* 删除按钮 - 右上角 */} -
+
{ @@ -1099,7 +1101,6 @@ const AIChatPage: React.FC = () => { setGen_list(prev => prev.filter(item => item.id !== msg.id)); setTotalnumber(prev => prev - 1); } catch (error: any) { - console.log(error); const errorMsg = error?.response?.data?.message || error?.message || '删除失败'; msgApi.error(errorMsg); @@ -1115,8 +1116,8 @@ const AIChatPage: React.FC = () => { height: 28, borderRadius: 8, border: 'none', - background: 'rgba(0,0,0,0.05)', - color: '#999', + background: 'rgba(146, 144, 144, 1)', + color: '#ffffffff', cursor: 'pointer', display: 'flex', alignItems: 'center', @@ -1140,29 +1141,56 @@ const AIChatPage: React.FC = () => {
{/* 文本内容 */} - -

{ + setExpandedPrompts(prev => { + const newSet = new Set(prev); + newSet.add(msg.id); + return newSet; + }); + }} + onMouseLeave={() => { + setExpandedPrompts(prev => { + const newSet = new Set(prev); + newSet.delete(msg.id); + return newSet; + }); + }} + > + {/* 默认显示:一行省略 */} +

{ e.currentTarget.style.backgroundColor = '#f1f5f9'; }} - onMouseLeave={(e) => { e.currentTarget.style.backgroundColor = 'transparent'; }} - > - {msg.originalPrompt} -

- + display: expandedPrompts.has(msg.id) ? 'none' : 'block', + }}> + {msg.originalPrompt} +
+ + {/* 鼠标移入显示:完整内容 */} +
+ {msg.originalPrompt} +
+
{/* 根据 status 显示不同内容 */} {/* 生成中 - 显示加载动画 */} @@ -2354,7 +2382,7 @@ const AIChatPage: React.FC = () => {
-
-
- 视频 -
-