diff --git a/video-gen-admin/.env b/video-gen-admin/.env index ea3cda13..40b79d76 100644 --- a/video-gen-admin/.env +++ b/video-gen-admin/.env @@ -2,4 +2,4 @@ VITE_API_BASE=http://ceshi.apiforeign.minzhong.cn VITE_USE_MOCK=false # Encryption disabled for dev — enable in production -VITE_ENCRYPTION_KEY= +VITE_ENCRYPTION_KEY= \ No newline at end of file diff --git a/video-gen-admin/.env.production b/video-gen-admin/.env.production new file mode 100644 index 00000000..145ada6e --- /dev/null +++ b/video-gen-admin/.env.production @@ -0,0 +1,5 @@ +#VITE_API_BASE=http://localhost:8000 +VITE_API_BASE=http://apiforeign.minzhong.cn +VITE_USE_MOCK=false +# Encryption disabled for dev — enable in production +VITE_ENCRYPTION_KEY= \ No newline at end of file diff --git a/video-gen-admin/dist/assets/index-CDdTfqKl.js b/video-gen-admin/dist/assets/index-CLhvZPpk.js similarity index 90% rename from video-gen-admin/dist/assets/index-CDdTfqKl.js rename to video-gen-admin/dist/assets/index-CLhvZPpk.js index ce628772..27049381 100644 --- a/video-gen-admin/dist/assets/index-CDdTfqKl.js +++ b/video-gen-admin/dist/assets/index-CLhvZPpk.js @@ -389,7 +389,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho ${n}-eye, ${n}-download, ${n}-delete - `]:{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%`}}}},k1=e=>{let{componentCls:t}=e;return{[`${t}-rtl`]:{direction:`rtl`}}},A1=e=>{let{componentCls:t,colorTextDisabled:n}=e;return{[`${t}-wrapper`]:{...qc(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`}}}},j1=nl(`Upload`,e=>{let{fontSizeHeading3:t,marginXS:n,lineWidth:r,pictureCardSize:i,calc:a}=e,o=hs(e,{uploadThumbnailSize:a(t).mul(2).equal(),uploadProgressOffset:a(a(n).div(2)).add(r).equal(),uploadPicCardSize:i});return[A1(o),w1(o),D1(o),O1(o),T1(o),E1(o),k1(o),yh(o)]},e=>({actionsColor:e.colorIcon,pictureCardSize:e.controlHeightLG*2.55})),M1={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 N1(){return N1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,N1({},e,{ref:t,icon:M1}))),F1={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 I1(){return I1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,I1({},e,{ref:t,icon:F1}))),R1={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 z1(){return z1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,z1({},e,{ref:t,icon:R1})));function V1(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 H1(e,t){let n=Xr(t),r=n.findIndex(({uid:t})=>t===e.uid);return r===-1?n.push(e):n[r]=e,n}function U1(e,t){let n=e.uid===void 0?`name`:`uid`;return t.filter(t=>t[n]===e[n])[0]}function W1(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 G1=(e=``)=>{let t=e.split(`/`),n=t[t.length-1].split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(n)||[``])[0]},K1=e=>e.indexOf(`image/`)===0,q1=e=>{if(e.type&&!e.thumbUrl)return K1(e.type);let t=e.thumbUrl||e.url||``,n=G1(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)},J1=200;function Y1(e){return new Promise(t=>{if(!e.type||!K1(e.type)){t(``);return}let n=document.createElement(`canvas`);n.width=J1,n.height=J1,n.style.cssText=`position: fixed; left: 0; top: 0; width: ${J1}px; height: ${J1}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=J1,s=J1,c=0,l=0;e>a?(s=J1/e*a,l=-(s-o)/2):(o=J1/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 X1={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 Z1(){return Z1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Z1({},e,{ref:t,icon:X1}))),$1=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(p$,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(Q1,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(TW,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(ai),ee=W(),te=x.createElement(`div`,{className:N,style:i?.item},M,V,L,U,k&&x.createElement(Pu,{motionName:`${ee}-fade`,visible:D===`uploading`,motionDeadline:2e3},({className:t})=>{let n=`percent`in s?x.createElement(tq,{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)})),G=s.response&&typeof s.response==`string`?s.response:s.error?.statusText||s.error?.message||a.uploadError,ne=D===`error`?x.createElement(Bw,{title:G,getPopupContainer:e=>e.parentNode},te):te;return x.createElement(`div`,{className:J(`${e}-list-item-container`,t),style:n,ref:T},f?f(ne,s,c,{download:C.bind(null,s),preview:S.bind(null,s),remove:w.bind(null,s)}):ne)}),e0=x.forwardRef((e,t)=>{let{listType:n=`text`,previewFile:r=Y1,onPreview:i,onDownload:a,onRemove:o,locale:s,iconRender:c,isImageUrl:l=q1,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]=wd(),[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(ym,null):s.uploading,i=l?.(e)?x.createElement(B1,null):x.createElement(P1,null);return t?r:i}return t?x.createElement(ym,null):x.createElement(L1,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(Yg,{...a,icon:Mp(e,{...e.props,onClick:()=>{}})}):x.createElement(Yg,{...a},x.createElement(`span`,null,e))};x.useImperativeHandle(t,()=>({handlePreview:j,handleDownload:M}));let{getPrefixCls:I}=x.useContext(ai),L=I(`upload`,u),R=I(),z=J(`${L}-list`,`${L}-list-${n}`,T?.list),B=x.useMemo(()=>xr(Um(R),[`onAppearEnd`,`onEnterEnd`,`onLeaveEnd`]),[R]),V={...A?{}:B,motionDeadline:2e3,motionName:`${L}-${A?`animate-inline`:`animate`}`,keys:Xr(d.map(e=>({key:e.uid,file:e}))),motionAppear:O};return x.createElement(`div`,{className:z,style:E?.list},x.createElement(Nu,{...V,component:!1},({key:e,file:t,className:r,style:i})=>x.createElement($1,{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(Pu,{...V,visible:S,forceRender:!0},({className:e,style:t})=>Mp(b,n=>({className:J(n.className,e),style:{...t,pointerEvents:e?`none`:void 0,...n.style}}))))}),t0=`__LIST_IGNORE_${Date.now()}__`,n0=x.forwardRef((e,t)=>{let n=ci(`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(Lp),I=p??F,L=e.customRequest||n.customRequest,[R,z]=Vn(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=Xr(t),i=!1;T===1?r=r.slice(-1):T&&(i=r.length>T,r=r.slice(0,T)),(0,Kf.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,Kf.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[t0],e===t0)return Object.defineProperty(t,t0,{value:!0,configurable:!0}),!1;pd(e)&&(i=e)}return i},G=e=>{let t=e.filter(e=>!e.file[t0]);if(!t.length)return;let n=t.map(e=>V1(e.file)),r=Xr(B);n.forEach(e=>{r=H1(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)})},ne=(e,t,n)=>{try{typeof e==`string`&&(e=JSON.parse(e))}catch{}if(!U1(t,B))return;let r=V1(t);r.status=`done`,r.percent=100,r.response=e,r.xhr=n,ee(r,H1(r,B))},K=(e,t)=>{if(!U1(t,B))return;let n=V1(t);n.status=`uploading`,n.percent=e.percent,ee(n,H1(n,B),e)},re=(e,t,n)=>{if(!U1(n,B))return;let r=V1(n);r.error=e,r.response=t,r.status=`error`,ee(r,H1(r,B))},ie=e=>{let t;Promise.resolve(typeof a==`function`?a(e):a).then(n=>{if(n===!1)return;let r=W1(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:G,onSuccess:ne,onProgress:K,onError:re,fileList:B,upload:U.current,nativeElement:W.current}));let{getPrefixCls:q,direction:oe,className:se,style:ce,classNames:le,styles:ue}=ci(`upload`),de=q(`upload`,v),fe={...e,listType:s,showUploadList:o,type:b,multiple:D,hasControlInside:O,supportServerRender:j,disabled:I},[pe,me]=Nd([le,P],[ue,N],{props:fe}),he={onBatchStart:G,onError:re,onProgress:K,onSuccess:ne,...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]=j1(de,ge),[ye]=od(`Upload`,$u.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(e0,{classNames:pe,styles:me,prefixCls:de,listType:s,items:B,previewFile:f,onPreview:c,onDownload:l,onRemove:ie,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(C1,{...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(C1,{...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())}),r0=x.forwardRef((e,t)=>{let{style:n,height:r,hasControlInside:i=!1,children:a,...o}=e,s={...n,height:r};return x.createElement(n0,{ref:t,hasControlInside:i,...o,style:s,type:`drag`},a)}),i0=n0;i0.Dragger=r0,i0.LIST_IGNORE=t0;var a0=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})),o0=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:`页码`}})),s0=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.commonLocale=void 0,e.commonLocale={yearFormat:`YYYY`,dayFormat:`D`,cellMeridiemFormat:`A`,monthBeforeYear:!0}})),c0=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var t=s0();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:[`开始时间`,`结束时间`]}})),u0=o((e=>{var t=a0().default;Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=t(c0()),r=t(l0()),i={lang:{placeholder:`请选择日期`,yearPlaceholder:`请选择年份`,quarterPlaceholder:`请选择季度`,monthPlaceholder:`请选择月份`,weekPlaceholder:`请选择周`,rangePlaceholder:[`开始日期`,`结束日期`],rangeYearPlaceholder:[`开始年份`,`结束年份`],rangeMonthPlaceholder:[`开始月份`,`结束月份`],rangeQuarterPlaceholder:[`开始季度`,`结束季度`],rangeWeekPlaceholder:[`开始周`,`结束周`],...n.default},timePickerLocale:{...r.default}};i.lang.ok=`确定`,e.default=i})),d0=o((e=>{var t=a0().default;Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default=t(u0()).default})),f0=o((e=>{var t=a0().default;Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=t(o0()),r=t(d0()),i=t(u0()),a=t(l0()),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:`渐变色`}}})),p0=o(((e,t)=>{t.exports=f0()})),m0={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 h0(){return h0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,h0({},e,{ref:t,icon:m0}))),_0={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 v0(){return v0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,v0({},e,{ref:t,icon:_0}))),b0={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 x0(){return x0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,x0({},e,{ref:t,icon:b0}))),C0={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 w0(){return w0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,w0({},e,{ref:t,icon:C0}))),E0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 000 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z`}}]},name:`arrow-left`,theme:`outlined`};function D0(){return D0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,D0({},e,{ref:t,icon:E0}))),k0={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 A0(){return A0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,A0({},e,{ref:t,icon:k0}))),M0={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 N0(){return N0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,N0({},e,{ref:t,icon:M0}))),F0={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 I0(){return I0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,I0({},e,{ref:t,icon:F0}))),R0={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 z0(){return z0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,z0({},e,{ref:t,icon:R0}))),V0={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 H0(){return H0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,H0({},e,{ref:t,icon:V0}))),W0={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 G0(){return G0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,G0({},e,{ref:t,icon:W0}))),q0={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 J0(){return J0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,J0({},e,{ref:t,icon:q0}))),X0={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 Z0(){return Z0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Z0({},e,{ref:t,icon:X0}))),$0={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 e2(){return e2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,e2({},e,{ref:t,icon:$0}))),n2={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 r2(){return r2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,r2({},e,{ref:t,icon:n2}))),a2={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 o2(){return o2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,o2({},e,{ref:t,icon:a2}))),c2={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 l2(){return l2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,l2({},e,{ref:t,icon:c2}))),d2={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 f2(){return f2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,f2({},e,{ref:t,icon:d2}))),m2={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 h2(){return h2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,h2({},e,{ref:t,icon:m2}))),_2={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 v2(){return v2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,v2({},e,{ref:t,icon:_2}))),b2={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 x2(){return x2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,x2({},e,{ref:t,icon:b2}))),C2={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 w2(){return w2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,w2({},e,{ref:t,icon:C2}))),E2={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 D2(){return D2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,D2({},e,{ref:t,icon:E2}))),k2={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 A2(){return A2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,A2({},e,{ref:t,icon:k2}))),M2={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 N2(){return N2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,N2({},e,{ref:t,icon:M2}))),F2={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 I2(){return I2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,I2({},e,{ref:t,icon:F2}))),R2={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 z2(){return z2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,z2({},e,{ref:t,icon:R2}))),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 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 H2(){return H2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,H2({},e,{ref:t,icon:V2}))),W2={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 G2(){return G2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,G2({},e,{ref:t,icon:W2}))),q2={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 J2(){return J2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,J2({},e,{ref:t,icon:q2}))),X2={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 Z2(){return Z2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Z2({},e,{ref:t,icon:X2}))),$2={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 e4(){return e4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,e4({},e,{ref:t,icon:$2}))),n4={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 r4(){return r4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,r4({},e,{ref:t,icon:n4}))),a4={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 o4(){return o4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,o4({},e,{ref:t,icon:a4}))),c4={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 l4(){return l4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,l4({},e,{ref:t,icon:c4}))),d4={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 f4(){return f4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,f4({},e,{ref:t,icon:d4}))),m4={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 h4(){return h4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,h4({},e,{ref:t,icon:m4}))),_4={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 v4(){return v4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,v4({},e,{ref:t,icon:_4}))),b4={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 x4(){return x4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,x4({},e,{ref:t,icon:b4}))),C4={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 w4(){return w4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,w4({},e,{ref:t,icon:C4}))),E4={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 D4(){return D4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,D4({},e,{ref:t,icon:E4}))),k4={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 A4(){return A4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,A4({},e,{ref:t,icon:k4}))),M4={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 N4(){return N4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,N4({},e,{ref:t,icon:M4}))),F4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z`}}]},name:`link`,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:F4}))),R4={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 z4(){return z4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,z4({},e,{ref:t,icon:R4}))),V4={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 H4(){return H4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,H4({},e,{ref:t,icon:V4}))),W4={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 G4(){return G4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,G4({},e,{ref:t,icon:W4}))),q4={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 J4(){return J4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,J4({},e,{ref:t,icon:q4}))),X4={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 Z4(){return Z4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Z4({},e,{ref:t,icon:X4}))),$4={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 e3(){return e3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,e3({},e,{ref:t,icon:$4}))),n3={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 r3(){return r3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,r3({},e,{ref:t,icon:n3}))),a3={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 o3(){return o3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,o3({},e,{ref:t,icon:a3}))),c3={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 l3(){return l3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,l3({},e,{ref:t,icon:c3}))),d3={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 f3(){return f3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,f3({},e,{ref:t,icon:d3}))),m3={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 h3(){return h3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,h3({},e,{ref:t,icon:m3}))),_3={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 v3(){return v3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,v3({},e,{ref:t,icon:_3}))),b3={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 x3(){return x3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,x3({},e,{ref:t,icon:b3}))),C3={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 w3(){return w3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,w3({},e,{ref:t,icon:C3}))),E3={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 D3(){return D3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,D3({},e,{ref:t,icon:E3}))),k3={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 A3(){return A3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,A3({},e,{ref:t,icon:k3}))),M3={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 N3(){return N3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,N3({},e,{ref:t,icon:M3}))),F3={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 I3(){return I3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,I3({},e,{ref:t,icon:F3}))),R3={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 z3(){return z3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,z3({},e,{ref:t,icon:R3}))),V3={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 H3(){return H3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,H3({},e,{ref:t,icon:V3}))),W3={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 G3(){return G3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,G3({},e,{ref:t,icon:W3}))),q3={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 J3(){return J3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,J3({},e,{ref:t,icon:q3}))),X3={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 Z3(){return Z3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Z3({},e,{ref:t,icon:X3}))),$3={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 e6(){return e6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,e6({},e,{ref:t,icon:$3}))),n6={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 r6(){return r6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,r6({},e,{ref:t,icon:n6}))),a6={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 o6(){return o6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,o6({},e,{ref:t,icon:a6}))),c6={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 l6(){return l6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,l6({},e,{ref:t,icon:c6}))),d6={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 f6(){return f6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,f6({},e,{ref:t,icon:d6}))),m6={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 h6(){return h6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,h6({},e,{ref:t,icon:m6}))),_6={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 v6(){return v6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,v6({},e,{ref:t,icon:_6}))),b6={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 x6(){return x6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,x6({},e,{ref:t,icon:b6}))),C6={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 w6(){return w6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,w6({},e,{ref:t,icon:C6}))),E6={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 D6(){return D6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,D6({},e,{ref:t,icon:E6}))),k6={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 A6(){return A6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,A6({},e,{ref:t,icon:k6}))),M6={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 N6(){return N6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,N6({},e,{ref:t,icon:M6}))),F6={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 I6(){return I6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,I6({},e,{ref:t,icon:F6}))),R6={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 z6(){return z6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,z6({},e,{ref:t,icon:R6}))),V6={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 H6(){return H6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,H6({},e,{ref:t,icon:V6}))),W6={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 G6(){return G6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,G6({},e,{ref:t,icon:W6}))),q6={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 J6(){return J6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,J6({},e,{ref:t,icon:q6}))),X6={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 Z6(){return Z6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Z6({},e,{ref:t,icon:X6}))),$6={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 e8(){return e8=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,e8({},e,{ref:t,icon:$6}))),n8={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 r8(){return r8=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,r8({},e,{ref:t,icon:n8}))),a8={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 o8(){return o8=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,o8({},e,{ref:t,icon:a8}))),c8={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 l8(){return l8=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,l8({},e,{ref:t,icon:c8}))),d8=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},f8=(e=>e?d8(e):d8),p8=e=>e;function m8(e,t=p8){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 h8=e=>{let t=f8(e),n=e=>m8(t,e);return Object.assign(n,t),n},g8=(e=>e?h8(e):h8),_8=c(p0(),1),v8=`AES-GCM`,y8=12,b8=128;async function x8(){throw Error(`VITE_ENCRYPTION_KEY not configured`)}async function S8(e){let t=await x8(),n=crypto.getRandomValues(new Uint8Array(y8)),r=new TextEncoder().encode(e),i=await crypto.subtle.encrypt({name:v8,iv:n,tagLength:b8},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 C8(e){let t=await x8(),n=Uint8Array.from(atob(e),e=>e.charCodeAt(0)),r=n.slice(0,y8),i=n.slice(y8),a=await crypto.subtle.decrypt({name:v8,iv:r,tagLength:b8},t,i);return new TextDecoder().decode(a)}var w8=`http://ceshi.apiforeign.minzhong.cn`,T8=!1;function E8(e){return e.replace(/_([a-z])/g,(e,t)=>t.toUpperCase())}function D8(e){return Array.isArray(e)?e.map(D8):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,t])=>[E8(e),D8(t)])):e}function O8(){return localStorage.getItem(`auth_token`)}function k8(e){localStorage.setItem(`auth_token`,e)}function A8(){localStorage.removeItem(`auth_token`)}async function j8(e){try{return await C8(e)}catch{return null}}async function M8(e,t={}){let{method:n=`GET`,body:r,auth:i=!0,encryptBody:a=T8}=t,o={"Content-Type":`application/json`};if(i){let e=O8();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 S8(e)})):s=e}let c=await fetch(`${w8}/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 j8(u.data);e!==null&&(u=JSON.parse(e))}if(!c.ok){let e=u?.detail||`请求失败 (${c.status})`;throw c.status===401&&(A8(),window.location.href=`/login`),Error(e)}return D8(u)}var N8={get:(e,t=!0)=>M8(e,{auth:t}),post:(e,t,n=!0)=>M8(e,{method:`POST`,body:t,auth:n}),put:(e,t,n=!0)=>M8(e,{method:`PUT`,body:t,auth:n}),delete:(e,t=!0)=>M8(e,{method:`DELETE`,auth:t})};async function P8(e,t,n,r){let i=await N8.post(`/auth/admin-login`,{username:e,password:t,captcha_token:n,remember_me:r||!1},!1);return k8(i.accessToken),i.user}async function F8(){await N8.post(`/auth/logout`),A8()}async function I8(){try{return await N8.get(`/auth/me`)}catch{return null}}async function L8(e,t){let n={};e&&(n.start_date=e),t&&(n.end_date=t);let r=new URLSearchParams(n).toString();return N8.get(`/admin/stats${r?`?${r}`:``}`)}async function R8(e=1,t=20,n){let r=new URLSearchParams;return r.set(`page`,String(e)),r.set(`page_size`,String(t)),n&&r.set(`search`,n),N8.get(`/admin/users?${r.toString()}`)}async function z8(e,t,n){await N8.post(`/admin/users/${e}/credits`,{amount:t,description:n})}async function B8(e,t){await N8.put(`/admin/users/${e}/status`,{is_active:t})}async function V8(){return N8.get(`/admin/model-configs`)}async function H8(e){return e.id?N8.put(`/admin/model-configs/${e.id}`,e):N8.post(`/admin/model-configs`,e)}async function U8(e){await N8.delete(`/admin/model-configs/${e}`)}async function W8(){return N8.get(`/admin/system-configs`)}async function G8(e,t){await N8.put(`/admin/system-configs/${e}`,{value:t})}async function K8(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 q8(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 N8.get(`/admin/credit-records${n}`)}async function J8(){return N8.get(`/admin/industry-configs`)}async function Y8(e){return e.id?N8.put(`/admin/industry-configs/${e.id}`,e):N8.post(`/admin/industry-configs`,e)}async function X8(e){await N8.delete(`/admin/industry-configs/${e}`)}async function Z8(){return N8.get(`/admin/video-engines`)}async function Q8(e){return e.id?N8.put(`/admin/video-engines/${e.id}`,e):N8.post(`/admin/video-engines`,e)}async function $8(e){await N8.delete(`/admin/video-engines/${e}`)}async function e5(){return N8.get(`/admin/image-engines`)}async function t5(e){return e.id?N8.put(`/admin/image-engines/${e.id}`,e):N8.post(`/admin/image-engines`,e)}async function n5(e){await N8.delete(`/admin/image-engines/${e}`)}async function r5(){return N8.get(`/admin/credit-ratios`)}async function i5(e){return e.id?N8.put(`/admin/credit-ratios/${e.id}`,e):N8.post(`/admin/credit-ratios`,e)}async function a5(e){await N8.delete(`/admin/credit-ratios/${e}`)}async function o5(){return N8.get(`/admin/payment-configs`)}async function s5(e){await N8.put(`/admin/payment-configs/batch`,e)}async function c5(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 N8.get(r)}async function l5(e){let t=new URLSearchParams;return e?.method&&t.set(`payment_method`,e.method),e?.status&&t.set(`status`,e.status),e?.startDate&&t.set(`start_date`,e.startDate),e?.endDate&&t.set(`end_date`,e.endDate),e?.page&&t.set(`page`,String(e.page)),e?.pageSize&&t.set(`page_size`,String(e.pageSize)),N8.get(`/admin/payment-orders?${t.toString()}`)}async function u5(e){await N8.post(`/admin/payment-orders/${e}/refund`)}async function d5(e=1,t=20){let n=new URLSearchParams;return n.set(`page`,String(e)),n.set(`page_size`,String(t)),N8.get(`/admin/notifications?${n.toString()}`)}async function f5(e){await N8.post(`/admin/notifications`,e)}async function p5(e){await N8.delete(`/admin/notifications/${e}`)}async function m5(e){return N8.get(`/admin/notifications/${e}/read-users`)}async function h5(){return N8.get(`/admin/menu-configs`)}async function g5(e){return e.id?N8.put(`/admin/menu-configs/${e.id}`,e):N8.post(`/admin/menu-configs`,e)}async function _5(e){await N8.delete(`/admin/menu-configs/${e}`)}async function v5(e){return N8.post(`/admin/users`,e)}async function y5(e,t){await N8.put(`/admin/users/${e}/menus`,{allowed_menus:t})}async function b5(e,t){await N8.put(`/admin/users/${e}/reset-password`,{new_password:t})}async function x5(e,t){await N8.post(`/admin/change-password`,{old_password:e,new_password:t})}async function S5(){return N8.get(`/auth/site-info`,!1)}async function C5(){return N8.get(`/admin/recharge-packages`)}async function w5(e){return e.id?N8.put(`/admin/recharge-packages/${e.id}`,e):N8.post(`/admin/recharge-packages`,e)}async function T5(e){await N8.delete(`/admin/recharge-packages/${e}`)}async function E5(e){let t=e?`?page=${e}`:``;return N8.get(`/admin/operation-logs${t}`)}async function D5(e){let t=e?`?page=${e}`:``;return N8.get(`/admin/user-oauth-apps/list${t}`)}async function O5(e){return N8.post(`/admin/user-oauth-apps/create`,e)}async function k5(e){return N8.get(`/admin/user-oauth-apps/read/${e}`)}async function A5(e,t){return N8.post(`/admin/user-oauth-apps/update/${e}`,t)}async function j5(e){await N8.get(`/admin/user-oauth-apps/delete/${e}`)}async function M5(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 N8.get(`/admin/generation-records${n?`?${n}`:``}`)}async function N5(e,t,n){await N8.put(`/admin/generation-records/${e}/status`,{status:t,video_url:n})}async function P5(e,t,n,r){await N8.post(`/admin/generation-records/${e}/generate`,{aspect_ratio:t,resolution:n,image_size:r})}async function F5(){return N8.get(`/generation-ai/engines`)}async function I5(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 N8.get(`/generation-ai/tasks${n?`?${n}`:``}`)}function L5(e,t,n){n==null||String(n).trim()===``||e.set(t,String(n))}async function R5(e){let t=new URLSearchParams;L5(t,`status`,e?.status),L5(t,`keyword`,e?.keyword),L5(t,`user_id`,e?.userId),L5(t,`user_name`,e?.userName),L5(t,`created_start`,e?.createdStart),L5(t,`created_end`,e?.createdEnd),L5(t,`page`,e?.page),L5(t,`page_size`,e?.pageSize);let n=t.toString();return N8.get(`/hot-opening-replications/tasks${n?`?${n}`:``}`)}async function z5(e){return N8.get(`/hot-opening-replications/tasks/${e}`)}async function B5(e){let t=new URLSearchParams;L5(t,`status`,e?.status),L5(t,`analysis_status`,e?.analysisStatus),L5(t,`split_status`,e?.splitStatus),L5(t,`keyword`,e?.keyword),L5(t,`user_id`,e?.userId),L5(t,`user_name`,e?.userName),L5(t,`created_start`,e?.createdStart),L5(t,`created_end`,e?.createdEnd),L5(t,`page`,e?.page),L5(t,`page_size`,e?.pageSize);let n=t.toString();return N8.get(`/shot-replications/task-sets${n?`?${n}`:``}`)}async function V5(e){return N8.get(`/shot-replications/task-sets/${e}`)}async function H5(e,t){let n=new URLSearchParams;L5(n,`source_mode`,t?.sourceMode),L5(n,`split_status`,t?.splitStatus),L5(n,`analysis_status`,t?.analysisStatus),L5(n,`replicate_status`,t?.replicateStatus),L5(n,`page`,t?.page),L5(n,`page_size`,t?.pageSize);let r=n.toString();return N8.get(`/shot-replications/task-sets/${e}/segments${r?`?${r}`:``}`)}async function U5(e){return N8.get(`/shot-replications/segments/${e}`)}async function W5(e){return N8.get(`/shot-replications/projects/${e}`)}var G5=g8(e=>({user:null,loading:!0,login:async(t,n,r)=>{e({user:await P8(t,n,void 0,r)})},logout:async()=>{await F8(),e({user:null})},checkAuth:async()=>{try{if(!localStorage.getItem(`auth_token`)){e({user:null,loading:!1});return}e({user:await I8(),loading:!1})}catch(t){(t?.message?.includes(`401`)||t?.message?.includes(`Unauthorized`))&&localStorage.removeItem(`auth_token`),e({user:null,loading:!1})}}})),K5=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=K5()}))(),{Sider:q5,Content:J5}=nG,Y5={HomeOutlined:(0,$.jsx)(T4,{}),PlayCircleOutlined:(0,$.jsx)(S3,{}),WalletOutlined:(0,$.jsx)(s8,{}),RobotOutlined:(0,$.jsx)(P3,{}),SettingOutlined:(0,$.jsx)(t6,{}),BellOutlined:(0,$.jsx)(U0,{}),UserOutlined:(0,$.jsx)(t8,{}),AppstoreOutlined:(0,$.jsx)(S0,{}),FileTextOutlined:(0,$.jsx)(wH,{}),StarOutlined:(0,$.jsx)(T6,{}),HeartOutlined:(0,$.jsx)(g4,{}),CameraOutlined:(0,$.jsx)(i2,{}),DashboardOutlined:(0,$.jsx)(P2,{}),CalculatorOutlined:(0,$.jsx)(t2,{}),DollarOutlined:(0,$.jsx)(B2,{}),GiftOutlined:(0,$.jsx)(u4,{}),ThunderboltOutlined:(0,$.jsx)(L6,{}),FireOutlined:(0,$.jsx)(t4,{}),CloudOutlined:(0,$.jsx)(g2,{}),SmileOutlined:(0,$.jsx)(g6,{}),TrophyOutlined:(0,$.jsx)(U6,{}),RocketOutlined:(0,$.jsx)(L3,{}),BulbOutlined:(0,$.jsx)(Q0,{}),CodeOutlined:(0,$.jsx)(S2,{}),PictureOutlined:(0,$.jsx)(g3,{}),VideoCameraOutlined:(0,$.jsx)(i8,{}),AudioOutlined:(0,$.jsx)(P0,{}),MailOutlined:(0,$.jsx)(K4,{}),PhoneOutlined:(0,$.jsx)(p3,{}),GlobalOutlined:(0,$.jsx)(p4,{}),ShoppingCartOutlined:(0,$.jsx)(i6,{}),TeamOutlined:(0,$.jsx)(P6,{}),BarChartOutlined:(0,$.jsx)(B0,{}),PieChartOutlined:(0,$.jsx)(y3,{}),LineChartOutlined:(0,$.jsx)(P4,{}),SecurityScanOutlined:(0,$.jsx)(Y3,{}),ApiOutlined:(0,$.jsx)(y0,{}),DatabaseOutlined:(0,$.jsx)(L2,{}),CloudServerOutlined:(0,$.jsx)(y2,{}),MenuOutlined:(0,$.jsx)(Q4,{}),PlusOutlined:(0,$.jsx)(nR,{}),EditOutlined:(0,$.jsx)(g$,{}),DeleteOutlined:(0,$.jsx)(p$,{}),LockOutlined:(0,$.jsx)(B4,{}),LogoutOutlined:(0,$.jsx)(U4,{})},X5=()=>{let e=Je(),t=Ge(),{user:n,loading:r,logout:i}=G5(),[a,o]=(0,x.useState)([]),[s,c]=(0,x.useState)(!1),[l]=Z.useForm(),[u,d]=(0,x.useState)(()=>{let e=localStorage.getItem(`siteInfo`);return e&&JSON.parse(e).siteName||`管理后台`}),[f,p]=(0,x.useState)(()=>{let e=localStorage.getItem(`siteInfo`);return e&&JSON.parse(e).siteLogo||``});if((0,x.useEffect)(()=>{S5().then(e=>{let t=e.siteName||`管理后台`,n=e.siteLogo||``;if(d(t),p(n),document.title=t,localStorage.setItem(`siteInfo`,JSON.stringify({siteName:t,siteLogo:n})),n){let e=document.querySelector(`link[rel="icon"]`);e||(e=document.createElement(`link`),e.rel=`icon`,document.head.appendChild(e)),e.href=n,e.type=`image/png`}}).catch(()=>{})},[]),(0,x.useEffect)(()=>{h5().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=[]}o(t)}).catch(()=>{})},[n]),r)return(0,$.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100vh`},children:(0,$.jsx)(eK,{size:`large`})});if(!n)return(0,$.jsx)(St,{to:`/admin/login`,replace:!0});let m={};a.filter(e=>(e.menu_type??e.menuType)!==`group`&&(e.parent_id??e.parentId)).forEach(e=>{let t=e.parent_id??e.parentId;m[t]||(m[t]=[]),m[t].push(e)});let h=[...a].sort((e,t)=>(e.sort_order??e.sortOrder??0)-(t.sort_order??t.sortOrder??0)),g=[];h.forEach(e=>{let t=e.menu_type??e.menuType,n=e.parent_id??e.parentId;if(t===`group`){let t=(m[e.id]||[]).sort((e,t)=>(e.sort_order??e.sortOrder??0)-(t.sort_order??t.sortOrder??0)).map(e=>({key:e.path,icon:Y5[e.icon]||void 0,label:e.label}));t.length>0&&g.push({key:`group-${e.id}`,icon:Y5[e.icon]||void 0,label:e.label,children:t})}else n||g.push({key:e.path,icon:Y5[e.icon]||void 0,label:e.label})});let _=!!(n?.isAdmin??n?.is_admin);g.length===0&&_&&g.push({key:`/`,icon:(0,$.jsx)(P2,{}),label:`数据概览`},{key:`/users`,icon:(0,$.jsx)(t8,{}),label:`用户管理`});let v=t.pathname,y=[];g.forEach(e=>{e.children?e.children.forEach(e=>y.push(e.key)):y.push(e.key)}),y.includes(v)||(v=y.find(e=>v.startsWith(e))||`/`);let b=[];return g.forEach(e=>{e.children&&e.children.some(e=>e.key===v)&&b.push(e.key)}),(0,$.jsxs)(nG,{style:{minHeight:`100vh`,background:`#f1f5f9`},children:[(0,$.jsxs)(q5,{width:240,theme:`light`,style:{position:`fixed`,left:16,top:16,bottom:16,width:240,background:`linear-gradient(180deg, #ffffff 0%, #f8fafc 100%)`,borderRadius:`20px`,boxShadow:`0 4px 32px rgba(0, 0, 0, 0.06), 0 1px 8px rgba(0, 0, 0, 0.04)`,border:`1px solid rgba(0, 0, 0, 0.06)`,zIndex:100},children:[(0,$.jsxs)(`div`,{style:{height:80,display:`flex`,alignItems:`center`,justifyContent:`center`,gap:12,background:`linear-gradient(135deg, rgba(99, 102, 241, 0.06) 0%, rgba(139, 92, 246, 0.04) 100%)`},children:[(0,$.jsx)(`div`,{style:{width:42,height:42,borderRadius:14,background:`linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a78bfa 100%)`,display:`flex`,alignItems:`center`,justifyContent:`center`,boxShadow:`0 4px 16px rgba(99, 102, 241, 0.35)`,overflow:`hidden`},children:f?(0,$.jsx)(`img`,{src:f,alt:`logo`,style:{width:28,height:28,objectFit:`contain`}}):(0,$.jsx)(L6,{style:{fontSize:20,color:`#ffffff`}})}),(0,$.jsx)(`span`,{style:{color:`#1e293b`,fontSize:17,fontWeight:700,letterSpacing:-.02,background:`linear-gradient(135deg, #6366f1, #8b5cf6)`,WebkitBackgroundClip:`text`,WebkitTextFillColor:`transparent`,backgroundClip:`text`},children:u})]}),(0,$.jsx)($E,{mode:`inline`,selectedKeys:[v],defaultOpenKeys:b,items:g,style:{background:`transparent`,border:`none`,paddingTop:8,marginTop:8},onClick:({key:t})=>{t.startsWith(`group-`)||e(t)},theme:`light`})]}),(0,$.jsxs)(nG,{style:{marginLeft:272,marginTop:16,marginRight:16,marginBottom:16,background:`transparent`},children:[(0,$.jsxs)(`div`,{style:{height:72,background:`#ffffff`,borderRadius:`16px 16px 0 0`,boxShadow:`0 2px 12px rgba(0, 0, 0, 0.04)`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`0 32px`,fontFamily:`var(--font-sans)`,border:`1px solid rgba(0, 0, 0, 0.06)`,borderBottom:`none`},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:18,color:`#1e293b`,fontWeight:600},children:g.find(e=>e.key===v)?.label||g.flatMap(e=>e.children||[]).find(e=>e.key===v)?.label||`管理后台`}),(0,$.jsx)(xH,{menu:{items:[{key:`user`,icon:(0,$.jsx)(t8,{}),label:n?.username,disabled:!0},{type:`divider`},{key:`changePwd`,icon:(0,$.jsx)(B4,{}),label:`修改密码`},{key:`logout`,icon:(0,$.jsx)(U4,{}),label:`退出登录`,danger:!0}],onClick:({key:t})=>{t===`logout`&&(i(),e(`/login`)),t===`changePwd`&&(c(!0),l.resetFields())}},placement:`bottomRight`,arrow:!0,children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,cursor:`pointer`,padding:`8px 12px`,borderRadius:12,transition:`all 0.25s ease`,background:`linear-gradient(135deg, rgba(248, 250, 252, 0.9) 0%, rgba(241, 245, 249, 0.9) 100%)`},onMouseEnter:e=>{e.currentTarget.style.background=`#ffffff`,e.currentTarget.style.boxShadow=`0 4px 12px rgba(0, 0, 0, 0.08)`},onMouseLeave:e=>{e.currentTarget.style.background=`linear-gradient(135deg, rgba(248, 250, 252, 0.9) 0%, rgba(241, 245, 249, 0.9) 100%)`,e.currentTarget.style.boxShadow=`none`},children:[(0,$.jsx)(Xw,{size:32,icon:(0,$.jsx)(t8,{}),style:{background:`linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%)`,boxShadow:`0 4px 12px rgba(99, 102, 241, 0.3)`}}),(0,$.jsx)(Q.Text,{style:{fontSize:14,fontWeight:600,color:`#1e293b`},children:n?.username})]})})]}),(0,$.jsx)(J5,{style:{padding:32,background:`#ffffff`,borderRadius:`0 0 16px 16px`,boxShadow:`0 4px 24px rgba(0, 0, 0, 0.06)`,overflow:`auto`,border:`1px solid rgba(0, 0, 0, 0.06)`,borderTop:`none`},children:g.length===0&&!_?(0,$.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,height:`60vh`,color:`#94a3b8`},children:[(0,$.jsx)(B4,{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)(Ct,{})})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(B4,{}),`修改密码`]}),open:s,onOk:async()=>{try{let e=await l.validateFields();if(e.newPassword!==e.confirmPassword){hK.error(`两次输入的密码不一致`);return}await x5(e.oldPassword,e.newPassword),hK.success(`密码修改成功`),c(!1),l.resetFields()}catch(e){if(e?.errorFields)return;hK.error(e?.message||`修改失败`)}},onCancel:()=>{c(!1),l.resetFields()},okText:`确认修改`,cancelText:`取消`,width:420,children:(0,$.jsxs)(Z,{form:l,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsx)(Z.Item,{name:`oldPassword`,label:`原密码`,rules:[{required:!0,message:`请输入原密码`}],children:(0,$.jsx)(qW.Password,{placeholder:`请输入原密码`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`newPassword`,label:`新密码`,rules:[{required:!0,min:6,message:`密码至少6位`}],children:(0,$.jsx)(qW.Password,{placeholder:`请输入新密码(至少6位)`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`confirmPassword`,label:`确认新密码`,rules:[{required:!0,message:`请再次输入新密码`}],children:(0,$.jsx)(qW.Password,{placeholder:`请再次输入新密码`,size:`large`})})]})})]})},Z5=()=>{let e=Je(),{login:t}=G5(),[n,r]=(0,x.useState)(!1),i=(()=>{try{let e=localStorage.getItem(`siteInfo`);if(e){let t=JSON.parse(e);return{siteName:t.siteName||`VideoGen.AI`,siteLogo:t.siteLogo||``}}}catch{}return{siteName:`VideoGen.AI`,siteLogo:``}})(),[a,o]=(0,x.useState)(i.siteName),[s,c]=(0,x.useState)(i.siteLogo);return(0,x.useEffect)(()=>{S5().then(e=>{o(e.siteName),c(e.siteLogo)}).catch(()=>{})},[]),(0,$.jsxs)(`div`,{style:{minHeight:`100vh`,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`linear-gradient(135deg, #f0f4ff 0%, #e8ecf8 40%, #f0f0ff 70%, #f8f9ff 100%)`,position:`relative`,overflow:`hidden`},children:[(0,$.jsx)(`div`,{style:{position:`absolute`,width:500,height:500,borderRadius:`50%`,background:`radial-gradient(circle, rgba(99,102,241,0.08) 0%, transparent 70%)`,top:-150,right:-100,filter:`blur(40px)`}}),(0,$.jsx)(`div`,{style:{position:`absolute`,width:400,height:400,borderRadius:`50%`,background:`radial-gradient(circle, rgba(139,92,246,0.06) 0%, transparent 70%)`,bottom:-100,left:-80,filter:`blur(50px)`}}),(0,$.jsxs)(_z,{bordered:!1,style:{width:440,borderRadius:20,boxShadow:`0 20px 60px rgba(0,0,0,0.08)`,border:`1px solid #e2e8f0`,background:`#fff`,zIndex:1},styles:{body:{padding:`36px 28px`}},children:[(0,$.jsxs)(`div`,{style:{textAlign:`center`,marginBottom:28},children:[(0,$.jsx)(`div`,{style:{width:52,height:52,borderRadius:14,margin:`0 auto 16px`,display:`flex`,alignItems:`center`,justifyContent:`center`,background:s?`transparent`:`linear-gradient(135deg, #6366f1, #8b5cf6)`,boxShadow:s?`none`:`0 8px 24px rgba(99,102,241,0.25)`},children:s?(0,$.jsx)(`img`,{src:s,alt:`logo`,style:{width:`100%`,height:`100%`,borderRadius:14,objectFit:`contain`}}):(0,$.jsx)(L6,{style:{fontSize:26,color:`#fff`}})}),(0,$.jsxs)(Q.Title,{level:3,style:{margin:0,color:`#1e293b`,fontWeight:700},children:[a,(0,$.jsx)(`span`,{style:{color:`#6366f1`},children:`.AI`})]}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:14,color:`#94a3b8`},children:`管理后台`})]}),(0,$.jsxs)(Z,{onFinish:async n=>{r(!0);try{await t(n.username,n.password,n.rememberMe),hK.success(`登录成功`),e(`/`)}catch{hK.error(`登录失败`)}finally{r(!1)}},layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`username`,rules:[{required:!0,message:`请输入用户名`}],children:(0,$.jsx)(qW,{placeholder:`用户名`,size:`large`,prefix:(0,$.jsx)(t8,{style:{color:`#94a3b8`,marginRight:8}}),style:{background:`#fff`,border:`1.5px solid #e2e8f0`,color:`#1e293b`,height:48,borderRadius:10,fontSize:14}})}),(0,$.jsx)(Z.Item,{name:`password`,rules:[{required:!0,message:`请输入密码`}],children:(0,$.jsx)(qW.Password,{placeholder:`密码`,size:`large`,prefix:(0,$.jsx)(B4,{style:{color:`#94a3b8`,marginRight:8}}),style:{background:`#fff`,border:`1.5px solid #e2e8f0`,color:`#1e293b`,height:48,borderRadius:10,fontSize:14}})}),(0,$.jsx)(Z.Item,{name:`rememberMe`,valuePropName:`checked`,style:{marginBottom:12},children:(0,$.jsx)(Uz,{children:`记住我的登录状态`})}),(0,$.jsx)(Z.Item,{style:{marginBottom:8},children:(0,$.jsx)(aD,{type:`primary`,htmlType:`submit`,loading:n,block:!0,size:`large`,style:{height:48,borderRadius:10,fontSize:16,fontWeight:600,background:`linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%)`,border:`none`,boxShadow:`0 8px 24px rgba(99,102,241,0.25)`},children:`登录管理后台`})})]})]})]})};o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r(oD()):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}))}))(),pD.default.locale(`zh-cn`);var Q5=()=>{let[e,t]=(0,x.useState)(null),[n,r]=(0,x.useState)(!0),[i,a]=(0,x.useState)([(0,pD.default)().startOf(`day`),(0,pD.default)()]),[o,s]=(0,x.useState)(`数据概览`),c=async()=>{r(!0);try{t(await L8(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 W8()).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,pD.default)().startOf(`day`),(0,pD.default)()];a(e),m(e)},d=()=>{let e=(0,pD.default)().subtract(1,`day`),t=[e.startOf(`day`),e.endOf(`day`)];a(t),m(t)},f=()=>{let e=[(0,pD.default)().startOf(`week`),(0,pD.default)()];a(e),m(e)},p=()=>{let e=[(0,pD.default)().startOf(`month`),(0,pD.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),L8(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)(t8,{}),gradient:`linear-gradient(135deg, #667eea 0%, #764ba2 100%)`,prefix:``,suffix:`位用户`,description:`平台注册用户总数`},{title:`总项目数`,value:e.totalProjects,lastPeriodValue:e.lastPeriodProjects,icon:(0,$.jsx)(T3,{}),gradient:`linear-gradient(135deg, #00d4ff 0%, #0099cc 100%)`,prefix:``,suffix:`个项目`,description:`创建的项目总数`},{title:`项目记录`,value:e.totalRecords,lastPeriodValue:e.lastPeriodRecords,icon:(0,$.jsx)(wH,{}),gradient:`linear-gradient(135deg, #10b981 0%, #059669 100%)`,prefix:``,suffix:`条记录`,description:`项目记录总数`},{title:`创作记录`,value:e.totalGenerations,lastPeriodValue:e.lastPeriodGenerations,icon:(0,$.jsx)(S3,{}),gradient:`linear-gradient(135deg, #f59e0b 0%, #d97706 100%)`,prefix:``,suffix:`次创作`,description:`AI创作记录总数`}]:[],_=e?[{title:`支付宝收入`,value:e.todayAlipayRevenue,icon:(0,$.jsx)(s8,{}),gradient:`linear-gradient(135deg, #22c55e 0%, #16a34a 100%)`,prefix:`¥`,suffix:``,description:`支付宝收款`,tag:`支付宝`},{title:`微信收入`,value:e.todayWechatRevenue,icon:(0,$.jsx)(B2,{}),gradient:`linear-gradient(135deg, #3b82f6 0%, #2563eb 100%)`,prefix:`¥`,suffix:``,description:`微信收款`,tag:`微信支付`},{title:`总收入`,value:e.totalRevenue,lastPeriodValue:e.lastPeriodRevenue,icon:(0,$.jsx)(j0,{}),gradient:`linear-gradient(135deg, #ec4899 0%, #be185d 100%)`,prefix:`¥`,suffix:``,description:`平台总收入`,tag:`总收入`},{title:`消耗积分`,value:e.creditsConsumedToday,lastPeriodValue:e.lastPeriodCreditsConsumed,icon:(0,$.jsx)(B2,{}),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)(_z,{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)(yH,{children:[(0,$.jsx)(aD,{type:!i[0]||!i[1]||i[0]?.isSame((0,pD.default)().startOf(`day`))&&i[1]?.isSame((0,pD.default)(),`day`)?`primary`:`default`,size:`small`,onClick:u,children:`今日`}),(0,$.jsx)(aD,{type:`default`,size:`small`,onClick:d,children:`昨日`}),(0,$.jsx)(aD,{type:`default`,size:`small`,onClick:f,children:`本周`}),(0,$.jsx)(aD,{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)(_V,{style:{color:`#64748b`,fontSize:14}}),(0,$.jsx)(DV.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)(aq,{gutter:[16,16],children:g.map(e=>(0,$.jsx)(Xz,{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)(aq,{gutter:[16,16],children:_.map(e=>(0,$.jsx)(Xz,{xs:12,sm:8,lg:6,children:(0,$.jsx)(v,{...e})},e.title))})]})]})};function $5(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 e7=()=>{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,D]=(0,x.useState)(1),[O,k]=(0,x.useState)(20),[A,j]=(0,x.useState)(0),[M,N]=(0,x.useState)([]),[P]=Z.useForm(),[F,I]=(0,x.useState)(!1),L=async()=>{r(!0);try{let e=await R8(E,O,i||void 0);t(e.items||[]),j(e.total||0)}catch{}r(!1)};(0,x.useEffect)(()=>{L()},[E,O,i]),(0,x.useEffect)(()=>{(async()=>{try{let e=(await W8()).filter(e=>e.key.startsWith(`user_`)&&e.key.includes(`credits`));N(e);let t={};e.forEach(e=>{t[e.key]=e.value}),P.setFieldsValue(t)}catch{}})()},[]);let R=async()=>{try{let e=await P.validateFields();I(!0);for(let t of M){let n=e[t.key];n!==void 0&&n!==t.value&&await G8(t.id,n??``)}hK.success(`积分配置已保存`),N((await W8()).filter(e=>e.key.startsWith(`user_`)&&e.key.includes(`credits`))),I(!1)}catch(e){I(!1),hK.error(e?.message||`保存失败`)}},z=(e,t)=>{D(e),k(t)},B=()=>L(),V=async()=>{try{let e=await C.validateFields(),{user:t}=c;if(!t)return;await z8(t.id,e.amount,e.description),hK.success(`已${e.amount>0?`增加`:`扣除`} ${Math.abs(e.amount)} 积分`),l({open:!1,user:null}),C.resetFields(),L()}catch{}},H=async e=>{await B8(e.id,!e.isActive),hK.success(e.isActive?`已禁用该用户`:`已启用该用户`),L()},U=async()=>{try{let e=await w.validateFields(),t=e.user_type||`frontend`;await v5({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}),hK.success(`用户创建成功`),d(!1),w.resetFields(),p(`frontend`),L()}catch{}},W=async e=>{try{let t=await h5(),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{hK.error(`加载菜单失败`)}},ee=g.filter(e=>(e.menu_type??e.menuType)===`group`),te=g.filter(e=>(e.menu_type??e.menuType)!==`group`),G={};te.filter(e=>e.parent_id??e.parentId).forEach(e=>{let t=e.parent_id??e.parentId;G[t]||(G[t]=[]),G[t].push(e)});let ne=te.filter(e=>!(e.parent_id??e.parentId)),K=async()=>{let{user:e}=m;if(e)try{await y5(e.id,v.length>0?v:null),hK.success(`菜单权限已更新`),h({open:!1,user:null}),L()}catch(e){hK.error(e?.message||`保存失败`)}},re=async()=>{try{let e=await T.validateFields(),{user:t}=b;if(!t)return;await b5(t.id,e.newPassword),hK.success(`已重置 ${t.username} 的密码`),S({open:!1,user:null}),T.resetFields()}catch{}},ie=e.filter(e=>e.userType===o),ae=o===`admin`,q=[{title:`用户`,key:`user`,width:200,render:(e,t)=>(0,$.jsxs)(yH,{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)(u$,{color:`orange`,style:{marginLeft:6,fontSize:10},children:`管理员`})]}),(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.email})]})]})},...ae?[]:[{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)(u$,{color:e?`green`:`red`,children:e?`正常`:`禁用`})},{title:`注册时间`,dataIndex:`createdAt`,width:120,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:$5(e)})},{title:`最后登录`,dataIndex:`lastLoginAt`,width:140,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:$5(e)})},{title:`操作`,key:`action`,width:320,fixed:`right`,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[!ae&&(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(s8,{}),onClick:()=>{l({open:!0,user:t}),C.resetFields()},children:`调整积分`}),(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(Q4,{}),onClick:()=>W(t),children:`菜单权限`}),(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(B4,{}),onClick:()=>{S({open:!0,user:t}),T.resetFields()},children:`重置密码`}),(0,$.jsx)(SK,{title:t.isActive?`确定禁用该用户?`:`确定启用该用户?`,onConfirm:()=>H(t),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:t.isActive,icon:t.isActive?(0,$.jsx)(O6,{}):(0,$.jsx)(u2,{}),children:t.isActive?`禁用`:`启用`})})]})}];return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`,marginBottom:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12,marginBottom:20},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)(t6,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:4,style:{margin:0},children:`积分配置`}),(0,$.jsx)(Q.Text,{type:`secondary`,children:`设置用户注册和登录赠送的积分`})]})]}),(0,$.jsxs)(Z,{form:P,layout:`vertical`,children:[(0,$.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`1fr 1fr 1fr`,gap:20},children:[(0,$.jsx)(Z.Item,{name:`user_register_credits`,label:(0,$.jsx)(`span`,{style:{fontWeight:500},children:`注册赠送积分`}),extra:`用户注册时赠送的初始积分`,children:(0,$.jsx)(RB,{min:0,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`user_login_credits`,label:(0,$.jsx)(`span`,{style:{fontWeight:500},children:`每日登录赠送积分`}),extra:`用户每日首次登录赠送的积分`,children:(0,$.jsx)(RB,{min:0,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`user_login_credits_enabled`,label:(0,$.jsx)(`span`,{style:{fontWeight:500},children:`启用每日登录积分`}),extra:`是否开启每日登录赠送积分功能`,children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(uJ,{defaultChecked:M.find(e=>e.key===`user_login_credits_enabled`)?.value===`true`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:13},children:M.find(e=>e.key===`user_login_credits_enabled`)?.value===`true`?`已启用`:`已禁用`})]})})]}),(0,$.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,marginTop:16},children:(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(K3,{}),onClick:R,loading:F,size:`large`,style:{borderRadius:8},children:`保存配置`})})]})]}),(0,$.jsxs)(_z,{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)(qW,{placeholder:`搜索用户名或手机号`,prefix:(0,$.jsx)(GC,{style:{color:`#94a3b8`}}),value:i,onChange:e=>a(e.target.value),onPressEnter:B,style:{width:280,borderRadius:8},allowClear:!0}),(0,$.jsx)(aD,{type:`primary`,onClick:B,style:{borderRadius:8},children:`搜索`})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>{p(o),w.setFieldsValue({user_type:o}),d(!0)},style:{borderRadius:8},children:`创建用户`})]}),(0,$.jsx)(rz,{activeKey:o,onChange:s,items:[{key:`frontend`,label:`前台用户`},{key:`admin`,label:`后台用户`}]}),(0,$.jsx)(QQ,{columns:q,dataSource:ie,rowKey:`id`,loading:n,pagination:{current:E,pageSize:O,total:A,onChange:z,showSizeChanger:!0,showTotal:e=>`共 ${e} 个用户`},scroll:{x:1e3}})]}),(0,$.jsxs)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(s8,{}),`调整积分 - `,c.user?.username]}),open:c.open,onOk:V,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)(RB,{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)(qW.TextArea,{rows:2,placeholder:`请输入调整原因`,size:`large`})})]})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(t8,{}),`创建用户`]}),open:u,onOk:U,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)(XC,{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)(qW,{placeholder:`请输入手机号`,maxLength:11,size:`large`})}):(0,$.jsx)(Z.Item,{name:`username`,label:`用户名`,rules:[{required:!0,message:`请输入用户名`}],children:(0,$.jsx)(qW,{placeholder:`请输入用户名`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`password`,label:`密码`,rules:[{required:!0,min:6,message:`密码至少6位`}],children:(0,$.jsx)(qW.Password,{placeholder:`请输入密码(至少6位)`,size:`large`})}),f===`frontend`&&(0,$.jsx)(Z.Item,{name:`credits`,label:`初始积分`,initialValue:0,children:(0,$.jsx)(RB,{min:0,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`email`,label:`邮箱`,children:(0,$.jsx)(qW,{placeholder:`选填`,size:`large`})})]})}),(0,$.jsxs)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(Q4,{}),`菜单权限 - `,m.user?.username,` (`,m.user?.userType===`admin`?`后台菜单`:`前台菜单`,`)`]}),open:m.open,onOk:K,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)(Uz.Group,{value:v,onChange:e=>y(e),children:(0,$.jsxs)(yH,{direction:`vertical`,size:8,style:{width:`100%`},children:[ne.map(e=>(0,$.jsxs)(Uz,{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)),ee.map(e=>{let t=G[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)(yH,{direction:`vertical`,size:4,style:{paddingLeft:12,width:`100%`},children:t.map(e=>(0,$.jsxs)(Uz,{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)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(B4,{}),`重置密码 - `,b.user?.username]}),open:b.open,onOk:re,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)(qW.Password,{placeholder:`请输入新密码(至少6位)`,size:`large`})})})})]})},t7=()=>{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 V8())}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 H8({id:i.model.id,...t}):await H8(t),hK.success(i.model?.id?`模型配置已更新`:`模型配置已添加`),a({open:!1,model:null}),o.resetFields(),s()}catch(e){if(e?.errorFields)return;hK.error(e?.message||`保存失败`)}},l=async e=>{try{await U8(e),hK.success(`模型配置已删除`),s()}catch(e){hK.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)(_z,{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)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加模型`})]}),(0,$.jsx)(QQ,{columns:[{title:`模型名称`,dataIndex:`name`,width:150,render:(e,t)=>(0,$.jsxs)(yH,{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)(P3,{})}),(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)(u$,{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)(u$,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(g$,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(SK,{title:`确定删除该模型配置?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(P3,{}),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)(qW,{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)(XC,{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)(qW,{placeholder:`例如:gpt-4o`,size:`large`})})]}),(0,$.jsx)(Z.Item,{name:`apiBase`,label:`API地址`,children:(0,$.jsx)(qW,{placeholder:`https://api.openai.com/v1`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`apiKey`,label:`API Key`,children:(0,$.jsx)(qW.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)(RB,{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)(RB,{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)(RB,{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)(RB,{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)(uJ,{})})]})]})})]})},n7=()=>{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 W8();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 G8(t.id,e??``)}hK.success(`系统配置已保存`),t(await W8()),a(!1)}catch(e){a(!1),hK.error(e?.message||`保存失败`)}},d=async(e,n)=>{s(n);try{let r=await K8(e,n);t(e=>e.map(e=>e.key===n?{...e,value:r.url}:e)),c.setFieldsValue({[n]:r.url}),hK.success(`PDF上传成功`)}catch{hK.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_`)),用户积分配置:e.filter(e=>e.key.startsWith(`user_`)&&e.key.includes(`credits`))},p=e=>({site_name:`平台显示名称,将展示在页面标题和导航栏`,site_logo:`平台Logo图片URL,建议尺寸 200x40px`,user_agreement_url:`用户注册/登录时需同意的用户协议PDF文件`,privacy_policy_url:`用户注册/登录时需同意的隐私政策PDF文件`,seo_title:`搜索引擎结果中显示的标题`,seo_description:`搜索引擎结果中显示的描述文字,建议150字以内`,seo_keywords:`用逗号分隔的关键词列表`,user_register_credits:`用户注册时赠送的初始积分,默认100`,user_login_credits:`用户每日登录赠送的积分数量`,user_login_credits_enabled:`是否启用每日登录赠送积分功能`})[e.key]||e.description||``,m=e=>e.key===`seo_description`?(0,$.jsx)(qW.TextArea,{rows:3,placeholder:e.description,size:`large`}):e.key===`seo_keywords`?(0,$.jsx)(qW,{placeholder:`关键词1, 关键词2, 关键词3`,size:`large`}):e.key===`user_login_credits_enabled`?(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(uJ,{defaultChecked:e.value===`true`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:13},children:e.value===`true`?`已启用`:`已禁用`})]}):e.key===`user_register_credits`||e.key===`user_login_credits`?(0,$.jsx)(qW,{type:`number`,min:0,placeholder:e.description,size:`large`}):(0,$.jsx)(qW,{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)(yH,{children:[(0,$.jsx)(Q2,{style:{color:`#ef4444`,fontSize:18}}),(0,$.jsx)(Q.Text,{strong:!0,children:t})]}),(0,$.jsxs)(yH,{children:[n&&(0,$.jsx)(aD,{size:`small`,icon:(0,$.jsx)(TW,{}),onClick:()=>window.open(`http://localhost:8000${e.value}`,`_blank`),children:`预览`}),(0,$.jsx)(i0,{accept:`.pdf`,showUploadList:!1,beforeUpload:t=>d(t,e.key),children:(0,$.jsx)(aD,{size:`small`,type:`primary`,icon:(0,$.jsx)(Q6,{}),loading:o===e.key,children:n?`重新上传`:`上传PDF`})})]})]}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:n?`已上传: ${e.value}`:`尚未上传,前台将不显示对应链接`})]})};return n?(0,$.jsx)(_z,{loading:!0,bordered:!1,style:{borderRadius:12}}):(0,$.jsxs)(`div`,{style:{maxWidth:720},children:[(0,$.jsxs)(_z,{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)(t6,{})}),(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)(aD,{type:`primary`,icon:(0,$.jsx)(K3,{}),onClick:u,loading:i,size:`large`,style:{borderRadius:8,minWidth:140},children:`保存配置`})})]})},r7=()=>{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,g]=(0,x.useState)(1),[_,v]=(0,x.useState)(10),[y,b]=(0,x.useState)(0),S=async()=>{r(!0);try{let e=await d5(h,_),n=(await R8(1,1e3)).items||[],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}))),b(e.total||0),a(n.map(e=>({id:e.id,username:e.username})))}catch{hK.error(`加载通知列表失败`)}finally{r(!1)}};(0,x.useEffect)(()=>{S()},[h,_]);let C=(e,t)=>{g(e),v(t)},w=async()=>{try{let e=await c.validateFields();await f5({title:e.title,content:e.content,type:e.type||`system`,target_user_id:e.target_user_id||void 0}),hK.success(`消息已发送`),s(!1),c.resetFields(),S()}catch{}},T=async e=>{try{await p5(e),hK.success(`已删除`),S()}catch(e){hK.error(e?.message||`删除失败`)}},E=async(e,t)=>{u({open:!0,notifId:e,title:t}),m(!0);try{f((await m5(e)).items||[])}catch{hK.error(`加载已读列表失败`)}finally{m(!1)}},D=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)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(U0,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`消息推送管理`}),(0,$.jsxs)(u$,{color:`purple`,children:[`共 `,y,` 条消息`]})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>s(!0),style:{borderRadius:8},children:`发送新消息`})]}),(0,$.jsx)(QQ,{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)(u$,{color:D(e),children:{system:`系统`,credit:`积分`,promo:`活动`}[e]||e})},{title:`发送目标`,dataIndex:`target`,width:120,render:e=>(0,$.jsx)(u$,{color:e===`全部用户`?`green`:`blue`,children:e})},{title:`发送时间`,dataIndex:`createdAt`,width:160,render:e=>$5(e)},{title:`操作`,key:`action`,width:180,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(TW,{}),onClick:()=>E(t.id,t.title),children:`已读`}),(0,$.jsx)(SK,{title:`确定删除该消息?`,onConfirm:()=>T(t.id),children:(0,$.jsx)(aD,{type:`link`,danger:!0,size:`small`,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:{current:h,pageSize:_,total:y,onChange:C,showSizeChanger:!0,showTotal:e=>`共 ${e} 条消息`},scroll:{x:900}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(Q3,{}),`发送消息`]}),open:o,onOk:w,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)(qW,{placeholder:`请输入消息标题`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`content`,label:`消息内容`,rules:[{required:!0,message:`请输入内容`}],children:(0,$.jsx)(qW.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)(XC,{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)(XC,{size:`large`,allowClear:!0,placeholder:`全部用户`,options:i.map(e=>({value:e.id,label:e.username}))})})]})]})}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(P6,{}),`已读用户 — `,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)(bC,{description:`暂无用户已读`,style:{padding:`40px 0`}}):(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{style:{marginBottom:12,color:`#64748b`,fontSize:13},children:[`共 `,d.length,` 人已读`]}),(0,$.jsx)(QQ,{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=>$5(e)}]})]})})]})},i7={recharge:{text:`充值`,color:`green`,icon:(0,$.jsx)(j0,{})},consume:{text:`消费`,color:`red`,icon:(0,$.jsx)(T0,{})},refund:{text:`退回`,color:`blue`,icon:(0,$.jsx)(B3,{})}},a7=()=>{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)(10),[u,d]=(0,x.useState)(``),[f,p]=(0,x.useState)(``),[m,h]=(0,x.useState)([null,null]),g=async()=>{a(!0);try{let e={};u&&(e.type=u),f&&(e.user_name=f),m[0]&&(e.start_date=m[0].format(`YYYY-MM-DD`)),m[1]&&(e.end_date=m[1].format(`YYYY-MM-DD`)),e.page=o,e.page_size=c;let n=await q8(Object.keys(e).length>0?e:void 0);t(n.items||[]),r(n.total||0)}catch{hK.error(`加载积分记录失败`)}finally{a(!1)}};(0,x.useEffect)(()=>{g()},[o,c,u,f,m]);let _=(e,t)=>{s(e),l(t)};(0,x.useEffect)(()=>{g()},[]);let v=()=>{g()},y=()=>{d(``),p(``),h([null,null]),g()},b=e.filter(e=>e.type===`recharge`).reduce((e,t)=>e+t.amount,0),S=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)(_z,{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)(j0,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:`总充值`}),(0,$.jsxs)(`div`,{style:{fontSize:22,fontWeight:800,color:`#10b981`},children:[`+`,b.toLocaleString()]})]})]})}),(0,$.jsx)(_z,{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)(T0,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:`总消费`}),(0,$.jsxs)(`div`,{style:{fontSize:22,fontWeight:800,color:`#ef4444`},children:[`-`,S.toLocaleString()]})]})]})}),(0,$.jsx)(_z,{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)(s8,{})}),(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)(_z,{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)(yH,{wrap:!0,children:[(0,$.jsx)(XC,{value:u,onChange:e=>d(e),style:{width:120},options:[{value:``,label:`全部类型`},{value:`recharge`,label:`充值`},{value:`consume`,label:`消费`},{value:`refund`,label:`退回`}]}),(0,$.jsx)(qW,{placeholder:`用户名搜索`,value:f,onChange:e=>p(e.target.value),style:{width:180},allowClear:!0}),(0,$.jsx)(DV.RangePicker,{value:m,onChange:e=>{e&&h([e[0],e[1]])},placeholder:[`开始日期`,`结束日期`],style:{width:250}})]}),(0,$.jsxs)(yH,{children:[(0,$.jsx)(aD,{type:`primary`,onClick:v,children:`搜索`}),(0,$.jsx)(aD,{onClick:y,children:`重置`}),(0,$.jsx)(aD,{icon:(0,$.jsx)(iq,{}),onClick:g,children:`刷新`})]})]}),(0,$.jsx)(QQ,{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=i7[e]||{text:e||`-`,color:`default`,icon:null};return(0,$.jsx)(u$,{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:$5(e)})}],dataSource:e,rowKey:`id`,loading:i,pagination:{current:o,pageSize:c,total:n,onChange:_,showSizeChanger:!0,showTotal:e=>`共 ${e} 条记录`},scroll:{x:800}})]})]})},o7=()=>{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 o5(),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{hK.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)(_z,{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)(bV,{})}),(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)(RB,{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)(_z,{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)(B2,{})}),(0,$.jsx)(`div`,{children:(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:14},children:`模拟支付模式`})})]}),(0,$.jsx)(uJ,{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)(_z,{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)(u8,{})}),(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)(uJ,{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)(qW,{placeholder:`微信支付 AppID`,size:`large`,disabled:!n})}),(0,$.jsx)(Z.Item,{name:`wechat_mch_id`,label:`商户号 (MchID)`,children:(0,$.jsx)(qW,{placeholder:`微信支付商户号`,size:`large`,disabled:!n})}),(0,$.jsx)(Z.Item,{name:`wechat_private_key`,label:`商户私钥`,extra:` + `]:{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%`}}}},k1=e=>{let{componentCls:t}=e;return{[`${t}-rtl`]:{direction:`rtl`}}},A1=e=>{let{componentCls:t,colorTextDisabled:n}=e;return{[`${t}-wrapper`]:{...qc(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`}}}},j1=nl(`Upload`,e=>{let{fontSizeHeading3:t,marginXS:n,lineWidth:r,pictureCardSize:i,calc:a}=e,o=hs(e,{uploadThumbnailSize:a(t).mul(2).equal(),uploadProgressOffset:a(a(n).div(2)).add(r).equal(),uploadPicCardSize:i});return[A1(o),w1(o),D1(o),O1(o),T1(o),E1(o),k1(o),yh(o)]},e=>({actionsColor:e.colorIcon,pictureCardSize:e.controlHeightLG*2.55})),M1={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 N1(){return N1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,N1({},e,{ref:t,icon:M1}))),F1={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 I1(){return I1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,I1({},e,{ref:t,icon:F1}))),R1={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 z1(){return z1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,z1({},e,{ref:t,icon:R1})));function V1(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 H1(e,t){let n=Xr(t),r=n.findIndex(({uid:t})=>t===e.uid);return r===-1?n.push(e):n[r]=e,n}function U1(e,t){let n=e.uid===void 0?`name`:`uid`;return t.filter(t=>t[n]===e[n])[0]}function W1(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 G1=(e=``)=>{let t=e.split(`/`),n=t[t.length-1].split(/#|\?/)[0];return(/\.[^./\\]*$/.exec(n)||[``])[0]},K1=e=>e.indexOf(`image/`)===0,q1=e=>{if(e.type&&!e.thumbUrl)return K1(e.type);let t=e.thumbUrl||e.url||``,n=G1(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)},J1=200;function Y1(e){return new Promise(t=>{if(!e.type||!K1(e.type)){t(``);return}let n=document.createElement(`canvas`);n.width=J1,n.height=J1,n.style.cssText=`position: fixed; left: 0; top: 0; width: ${J1}px; height: ${J1}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=J1,s=J1,c=0,l=0;e>a?(s=J1/e*a,l=-(s-o)/2):(o=J1/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 X1={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 Z1(){return Z1=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Z1({},e,{ref:t,icon:X1}))),$1=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(p$,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(Q1,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(TW,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(ai),ee=W(),te=x.createElement(`div`,{className:N,style:i?.item},M,V,L,U,k&&x.createElement(Pu,{motionName:`${ee}-fade`,visible:D===`uploading`,motionDeadline:2e3},({className:t})=>{let n=`percent`in s?x.createElement(tq,{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)})),G=s.response&&typeof s.response==`string`?s.response:s.error?.statusText||s.error?.message||a.uploadError,ne=D===`error`?x.createElement(Bw,{title:G,getPopupContainer:e=>e.parentNode},te):te;return x.createElement(`div`,{className:J(`${e}-list-item-container`,t),style:n,ref:T},f?f(ne,s,c,{download:C.bind(null,s),preview:S.bind(null,s),remove:w.bind(null,s)}):ne)}),e0=x.forwardRef((e,t)=>{let{listType:n=`text`,previewFile:r=Y1,onPreview:i,onDownload:a,onRemove:o,locale:s,iconRender:c,isImageUrl:l=q1,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]=wd(),[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(ym,null):s.uploading,i=l?.(e)?x.createElement(B1,null):x.createElement(P1,null);return t?r:i}return t?x.createElement(ym,null):x.createElement(L1,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(Yg,{...a,icon:Mp(e,{...e.props,onClick:()=>{}})}):x.createElement(Yg,{...a},x.createElement(`span`,null,e))};x.useImperativeHandle(t,()=>({handlePreview:j,handleDownload:M}));let{getPrefixCls:I}=x.useContext(ai),L=I(`upload`,u),R=I(),z=J(`${L}-list`,`${L}-list-${n}`,T?.list),B=x.useMemo(()=>xr(Um(R),[`onAppearEnd`,`onEnterEnd`,`onLeaveEnd`]),[R]),V={...A?{}:B,motionDeadline:2e3,motionName:`${L}-${A?`animate-inline`:`animate`}`,keys:Xr(d.map(e=>({key:e.uid,file:e}))),motionAppear:O};return x.createElement(`div`,{className:z,style:E?.list},x.createElement(Nu,{...V,component:!1},({key:e,file:t,className:r,style:i})=>x.createElement($1,{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(Pu,{...V,visible:S,forceRender:!0},({className:e,style:t})=>Mp(b,n=>({className:J(n.className,e),style:{...t,pointerEvents:e?`none`:void 0,...n.style}}))))}),t0=`__LIST_IGNORE_${Date.now()}__`,n0=x.forwardRef((e,t)=>{let n=ci(`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(Lp),I=p??F,L=e.customRequest||n.customRequest,[R,z]=Vn(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=Xr(t),i=!1;T===1?r=r.slice(-1):T&&(i=r.length>T,r=r.slice(0,T)),(0,Kf.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,Kf.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[t0],e===t0)return Object.defineProperty(t,t0,{value:!0,configurable:!0}),!1;pd(e)&&(i=e)}return i},G=e=>{let t=e.filter(e=>!e.file[t0]);if(!t.length)return;let n=t.map(e=>V1(e.file)),r=Xr(B);n.forEach(e=>{r=H1(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)})},ne=(e,t,n)=>{try{typeof e==`string`&&(e=JSON.parse(e))}catch{}if(!U1(t,B))return;let r=V1(t);r.status=`done`,r.percent=100,r.response=e,r.xhr=n,ee(r,H1(r,B))},K=(e,t)=>{if(!U1(t,B))return;let n=V1(t);n.status=`uploading`,n.percent=e.percent,ee(n,H1(n,B),e)},re=(e,t,n)=>{if(!U1(n,B))return;let r=V1(n);r.error=e,r.response=t,r.status=`error`,ee(r,H1(r,B))},ie=e=>{let t;Promise.resolve(typeof a==`function`?a(e):a).then(n=>{if(n===!1)return;let r=W1(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:G,onSuccess:ne,onProgress:K,onError:re,fileList:B,upload:U.current,nativeElement:W.current}));let{getPrefixCls:q,direction:oe,className:se,style:ce,classNames:le,styles:ue}=ci(`upload`),de=q(`upload`,v),fe={...e,listType:s,showUploadList:o,type:b,multiple:D,hasControlInside:O,supportServerRender:j,disabled:I},[pe,me]=Nd([le,P],[ue,N],{props:fe}),he={onBatchStart:G,onError:re,onProgress:K,onSuccess:ne,...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]=j1(de,ge),[ye]=od(`Upload`,$u.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(e0,{classNames:pe,styles:me,prefixCls:de,listType:s,items:B,previewFile:f,onPreview:c,onDownload:l,onRemove:ie,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(C1,{...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(C1,{...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())}),r0=x.forwardRef((e,t)=>{let{style:n,height:r,hasControlInside:i=!1,children:a,...o}=e,s={...n,height:r};return x.createElement(n0,{ref:t,hasControlInside:i,...o,style:s,type:`drag`},a)}),i0=n0;i0.Dragger=r0,i0.LIST_IGNORE=t0;var a0=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})),o0=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:`页码`}})),s0=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.commonLocale=void 0,e.commonLocale={yearFormat:`YYYY`,dayFormat:`D`,cellMeridiemFormat:`A`,monthBeforeYear:!0}})),c0=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var t=s0();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:[`开始时间`,`结束时间`]}})),u0=o((e=>{var t=a0().default;Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=t(c0()),r=t(l0()),i={lang:{placeholder:`请选择日期`,yearPlaceholder:`请选择年份`,quarterPlaceholder:`请选择季度`,monthPlaceholder:`请选择月份`,weekPlaceholder:`请选择周`,rangePlaceholder:[`开始日期`,`结束日期`],rangeYearPlaceholder:[`开始年份`,`结束年份`],rangeMonthPlaceholder:[`开始月份`,`结束月份`],rangeQuarterPlaceholder:[`开始季度`,`结束季度`],rangeWeekPlaceholder:[`开始周`,`结束周`],...n.default},timePickerLocale:{...r.default}};i.lang.ok=`确定`,e.default=i})),d0=o((e=>{var t=a0().default;Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0,e.default=t(u0()).default})),f0=o((e=>{var t=a0().default;Object.defineProperty(e,`__esModule`,{value:!0}),e.default=void 0;var n=t(o0()),r=t(d0()),i=t(u0()),a=t(l0()),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:`渐变色`}}})),p0=o(((e,t)=>{t.exports=f0()})),m0={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 h0(){return h0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,h0({},e,{ref:t,icon:m0}))),_0={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 v0(){return v0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,v0({},e,{ref:t,icon:_0}))),b0={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 x0(){return x0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,x0({},e,{ref:t,icon:b0}))),C0={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 w0(){return w0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,w0({},e,{ref:t,icon:C0}))),E0={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 000 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z`}}]},name:`arrow-left`,theme:`outlined`};function D0(){return D0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,D0({},e,{ref:t,icon:E0}))),k0={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 A0(){return A0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,A0({},e,{ref:t,icon:k0}))),M0={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 N0(){return N0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,N0({},e,{ref:t,icon:M0}))),F0={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 I0(){return I0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,I0({},e,{ref:t,icon:F0}))),R0={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 z0(){return z0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,z0({},e,{ref:t,icon:R0}))),V0={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 H0(){return H0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,H0({},e,{ref:t,icon:V0}))),W0={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 G0(){return G0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,G0({},e,{ref:t,icon:W0}))),q0={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 J0(){return J0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,J0({},e,{ref:t,icon:q0}))),X0={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 Z0(){return Z0=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Z0({},e,{ref:t,icon:X0}))),$0={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 e2(){return e2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,e2({},e,{ref:t,icon:$0}))),n2={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 r2(){return r2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,r2({},e,{ref:t,icon:n2}))),a2={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 o2(){return o2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,o2({},e,{ref:t,icon:a2}))),c2={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 l2(){return l2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,l2({},e,{ref:t,icon:c2}))),d2={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 f2(){return f2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,f2({},e,{ref:t,icon:d2}))),m2={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 h2(){return h2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,h2({},e,{ref:t,icon:m2}))),_2={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 v2(){return v2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,v2({},e,{ref:t,icon:_2}))),b2={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 x2(){return x2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,x2({},e,{ref:t,icon:b2}))),C2={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 w2(){return w2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,w2({},e,{ref:t,icon:C2}))),E2={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 D2(){return D2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,D2({},e,{ref:t,icon:E2}))),k2={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 A2(){return A2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,A2({},e,{ref:t,icon:k2}))),M2={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 N2(){return N2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,N2({},e,{ref:t,icon:M2}))),F2={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 I2(){return I2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,I2({},e,{ref:t,icon:F2}))),R2={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 z2(){return z2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,z2({},e,{ref:t,icon:R2}))),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 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 H2(){return H2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,H2({},e,{ref:t,icon:V2}))),W2={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 G2(){return G2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,G2({},e,{ref:t,icon:W2}))),q2={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 J2(){return J2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,J2({},e,{ref:t,icon:q2}))),X2={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 Z2(){return Z2=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Z2({},e,{ref:t,icon:X2}))),$2={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 e4(){return e4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,e4({},e,{ref:t,icon:$2}))),n4={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 r4(){return r4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,r4({},e,{ref:t,icon:n4}))),a4={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 o4(){return o4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,o4({},e,{ref:t,icon:a4}))),c4={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 l4(){return l4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,l4({},e,{ref:t,icon:c4}))),d4={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 f4(){return f4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,f4({},e,{ref:t,icon:d4}))),m4={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 h4(){return h4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,h4({},e,{ref:t,icon:m4}))),_4={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 v4(){return v4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,v4({},e,{ref:t,icon:_4}))),b4={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 x4(){return x4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,x4({},e,{ref:t,icon:b4}))),C4={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 w4(){return w4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,w4({},e,{ref:t,icon:C4}))),E4={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 D4(){return D4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,D4({},e,{ref:t,icon:E4}))),k4={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 A4(){return A4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,A4({},e,{ref:t,icon:k4}))),M4={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 N4(){return N4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,N4({},e,{ref:t,icon:M4}))),F4={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M574 665.4a8.03 8.03 0 00-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 00-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 000 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 000 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 00-11.3 0L372.3 598.7a8.03 8.03 0 000 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z`}}]},name:`link`,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:F4}))),R4={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 z4(){return z4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,z4({},e,{ref:t,icon:R4}))),V4={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 H4(){return H4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,H4({},e,{ref:t,icon:V4}))),W4={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 G4(){return G4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,G4({},e,{ref:t,icon:W4}))),q4={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 J4(){return J4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,J4({},e,{ref:t,icon:q4}))),X4={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 Z4(){return Z4=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Z4({},e,{ref:t,icon:X4}))),$4={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 e3(){return e3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,e3({},e,{ref:t,icon:$4}))),n3={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 r3(){return r3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,r3({},e,{ref:t,icon:n3}))),a3={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 o3(){return o3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,o3({},e,{ref:t,icon:a3}))),c3={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 l3(){return l3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,l3({},e,{ref:t,icon:c3}))),d3={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 f3(){return f3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,f3({},e,{ref:t,icon:d3}))),m3={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 h3(){return h3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,h3({},e,{ref:t,icon:m3}))),_3={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 v3(){return v3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,v3({},e,{ref:t,icon:_3}))),b3={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 x3(){return x3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,x3({},e,{ref:t,icon:b3}))),C3={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 w3(){return w3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,w3({},e,{ref:t,icon:C3}))),E3={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 D3(){return D3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,D3({},e,{ref:t,icon:E3}))),k3={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 A3(){return A3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,A3({},e,{ref:t,icon:k3}))),M3={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 N3(){return N3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,N3({},e,{ref:t,icon:M3}))),F3={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 I3(){return I3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,I3({},e,{ref:t,icon:F3}))),R3={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 z3(){return z3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,z3({},e,{ref:t,icon:R3}))),V3={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 H3(){return H3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,H3({},e,{ref:t,icon:V3}))),W3={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 G3(){return G3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,G3({},e,{ref:t,icon:W3}))),q3={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 J3(){return J3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,J3({},e,{ref:t,icon:q3}))),X3={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 Z3(){return Z3=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Z3({},e,{ref:t,icon:X3}))),$3={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 e6(){return e6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,e6({},e,{ref:t,icon:$3}))),n6={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 r6(){return r6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,r6({},e,{ref:t,icon:n6}))),a6={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 o6(){return o6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,o6({},e,{ref:t,icon:a6}))),c6={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 l6(){return l6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,l6({},e,{ref:t,icon:c6}))),d6={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 f6(){return f6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,f6({},e,{ref:t,icon:d6}))),m6={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 h6(){return h6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,h6({},e,{ref:t,icon:m6}))),_6={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 v6(){return v6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,v6({},e,{ref:t,icon:_6}))),b6={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 x6(){return x6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,x6({},e,{ref:t,icon:b6}))),C6={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 w6(){return w6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,w6({},e,{ref:t,icon:C6}))),E6={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 D6(){return D6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,D6({},e,{ref:t,icon:E6}))),k6={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 A6(){return A6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,A6({},e,{ref:t,icon:k6}))),M6={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 N6(){return N6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,N6({},e,{ref:t,icon:M6}))),F6={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 I6(){return I6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,I6({},e,{ref:t,icon:F6}))),R6={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 z6(){return z6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,z6({},e,{ref:t,icon:R6}))),V6={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 H6(){return H6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,H6({},e,{ref:t,icon:V6}))),W6={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 G6(){return G6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,G6({},e,{ref:t,icon:W6}))),q6={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 J6(){return J6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,J6({},e,{ref:t,icon:q6}))),X6={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 Z6(){return Z6=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,Z6({},e,{ref:t,icon:X6}))),$6={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 e8(){return e8=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,e8({},e,{ref:t,icon:$6}))),n8={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 r8(){return r8=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,r8({},e,{ref:t,icon:n8}))),a8={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 o8(){return o8=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,o8({},e,{ref:t,icon:a8}))),c8={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 l8(){return l8=Object.assign?Object.assign.bind():function(e){for(var t=1;tx.createElement(X,l8({},e,{ref:t,icon:c8}))),d8=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},f8=(e=>e?d8(e):d8),p8=e=>e;function m8(e,t=p8){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 h8=e=>{let t=f8(e),n=e=>m8(t,e);return Object.assign(n,t),n},g8=(e=>e?h8(e):h8),_8=c(p0(),1),v8=`AES-GCM`,y8=12,b8=128;async function x8(){throw Error(`VITE_ENCRYPTION_KEY not configured`)}async function S8(e){let t=await x8(),n=crypto.getRandomValues(new Uint8Array(y8)),r=new TextEncoder().encode(e),i=await crypto.subtle.encrypt({name:v8,iv:n,tagLength:b8},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 C8(e){let t=await x8(),n=Uint8Array.from(atob(e),e=>e.charCodeAt(0)),r=n.slice(0,y8),i=n.slice(y8),a=await crypto.subtle.decrypt({name:v8,iv:r,tagLength:b8},t,i);return new TextDecoder().decode(a)}var w8=`http://apiforeign.minzhong.cn`,T8=!1;function E8(e){return e.replace(/_([a-z])/g,(e,t)=>t.toUpperCase())}function D8(e){return Array.isArray(e)?e.map(D8):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,t])=>[E8(e),D8(t)])):e}function O8(){return localStorage.getItem(`auth_token`)}function k8(e){localStorage.setItem(`auth_token`,e)}function A8(){localStorage.removeItem(`auth_token`)}async function j8(e){try{return await C8(e)}catch{return null}}async function M8(e,t={}){let{method:n=`GET`,body:r,auth:i=!0,encryptBody:a=T8}=t,o={"Content-Type":`application/json`};if(i){let e=O8();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 S8(e)})):s=e}let c=await fetch(`${w8}/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 j8(u.data);e!==null&&(u=JSON.parse(e))}if(!c.ok){let e=u?.detail||`请求失败 (${c.status})`;throw c.status===401&&(A8(),window.location.href=`/login`),Error(e)}return D8(u)}var N8={get:(e,t=!0)=>M8(e,{auth:t}),post:(e,t,n=!0)=>M8(e,{method:`POST`,body:t,auth:n}),put:(e,t,n=!0)=>M8(e,{method:`PUT`,body:t,auth:n}),delete:(e,t=!0)=>M8(e,{method:`DELETE`,auth:t})};async function P8(e,t,n,r){let i=await N8.post(`/auth/admin-login`,{username:e,password:t,captcha_token:n,remember_me:r||!1},!1);return k8(i.accessToken),i.user}async function F8(){await N8.post(`/auth/logout`),A8()}async function I8(){try{return await N8.get(`/auth/me`)}catch{return null}}async function L8(e,t){let n={};e&&(n.start_date=e),t&&(n.end_date=t);let r=new URLSearchParams(n).toString();return N8.get(`/admin/stats${r?`?${r}`:``}`)}async function R8(e=1,t=20,n){let r=new URLSearchParams;return r.set(`page`,String(e)),r.set(`page_size`,String(t)),n&&r.set(`search`,n),N8.get(`/admin/users?${r.toString()}`)}async function z8(e,t,n){await N8.post(`/admin/users/${e}/credits`,{amount:t,description:n})}async function B8(e,t){await N8.put(`/admin/users/${e}/status`,{is_active:t})}async function V8(){return N8.get(`/admin/model-configs`)}async function H8(e){return e.id?N8.put(`/admin/model-configs/${e.id}`,e):N8.post(`/admin/model-configs`,e)}async function U8(e){await N8.delete(`/admin/model-configs/${e}`)}async function W8(){return N8.get(`/admin/system-configs`)}async function G8(e,t){await N8.put(`/admin/system-configs/${e}`,{value:t})}async function K8(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 q8(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 N8.get(`/admin/credit-records${n}`)}async function J8(){return N8.get(`/admin/industry-configs`)}async function Y8(e){return e.id?N8.put(`/admin/industry-configs/${e.id}`,e):N8.post(`/admin/industry-configs`,e)}async function X8(e){await N8.delete(`/admin/industry-configs/${e}`)}async function Z8(){return N8.get(`/admin/video-engines`)}async function Q8(e){return e.id?N8.put(`/admin/video-engines/${e.id}`,e):N8.post(`/admin/video-engines`,e)}async function $8(e){await N8.delete(`/admin/video-engines/${e}`)}async function e5(){return N8.get(`/admin/image-engines`)}async function t5(e){return e.id?N8.put(`/admin/image-engines/${e.id}`,e):N8.post(`/admin/image-engines`,e)}async function n5(e){await N8.delete(`/admin/image-engines/${e}`)}async function r5(){return N8.get(`/admin/credit-ratios`)}async function i5(e){return e.id?N8.put(`/admin/credit-ratios/${e.id}`,e):N8.post(`/admin/credit-ratios`,e)}async function a5(e){await N8.delete(`/admin/credit-ratios/${e}`)}async function o5(){return N8.get(`/admin/payment-configs`)}async function s5(e){await N8.put(`/admin/payment-configs/batch`,e)}async function c5(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 N8.get(r)}async function l5(e){let t=new URLSearchParams;return e?.method&&t.set(`payment_method`,e.method),e?.status&&t.set(`status`,e.status),e?.startDate&&t.set(`start_date`,e.startDate),e?.endDate&&t.set(`end_date`,e.endDate),e?.page&&t.set(`page`,String(e.page)),e?.pageSize&&t.set(`page_size`,String(e.pageSize)),N8.get(`/admin/payment-orders?${t.toString()}`)}async function u5(e){await N8.post(`/admin/payment-orders/${e}/refund`)}async function d5(e=1,t=20){let n=new URLSearchParams;return n.set(`page`,String(e)),n.set(`page_size`,String(t)),N8.get(`/admin/notifications?${n.toString()}`)}async function f5(e){await N8.post(`/admin/notifications`,e)}async function p5(e){await N8.delete(`/admin/notifications/${e}`)}async function m5(e){return N8.get(`/admin/notifications/${e}/read-users`)}async function h5(){return N8.get(`/admin/menu-configs`)}async function g5(e){return e.id?N8.put(`/admin/menu-configs/${e.id}`,e):N8.post(`/admin/menu-configs`,e)}async function _5(e){await N8.delete(`/admin/menu-configs/${e}`)}async function v5(e){return N8.post(`/admin/users`,e)}async function y5(e,t){await N8.put(`/admin/users/${e}/menus`,{allowed_menus:t})}async function b5(e,t){await N8.put(`/admin/users/${e}/reset-password`,{new_password:t})}async function x5(e,t){await N8.post(`/admin/change-password`,{old_password:e,new_password:t})}async function S5(){return N8.get(`/auth/site-info`,!1)}async function C5(){return N8.get(`/admin/recharge-packages`)}async function w5(e){return e.id?N8.put(`/admin/recharge-packages/${e.id}`,e):N8.post(`/admin/recharge-packages`,e)}async function T5(e){await N8.delete(`/admin/recharge-packages/${e}`)}async function E5(e){let t=e?`?page=${e}`:``;return N8.get(`/admin/operation-logs${t}`)}async function D5(e){let t=e?`?page=${e}`:``;return N8.get(`/admin/user-oauth-apps/list${t}`)}async function O5(e){return N8.post(`/admin/user-oauth-apps/create`,e)}async function k5(e){return N8.get(`/admin/user-oauth-apps/read/${e}`)}async function A5(e,t){return N8.post(`/admin/user-oauth-apps/update/${e}`,t)}async function j5(e){await N8.get(`/admin/user-oauth-apps/delete/${e}`)}async function M5(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 N8.get(`/admin/generation-records${n?`?${n}`:``}`)}async function N5(e,t,n){await N8.put(`/admin/generation-records/${e}/status`,{status:t,video_url:n})}async function P5(e,t,n,r){await N8.post(`/admin/generation-records/${e}/generate`,{aspect_ratio:t,resolution:n,image_size:r})}async function F5(){return N8.get(`/generation-ai/engines`)}async function I5(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 N8.get(`/generation-ai/tasks${n?`?${n}`:``}`)}function L5(e,t,n){n==null||String(n).trim()===``||e.set(t,String(n))}async function R5(e){let t=new URLSearchParams;L5(t,`status`,e?.status),L5(t,`keyword`,e?.keyword),L5(t,`user_id`,e?.userId),L5(t,`user_name`,e?.userName),L5(t,`created_start`,e?.createdStart),L5(t,`created_end`,e?.createdEnd),L5(t,`page`,e?.page),L5(t,`page_size`,e?.pageSize);let n=t.toString();return N8.get(`/hot-opening-replications/tasks${n?`?${n}`:``}`)}async function z5(e){return N8.get(`/hot-opening-replications/tasks/${e}`)}async function B5(e){let t=new URLSearchParams;L5(t,`status`,e?.status),L5(t,`analysis_status`,e?.analysisStatus),L5(t,`split_status`,e?.splitStatus),L5(t,`keyword`,e?.keyword),L5(t,`user_id`,e?.userId),L5(t,`user_name`,e?.userName),L5(t,`created_start`,e?.createdStart),L5(t,`created_end`,e?.createdEnd),L5(t,`page`,e?.page),L5(t,`page_size`,e?.pageSize);let n=t.toString();return N8.get(`/shot-replications/task-sets${n?`?${n}`:``}`)}async function V5(e){return N8.get(`/shot-replications/task-sets/${e}`)}async function H5(e,t){let n=new URLSearchParams;L5(n,`source_mode`,t?.sourceMode),L5(n,`split_status`,t?.splitStatus),L5(n,`analysis_status`,t?.analysisStatus),L5(n,`replicate_status`,t?.replicateStatus),L5(n,`page`,t?.page),L5(n,`page_size`,t?.pageSize);let r=n.toString();return N8.get(`/shot-replications/task-sets/${e}/segments${r?`?${r}`:``}`)}async function U5(e){return N8.get(`/shot-replications/segments/${e}`)}async function W5(e){return N8.get(`/shot-replications/projects/${e}`)}var G5=g8(e=>({user:null,loading:!0,login:async(t,n,r)=>{e({user:await P8(t,n,void 0,r)})},logout:async()=>{await F8(),e({user:null})},checkAuth:async()=>{try{if(!localStorage.getItem(`auth_token`)){e({user:null,loading:!1});return}e({user:await I8(),loading:!1})}catch(t){(t?.message?.includes(`401`)||t?.message?.includes(`Unauthorized`))&&localStorage.removeItem(`auth_token`),e({user:null,loading:!1})}}})),K5=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=K5()}))(),{Sider:q5,Content:J5}=nG,Y5={HomeOutlined:(0,$.jsx)(T4,{}),PlayCircleOutlined:(0,$.jsx)(S3,{}),WalletOutlined:(0,$.jsx)(s8,{}),RobotOutlined:(0,$.jsx)(P3,{}),SettingOutlined:(0,$.jsx)(t6,{}),BellOutlined:(0,$.jsx)(U0,{}),UserOutlined:(0,$.jsx)(t8,{}),AppstoreOutlined:(0,$.jsx)(S0,{}),FileTextOutlined:(0,$.jsx)(wH,{}),StarOutlined:(0,$.jsx)(T6,{}),HeartOutlined:(0,$.jsx)(g4,{}),CameraOutlined:(0,$.jsx)(i2,{}),DashboardOutlined:(0,$.jsx)(P2,{}),CalculatorOutlined:(0,$.jsx)(t2,{}),DollarOutlined:(0,$.jsx)(B2,{}),GiftOutlined:(0,$.jsx)(u4,{}),ThunderboltOutlined:(0,$.jsx)(L6,{}),FireOutlined:(0,$.jsx)(t4,{}),CloudOutlined:(0,$.jsx)(g2,{}),SmileOutlined:(0,$.jsx)(g6,{}),TrophyOutlined:(0,$.jsx)(U6,{}),RocketOutlined:(0,$.jsx)(L3,{}),BulbOutlined:(0,$.jsx)(Q0,{}),CodeOutlined:(0,$.jsx)(S2,{}),PictureOutlined:(0,$.jsx)(g3,{}),VideoCameraOutlined:(0,$.jsx)(i8,{}),AudioOutlined:(0,$.jsx)(P0,{}),MailOutlined:(0,$.jsx)(K4,{}),PhoneOutlined:(0,$.jsx)(p3,{}),GlobalOutlined:(0,$.jsx)(p4,{}),ShoppingCartOutlined:(0,$.jsx)(i6,{}),TeamOutlined:(0,$.jsx)(P6,{}),BarChartOutlined:(0,$.jsx)(B0,{}),PieChartOutlined:(0,$.jsx)(y3,{}),LineChartOutlined:(0,$.jsx)(P4,{}),SecurityScanOutlined:(0,$.jsx)(Y3,{}),ApiOutlined:(0,$.jsx)(y0,{}),DatabaseOutlined:(0,$.jsx)(L2,{}),CloudServerOutlined:(0,$.jsx)(y2,{}),MenuOutlined:(0,$.jsx)(Q4,{}),PlusOutlined:(0,$.jsx)(nR,{}),EditOutlined:(0,$.jsx)(g$,{}),DeleteOutlined:(0,$.jsx)(p$,{}),LockOutlined:(0,$.jsx)(B4,{}),LogoutOutlined:(0,$.jsx)(U4,{})},X5=()=>{let e=Je(),t=Ge(),{user:n,loading:r,logout:i}=G5(),[a,o]=(0,x.useState)([]),[s,c]=(0,x.useState)(!1),[l]=Z.useForm(),[u,d]=(0,x.useState)(()=>{let e=localStorage.getItem(`siteInfo`);return e&&JSON.parse(e).siteName||`管理后台`}),[f,p]=(0,x.useState)(()=>{let e=localStorage.getItem(`siteInfo`);return e&&JSON.parse(e).siteLogo||``});if((0,x.useEffect)(()=>{S5().then(e=>{let t=e.siteName||`管理后台`,n=e.siteLogo||``;if(d(t),p(n),document.title=t,localStorage.setItem(`siteInfo`,JSON.stringify({siteName:t,siteLogo:n})),n){let e=document.querySelector(`link[rel="icon"]`);e||(e=document.createElement(`link`),e.rel=`icon`,document.head.appendChild(e)),e.href=n,e.type=`image/png`}}).catch(()=>{})},[]),(0,x.useEffect)(()=>{h5().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=[]}o(t)}).catch(()=>{})},[n]),r)return(0,$.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,alignItems:`center`,height:`100vh`},children:(0,$.jsx)(eK,{size:`large`})});if(!n)return(0,$.jsx)(St,{to:`/admin/login`,replace:!0});let m={};a.filter(e=>(e.menu_type??e.menuType)!==`group`&&(e.parent_id??e.parentId)).forEach(e=>{let t=e.parent_id??e.parentId;m[t]||(m[t]=[]),m[t].push(e)});let h=[...a].sort((e,t)=>(e.sort_order??e.sortOrder??0)-(t.sort_order??t.sortOrder??0)),g=[];h.forEach(e=>{let t=e.menu_type??e.menuType,n=e.parent_id??e.parentId;if(t===`group`){let t=(m[e.id]||[]).sort((e,t)=>(e.sort_order??e.sortOrder??0)-(t.sort_order??t.sortOrder??0)).map(e=>({key:e.path,icon:Y5[e.icon]||void 0,label:e.label}));t.length>0&&g.push({key:`group-${e.id}`,icon:Y5[e.icon]||void 0,label:e.label,children:t})}else n||g.push({key:e.path,icon:Y5[e.icon]||void 0,label:e.label})});let _=!!(n?.isAdmin??n?.is_admin);g.length===0&&_&&g.push({key:`/`,icon:(0,$.jsx)(P2,{}),label:`数据概览`},{key:`/users`,icon:(0,$.jsx)(t8,{}),label:`用户管理`});let v=t.pathname,y=[];g.forEach(e=>{e.children?e.children.forEach(e=>y.push(e.key)):y.push(e.key)}),y.includes(v)||(v=y.find(e=>v.startsWith(e))||`/`);let b=[];return g.forEach(e=>{e.children&&e.children.some(e=>e.key===v)&&b.push(e.key)}),(0,$.jsxs)(nG,{style:{minHeight:`100vh`,background:`#f1f5f9`},children:[(0,$.jsxs)(q5,{width:240,theme:`light`,style:{position:`fixed`,left:16,top:16,bottom:16,width:240,background:`linear-gradient(180deg, #ffffff 0%, #f8fafc 100%)`,borderRadius:`20px`,boxShadow:`0 4px 32px rgba(0, 0, 0, 0.06), 0 1px 8px rgba(0, 0, 0, 0.04)`,border:`1px solid rgba(0, 0, 0, 0.06)`,zIndex:100},children:[(0,$.jsxs)(`div`,{style:{height:80,display:`flex`,alignItems:`center`,justifyContent:`center`,gap:12,background:`linear-gradient(135deg, rgba(99, 102, 241, 0.06) 0%, rgba(139, 92, 246, 0.04) 100%)`},children:[(0,$.jsx)(`div`,{style:{width:42,height:42,borderRadius:14,background:`linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a78bfa 100%)`,display:`flex`,alignItems:`center`,justifyContent:`center`,boxShadow:`0 4px 16px rgba(99, 102, 241, 0.35)`,overflow:`hidden`},children:f?(0,$.jsx)(`img`,{src:f,alt:`logo`,style:{width:28,height:28,objectFit:`contain`}}):(0,$.jsx)(L6,{style:{fontSize:20,color:`#ffffff`}})}),(0,$.jsx)(`span`,{style:{color:`#1e293b`,fontSize:17,fontWeight:700,letterSpacing:-.02,background:`linear-gradient(135deg, #6366f1, #8b5cf6)`,WebkitBackgroundClip:`text`,WebkitTextFillColor:`transparent`,backgroundClip:`text`},children:u})]}),(0,$.jsx)($E,{mode:`inline`,selectedKeys:[v],defaultOpenKeys:b,items:g,style:{background:`transparent`,border:`none`,paddingTop:8,marginTop:8},onClick:({key:t})=>{t.startsWith(`group-`)||e(t)},theme:`light`})]}),(0,$.jsxs)(nG,{style:{marginLeft:272,marginTop:16,marginRight:16,marginBottom:16,background:`transparent`},children:[(0,$.jsxs)(`div`,{style:{height:72,background:`#ffffff`,borderRadius:`16px 16px 0 0`,boxShadow:`0 2px 12px rgba(0, 0, 0, 0.04)`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,padding:`0 32px`,fontFamily:`var(--font-sans)`,border:`1px solid rgba(0, 0, 0, 0.06)`,borderBottom:`none`},children:[(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:18,color:`#1e293b`,fontWeight:600},children:g.find(e=>e.key===v)?.label||g.flatMap(e=>e.children||[]).find(e=>e.key===v)?.label||`管理后台`}),(0,$.jsx)(xH,{menu:{items:[{key:`user`,icon:(0,$.jsx)(t8,{}),label:n?.username,disabled:!0},{type:`divider`},{key:`changePwd`,icon:(0,$.jsx)(B4,{}),label:`修改密码`},{key:`logout`,icon:(0,$.jsx)(U4,{}),label:`退出登录`,danger:!0}],onClick:({key:t})=>{t===`logout`&&(i(),e(`/login`)),t===`changePwd`&&(c(!0),l.resetFields())}},placement:`bottomRight`,arrow:!0,children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,cursor:`pointer`,padding:`8px 12px`,borderRadius:12,transition:`all 0.25s ease`,background:`linear-gradient(135deg, rgba(248, 250, 252, 0.9) 0%, rgba(241, 245, 249, 0.9) 100%)`},onMouseEnter:e=>{e.currentTarget.style.background=`#ffffff`,e.currentTarget.style.boxShadow=`0 4px 12px rgba(0, 0, 0, 0.08)`},onMouseLeave:e=>{e.currentTarget.style.background=`linear-gradient(135deg, rgba(248, 250, 252, 0.9) 0%, rgba(241, 245, 249, 0.9) 100%)`,e.currentTarget.style.boxShadow=`none`},children:[(0,$.jsx)(Xw,{size:32,icon:(0,$.jsx)(t8,{}),style:{background:`linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%)`,boxShadow:`0 4px 12px rgba(99, 102, 241, 0.3)`}}),(0,$.jsx)(Q.Text,{style:{fontSize:14,fontWeight:600,color:`#1e293b`},children:n?.username})]})})]}),(0,$.jsx)(J5,{style:{padding:32,background:`#ffffff`,borderRadius:`0 0 16px 16px`,boxShadow:`0 4px 24px rgba(0, 0, 0, 0.06)`,overflow:`auto`,border:`1px solid rgba(0, 0, 0, 0.06)`,borderTop:`none`},children:g.length===0&&!_?(0,$.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,height:`60vh`,color:`#94a3b8`},children:[(0,$.jsx)(B4,{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)(Ct,{})})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(B4,{}),`修改密码`]}),open:s,onOk:async()=>{try{let e=await l.validateFields();if(e.newPassword!==e.confirmPassword){hK.error(`两次输入的密码不一致`);return}await x5(e.oldPassword,e.newPassword),hK.success(`密码修改成功`),c(!1),l.resetFields()}catch(e){if(e?.errorFields)return;hK.error(e?.message||`修改失败`)}},onCancel:()=>{c(!1),l.resetFields()},okText:`确认修改`,cancelText:`取消`,width:420,children:(0,$.jsxs)(Z,{form:l,layout:`vertical`,style:{marginTop:16},children:[(0,$.jsx)(Z.Item,{name:`oldPassword`,label:`原密码`,rules:[{required:!0,message:`请输入原密码`}],children:(0,$.jsx)(qW.Password,{placeholder:`请输入原密码`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`newPassword`,label:`新密码`,rules:[{required:!0,min:6,message:`密码至少6位`}],children:(0,$.jsx)(qW.Password,{placeholder:`请输入新密码(至少6位)`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`confirmPassword`,label:`确认新密码`,rules:[{required:!0,message:`请再次输入新密码`}],children:(0,$.jsx)(qW.Password,{placeholder:`请再次输入新密码`,size:`large`})})]})})]})},Z5=()=>{let e=Je(),{login:t}=G5(),[n,r]=(0,x.useState)(!1),i=(()=>{try{let e=localStorage.getItem(`siteInfo`);if(e){let t=JSON.parse(e);return{siteName:t.siteName||`VideoGen.AI`,siteLogo:t.siteLogo||``}}}catch{}return{siteName:`VideoGen.AI`,siteLogo:``}})(),[a,o]=(0,x.useState)(i.siteName),[s,c]=(0,x.useState)(i.siteLogo);return(0,x.useEffect)(()=>{S5().then(e=>{o(e.siteName),c(e.siteLogo)}).catch(()=>{})},[]),(0,$.jsxs)(`div`,{style:{minHeight:`100vh`,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`linear-gradient(135deg, #f0f4ff 0%, #e8ecf8 40%, #f0f0ff 70%, #f8f9ff 100%)`,position:`relative`,overflow:`hidden`},children:[(0,$.jsx)(`div`,{style:{position:`absolute`,width:500,height:500,borderRadius:`50%`,background:`radial-gradient(circle, rgba(99,102,241,0.08) 0%, transparent 70%)`,top:-150,right:-100,filter:`blur(40px)`}}),(0,$.jsx)(`div`,{style:{position:`absolute`,width:400,height:400,borderRadius:`50%`,background:`radial-gradient(circle, rgba(139,92,246,0.06) 0%, transparent 70%)`,bottom:-100,left:-80,filter:`blur(50px)`}}),(0,$.jsxs)(_z,{bordered:!1,style:{width:440,borderRadius:20,boxShadow:`0 20px 60px rgba(0,0,0,0.08)`,border:`1px solid #e2e8f0`,background:`#fff`,zIndex:1},styles:{body:{padding:`36px 28px`}},children:[(0,$.jsxs)(`div`,{style:{textAlign:`center`,marginBottom:28},children:[(0,$.jsx)(`div`,{style:{width:52,height:52,borderRadius:14,margin:`0 auto 16px`,display:`flex`,alignItems:`center`,justifyContent:`center`,background:s?`transparent`:`linear-gradient(135deg, #6366f1, #8b5cf6)`,boxShadow:s?`none`:`0 8px 24px rgba(99,102,241,0.25)`},children:s?(0,$.jsx)(`img`,{src:s,alt:`logo`,style:{width:`100%`,height:`100%`,borderRadius:14,objectFit:`contain`}}):(0,$.jsx)(L6,{style:{fontSize:26,color:`#fff`}})}),(0,$.jsxs)(Q.Title,{level:3,style:{margin:0,color:`#1e293b`,fontWeight:700},children:[a,(0,$.jsx)(`span`,{style:{color:`#6366f1`},children:`.AI`})]}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:14,color:`#94a3b8`},children:`管理后台`})]}),(0,$.jsxs)(Z,{onFinish:async n=>{r(!0);try{await t(n.username,n.password,n.rememberMe),hK.success(`登录成功`),e(`/`)}catch{hK.error(`登录失败`)}finally{r(!1)}},layout:`vertical`,children:[(0,$.jsx)(Z.Item,{name:`username`,rules:[{required:!0,message:`请输入用户名`}],children:(0,$.jsx)(qW,{placeholder:`用户名`,size:`large`,prefix:(0,$.jsx)(t8,{style:{color:`#94a3b8`,marginRight:8}}),style:{background:`#fff`,border:`1.5px solid #e2e8f0`,color:`#1e293b`,height:48,borderRadius:10,fontSize:14}})}),(0,$.jsx)(Z.Item,{name:`password`,rules:[{required:!0,message:`请输入密码`}],children:(0,$.jsx)(qW.Password,{placeholder:`密码`,size:`large`,prefix:(0,$.jsx)(B4,{style:{color:`#94a3b8`,marginRight:8}}),style:{background:`#fff`,border:`1.5px solid #e2e8f0`,color:`#1e293b`,height:48,borderRadius:10,fontSize:14}})}),(0,$.jsx)(Z.Item,{name:`rememberMe`,valuePropName:`checked`,style:{marginBottom:12},children:(0,$.jsx)(Uz,{children:`记住我的登录状态`})}),(0,$.jsx)(Z.Item,{style:{marginBottom:8},children:(0,$.jsx)(aD,{type:`primary`,htmlType:`submit`,loading:n,block:!0,size:`large`,style:{height:48,borderRadius:10,fontSize:16,fontWeight:600,background:`linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%)`,border:`none`,boxShadow:`0 8px 24px rgba(99,102,241,0.25)`},children:`登录管理后台`})})]})]})]})};o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r(oD()):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}))}))(),pD.default.locale(`zh-cn`);var Q5=()=>{let[e,t]=(0,x.useState)(null),[n,r]=(0,x.useState)(!0),[i,a]=(0,x.useState)([(0,pD.default)().startOf(`day`),(0,pD.default)()]),[o,s]=(0,x.useState)(`数据概览`),c=async()=>{r(!0);try{t(await L8(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 W8()).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,pD.default)().startOf(`day`),(0,pD.default)()];a(e),m(e)},d=()=>{let e=(0,pD.default)().subtract(1,`day`),t=[e.startOf(`day`),e.endOf(`day`)];a(t),m(t)},f=()=>{let e=[(0,pD.default)().startOf(`week`),(0,pD.default)()];a(e),m(e)},p=()=>{let e=[(0,pD.default)().startOf(`month`),(0,pD.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),L8(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)(t8,{}),gradient:`linear-gradient(135deg, #667eea 0%, #764ba2 100%)`,prefix:``,suffix:`位用户`,description:`平台注册用户总数`},{title:`总项目数`,value:e.totalProjects,lastPeriodValue:e.lastPeriodProjects,icon:(0,$.jsx)(T3,{}),gradient:`linear-gradient(135deg, #00d4ff 0%, #0099cc 100%)`,prefix:``,suffix:`个项目`,description:`创建的项目总数`},{title:`项目记录`,value:e.totalRecords,lastPeriodValue:e.lastPeriodRecords,icon:(0,$.jsx)(wH,{}),gradient:`linear-gradient(135deg, #10b981 0%, #059669 100%)`,prefix:``,suffix:`条记录`,description:`项目记录总数`},{title:`创作记录`,value:e.totalGenerations,lastPeriodValue:e.lastPeriodGenerations,icon:(0,$.jsx)(S3,{}),gradient:`linear-gradient(135deg, #f59e0b 0%, #d97706 100%)`,prefix:``,suffix:`次创作`,description:`AI创作记录总数`}]:[],_=e?[{title:`支付宝收入`,value:e.todayAlipayRevenue,icon:(0,$.jsx)(s8,{}),gradient:`linear-gradient(135deg, #22c55e 0%, #16a34a 100%)`,prefix:`¥`,suffix:``,description:`支付宝收款`,tag:`支付宝`},{title:`微信收入`,value:e.todayWechatRevenue,icon:(0,$.jsx)(B2,{}),gradient:`linear-gradient(135deg, #3b82f6 0%, #2563eb 100%)`,prefix:`¥`,suffix:``,description:`微信收款`,tag:`微信支付`},{title:`总收入`,value:e.totalRevenue,lastPeriodValue:e.lastPeriodRevenue,icon:(0,$.jsx)(j0,{}),gradient:`linear-gradient(135deg, #ec4899 0%, #be185d 100%)`,prefix:`¥`,suffix:``,description:`平台总收入`,tag:`总收入`},{title:`消耗积分`,value:e.creditsConsumedToday,lastPeriodValue:e.lastPeriodCreditsConsumed,icon:(0,$.jsx)(B2,{}),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)(_z,{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)(yH,{children:[(0,$.jsx)(aD,{type:!i[0]||!i[1]||i[0]?.isSame((0,pD.default)().startOf(`day`))&&i[1]?.isSame((0,pD.default)(),`day`)?`primary`:`default`,size:`small`,onClick:u,children:`今日`}),(0,$.jsx)(aD,{type:`default`,size:`small`,onClick:d,children:`昨日`}),(0,$.jsx)(aD,{type:`default`,size:`small`,onClick:f,children:`本周`}),(0,$.jsx)(aD,{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)(_V,{style:{color:`#64748b`,fontSize:14}}),(0,$.jsx)(DV.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)(aq,{gutter:[16,16],children:g.map(e=>(0,$.jsx)(Xz,{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)(aq,{gutter:[16,16],children:_.map(e=>(0,$.jsx)(Xz,{xs:12,sm:8,lg:6,children:(0,$.jsx)(v,{...e})},e.title))})]})]})};function $5(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 e7=()=>{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,D]=(0,x.useState)(1),[O,k]=(0,x.useState)(20),[A,j]=(0,x.useState)(0),[M,N]=(0,x.useState)([]),[P]=Z.useForm(),[F,I]=(0,x.useState)(!1),L=async()=>{r(!0);try{let e=await R8(E,O,i||void 0);t(e.items||[]),j(e.total||0)}catch{}r(!1)};(0,x.useEffect)(()=>{L()},[E,O,i]),(0,x.useEffect)(()=>{(async()=>{try{let e=(await W8()).filter(e=>e.key.startsWith(`user_`)&&e.key.includes(`credits`));N(e);let t={};e.forEach(e=>{t[e.key]=e.value}),P.setFieldsValue(t)}catch{}})()},[]);let R=async()=>{try{let e=await P.validateFields();I(!0);for(let t of M){let n=e[t.key];n!==void 0&&n!==t.value&&await G8(t.id,n??``)}hK.success(`积分配置已保存`),N((await W8()).filter(e=>e.key.startsWith(`user_`)&&e.key.includes(`credits`))),I(!1)}catch(e){I(!1),hK.error(e?.message||`保存失败`)}},z=(e,t)=>{D(e),k(t)},B=()=>L(),V=async()=>{try{let e=await C.validateFields(),{user:t}=c;if(!t)return;await z8(t.id,e.amount,e.description),hK.success(`已${e.amount>0?`增加`:`扣除`} ${Math.abs(e.amount)} 积分`),l({open:!1,user:null}),C.resetFields(),L()}catch{}},H=async e=>{await B8(e.id,!e.isActive),hK.success(e.isActive?`已禁用该用户`:`已启用该用户`),L()},U=async()=>{try{let e=await w.validateFields(),t=e.user_type||`frontend`;await v5({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}),hK.success(`用户创建成功`),d(!1),w.resetFields(),p(`frontend`),L()}catch{}},W=async e=>{try{let t=await h5(),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{hK.error(`加载菜单失败`)}},ee=g.filter(e=>(e.menu_type??e.menuType)===`group`),te=g.filter(e=>(e.menu_type??e.menuType)!==`group`),G={};te.filter(e=>e.parent_id??e.parentId).forEach(e=>{let t=e.parent_id??e.parentId;G[t]||(G[t]=[]),G[t].push(e)});let ne=te.filter(e=>!(e.parent_id??e.parentId)),K=async()=>{let{user:e}=m;if(e)try{await y5(e.id,v.length>0?v:null),hK.success(`菜单权限已更新`),h({open:!1,user:null}),L()}catch(e){hK.error(e?.message||`保存失败`)}},re=async()=>{try{let e=await T.validateFields(),{user:t}=b;if(!t)return;await b5(t.id,e.newPassword),hK.success(`已重置 ${t.username} 的密码`),S({open:!1,user:null}),T.resetFields()}catch{}},ie=e.filter(e=>e.userType===o),ae=o===`admin`,q=[{title:`用户`,key:`user`,width:200,render:(e,t)=>(0,$.jsxs)(yH,{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)(u$,{color:`orange`,style:{marginLeft:6,fontSize:10},children:`管理员`})]}),(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:t.email})]})]})},...ae?[]:[{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)(u$,{color:e?`green`:`red`,children:e?`正常`:`禁用`})},{title:`注册时间`,dataIndex:`createdAt`,width:120,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:$5(e)})},{title:`最后登录`,dataIndex:`lastLoginAt`,width:140,render:e=>(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:$5(e)})},{title:`操作`,key:`action`,width:320,fixed:`right`,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[!ae&&(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(s8,{}),onClick:()=>{l({open:!0,user:t}),C.resetFields()},children:`调整积分`}),(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(Q4,{}),onClick:()=>W(t),children:`菜单权限`}),(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(B4,{}),onClick:()=>{S({open:!0,user:t}),T.resetFields()},children:`重置密码`}),(0,$.jsx)(SK,{title:t.isActive?`确定禁用该用户?`:`确定启用该用户?`,onConfirm:()=>H(t),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:t.isActive,icon:t.isActive?(0,$.jsx)(O6,{}):(0,$.jsx)(u2,{}),children:t.isActive?`禁用`:`启用`})})]})}];return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`,marginBottom:16},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12,marginBottom:20},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)(t6,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:4,style:{margin:0},children:`积分配置`}),(0,$.jsx)(Q.Text,{type:`secondary`,children:`设置用户注册和登录赠送的积分`})]})]}),(0,$.jsxs)(Z,{form:P,layout:`vertical`,children:[(0,$.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`1fr 1fr 1fr`,gap:20},children:[(0,$.jsx)(Z.Item,{name:`user_register_credits`,label:(0,$.jsx)(`span`,{style:{fontWeight:500},children:`注册赠送积分`}),extra:`用户注册时赠送的初始积分`,children:(0,$.jsx)(RB,{min:0,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`user_login_credits`,label:(0,$.jsx)(`span`,{style:{fontWeight:500},children:`每日登录赠送积分`}),extra:`用户每日首次登录赠送的积分`,children:(0,$.jsx)(RB,{min:0,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`user_login_credits_enabled`,label:(0,$.jsx)(`span`,{style:{fontWeight:500},children:`启用每日登录积分`}),extra:`是否开启每日登录赠送积分功能`,children:(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(uJ,{defaultChecked:M.find(e=>e.key===`user_login_credits_enabled`)?.value===`true`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:13},children:M.find(e=>e.key===`user_login_credits_enabled`)?.value===`true`?`已启用`:`已禁用`})]})})]}),(0,$.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,marginTop:16},children:(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(K3,{}),onClick:R,loading:F,size:`large`,style:{borderRadius:8},children:`保存配置`})})]})]}),(0,$.jsxs)(_z,{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)(qW,{placeholder:`搜索用户名或手机号`,prefix:(0,$.jsx)(GC,{style:{color:`#94a3b8`}}),value:i,onChange:e=>a(e.target.value),onPressEnter:B,style:{width:280,borderRadius:8},allowClear:!0}),(0,$.jsx)(aD,{type:`primary`,onClick:B,style:{borderRadius:8},children:`搜索`})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>{p(o),w.setFieldsValue({user_type:o}),d(!0)},style:{borderRadius:8},children:`创建用户`})]}),(0,$.jsx)(rz,{activeKey:o,onChange:s,items:[{key:`frontend`,label:`前台用户`},{key:`admin`,label:`后台用户`}]}),(0,$.jsx)(QQ,{columns:q,dataSource:ie,rowKey:`id`,loading:n,pagination:{current:E,pageSize:O,total:A,onChange:z,showSizeChanger:!0,showTotal:e=>`共 ${e} 个用户`},scroll:{x:1e3}})]}),(0,$.jsxs)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(s8,{}),`调整积分 - `,c.user?.username]}),open:c.open,onOk:V,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)(RB,{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)(qW.TextArea,{rows:2,placeholder:`请输入调整原因`,size:`large`})})]})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(t8,{}),`创建用户`]}),open:u,onOk:U,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)(XC,{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)(qW,{placeholder:`请输入手机号`,maxLength:11,size:`large`})}):(0,$.jsx)(Z.Item,{name:`username`,label:`用户名`,rules:[{required:!0,message:`请输入用户名`}],children:(0,$.jsx)(qW,{placeholder:`请输入用户名`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`password`,label:`密码`,rules:[{required:!0,min:6,message:`密码至少6位`}],children:(0,$.jsx)(qW.Password,{placeholder:`请输入密码(至少6位)`,size:`large`})}),f===`frontend`&&(0,$.jsx)(Z.Item,{name:`credits`,label:`初始积分`,initialValue:0,children:(0,$.jsx)(RB,{min:0,style:{width:`100%`},size:`large`})}),(0,$.jsx)(Z.Item,{name:`email`,label:`邮箱`,children:(0,$.jsx)(qW,{placeholder:`选填`,size:`large`})})]})}),(0,$.jsxs)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(Q4,{}),`菜单权限 - `,m.user?.username,` (`,m.user?.userType===`admin`?`后台菜单`:`前台菜单`,`)`]}),open:m.open,onOk:K,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)(Uz.Group,{value:v,onChange:e=>y(e),children:(0,$.jsxs)(yH,{direction:`vertical`,size:8,style:{width:`100%`},children:[ne.map(e=>(0,$.jsxs)(Uz,{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)),ee.map(e=>{let t=G[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)(yH,{direction:`vertical`,size:4,style:{paddingLeft:12,width:`100%`},children:t.map(e=>(0,$.jsxs)(Uz,{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)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(B4,{}),`重置密码 - `,b.user?.username]}),open:b.open,onOk:re,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)(qW.Password,{placeholder:`请输入新密码(至少6位)`,size:`large`})})})})]})},t7=()=>{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 V8())}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 H8({id:i.model.id,...t}):await H8(t),hK.success(i.model?.id?`模型配置已更新`:`模型配置已添加`),a({open:!1,model:null}),o.resetFields(),s()}catch(e){if(e?.errorFields)return;hK.error(e?.message||`保存失败`)}},l=async e=>{try{await U8(e),hK.success(`模型配置已删除`),s()}catch(e){hK.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)(_z,{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)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加模型`})]}),(0,$.jsx)(QQ,{columns:[{title:`模型名称`,dataIndex:`name`,width:150,render:(e,t)=>(0,$.jsxs)(yH,{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)(P3,{})}),(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)(u$,{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)(u$,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(g$,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(SK,{title:`确定删除该模型配置?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(P3,{}),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)(qW,{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)(XC,{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)(qW,{placeholder:`例如:gpt-4o`,size:`large`})})]}),(0,$.jsx)(Z.Item,{name:`apiBase`,label:`API地址`,children:(0,$.jsx)(qW,{placeholder:`https://api.openai.com/v1`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`apiKey`,label:`API Key`,children:(0,$.jsx)(qW.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)(RB,{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)(RB,{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)(RB,{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)(RB,{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)(uJ,{})})]})]})})]})},n7=()=>{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 W8();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 G8(t.id,e??``)}hK.success(`系统配置已保存`),t(await W8()),a(!1)}catch(e){a(!1),hK.error(e?.message||`保存失败`)}},d=async(e,n)=>{s(n);try{let r=await K8(e,n);t(e=>e.map(e=>e.key===n?{...e,value:r.url}:e)),c.setFieldsValue({[n]:r.url}),hK.success(`PDF上传成功`)}catch{hK.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_`)),用户积分配置:e.filter(e=>e.key.startsWith(`user_`)&&e.key.includes(`credits`))},p=e=>({site_name:`平台显示名称,将展示在页面标题和导航栏`,site_logo:`平台Logo图片URL,建议尺寸 200x40px`,user_agreement_url:`用户注册/登录时需同意的用户协议PDF文件`,privacy_policy_url:`用户注册/登录时需同意的隐私政策PDF文件`,seo_title:`搜索引擎结果中显示的标题`,seo_description:`搜索引擎结果中显示的描述文字,建议150字以内`,seo_keywords:`用逗号分隔的关键词列表`,user_register_credits:`用户注册时赠送的初始积分,默认100`,user_login_credits:`用户每日登录赠送的积分数量`,user_login_credits_enabled:`是否启用每日登录赠送积分功能`})[e.key]||e.description||``,m=e=>e.key===`seo_description`?(0,$.jsx)(qW.TextArea,{rows:3,placeholder:e.description,size:`large`}):e.key===`seo_keywords`?(0,$.jsx)(qW,{placeholder:`关键词1, 关键词2, 关键词3`,size:`large`}):e.key===`user_login_credits_enabled`?(0,$.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,$.jsx)(uJ,{defaultChecked:e.value===`true`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:13},children:e.value===`true`?`已启用`:`已禁用`})]}):e.key===`user_register_credits`||e.key===`user_login_credits`?(0,$.jsx)(qW,{type:`number`,min:0,placeholder:e.description,size:`large`}):(0,$.jsx)(qW,{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)(yH,{children:[(0,$.jsx)(Q2,{style:{color:`#ef4444`,fontSize:18}}),(0,$.jsx)(Q.Text,{strong:!0,children:t})]}),(0,$.jsxs)(yH,{children:[n&&(0,$.jsx)(aD,{size:`small`,icon:(0,$.jsx)(TW,{}),onClick:()=>window.open(`http://localhost:8000${e.value}`,`_blank`),children:`预览`}),(0,$.jsx)(i0,{accept:`.pdf`,showUploadList:!1,beforeUpload:t=>d(t,e.key),children:(0,$.jsx)(aD,{size:`small`,type:`primary`,icon:(0,$.jsx)(Q6,{}),loading:o===e.key,children:n?`重新上传`:`上传PDF`})})]})]}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:n?`已上传: ${e.value}`:`尚未上传,前台将不显示对应链接`})]})};return n?(0,$.jsx)(_z,{loading:!0,bordered:!1,style:{borderRadius:12}}):(0,$.jsxs)(`div`,{style:{maxWidth:720},children:[(0,$.jsxs)(_z,{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)(t6,{})}),(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)(aD,{type:`primary`,icon:(0,$.jsx)(K3,{}),onClick:u,loading:i,size:`large`,style:{borderRadius:8,minWidth:140},children:`保存配置`})})]})},r7=()=>{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,g]=(0,x.useState)(1),[_,v]=(0,x.useState)(10),[y,b]=(0,x.useState)(0),S=async()=>{r(!0);try{let e=await d5(h,_),n=(await R8(1,1e3)).items||[],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}))),b(e.total||0),a(n.map(e=>({id:e.id,username:e.username})))}catch{hK.error(`加载通知列表失败`)}finally{r(!1)}};(0,x.useEffect)(()=>{S()},[h,_]);let C=(e,t)=>{g(e),v(t)},w=async()=>{try{let e=await c.validateFields();await f5({title:e.title,content:e.content,type:e.type||`system`,target_user_id:e.target_user_id||void 0}),hK.success(`消息已发送`),s(!1),c.resetFields(),S()}catch{}},T=async e=>{try{await p5(e),hK.success(`已删除`),S()}catch(e){hK.error(e?.message||`删除失败`)}},E=async(e,t)=>{u({open:!0,notifId:e,title:t}),m(!0);try{f((await m5(e)).items||[])}catch{hK.error(`加载已读列表失败`)}finally{m(!1)}},D=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)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(U0,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`消息推送管理`}),(0,$.jsxs)(u$,{color:`purple`,children:[`共 `,y,` 条消息`]})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>s(!0),style:{borderRadius:8},children:`发送新消息`})]}),(0,$.jsx)(QQ,{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)(u$,{color:D(e),children:{system:`系统`,credit:`积分`,promo:`活动`}[e]||e})},{title:`发送目标`,dataIndex:`target`,width:120,render:e=>(0,$.jsx)(u$,{color:e===`全部用户`?`green`:`blue`,children:e})},{title:`发送时间`,dataIndex:`createdAt`,width:160,render:e=>$5(e)},{title:`操作`,key:`action`,width:180,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(TW,{}),onClick:()=>E(t.id,t.title),children:`已读`}),(0,$.jsx)(SK,{title:`确定删除该消息?`,onConfirm:()=>T(t.id),children:(0,$.jsx)(aD,{type:`link`,danger:!0,size:`small`,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:{current:h,pageSize:_,total:y,onChange:C,showSizeChanger:!0,showTotal:e=>`共 ${e} 条消息`},scroll:{x:900}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(Q3,{}),`发送消息`]}),open:o,onOk:w,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)(qW,{placeholder:`请输入消息标题`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`content`,label:`消息内容`,rules:[{required:!0,message:`请输入内容`}],children:(0,$.jsx)(qW.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)(XC,{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)(XC,{size:`large`,allowClear:!0,placeholder:`全部用户`,options:i.map(e=>({value:e.id,label:e.username}))})})]})]})}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(P6,{}),`已读用户 — `,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)(bC,{description:`暂无用户已读`,style:{padding:`40px 0`}}):(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{style:{marginBottom:12,color:`#64748b`,fontSize:13},children:[`共 `,d.length,` 人已读`]}),(0,$.jsx)(QQ,{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=>$5(e)}]})]})})]})},i7={recharge:{text:`充值`,color:`green`,icon:(0,$.jsx)(j0,{})},consume:{text:`消费`,color:`red`,icon:(0,$.jsx)(T0,{})},refund:{text:`退回`,color:`blue`,icon:(0,$.jsx)(B3,{})}},a7=()=>{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)(10),[u,d]=(0,x.useState)(``),[f,p]=(0,x.useState)(``),[m,h]=(0,x.useState)([null,null]),g=async()=>{a(!0);try{let e={};u&&(e.type=u),f&&(e.user_name=f),m[0]&&(e.start_date=m[0].format(`YYYY-MM-DD`)),m[1]&&(e.end_date=m[1].format(`YYYY-MM-DD`)),e.page=o,e.page_size=c;let n=await q8(Object.keys(e).length>0?e:void 0);t(n.items||[]),r(n.total||0)}catch{hK.error(`加载积分记录失败`)}finally{a(!1)}};(0,x.useEffect)(()=>{g()},[o,c,u,f,m]);let _=(e,t)=>{s(e),l(t)};(0,x.useEffect)(()=>{g()},[]);let v=()=>{g()},y=()=>{d(``),p(``),h([null,null]),g()},b=e.filter(e=>e.type===`recharge`).reduce((e,t)=>e+t.amount,0),S=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)(_z,{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)(j0,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:`总充值`}),(0,$.jsxs)(`div`,{style:{fontSize:22,fontWeight:800,color:`#10b981`},children:[`+`,b.toLocaleString()]})]})]})}),(0,$.jsx)(_z,{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)(T0,{})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{style:{color:`#94a3b8`,fontSize:12},children:`总消费`}),(0,$.jsxs)(`div`,{style:{fontSize:22,fontWeight:800,color:`#ef4444`},children:[`-`,S.toLocaleString()]})]})]})}),(0,$.jsx)(_z,{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)(s8,{})}),(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)(_z,{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)(yH,{wrap:!0,children:[(0,$.jsx)(XC,{value:u,onChange:e=>d(e),style:{width:120},options:[{value:``,label:`全部类型`},{value:`recharge`,label:`充值`},{value:`consume`,label:`消费`},{value:`refund`,label:`退回`}]}),(0,$.jsx)(qW,{placeholder:`用户名搜索`,value:f,onChange:e=>p(e.target.value),style:{width:180},allowClear:!0}),(0,$.jsx)(DV.RangePicker,{value:m,onChange:e=>{e&&h([e[0],e[1]])},placeholder:[`开始日期`,`结束日期`],style:{width:250}})]}),(0,$.jsxs)(yH,{children:[(0,$.jsx)(aD,{type:`primary`,onClick:v,children:`搜索`}),(0,$.jsx)(aD,{onClick:y,children:`重置`}),(0,$.jsx)(aD,{icon:(0,$.jsx)(iq,{}),onClick:g,children:`刷新`})]})]}),(0,$.jsx)(QQ,{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=i7[e]||{text:e||`-`,color:`default`,icon:null};return(0,$.jsx)(u$,{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:$5(e)})}],dataSource:e,rowKey:`id`,loading:i,pagination:{current:o,pageSize:c,total:n,onChange:_,showSizeChanger:!0,showTotal:e=>`共 ${e} 条记录`},scroll:{x:800}})]})]})},o7=()=>{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 o5(),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{hK.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)(_z,{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)(bV,{})}),(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)(RB,{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)(_z,{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)(B2,{})}),(0,$.jsx)(`div`,{children:(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:14},children:`模拟支付模式`})})]}),(0,$.jsx)(uJ,{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)(_z,{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)(u8,{})}),(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)(uJ,{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)(qW,{placeholder:`微信支付 AppID`,size:`large`,disabled:!n})}),(0,$.jsx)(Z.Item,{name:`wechat_mch_id`,label:`商户号 (MchID)`,children:(0,$.jsx)(qW,{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)(qW.TextArea,{rows:4,placeholder:`\r @@ -402,4 +402,4 @@ MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC...\r MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...\r `,disabled:!i})}),(0,$.jsx)(Z.Item,{name:`alipay_gateway`,label:`网关地址`,children:(0,$.jsx)(qW,{placeholder:`https://openapi.alipay.com/gateway.do`,size:`large`,disabled:!i})}),(0,$.jsx)(Z.Item,{name:`alipay_notify_url`,label:`回调地址`,children:(0,$.jsx)(qW,{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)(aD,{type:`primary`,icon:(0,$.jsx)(K3,{}),onClick:async()=>{try{let e=await u.validateFields();t(!0),await s5({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)}),hK.success(`支付配置已保存`),d()}catch{hK.error(`保存失败`)}finally{t(!1)}},loading:e,size:`large`,style:{borderRadius:8,minWidth:160,height:44,fontSize:15},children:`保存配置`})})]})},{Option:s7}=XC,{RangePicker:c7}=DV,l7=()=>{let[e,t]=(0,x.useState)(!1),[n,r]=(0,x.useState)(null),[i,a]=(0,x.useState)(1),[o,s]=(0,x.useState)(10),[c,l]=(0,x.useState)(0),[u,d]=(0,x.useState)({startDate:(0,pD.default)().format(`YYYY-MM-DD`),endDate:(0,pD.default)().format(`YYYY-MM-DD`)}),f=async()=>{try{t(!0);let[e,n]=await Promise.all([c5(u),l5({...u,page:i,pageSize:o})]);r({...e,recent:n.items||[]}),l(n.total)}catch{hK.error(`加载支付统计失败`)}finally{t(!1)}};(0,x.useEffect)(()=>{f()},[u,i,o]);let p=(e,t)=>{a(e),s(t)},m=()=>{d({startDate:(0,pD.default)().format(`YYYY-MM-DD`),endDate:(0,pD.default)().format(`YYYY-MM-DD`)})},h=async e=>{try{t(!0),await u5(e),hK.success(`退款成功`),await f()}catch(e){hK.error(e?.response?.data?.detail||`退款失败`)}finally{t(!1)}},g=e=>{e&&e.length===2&&d(t=>({...t,startDate:e[0].format(`YYYY-MM-DD`),endDate:e[1].format(`YYYY-MM-DD`)}))},_={paid:{color:`green`,label:`已支付`,icon:(0,$.jsx)(u2,{})},pending:{color:`gold`,label:`待支付`,icon:(0,$.jsx)(bV,{})},cancelled:{color:`default`,label:`已取消`,icon:(0,$.jsx)(p2,{})},refunded:{color:`red`,label:`已退款`,icon:(0,$.jsx)(Y6,{})}},v={alipay:{color:`blue`,label:`支付宝`},wechat:{color:`green`,label:`微信`}},y=[{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=v[e]||{color:`default`,label:e};return(0,$.jsx)(u$,{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=_[e]||{color:`default`,label:e,icon:null};return(0,$.jsx)(u$,{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?$5(e):`-`})},{title:`支付时间`,dataIndex:`paidAt`,key:`paidAt`,width:160,render:e=>(0,$.jsx)(`span`,{className:`date-display`,style:{color:`#94a3b8`},children:e?$5(e):`-`})},{title:`操作`,key:`action`,width:120,render:(e,t)=>t.status===`paid`?(0,$.jsx)(SK,{title:`确认要退款该订单吗?`,description:`退款后积分会扣除,金额会原路返回`,onConfirm:()=>h(t.orderNo),okText:`确认`,cancelText:`取消`,children:(0,$.jsx)(aD,{type:`link`,danger:!0,size:`small`,icon:(0,$.jsx)(Y6,{}),children:`退款`})}):null}];if(!n)return(0,$.jsx)(`div`,{style:{padding:24,color:`#94a3b8`},children:`加载中…`});let b=n.byStatus?.paid||{count:0,amount:0},S=n.byStatus?.pending||{count:0,amount:0},C=n.byStatus?.cancelled||{count:0,amount:0},w=n.byStatus?.refunded||{count:0,amount:0},T=b.count+S.count+C.count+w.count,E=n.month||{count:0,amount:0};return(0,$.jsx)(nm,{locale:_8.default,children:(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(aq,{gutter:[16,16],style:{marginBottom:24},children:[(0,$.jsx)(Xz,{xs:24,sm:12,lg:12,children:(0,$.jsxs)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsx)(_q,{title:`今日收入`,value:n.today.paidAmount,precision:2,prefix:(0,$.jsx)(B2,{style:{color:`#10b981`}}),suffix:`元`,valueStyle:{color:`#10b981`,fontWeight:700}}),(0,$.jsxs)(Q.Text,{type:`secondary`,style:{fontSize:12},children:[n.today.paidCount,` 笔订单`]})]})}),(0,$.jsx)(Xz,{xs:24,sm:12,lg:12,children:(0,$.jsxs)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsx)(_q,{title:`本月累计`,value:E.paidAmount,precision:2,prefix:(0,$.jsx)(B2,{style:{color:`#6366f1`}}),suffix:`元`,valueStyle:{color:`#6366f1`,fontWeight:700}}),(0,$.jsxs)(Q.Text,{type:`secondary`,style:{fontSize:12},children:[E.paidCount,` 笔订单`]})]})})]}),(0,$.jsx)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`,marginBottom:16},title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(B2,{}),`订单状态分布`]}),children:(0,$.jsx)(aq,{gutter:16,children:[`paid`,`pending`,`cancelled`,`refunded`].map(e=>{let t=n.byStatus?.[e]||{count:0,amount:0},r=_[e],i=T>0?(t.count/T*100).toFixed(1):`0.0`;return(0,$.jsx)(Xz,{span:6,children:(0,$.jsxs)(`div`,{style:{padding:16,borderRadius:10,background:`#fafbff`,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(u$,{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)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(B2,{}),`订单列表`]}),children:[(0,$.jsxs)(aq,{gutter:[16,16],align:`middle`,style:{marginBottom:24},children:[(0,$.jsxs)(Xz,{xs:24,sm:12,md:6,children:[(0,$.jsx)(`span`,{style:{marginRight:8},children:`支付方式:`}),(0,$.jsxs)(XC,{placeholder:`全部`,allowClear:!0,style:{width:150},value:u.paymentMethod,onChange:e=>d(t=>({...t,paymentMethod:e})),children:[(0,$.jsx)(s7,{value:`alipay`,children:`支付宝`}),(0,$.jsx)(s7,{value:`wechat`,children:`微信`})]})]}),(0,$.jsxs)(Xz,{xs:24,sm:12,md:6,children:[(0,$.jsx)(`span`,{style:{marginRight:8},children:`状态:`}),(0,$.jsxs)(XC,{placeholder:`全部`,allowClear:!0,style:{width:150},value:u.status,onChange:e=>d(t=>({...t,status:e})),children:[(0,$.jsx)(s7,{value:`paid`,children:`已支付`}),(0,$.jsx)(s7,{value:`pending`,children:`待支付`}),(0,$.jsx)(s7,{value:`cancelled`,children:`已取消`}),(0,$.jsx)(s7,{value:`refunded`,children:`已退款`})]})]}),(0,$.jsxs)(Xz,{xs:24,sm:12,md:8,children:[(0,$.jsx)(`span`,{style:{marginRight:8},children:`日期范围:`}),(0,$.jsx)(c7,{value:[(0,pD.default)(u.startDate),(0,pD.default)(u.endDate)],onChange:g})]}),(0,$.jsx)(Xz,{xs:24,sm:12,md:4,children:(0,$.jsx)(aD,{icon:(0,$.jsx)(iq,{}),onClick:m,children:`重置`})})]}),(0,$.jsx)(QQ,{columns:y,dataSource:n.recent||[],rowKey:`id`,loading:e,pagination:{current:i,pageSize:o,total:c,onChange:p,showSizeChanger:!0,showTotal:e=>`共 ${e} 条`},scroll:{x:1e3},size:`middle`})]})]})})},u7=[{name:`ShoppingCartOutlined`,label:`购物`,component:(0,$.jsx)(i6,{})},{name:`BookOutlined`,label:`书籍`,component:(0,$.jsx)(K0,{})},{name:`HomeOutlined`,label:`房产`,component:(0,$.jsx)(T4,{})},{name:`FireOutlined`,label:`火`,component:(0,$.jsx)(t4,{})},{name:`RocketOutlined`,label:`科技`,component:(0,$.jsx)(L3,{})},{name:`SkinOutlined`,label:`时尚`,component:(0,$.jsx)(p6,{})},{name:`CompassOutlined`,label:`指南`,component:(0,$.jsx)(O2,{})},{name:`HeartOutlined`,label:`健康`,component:(0,$.jsx)(g4,{})},{name:`CarOutlined`,label:`汽车`,component:(0,$.jsx)(s2,{})},{name:`CameraOutlined`,label:`相机`,component:(0,$.jsx)(i2,{})},{name:`CloudOutlined`,label:`云`,component:(0,$.jsx)(g2,{})},{name:`StarOutlined`,label:`星`,component:(0,$.jsx)(T6,{})},{name:`TrophyOutlined`,label:`奖杯`,component:(0,$.jsx)(U6,{})},{name:`ThunderboltOutlined`,label:`闪电`,component:(0,$.jsx)(L6,{})},{name:`BulbOutlined`,label:`灯泡`,component:(0,$.jsx)(Q0,{})},{name:`CoffeeOutlined`,label:`咖啡`,component:(0,$.jsx)(T2,{})},{name:`CrownOutlined`,label:`皇冠`,component:(0,$.jsx)(j2,{})},{name:`DashboardOutlined`,label:`仪表`,component:(0,$.jsx)(P2,{})},{name:`FlagOutlined`,label:`旗帜`,component:(0,$.jsx)(i4,{})},{name:`GlobalOutlined`,label:`全球`,component:(0,$.jsx)(p4,{})},{name:`GiftOutlined`,label:`礼物`,component:(0,$.jsx)(u4,{})},{name:`LaptopOutlined`,label:`笔记本`,component:(0,$.jsx)(j4,{})},{name:`MobileOutlined`,label:`手机`,component:(0,$.jsx)(i3,{})},{name:`MonitorOutlined`,label:`显示器`,component:(0,$.jsx)(s3,{})},{name:`PayCircleOutlined`,label:`支付`,component:(0,$.jsx)(u3,{})},{name:`PictureOutlined`,label:`图片`,component:(0,$.jsx)(g3,{})},{name:`PlayCircleOutlined`,label:`播放`,component:(0,$.jsx)(S3,{})},{name:`SafetyOutlined`,label:`安全`,component:(0,$.jsx)(U3,{})},{name:`ShoppingOutlined`,label:`商店`,component:(0,$.jsx)(s6,{})},{name:`SmileOutlined`,label:`笑脸`,component:(0,$.jsx)(g6,{})},{name:`SoundOutlined`,label:`声音`,component:(0,$.jsx)(S6,{})},{name:`TagOutlined`,label:`标签`,component:(0,$.jsx)(j6,{})},{name:`TeamOutlined`,label:`团队`,component:(0,$.jsx)(P6,{})},{name:`ToolOutlined`,label:`工具`,component:(0,$.jsx)(B6,{})},{name:`TruckOutlined`,label:`物流`,component:(0,$.jsx)(K6,{})},{name:`VideoCameraOutlined`,label:`视频`,component:(0,$.jsx)(i8,{})},{name:`WalletOutlined`,label:`钱包`,component:(0,$.jsx)(s8,{})},{name:`BankOutlined`,label:`银行`,component:(0,$.jsx)(L0,{})},{name:`BuildOutlined`,label:`建筑`,component:(0,$.jsx)(Y0,{})},{name:`ExperimentOutlined`,label:`实验`,component:(0,$.jsx)(K2,{})},{name:`HighlightOutlined`,label:`高亮`,component:(0,$.jsx)(y4,{})},{name:`IdcardOutlined`,label:`名片`,component:(0,$.jsx)(O4,{})},{name:`MedicineBoxOutlined`,label:`医药`,component:(0,$.jsx)(Y4,{})},{name:`ReadOutlined`,label:`阅读`,component:(0,$.jsx)(O3,{})},{name:`RestOutlined`,label:`休息`,component:(0,$.jsx)(j3,{})},{name:`SketchOutlined`,label:`钻石`,component:(0,$.jsx)(u6,{})},{name:`SolutionOutlined`,label:`方案`,component:(0,$.jsx)(y6,{})}],d7=Object.fromEntries(u7.map(e=>[e.name,e.component]));function f7(e){return d7[e]||(0,$.jsx)(S0,{})}function p7(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 m7=({value:e,onChange:t})=>{let n=u7.find(t=>t.name===e);return(0,$.jsx)(xH,{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:u7.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:f7(e)}),(0,$.jsx)(`span`,{style:{color:`#64748b`,fontSize:13},children:n?.label||e})]}):(0,$.jsx)(`span`,{style:{color:`#bfbfbf`,fontSize:13},children:`选择图标`}),(0,$.jsx)(HC,{style:{fontSize:10,color:`#bfbfbf`,marginLeft:`auto`}})]})})},h7=()=>{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 J8()).map(e=>{let{skillItems:t,optionGroups:n}=p7(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{hK.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 Y8({id:o.item.id,...r}),hK.success(`已更新`)):(await Y8(r),hK.success(`已添加`)),s({open:!1,item:null}),c.resetFields(),l()}catch(e){if(e?.errorFields)return;hK.error(e?.message||`保存失败`)}finally{a(!1)}},d=async e=>{try{await X8(e),hK.success(`已删除`),l()}catch(e){hK.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)(_z,{style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(S0,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`行业与技能配置`}),(0,$.jsxs)(u$,{color:`purple`,children:[e.length,` 个行业`]})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>f(),style:{borderRadius:8},children:`添加行业`})]}),(0,$.jsx)(QQ,{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:f7(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)(u$,{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)(u$,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(g$,{}),onClick:()=>f(t),children:`编辑`}),(0,$.jsx)(SK,{title:`确定删除该行业?`,onConfirm:()=>d(t.id),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(S0,{}),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)(qW,{placeholder:`例如:ecommerce`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`label`,label:`行业名称`,style:{flex:1},rules:[{required:!0,message:`请输入名称`}],children:(0,$.jsx)(qW,{placeholder:`例如:电商`,size:`large`})})]}),(0,$.jsx)(Z.Item,{name:`icon`,label:`行业图标`,children:(0,$.jsx)(m7,{})}),(0,$.jsx)(Z.Item,{name:`description`,label:`行业描述`,children:(0,$.jsx)(qW.TextArea,{rows:2,placeholder:`行业描述`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`skills_wentutujie`,label:`文图理解生成视频提示词`,extra:`用于LLM优化视频提示词的系统指令,根据行业特点引导AI理解文案与画面的关系`,children:(0,$.jsx)(qW.TextArea,{rows:3,placeholder:`请输入文图理解生成视频提示词,例如: 你是一位专业的电商视频文案专家,擅长将产品卖点转化为视觉语言`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`skills_wentutujie_image`,label:`文图理解生成图片提示词`,extra:`用于LLM优化图片提示词的系统指令,根据行业特点引导AI理解文案与画面的关系`,children:(0,$.jsx)(qW.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)(qW,{placeholder:`例如:视频风格`,size:`middle`,style:{borderRadius:8}})}),(0,$.jsx)(Z.Item,{...r,name:[t,`options`],label:`选项内容`,style:{marginBottom:0},children:(0,$.jsx)(XC,{mode:`tags`,size:`middle`,placeholder:`输入选项后回车添加`,style:{borderRadius:8},tokenSeparators:[`,`,`,`,`、`]})})]}),(0,$.jsx)(t3,{onClick:()=>n(t),style:{color:`#ef4444`,fontSize:16,marginTop:34,cursor:`pointer`,flexShrink:0}})]},e)),(0,$.jsx)(aD,{type:`dashed`,onClick:()=>t(),block:!0,icon:(0,$.jsx)(nR,{}),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)(uJ,{})}),(0,$.jsx)(Z.Item,{name:`sort_order`,label:`排序`,initialValue:0,style:{flex:1},children:(0,$.jsx)(qW,{type:`number`,size:`large`})})]})]})})]})};function g7(e){if(Array.isArray(e))return e;if(typeof e==`string`)try{return JSON.parse(e)}catch{return[]}return[]}var _7=()=>{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 Z8()).map(e=>({...e,supportedRatios:g7(e.supportedRatios),supportedResolutions:g7(e.supportedResolutions),supportedDurations:g7(e.supportedDurations)})))}catch{hK.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 Q8({id:i.engine.id,...t}),hK.success(`已更新`)):(await Q8(t),hK.success(`已添加`)),a({open:!1,engine:null}),o.resetFields(),s()}catch(e){if(e?.errorFields)return;hK.error(e?.message||`保存失败`)}},l=async e=>{try{await $8(e),hK.success(`已删除`),s()}catch{hK.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)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(S3,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`视频引擎配置`}),(0,$.jsxs)(u$,{color:`purple`,children:[e.length,` 个引擎`]})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加引擎`})]}),(0,$.jsx)(QQ,{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)(S3,{})}),(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)(yH,{size:2,wrap:!0,children:e.map(e=>(0,$.jsx)(u$,{children:e},e))})},{title:`支持分辨率`,dataIndex:`supportedResolutions`,width:150,render:e=>(0,$.jsx)(yH,{size:2,wrap:!0,children:e.map(e=>(0,$.jsx)(u$,{color:`blue`,children:e},e))})},{title:`支持时长`,dataIndex:`supportedDurations`,width:120,render:e=>(0,$.jsx)(u$,{color:`orange`,children:e?.length?`${Math.min(...e)}-${Math.max(...e)}s`:`-`})},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(u$,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(g$,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(SK,{title:`确定删除?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(S3,{}),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)(qW,{placeholder:`Seedance 2.0`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`provider`,label:`提供商`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(XC,{size:`large`,options:[{value:`ark`,label:`火山引擎 (Ark)`}]})})]}),(0,$.jsx)(Z.Item,{name:`apiBase`,label:`API基础地址`,rules:[{required:!0}],children:(0,$.jsx)(qW,{placeholder:`https://ark.cn-beijing.volces.com/api/v3`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`apiKey`,label:`API Key`,children:(0,$.jsx)(qW.Password,{placeholder:`sk-****`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`modelName`,label:`模型名称`,children:(0,$.jsx)(qW,{placeholder:`doubao-seedance-2-0-260128`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`supportedRatios`,label:`支持比例`,children:(0,$.jsx)(XC,{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)(XC,{mode:`multiple`,size:`large`,options:[{value:`480p`},{value:`720p`},{value:`1080p`}]})}),(0,$.jsx)(Z.Item,{name:`supportedDurations`,label:`支持时长(秒)`,style:{flex:1},children:(0,$.jsx)(XC,{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)(XC,{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)(uJ,{})})]})]})})]})};function v7(e){if(Array.isArray(e))return e;if(typeof e==`string`)try{return JSON.parse(e)}catch{return[]}return[]}function y7(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 b7={"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`}},x7=[`1:1`,`4:3`,`3:4`,`16:9`,`9:16`,`3:2`,`2:3`,`21:9`],S7=()=>{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 e5()).map(e=>({...e,supportedModels:v7(e.supportedModels),supportedSizes:y7(e.supportedSizes)})))}catch{hK.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]=b7[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 t5({id:i.engine.id,...n}),hK.success(`已更新`)):(await t5(n),hK.success(`已添加`)),a({open:!1,engine:null}),o.resetFields(),s()}catch(e){if(e?.errorFields)return;hK.error(e?.message||`保存失败`)}},l=async e=>{try{await n5(e),hK.success(`已删除`),s()}catch{hK.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:x7,size_4K:x7})};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(_z,{style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(g3,{style:{fontSize:18,color:`#10b981`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`图片引擎配置`}),(0,$.jsxs)(u$,{color:`green`,children:[e.length,` 个引擎`]})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加引擎`})]}),(0,$.jsx)(QQ,{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)(g3,{})}),(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)(yH,{size:2,wrap:!0,children:n.map(e=>(0,$.jsxs)(u$,{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)(yH,{size:2,wrap:!0,children:n.map(e=>(0,$.jsxs)(u$,{color:`purple`,children:[e,` `,t.supportedSizes[`4K`][e]]},e))})}},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(u$,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(g$,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(SK,{title:`确定删除?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:1e3}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(g3,{}),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)(qW,{placeholder:`豆包文生图`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`provider`,label:`提供商`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(XC,{size:`large`,options:[{value:`ark`,label:`火山引擎 (Ark)`}]})})]}),(0,$.jsx)(Z.Item,{name:`apiBase`,label:`API基础地址`,rules:[{required:!0}],children:(0,$.jsx)(qW,{placeholder:`https://ark.cn-beijing.volces.com/api/v3`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`apiKey`,label:`API Key`,children:(0,$.jsx)(qW.Password,{placeholder:`sk-****`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`modelName`,label:`默认模型`,children:(0,$.jsx)(qW,{placeholder:`doubao-seedream-5-0-260128`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`supportedModels`,label:`支持模型列表`,children:(0,$.jsx)(XC,{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)(Uz.Group,{style:{width:`100%`},children:(0,$.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(4, 1fr)`,gap:`6px 0`},children:x7.map(t=>(0,$.jsxs)(Uz,{value:t,style:{fontSize:12},children:[t,` `,(0,$.jsx)(`span`,{style:{color:`#94a3b8`,fontSize:11},children:b7[e]?.[t]})]},t))})})})]},e)),(0,$.jsx)(Z.Item,{name:`defaultSize`,label:`默认尺寸档位`,children:(0,$.jsx)(XC,{size:`large`,options:[{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]})}),(0,$.jsx)(Z.Item,{name:`generateUrl`,label:`生成接口地址`,children:(0,$.jsx)(qW,{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)(XC,{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)(uJ,{})})]})]})})]})},C7=[`2K`,`4K`],w7=[`480p`,`720p`,`1080p`],T7=()=>{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([r5(),W8(),F5()]),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{hK.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:C7).map(e=>({value:e,label:e}))}let e=y?.supportedResolutions||[];return(e.length?e:w7).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 i5({id:o.ratio.id,...t}),hK.success(`已更新`)):(await i5(t),hK.success(`已添加`)),s({open:!1,ratio:null}),c.resetFields(),_()}catch(e){if(e?.errorFields)return;hK.error(e?.message||`保存失败`)}},w=async e=>{try{await a5(e),hK.success(`已删除`),_()}catch{hK.error(`删除失败`)}},T=async()=>{if(d){m(!0);try{await G8(d.id,String(l)),hK.success(`文字积分费率已更新`)}catch(e){hK.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)(_z,{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)(yH,{children:[(0,$.jsx)(s4,{style:{fontSize:18,color:`#f59e0b`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`文字积分费率`})]}),(0,$.jsx)(aD,{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)(RB,{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)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(t2,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`积分比例配置`}),(0,$.jsxs)(u$,{color:`purple`,children:[e.length,` 条规则`]})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),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)(QQ,{columns:[{title:`类型`,dataIndex:`genType`,width:80,render:e=>(0,$.jsx)(u$,{color:e===`image`?`cyan`:`orange`,children:e===`image`?`图片`:`视频`})},{title:`引擎`,dataIndex:`modelConfigId`,width:180,render:(e,t)=>(0,$.jsx)(u$,{color:t.genType===`image`?`cyan`:`purple`,children:S(e,t.genType)})},{title:`分辨率/尺寸`,dataIndex:`resolution`,width:110,render:e=>(0,$.jsx)(u$,{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)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(g$,{}),onClick:()=>E(t),children:`编辑`}),(0,$.jsx)(SK,{title:`确定删除?`,onConfirm:()=>w(t.id),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:i,pagination:!1,scroll:{x:860}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(t2,{}),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)(XC,{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)(XC,{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)(XC,{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)(RB,{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)(RB,{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)(RB,{min:0,max:100,style:{width:`100%`},size:`large`})})]})]})})]})},E7={HomeOutlined:(0,$.jsx)(T4,{}),PlayCircleOutlined:(0,$.jsx)(S3,{}),WalletOutlined:(0,$.jsx)(s8,{}),RobotOutlined:(0,$.jsx)(P3,{}),SettingOutlined:(0,$.jsx)(t6,{}),BellOutlined:(0,$.jsx)(U0,{}),UserOutlined:(0,$.jsx)(t8,{}),AppstoreOutlined:(0,$.jsx)(S0,{}),FileTextOutlined:(0,$.jsx)(wH,{}),StarOutlined:(0,$.jsx)(T6,{}),HeartOutlined:(0,$.jsx)(g4,{}),CameraOutlined:(0,$.jsx)(i2,{}),DashboardOutlined:(0,$.jsx)(P2,{}),CalculatorOutlined:(0,$.jsx)(t2,{}),DollarOutlined:(0,$.jsx)(B2,{}),GiftOutlined:(0,$.jsx)(u4,{}),ThunderboltOutlined:(0,$.jsx)(L6,{}),FireOutlined:(0,$.jsx)(t4,{}),CloudOutlined:(0,$.jsx)(g2,{}),SmileOutlined:(0,$.jsx)(g6,{}),TrophyOutlined:(0,$.jsx)(U6,{}),RocketOutlined:(0,$.jsx)(L3,{}),BulbOutlined:(0,$.jsx)(Q0,{}),CodeOutlined:(0,$.jsx)(S2,{}),PictureOutlined:(0,$.jsx)(g3,{}),VideoCameraOutlined:(0,$.jsx)(i8,{}),AudioOutlined:(0,$.jsx)(P0,{}),MailOutlined:(0,$.jsx)(K4,{}),PhoneOutlined:(0,$.jsx)(p3,{}),GlobalOutlined:(0,$.jsx)(p4,{}),ShoppingCartOutlined:(0,$.jsx)(i6,{}),TeamOutlined:(0,$.jsx)(P6,{}),BarChartOutlined:(0,$.jsx)(B0,{}),PieChartOutlined:(0,$.jsx)(y3,{}),LineChartOutlined:(0,$.jsx)(P4,{}),SecurityScanOutlined:(0,$.jsx)(Y3,{}),ApiOutlined:(0,$.jsx)(y0,{}),DatabaseOutlined:(0,$.jsx)(L2,{}),CloudServerOutlined:(0,$.jsx)(y2,{}),MenuOutlined:(0,$.jsx)(Q4,{})},D7=Object.keys(E7).map(e=>({value:e,label:(0,$.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[E7[e],` `,e.replace(`Outlined`,``)]})})),O7={page:`blue`,group:`purple`},k7={page:`页面`,group:`分组`},A7=()=>{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 h5())}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 g5({...t,id:o.menu.id}):await g5(t),hK.success(o.menu?.id?`菜单已更新`:`菜单已添加`),s({open:!1,menu:null}),c.resetFields(),l()}catch{}},d=async e=>{try{await _5(e),hK.success(`菜单已删除`),l()}catch(e){hK.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&&E7[e]?(0,$.jsx)(`span`,{style:{fontSize:16,color:`#6366f1`},children:E7[e]}):`-`},{title:`类型`,dataIndex:`menuType`,width:80,render:e=>(0,$.jsx)(u$,{color:O7[e]||`default`,children:k7[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)(u$,{color:`green`,children:`默认`}):(0,$.jsx)(Q.Text,{type:`secondary`,children:`-`})}]:[],{title:`操作`,key:`action`,width:150,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(g$,{}),onClick:()=>f(t),children:`编辑`}),(0,$.jsx)(SK,{title:`确定删除该菜单?`,onConfirm:()=>d(t.id),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}];return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(Q4,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`菜单配置`})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>f(),style:{borderRadius:8},children:`添加菜单`})]}),(0,$.jsx)(rz,{activeKey:i,onChange:a,items:[{key:`frontend`,label:`前台菜单`},{key:`admin`,label:`后台菜单`}]}),(0,$.jsx)(QQ,{columns:v,dataSource:h,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(Q4,{}),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)(qW,{placeholder:`例如:我的项目`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`path`,label:`路由路径`,tooltip:`分组类型可留空`,children:(0,$.jsx)(qW,{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)(XC,{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)(XC,{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)(XC,{size:`large`,options:D7})}),(0,$.jsx)(Z.Item,{name:`sortOrder`,label:`排序`,style:{flex:1},children:(0,$.jsx)(RB,{min:0,max:100,style:{width:`100%`},size:`large`,placeholder:`默认0`})})]}),(0,$.jsx)(Z.Item,{name:`parentId`,label:`上级菜单`,children:(0,$.jsx)(XC,{size:`large`,options:m,allowClear:!0,placeholder:`顶级菜单`})}),(0,$.jsx)(Z.Item,{name:`isActive`,label:`启用`,valuePropName:`checked`,children:(0,$.jsx)(uJ,{})}),(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)(uJ,{})})})]})})]})},j7={normal:`blue`,gift:`green`,promo:`purple`},M7={normal:`常规`,gift:`赠送`,promo:`促销`},N7=()=>{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 C5()).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{hK.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 w5({id:i.item.id,...t}),hK.success(`已更新`)):(await w5(t),hK.success(`已添加`)),a({open:!1,item:null}),o.resetFields(),s()}catch{}},l=async e=>{try{await T5(e),hK.success(`已删除`),s()}catch(e){hK.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)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(u4,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`充值套餐管理`}),(0,$.jsxs)(u$,{color:`purple`,children:[e.length,` 个套餐`]})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加套餐`})]}),(0,$.jsx)(QQ,{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)(u$,{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)(u$,{color:j7[e]||`default`,children:M7[e]||e})},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(u$,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(g$,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(SK,{title:`确定删除?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(u4,{}),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)(qW,{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)(RB,{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)(RB,{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)(RB,{min:0,placeholder:`0`,size:`large`,style:{width:`100%`}})}),(0,$.jsx)(Z.Item,{name:`packageType`,label:`套餐类型`,initialValue:`normal`,style:{flex:1},children:(0,$.jsx)(XC,{size:`large`,options:[{value:`normal`,label:`常规`},{value:`gift`,label:`赠送`},{value:`promo`,label:`促销`}]})})]}),(0,$.jsx)(Z.Item,{name:`description`,label:`描述`,children:(0,$.jsx)(qW,{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)(uJ,{})}),(0,$.jsx)(Z.Item,{name:`isGift`,label:`是否赠送`,valuePropName:`checked`,initialValue:!1,style:{flex:1},children:(0,$.jsx)(uJ,{})}),(0,$.jsx)(Z.Item,{name:`sortOrder`,label:`排序`,initialValue:0,style:{flex:1},children:(0,$.jsx)(RB,{size:`large`,style:{width:`100%`}})})]})]})})]})},P7={POST:`green`,PUT:`blue`,DELETE:`red`},F7=()=>{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 E5(e||o);t(n.items||[]),r(n.total||0)}catch{hK.error(`加载操作日志失败`)}finally{a(!1)}};return(0,x.useEffect)(()=>{c()},[]),(0,$.jsx)(`div`,{children:(0,$.jsxs)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(S4,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`操作日志`})]}),(0,$.jsx)(aD,{icon:(0,$.jsx)(iq,{}),onClick:()=>c(),children:`刷新`})]}),(0,$.jsx)(QQ,{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)(u$,{color:P7[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:$5(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}})]})})},I7=()=>{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 D5(e||o);t(n.items||[]),r(n.total||0)}catch{hK.error(`加载应用管理列表失败`)}finally{a(!1)}},y=async()=>{try{let e=await g.validateFields();await O5({app_id:e.app_id,secret:e.secret,open_type:e.open_type,count:e.count,auth_url:e.auth_url,company:e.company}),hK.success(`创建成功`),l(!1),g.resetFields(),v()}catch(e){hK.error(e?.message||`创建失败`)}},b=async e=>{try{h(await k5(e)),d(!0)}catch(e){hK.error(e?.message||`获取详情失败`)}},S=async e=>{try{let t=await k5(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){hK.error(e?.message||`获取详情失败`)}},C=async()=>{if(m)try{let e=await _.validateFields();await A5(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}),hK.success(`更新成功`),p(!1),_.resetFields(),v()}catch(e){hK.error(e?.message||`更新失败`)}},w=e=>{vK.confirm({title:`确认删除`,content:`确定要删除这个应用管理吗?`,okText:`删除`,okType:`danger`,cancelText:`取消`,onOk:async()=>{try{await j5(e),hK.success(`删除成功`),v()}catch(e){hK.error(e?.message||`删除失败`)}}})};return(0,x.useEffect)(()=>{v()},[]),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(_z,{variant:`outlined`,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(Q4,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`应用管理列表`})]}),(0,$.jsxs)(yH,{children:[(0,$.jsx)(aD,{icon:(0,$.jsx)(iq,{}),onClick:()=>v(),children:`刷新`}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>l(!0),children:`创建`})]})]}),(0,$.jsx)(QQ,{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)(u$,{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:$5(e)})},{title:`更新时间`,dataIndex:`updatedAt`,render:e=>(0,$.jsx)(Q.Text,{children:$5(e)})},{title:`操作`,render:(e,t)=>(0,$.jsxs)(yH,{children:[(0,$.jsx)(aD,{icon:(0,$.jsx)(TW,{}),size:`small`,onClick:()=>b(t.id),children:`详情`}),(0,$.jsx)(aD,{icon:(0,$.jsx)(g$,{}),size:`small`,onClick:()=>S(t.id),children:`更新`}),(0,$.jsx)(aD,{icon:(0,$.jsx)(p$,{}),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)(vK,{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)(qW,{placeholder:`请输入应用ID`})}),(0,$.jsx)(Z.Item,{name:`secret`,label:`应用密钥`,rules:[{required:!0,message:`请输入应用密钥`},{max:256,message:`应用密钥不能超过256个字符`}],children:(0,$.jsx)(qW,{placeholder:`请输入应用密钥`})}),(0,$.jsx)(Z.Item,{name:`open_type`,label:`开户方式`,rules:[{required:!0,message:`请选择开户方式`}],children:(0,$.jsxs)(XC,{placeholder:`请选择开户方式`,children:[(0,$.jsx)(XC.Option,{value:1,children:`千川`}),(0,$.jsx)(XC.Option,{value:2,children:`广告`}),(0,$.jsx)(XC.Option,{value:3,children:`本地推`}),(0,$.jsx)(XC.Option,{value:4,children:`星图`}),(0,$.jsx)(XC.Option,{value:5,children:`快手代理商`}),(0,$.jsx)(XC.Option,{value:6,children:`巨量星图`}),(0,$.jsx)(XC.Option,{value:7,children:`巨量服务单`}),(0,$.jsx)(XC.Option,{value:8,children:`腾讯服务单`}),(0,$.jsx)(XC.Option,{value:9,children:`腾讯营销K2`}),(0,$.jsx)(XC.Option,{value:10,children:`腾讯营销K3`})]})}),(0,$.jsx)(Z.Item,{name:`count`,label:`最大授权用户数`,initialValue:100,children:(0,$.jsx)(RB,{min:1,placeholder:`应用最大可以授权多少个用户`})}),(0,$.jsx)(Z.Item,{name:`auth_url`,label:`应用授权链接`,children:(0,$.jsx)(qW,{placeholder:`请输入应用授权链接`})}),(0,$.jsx)(Z.Item,{name:`company`,label:`应用归属公司名称`,rules:[{max:256,message:`公司名称不能超过256个字符`}],children:(0,$.jsx)(qW,{placeholder:`请输入应用归属公司名称`})})]})}),(0,$.jsx)(vK,{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:`创建时间:`}),` `,$5(m.createdAt)]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`更新时间:`}),` `,$5(m.updatedAt)]})]})}),(0,$.jsx)(vK,{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)(qW,{placeholder:`请输入应用ID`})}),(0,$.jsx)(Z.Item,{name:`secret`,label:`应用密钥`,rules:[{required:!0,message:`请输入应用密钥`},{max:256,message:`应用密钥不能超过256个字符`}],children:(0,$.jsx)(qW,{placeholder:`请输入应用密钥`})}),(0,$.jsx)(Z.Item,{name:`open_type`,label:`开户方式`,rules:[{required:!0,message:`请选择开户方式`}],children:(0,$.jsxs)(XC,{placeholder:`请选择开户方式`,children:[(0,$.jsx)(XC.Option,{value:1,children:`千川`}),(0,$.jsx)(XC.Option,{value:2,children:`广告`}),(0,$.jsx)(XC.Option,{value:3,children:`本地推`}),(0,$.jsx)(XC.Option,{value:4,children:`星图`}),(0,$.jsx)(XC.Option,{value:5,children:`快手代理商`}),(0,$.jsx)(XC.Option,{value:6,children:`巨量星图`}),(0,$.jsx)(XC.Option,{value:7,children:`巨量服务单`}),(0,$.jsx)(XC.Option,{value:8,children:`腾讯服务单`}),(0,$.jsx)(XC.Option,{value:9,children:`腾讯营销K2`}),(0,$.jsx)(XC.Option,{value:10,children:`腾讯营销K3`})]})}),(0,$.jsx)(Z.Item,{name:`count`,label:`最大授权用户数`,children:(0,$.jsx)(RB,{min:1,placeholder:`应用最大可以授权多少个用户`})}),(0,$.jsx)(Z.Item,{name:`auth_url`,label:`应用授权链接`,children:(0,$.jsx)(qW,{placeholder:`请输入应用授权链接`})}),(0,$.jsx)(Z.Item,{name:`company`,label:`应用归属公司名称`,rules:[{max:256,message:`公司名称不能超过256个字符`}],children:(0,$.jsx)(qW,{placeholder:`请输入应用归属公司名称`})})]})})]})},L7=`http://ceshi.apiforeign.minzhong.cn`.replace(/\/api\/?$/i,``).replace(/\/$/,``),R7={image:`empty`,video:`empty`,videoCover:`empty`,references:{}},z7={optimizing:{color:`processing`,text:`优化中`,icon:(0,$.jsx)(ym,{spin:!0})},prompt_optimized:{color:`processing`,text:`待生成`,icon:(0,$.jsx)(bV,{})},generating:{color:`warning`,text:`生成中`,icon:(0,$.jsx)(ym,{spin:!0})},completed:{color:`success`,text:`已完成`,icon:(0,$.jsx)(u2,{})},failed:{color:`error`,text:`失败`,icon:(0,$.jsx)(p2,{})}},B7={image:{text:`图片`,color:`purple`,icon:(0,$.jsx)(Y2,{})},video:{text:`视频`,color:`geekblue`,icon:(0,$.jsx)(i8,{})}},V7=e=>/^(https?:)?\/\//i.test(e)||/^(blob|data):/i.test(e),H7=e=>!!e&&/^blob:/i.test(e.trim()),U7=e=>{if(!e)return``;let t=String(e).trim();return t?V7(t)?t:L7?`${L7}${t.startsWith(`/`)?t:`/${t}`}`:t.startsWith(`/`)?t:`/${t}`:``},W7=e=>e?e.length>12?`${e.slice(0,8)}...`:e:`-`,G7=e=>e?$5(e):`-`,mte=e=>e==null||e===``,K7=e=>{if(!e||H7(e))return!1;try{let t=new URL(U7(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}},q7=e=>e?H7(e)||K7(e)?`invalid`:`checking`:`empty`,J7=e=>{let t=e.url||e.mediaUrl||e.fileUrl;return typeof t==`string`&&t.trim()?t.trim():void 0},hte=e=>{let t=String(e.type||e.mediaType||e.mimeType||``).toLowerCase(),n=J7(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`},Y7=(e,t)=>`${t}-${J7(e)||`empty`}`,X7=(e,t=`资源`)=>H7(e)?`本地临时素材已失效`:K7(e)?`${t}链接已超时,请刷新列表或重新搜索后再查看`:`${t}加载失败,请刷新列表或重新搜索后再查看`,Z7=({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]}),Q7=({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:mte(t)?`-`:t})]}),gte=()=>{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)(R7),[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 M5({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{hK.error(`加载记录失败`)}finally{a(!1)}},[l,d,o,c]);(0,x.useEffect)(()=>{D()},[D,p]),(0,x.useEffect)(()=>{if(!h){v(R7);return}let e=(h.references||[]).reduce((e,t,n)=>{let r=J7(t);return e[Y7(t,n)]=q7(r),e},{});S.current&&(S.current.pause(),S.current.currentTime=0),b(!1),v({image:q7(h.imageUrl),video:q7(h.videoUrl),videoCover:q7(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){hK.warning(`${t}链接为空,暂无法查看`);return}if(H7(e)){hK.warning(`本地临时素材已失效,暂无法查看`);return}if(K7(e)){hK.warning(`${t}链接已超时,请刷新列表或重新搜索后再查看`);return}window.open(U7(e),`_blank`,`noopener,noreferrer`)},P=()=>{if(h?.videoUrl){if(K7(h.videoUrl)){j({video:`invalid`}),hK.warning(`视频链接已超时,请刷新列表或重新搜索后再查看`);return}b(!0),window.setTimeout(()=>{S.current?.play().catch(()=>{b(!1),j({video:`invalid`}),hK.warning(`视频播放失败,请确认资源链接是否仍然有效`)})},0)}},F=async(e,t,n)=>{w(e);try{await N5(e,t,n),hK.success(`状态已更新`),D()}catch(e){hK.error(e?.message||`更新失败`)}finally{w(null)}},I=async()=>{if(T){w(T.record.id);try{await P5(T.record.id,T.ratio,T.resolution,T.image_size),hK.success(`已提交${T.record.genType===`video`?`视频`:`图片`}生成`),E(null),D()}catch(e){hK.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:W7(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=B7[e]||{text:e||`-`,color:`default`,icon:null};return(0,$.jsx)(u$,{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)(yH,{size:4,wrap:!0,children:[t.duration?(0,$.jsxs)(u$,{children:[t.duration,`s`]}):null,t.aspectRatio?(0,$.jsx)(u$,{children:t.aspectRatio}):null,t.resolution?(0,$.jsx)(u$,{children:t.resolution}):null]}):(0,$.jsx)(u$,{color:`default`,children:`待配置`}):t.imageSize||t.imageProportion||t.imagePx?(0,$.jsxs)(yH,{size:4,wrap:!0,children:[t.imageSize?(0,$.jsx)(u$,{children:t.imageSize}):null,t.imageProportion?(0,$.jsx)(u$,{children:t.imageProportion}):null,t.imagePx?(0,$.jsx)(u$,{children:t.imagePx}):null]}):(0,$.jsx)(u$,{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=z7[e]||{color:`default`,text:e||`-`,icon:null};return(0,$.jsx)(u$,{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:G7(t.createdAt)}),t.generatedAt?(0,$.jsxs)(`div`,{style:{color:`#10b981`},children:[`生成: `,G7(t.generatedAt)]}):null]})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(yH,{size:4,wrap:!0,children:[(0,$.jsx)(aD,{size:`small`,icon:(0,$.jsx)(TW,{}),onClick:()=>k(t),children:`详情`}),t.status===`generating`?(0,$.jsx)(aD,{size:`small`,danger:!0,loading:C===t.id,onClick:()=>{vK.confirm({title:`确认操作`,icon:(0,$.jsx)(U2,{}),content:`确定将此记录标记为失败?`,onOk:()=>F(t.id,`failed`)})},children:`标记失败`}):null,t.status===`failed`?(0,$.jsx)(aD,{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)(aD,{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)(aD,{size:`small`,danger:!0,loading:C===t.id,onClick:()=>{vK.confirm({title:`确认操作`,icon:(0,$.jsx)(U2,{}),content:`确定将此记录标记为失败?`,onOk:()=>F(t.id,`failed`)})},children:`标记失败`})]}):null]})}],[k,C]),R=h?B7[h.genType||``]||{text:h.genType||`-`,color:`default`,icon:null}:null,z=h?z7[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)(Z7,{text:`此图片任务暂无结果图片`,minHeight:260});if(_.image===`invalid`)return(0,$.jsx)(Z7,{text:X7(h.imageUrl,`图片`),minHeight:260});let e=U7(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)(Z7,{text:`图片加载检测中...`,minHeight:260}):null]})},V=()=>{if(!h||y||_.video===`invalid`)return null;let e=h.videoUrl?(0,$.jsx)(aD,{type:`primary`,shape:`circle`,size:`large`,icon:(0,$.jsx)(S3,{}),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)(Z7,{text:`此视频无封面`,minHeight:340,action:e})});if(_.videoCover===`invalid`)return(0,$.jsx)(Z7,{text:X7(h.videoCoverUrl,`视频封面`),minHeight:340,action:e});let t=U7(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)(Z7,{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)(Z7,{text:`此视频任务暂无结果视频`,minHeight:340});if(_.video===`invalid`)return(0,$.jsx)(Z7,{text:X7(h.videoUrl,`视频`),minHeight:340});let e=U7(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=J7(e),r=hte(e),i=Y7(e,t),a=_.references[i]||q7(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)(Z7,{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)(Z7,{text:H7(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=U7(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)(S3,{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)(ym,{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)(_z,{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)(yH,{children:[(0,$.jsx)(i8,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`生成记录管理`}),(0,$.jsxs)(u$,{color:`purple`,children:[n,` 条记录`]})]}),(0,$.jsxs)(yH,{children:[(0,$.jsx)(XC,{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)(qW,{placeholder:`用户ID搜索`,prefix:(0,$.jsx)(GC,{style:{color:`#94a3b8`}}),style:{width:200},value:d,onChange:e=>f(e.target.value),onPressEnter:O,allowClear:!0}),(0,$.jsx)(aD,{type:`primary`,onClick:O,style:{borderRadius:8},children:`搜索`})]})]}),(0,$.jsx)(QQ,{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)(vK,{title:(0,$.jsxs)(yH,{children:[h?.genType===`video`?(0,$.jsx)(i8,{}):(0,$.jsx)(Y2,{}),(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)(yH,{size:4,wrap:!0,children:[R?(0,$.jsx)(u$,{color:R.color,icon:R.icon,children:R.text}):null,z?(0,$.jsx)(u$,{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)(Q7,{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)(Q7,{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)(Q7,{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)(Q7,{label:`时长`,value:h.duration?`${h.duration}秒`:`-`}),(0,$.jsx)(Q7,{label:`比例`,value:h.aspectRatio||`-`}),(0,$.jsx)(Q7,{label:`分辨率`,value:h.resolution||`-`})]}):(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`,textAlign:`center`},children:(0,$.jsx)(u$,{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)(Q7,{label:`尺寸`,value:h.imagePx||`-`}),(0,$.jsx)(Q7,{label:`比例`,value:h.imageProportion||`-`}),(0,$.jsx)(Q7,{label:`分辨率`,value:h.imageSize||`-`})]}):(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`,textAlign:`center`},children:(0,$.jsx)(u$,{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:[`创建: `,G7(h.createdAt)]}),(0,$.jsxs)(`span`,{children:[`生成: `,G7(h.generatedAt)]})]})]}):(0,$.jsx)(bC,{description:`暂无详情`})}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[T&&(T.record.genType===`video`?(0,$.jsx)(S3,{}):(0,$.jsx)(Y2,{})),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)(XC,{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)(XC,{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)(XC,{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})]})},$7=`http://ceshi.apiforeign.minzhong.cn`.replace(/\/api\/?$/i,``).replace(/\/$/,``),e9=20,t9={image:`empty`,video:`empty`,videoCover:`empty`,references:{}},n9={pending:{color:`default`,text:`待处理`,icon:(0,$.jsx)(bV,{})},generating:{color:`warning`,text:`生成中`,icon:(0,$.jsx)(ym,{spin:!0})},completed:{color:`success`,text:`已完成`,icon:(0,$.jsx)(u2,{})},failed:{color:`error`,text:`失败`,icon:(0,$.jsx)(p2,{})}},r9={timeout:`任务超时`,queued:`已入队`,preparing:`准备中`,creating_provider_task:`创建任务中`,waiting_remote:`等待生成`,result_ready:`结果就绪`,downloading:`下载中`,done:`完成`,download_failed:`下载失败`,polling:`轮询中`,failed:`失败`},i9={image:{text:`图片`,color:`purple`,icon:(0,$.jsx)(Y2,{})},video:{text:`视频`,color:`geekblue`,icon:(0,$.jsx)(i8,{})}},_te=e=>/^(https?:)?\/\//i.test(e)||/^(blob|data):/i.test(e),a9=e=>!!e&&/^blob:/i.test(e.trim()),o9=e=>{if(!e)return``;let t=String(e).trim();return t?_te(t)?t:$7?`${$7}${t.startsWith(`/`)?t:`/${t}`}`:t.startsWith(`/`)?t:`/${t}`:``},vte=e=>e?e.length>12?`${e.slice(0,8)}...`:e:`-`,s9=e=>e?$5(e):`-`,yte=e=>e==null||e===``,c9=e=>{if(!e||a9(e))return!1;try{let t=new URL(o9(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}},l9=e=>e?a9(e)||c9(e)?`invalid`:`checking`:`empty`,u9=e=>{let t=e.url||e.mediaUrl||e.fileUrl;return typeof t==`string`&&t.trim()?t.trim():void 0},bte=e=>{let t=String(e.type||e.mediaType||e.mimeType||``).toLowerCase(),n=u9(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`},d9=(e,t)=>`${t}-${u9(e)||`empty`}`,f9=(e,t=`资源`)=>a9(e)?`本地临时素材已失效`:c9(e)?`${t}链接已超时,请刷新列表或重新搜索后再查看`:`${t}加载失败,请刷新列表或重新搜索后再查看`,p9=({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]}),m9=({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:yte(t)?`-`:t})]}),xte=()=>{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)(t9),[D,O]=(0,x.useState)(!1),k=(0,x.useRef)(null),A=(0,x.useCallback)(async()=>{a(!0);try{let e=await I5({genType:u||void 0,status:c||void 0,userId:g||void 0,userName:v||void 0,page:o,pageSize:e9});t(e.items||[]),r(e.total||0)}catch(e){hK.error(e?.message||`加载创作记录失败`)}finally{a(!1)}},[u,c,o,g,v]);(0,x.useEffect)(()=>{A()},[A,b]),(0,x.useEffect)(()=>{if(!C){E(t9);return}let e=(C.mediaReferences||[]).reduce((e,t,n)=>{let r=u9(t);return e[d9(t,n)]=l9(r),e},{});k.current&&(k.current.pause(),k.current.currentTime=0),O(!1),E({image:l9(C.imageUrl),video:l9(C.videoUrl),videoCover:l9(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(c9(C.videoUrl)){P({video:`invalid`}),hK.warning(`视频链接已超时,请刷新列表或重新搜索后再查看`);return}O(!0),window.setTimeout(()=>{k.current?.play().catch(()=>{O(!1),P({video:`invalid`}),hK.warning(`视频播放失败,请确认资源链接是否仍然有效`)})},0)}},L=(e,t=`素材`)=>{if(!e){hK.warning(`${t}链接为空,暂无法查看`);return}if(a9(e)){hK.warning(`本地临时素材已失效,暂无法查看`);return}if(c9(e)){hK.warning(`${t}链接已超时,请刷新列表或重新搜索后再查看`);return}window.open(o9(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:vte(t.userId)})]})},{title:`类型`,dataIndex:`genType`,width:90,render:e=>{let t=i9[e]||{text:e||`-`,color:`default`,icon:null};return(0,$.jsx)(u$,{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)(yH,{size:4,wrap:!0,children:[t.duration?(0,$.jsxs)(u$,{children:[t.duration,`s`]}):null,t.aspectRatio?(0,$.jsx)(u$,{children:t.aspectRatio}):null,t.resolution?(0,$.jsx)(u$,{children:t.resolution}):null]}):(0,$.jsx)(u$,{color:`default`,children:`无参数`}):t.imageSize||t.imageProportion||t.imagePx?(0,$.jsxs)(yH,{size:4,wrap:!0,children:[t.imageSize?(0,$.jsx)(u$,{children:t.imageSize}):null,t.imageProportion?(0,$.jsx)(u$,{children:t.imageProportion}):null,t.imagePx?(0,$.jsx)(u$,{children:t.imagePx}):null]}):(0,$.jsx)(u$,{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=n9[e]||{color:`default`,text:e||`-`,icon:null};return(0,$.jsx)(u$,{color:t.color,icon:t.icon,children:t.text})}},{title:`阶段`,dataIndex:`pipelineStage`,width:120,render:e=>(0,$.jsx)(u$,{color:`blue`,children:r9[e]||e||`-`})},{title:`时间`,key:`time`,width:170,render:(e,t)=>(0,$.jsxs)(`div`,{style:{fontSize:12,color:`#94a3b8`},children:[(0,$.jsx)(`div`,{children:s9(t.createdAt)}),t.generatedAt?(0,$.jsxs)(`div`,{style:{color:`#10b981`},children:[`生成: `,s9(t.generatedAt)]}):null]})},{title:`操作`,key:`action`,width:90,fixed:`right`,render:(e,t)=>(0,$.jsx)(aD,{size:`small`,icon:(0,$.jsx)(TW,{}),onClick:()=>M(t),children:`详情`})}],[M]),z=C?i9[C.genType]||{text:C.genType||`-`,color:`default`,icon:null}:null,B=C?n9[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)(p9,{text:`此图片任务暂无结果图片`,minHeight:260});if(T.image===`invalid`)return(0,$.jsx)(p9,{text:f9(C.imageUrl,`图片`),minHeight:260});let e=o9(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)(p9,{text:`图片加载检测中...`,minHeight:260}):null]})},H=()=>{if(!C||D||T.video===`invalid`)return null;let e=C.videoUrl?(0,$.jsx)(aD,{type:`primary`,shape:`circle`,size:`large`,icon:(0,$.jsx)(S3,{}),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)(p9,{text:`此视频无封面`,minHeight:340,action:e})});if(T.videoCover===`invalid`)return(0,$.jsx)(p9,{text:f9(C.videoCoverUrl,`视频封面`),minHeight:340,action:e});let t=o9(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)(p9,{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)(p9,{text:`此视频任务暂无结果视频`,minHeight:340});if(T.video===`invalid`)return(0,$.jsx)(p9,{text:f9(C.videoUrl,`视频`),minHeight:340});let e=o9(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=u9(e),r=bte(e),i=d9(e,t),a=T.references[i]||l9(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)(p9,{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)(p9,{text:a9(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=o9(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)(S3,{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)(ym,{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)(_z,{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)(yH,{children:[(0,$.jsx)(S3,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`创作记录管理`}),(0,$.jsxs)(u$,{color:`purple`,children:[n,` 条记录`]})]}),(0,$.jsxs)(yH,{children:[(0,$.jsx)(XC,{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)(XC,{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)(qW,{placeholder:`用户ID搜索`,prefix:(0,$.jsx)(GC,{style:{color:`#94a3b8`}}),style:{width:180},value:f,onChange:e=>p(e.target.value),onPressEnter:j,allowClear:!0}),(0,$.jsx)(qW,{placeholder:`用户名搜索`,prefix:(0,$.jsx)(GC,{style:{color:`#94a3b8`}}),style:{width:160},value:m,onChange:e=>h(e.target.value),onPressEnter:j,allowClear:!0}),(0,$.jsx)(aD,{type:`primary`,onClick:j,style:{borderRadius:8},children:`搜索`})]})]}),(0,$.jsx)(QQ,{rowKey:`id`,loading:i,columns:R,dataSource:e,scroll:{x:1180},pagination:{current:o,pageSize:e9,total:n,showSizeChanger:!1,showTotal:e=>`共 ${e} 条`,onChange:e=>s(e)}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[C?.genType===`video`?(0,$.jsx)(i8,{}):(0,$.jsx)(Y2,{}),(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)(u$,{color:z.color,icon:z.icon,children:z.text}):null,B?(0,$.jsx)(u$,{color:B.color,icon:B.icon,children:B.text}):null,C.pipelineStage?(0,$.jsx)(u$,{color:`blue`,children:r9[C.pipelineStage]||C.pipelineStage}):null]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(m9,{label:`用户名称`,value:C.userName||`未知用户`}),(0,$.jsx)(m9,{label:`用户ID`,value:C.userId||`-`}),(0,$.jsx)(m9,{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)(m9,{label:`时长`,value:C.duration?`${C.duration}秒`:`-`}),(0,$.jsx)(m9,{label:`画面比例`,value:C.aspectRatio||`-`}),(0,$.jsx)(m9,{label:`分辨率`,value:C.resolution||`-`})]}):(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(m9,{label:`图片档位`,value:C.imageSize||`-`}),(0,$.jsx)(m9,{label:`图片比例`,value:C.imageProportion||`-`}),(0,$.jsx)(m9,{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)(m9,{label:`引擎名称`,value:C.engineSnapshot.name||`-`}),(0,$.jsx)(m9,{label:`服务商`,value:C.engineSnapshot.provider||`-`}),(0,$.jsx)(m9,{label:`模型`,value:C.engineSnapshot.modelName||`-`}),(0,$.jsx)(m9,{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)(m9,{label:`总积分`,value:(0,$.jsx)(Q.Text,{strong:!0,style:{color:`#6366f1`},children:C.creditsCost||0})}),(0,$.jsx)(m9,{label:`文字积分`,value:`${C.textCreditsCost||0} (${C.textTokensUsed||0} tokens)`}),(0,$.jsx)(m9,{label:`图片 tokens`,value:C.imageTokensUsed??0}),(0,$.jsx)(m9,{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)(m9,{label:`第三方任务ID`,value:C.providerTaskId||C.seedanceTaskId||`-`}),(0,$.jsx)(m9,{label:`轮询次数`,value:C.pollCount??0}),(0,$.jsx)(m9,{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:[`创建: `,s9(C.createdAt)]}),(0,$.jsxs)(`span`,{children:[`生成: `,s9(C.generatedAt)]})]})]}):(0,$.jsx)(bC,{description:`暂无详情`})})]})},h9=20,Ste=[{value:`pending`,label:`已创建`},{value:`waiting_user`,label:`等待用户操作`},{value:`processing`,label:`处理中`},{value:`completed`,label:`已完成`},{value:`failed`,label:`失败`},{value:`cancelled`,label:`已取消`}],Cte={pending:{color:`default`,text:`已创建`},waiting_user:{color:`processing`,text:`等待用户操作`},processing:{color:`warning`,text:`处理中`},completed:{color:`success`,text:`已完成`},failed:{color:`error`,text:`失败`},cancelled:{color:`default`,text:`已取消`}},wte={material_input:`素材输入`,image_prompt_optimize:`图片 AI 提词`,image_generate:`图片生成`,video_prompt_optimize:`视频 AI 提词`,video_generate:`视频生成`},g9=e=>e?$5(e):`-`,_9=e=>e?e.length>16?`${e.slice(0,10)}...`:e:`-`,Tte=({status:e})=>{if(!e)return(0,$.jsx)(u$,{children:`-`});let t=Cte[e]||{color:`blue`,text:e};return(0,$.jsx)(u$,{color:t.color,children:t.text})},Ete=()=>{let e=Je(),[t,n]=(0,x.useState)([]),[r,i]=(0,x.useState)(0),[a,o]=(0,x.useState)(!1),[s,c]=(0,x.useState)(1),[l,u]=(0,x.useState)(``),[d,f]=(0,x.useState)(``),[p,m]=(0,x.useState)(``),[h,g]=(0,x.useState)(``),[_,v]=(0,x.useState)(null),[y,b]=(0,x.useState)(``),[S,C]=(0,x.useState)(``),[w,T]=(0,x.useState)(``),[E,D]=(0,x.useState)(null),[O,k]=(0,x.useState)(0),A=(0,x.useCallback)(async()=>{o(!0);try{let e=await R5({status:l||void 0,keyword:y||void 0,userId:S||void 0,userName:w||void 0,createdStart:E?.[0]?.toISOString?.(),createdEnd:E?.[1]?.toISOString?.(),page:s,pageSize:h9});n(e.items||[]),i(e.total||0)}catch(e){hK.error(e?.message||`加载爆款开头复刻任务失败`)}finally{o(!1)}},[s,E,y,S,w,l]);(0,x.useEffect)(()=>{A()},[A,O]);let j=()=>{b(d.trim()),C(p.trim()),T(h.trim()),D(_),c(1)};return(0,$.jsx)(`div`,{style:{padding:24},children:(0,$.jsx)(_z,{children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(yH,{align:`center`,style:{justifyContent:`space-between`,width:`100%`},children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:3,style:{marginBottom:4},children:`爆款开头复刻`}),(0,$.jsx)(Q.Text,{type:`secondary`,children:`只读排查页面:查看任务列表、素材、步骤详情和生成结果。`})]}),(0,$.jsx)(aD,{icon:(0,$.jsx)(iq,{}),onClick:()=>k(e=>e+1),children:`刷新`})]}),(0,$.jsxs)(yH,{wrap:!0,children:[(0,$.jsx)(XC,{allowClear:!0,placeholder:`任务状态`,style:{width:160},value:l||void 0,onChange:e=>{u(e||``),c(1)},options:Ste}),(0,$.jsx)(qW,{allowClear:!0,prefix:(0,$.jsx)(GC,{}),placeholder:`关键词:标题/项目名/核心点`,style:{width:260},value:d,onChange:e=>f(e.target.value),onPressEnter:j}),(0,$.jsx)(qW,{allowClear:!0,placeholder:`用户ID(管理员)`,style:{width:190},value:p,onChange:e=>m(e.target.value),onPressEnter:j}),(0,$.jsx)(qW,{allowClear:!0,placeholder:`用户名(管理员)`,style:{width:230},value:h,onChange:e=>g(e.target.value),onPressEnter:j}),(0,$.jsx)(DV.RangePicker,{showTime:!0,value:_,onChange:v,placeholder:[`创建开始`,`创建结束`]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(GC,{}),onClick:j,children:`搜索`}),(0,$.jsx)(aD,{onClick:()=>{u(``),f(``),m(``),g(``),v(null),b(``),C(``),T(``),D(null),c(1),k(e=>e+1)},children:`重置`})]}),(0,$.jsx)(QQ,{rowKey:`id`,loading:a,dataSource:t,pagination:{current:s,pageSize:h9,total:r,showSizeChanger:!1,showTotal:e=>`共 ${e} 条`,onChange:c},scroll:{x:1380},columns:[{title:`项目ID`,dataIndex:`id`,width:150,render:e=>(0,$.jsx)(Bw,{title:e,children:_9(e)})},{title:`用户`,width:180,render:(e,t)=>(0,$.jsxs)(yH,{direction:`vertical`,size:0,children:[(0,$.jsx)(Q.Text,{children:t.userName||`-`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:_9(t.userId)})]})},{title:`项目信息`,width:260,render:(e,t)=>(0,$.jsxs)(yH,{direction:`vertical`,size:2,children:[(0,$.jsx)(Q.Text,{strong:!0,children:t.title||t.targetProjectName||`-`}),(0,$.jsxs)(Q.Text,{type:`secondary`,ellipsis:!0,style:{maxWidth:240},children:[`素材:`,t.sourceProjectName||`-`]}),(0,$.jsxs)(Q.Text,{type:`secondary`,ellipsis:!0,style:{maxWidth:240},children:[`核心:`,t.coreContentPoint||`-`]})]})},{title:`状态`,dataIndex:`status`,width:130,render:e=>(0,$.jsx)(Tte,{status:e})},{title:`当前步骤`,dataIndex:`currentStepCode`,width:140,render:e=>wte[e]||e||`-`},{title:`图片结果`,dataIndex:`finalImageUrl`,width:90,render:e=>e?(0,$.jsx)(u$,{color:`success`,children:`有`}):(0,$.jsx)(u$,{children:`无`})},{title:`视频结果`,dataIndex:`finalVideoUrl`,width:90,render:e=>e?(0,$.jsx)(u$,{color:`success`,children:`有`}):(0,$.jsx)(u$,{children:`无`})},{title:`错误信息`,dataIndex:`errorMessage`,width:220,ellipsis:!0,render:e=>e||`-`},{title:`创建时间`,dataIndex:`createdAt`,width:170,render:g9},{title:`更新时间`,dataIndex:`updatedAt`,width:170,render:g9},{title:`操作`,fixed:`right`,width:110,render:(t,n)=>(0,$.jsx)(aD,{type:`link`,icon:(0,$.jsx)(TW,{}),onClick:()=>e(`/hot-opening-replications/${n.id}`),children:`详情`})}]})]})})})},v9=({value:e,maxHeight:t=420})=>e==null||e===``?(0,$.jsx)(bC,{image:bC.PRESENTED_IMAGE_SIMPLE,description:`暂无 JSON 数据`}):(0,$.jsx)(`pre`,{style:{margin:0,padding:12,maxHeight:t,overflow:`auto`,background:`#0f172a`,color:`#e2e8f0`,borderRadius:8,fontSize:12,lineHeight:1.6},children:JSON.stringify(e,null,2)}),Dte=({input:e,output:t,raw:n,inputLabel:r=`查看 input_json`,outputLabel:i=`查看 output_json`,rawLabel:a=`查看原始 JSON`})=>{let o=[];return e!==void 0&&o.push({key:`input`,label:r,children:(0,$.jsx)(v9,{value:e})}),t!==void 0&&o.push({key:`output`,label:i,children:(0,$.jsx)(v9,{value:t})}),n!==void 0&&o.push({key:`raw`,label:a,children:(0,$.jsx)(v9,{value:n})}),o.length?(0,$.jsx)(Ng,{size:`small`,style:{marginTop:12},items:o}):null},Ote=`http://ceshi.apiforeign.minzhong.cn`.replace(/\/api\/?$/i,``).replace(/\/$/,``);function kte(e){if(!e)return``;let t=String(e).trim();return t?/^(https?:)?\/\//i.test(t)||/^(blob|data):/i.test(t)?t:`${Ote}${t.startsWith(`/`)?t:`/${t}`}`:``}var y9=({url:e,type:t,height:n=260,emptyDescription:r=`暂无资源`,errorDescription:i=`资源加载失败,可能文件不存在、签名过期或访问权限受限。`})=>{let a=(0,x.useMemo)(()=>kte(e),[e]),[o,s]=(0,x.useState)(!1);(0,x.useEffect)(()=>{s(!1)},[a]);let c=a?(0,$.jsxs)(yH,{wrap:!0,style:{marginTop:8},children:[(0,$.jsx)(aD,{size:`small`,icon:(0,$.jsx)(z$,{}),onClick:async()=>{if(a)try{await navigator.clipboard.writeText(a),hK.success(`资源地址已复制`)}catch{hK.error(`复制失败,请手动复制`)}},children:`复制地址`}),(0,$.jsx)(aD,{size:`small`,icon:(0,$.jsx)(L4,{}),onClick:()=>window.open(a,`_blank`,`noopener,noreferrer`),children:`新窗口打开`}),(0,$.jsx)(Q.Text,{copyable:{text:a},type:`secondary`,style:{maxWidth:460},ellipsis:!0,children:a})]}):null;return a?(0,$.jsxs)(`div`,{children:[o?(0,$.jsx)(af,{type:`warning`,showIcon:!0,message:`资源预览失败`,description:i,style:{marginBottom:8}}):null,t===`image`?(0,$.jsx)(fW,{src:a,onError:()=>s(!0),style:{width:`100%`,maxHeight:n,objectFit:`contain`,borderRadius:12,background:`#f8fafc`,border:`1px solid #f1f5f9`},fallback:``,preview:!o}):(0,$.jsx)(`video`,{src:a,controls:!0,preload:`metadata`,onError:()=>s(!0),style:{width:`100%`,maxHeight:n,borderRadius:12,background:`#0f172a`,border:`1px solid #f1f5f9`}}),c]}):(0,$.jsx)(`div`,{children:(0,$.jsx)(`div`,{style:{height:n,borderRadius:12,border:`1px dashed #cbd5e1`,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`#f8fafc`},children:(0,$.jsx)(bC,{image:bC.PRESENTED_IMAGE_SIMPLE,description:r})})})},b9={pending:{text:`待处理`,color:`default`},waiting_user:{text:`等待用户操作`,color:`processing`},processing:{text:`处理中`,color:`warning`},completed:{text:`已完成`,color:`success`},failed:{text:`失败`,color:`error`},cancelled:{text:`已取消`,color:`default`},canceled:{text:`已取消`,color:`default`},timeout:{text:`已超时`,color:`error`},queued:{text:`已入队`,color:`processing`},preparing:{text:`准备中`,color:`processing`},creating_provider_task:{text:`创建远端任务`,color:`processing`},waiting_remote:{text:`等待远端结果`,color:`processing`},polling:{text:`轮询远端结果`,color:`processing`},result_ready:{text:`结果已就绪`,color:`success`},downloading:{text:`下载中`,color:`processing`},done:{text:`已完成`,color:`success`},download_failed:{text:`下载失败`,color:`error`},retry_waiting:{text:`等待重试`,color:`orange`},pending_analysis:{text:`等待分析`,color:`default`},analyzing:{text:`分析中`,color:`processing`},analysis_completed:{text:`分析完成`,color:`success`},analysis_failed:{text:`分析失败`,color:`error`},splitting:{text:`拆镜中`,color:`warning`},split_completed:{text:`拆镜完成`,color:`success`},partial_failed:{text:`部分失败`,color:`orange`},none:{text:`未拆镜`,color:`default`},not_required:{text:`无需处理`,color:`default`},not_started:{text:`未开始`,color:`default`},project_created:{text:`已创建项目`,color:`processing`},true:{text:`是`,color:`success`},false:{text:`否`,color:`default`}},x9={material_input:`素材输入`,image_prompt_optimize:`图片 AI 提词`,image_generate:`图片生成`,video_prompt_optimize:`视频 AI 提词`,video_generate:`视频生成`},S9={hot_opening_replicate:`爆款开头复刻`,shot_replicate:`拆镜复刻`},C9={ai_suggestion:{text:`AI 建议`,color:`purple`},custom:{text:`自定义`,color:`cyan`},original:{text:`原视频`,color:`blue`}};function w9(e){return e?S9[e]||e:`-`}function T9(e){return e?x9[e]||e:`-`}function Ate(e){return e?b9[e]?.text||x9[e]||S9[e]||C9[e]?.text||e:`-`}function jte(e){return e?b9[e]?.color||C9[e]?.color||`blue`:`default`}var E9=({status:e,tooltipRaw:t=!0})=>{if(e==null||e===``)return(0,$.jsx)(u$,{children:`-`});let n=String(e),r=Ate(n),i=(0,$.jsx)(u$,{color:jte(n),children:r});return!t||r===n?i:(0,$.jsx)(Bw,{title:n,children:i})},Mte={schema_version:`Schema 版本`,generation_type:`生成类型`,business_type:`业务类型`,usage:`用途`,product_type:`产品类型`,target_audience:`目标受众`,style:`风格`,aspect_ratio:`画面比例`,resolution:`分辨率`,duration:`时长`,fps:`帧率`,final_prompt:`最终提示词`,prompt:`提示词`,description:`说明`,content:`内容`,time:`时间`,time_range:`时间段`,start_time:`开始时间`,end_time:`结束时间`,stage:`阶段`,scene:`场景`,action:`动作`,camera:`镜头`,shot:`镜头`,lens:`镜头`,subtitle:`字幕`,voiceover:`口播`,audio:`音频`,rhythm:`节奏`,notes:`备注`},Nte={basic:`基础信息`,basic_info:`基础信息`,material:`素材理解`,material_understanding:`素材理解`,business:`业务属性`,business_info:`业务属性`,visual:`画面与风格`,visual_style:`画面与风格`,time_plan:`时间规划`,timeline:`时间规划`,scene_timeline:`场景时间线`,action_flow:`动作流程`,motion_flow:`动作流程`,character_action_flow:`角色动作流程`,camera_flow:`镜头流程`,shot_flow:`镜头流程`,lens_flow:`镜头流程`,subtitle:`字幕`,subtitles:`字幕`,voiceover:`口播`,audio:`音频`,rhythm:`节奏`,compliance:`合规控制`,final_prompt:`最终提示词`},D9=e=>!!e&&typeof e==`object`&&!Array.isArray(e),O9=e=>Nte[e]||Mte[e]||e,k9=e=>typeof e==`string`&&e.length>80,A9=new Set([``,`无`,`null`,`None`,`none`,`未提及`,`不适用`]),Pte=new Set([`展示主体动作、核心卖点或主要视觉内容`,`展示主要动作、核心卖点或主要视觉内容`,`展示核心卖点或主要视觉内容`,`展示主体动作`,`无`]),Fte=[`动作内容`,`动作`,`动作说明`,`内容`,`说明`,`主体动作`,`动作变化`],Ite=[`镜头内容`,`镜头`,`镜头说明`,`运镜`,`运镜说明`,`内容`,`说明`],j9=e=>{if(e==null)return``;if(typeof e==`string`)return e.trim();if(typeof e==`number`||typeof e==`boolean`)return String(e);try{return JSON.stringify(e)}catch{return String(e)}},Lte=e=>A9.has(j9(e)),Rte=e=>{let t=e.toLowerCase();return t.includes(`action`)||t.includes(`motion`)||t.includes(`动作`)},zte=e=>{let t=e.toLowerCase();return t.includes(`camera`)||t.includes(`shot`)||t.includes(`lens`)||t.includes(`镜头`)},Bte=e=>{let t=e.toLowerCase();return t.includes(`time`)||t.includes(`timeline`)||t.includes(`时间规划`)||t.includes(`动态时间规划`)},Vte=(e,t)=>{for(let n of t)if(n in e&&!Lte(e[n]))return j9(e[n]);return``},Hte=(e,t)=>{let n=e.trim(),r=t.filter((e,n)=>e&&t.indexOf(e)===n);if(r.length&&(!n||Pte.has(n)))return r.join(`;`);let i=n&&!A9.has(n)?[n]:[];return r.forEach(e=>{e&&!i.includes(e)&&i.push(e)}),i.join(`;`)||`-`},M9=(e,t,n)=>{let r=new Set([`时间段`,t,...n]),i=[];return Object.entries(e).forEach(([e,t])=>{if(r.has(e))return;let n=j9(e),a=j9(t);n&&!A9.has(n)&&i.push(n),a&&!A9.has(a)&&a!==n&&i.push(a)}),{时间段:j9(e.时间段)||`-`,[t]:Hte(Vte(e,n),i)}},N9=(e,t)=>Rte(e)?M9(t,`动作内容`,Fte):zte(e)?M9(t,`镜头内容`,Ite):Bte(e)?{时间段:j9(t.时间段)||`-`,阶段:j9(t.阶段)||`-`,说明:j9(t.说明)||`-`}:t,P9=e=>e==null||e===``?(0,$.jsx)(Q.Text,{type:`secondary`,children:`-`}):typeof e==`boolean`?e?`是`:`否`:typeof e==`number`?e:typeof e==`string`?(0,$.jsx)(Q.Paragraph,{style:{marginBottom:0,whiteSpace:`pre-wrap`},children:e}):(0,$.jsx)(v9,{value:e,maxHeight:220}),Ute=e=>{let t=e.toLowerCase();return t.includes(`action`)||t.includes(`motion`)||t.includes(`camera`)||t.includes(`shot`)||t.includes(`lens`)||t.includes(`flow`)||t.includes(`动作`)||t.includes(`镜头`)?`card`:`table`},Wte=(e,t)=>(0,$.jsx)(yH,{direction:`vertical`,size:12,style:{width:`100%`},children:t.map((t,n)=>{let r=N9(e,t);return(0,$.jsx)(_z,{size:`small`,title:`${O9(e)} ${n+1}`,styles:{body:{padding:12}},children:(0,$.jsx)(VV,{size:`small`,column:1,bordered:!0,children:Object.entries(r).map(([e,t])=>(0,$.jsx)(VV.Item,{label:O9(e),children:P9(t)},e))})},`${e}-${n}`)})}),Gte=(e,t)=>{let n=t.map(t=>N9(e,t)),r=Array.from(new Set(n.flatMap(e=>Object.keys(e))));return(0,$.jsx)(QQ,{size:`small`,rowKey:(t,n)=>`${e}-${n}`,columns:r.map(e=>({title:O9(e),dataIndex:e,key:e,width:k9(n.find(t=>t[e])?.[e])?280:160,render:e=>P9(e)})),dataSource:n,pagination:!1,scroll:{x:Math.max(900,r.length*180)},tableLayout:`fixed`})},F9=(e,t)=>t.length?t.every(D9)?Ute(e)===`card`?Wte(e,t):Gte(e,t):(0,$.jsx)(v9,{value:t,maxHeight:260}):(0,$.jsx)(bC,{image:bC.PRESENTED_IMAGE_SIMPLE,description:`暂无数据`}),I9=e=>(0,$.jsx)(VV,{size:`small`,column:2,bordered:!0,children:Object.entries(e).map(([e,t])=>(0,$.jsx)(VV.Item,{label:O9(e),span:Array.isArray(t)||D9(t)||k9(t)?2:1,children:Array.isArray(t)?F9(e,t):D9(t)?I9(t):P9(t)},e))}),Kte=(e,t)=>Array.isArray(t)?F9(e,t):D9(t)?I9(t):P9(t),L9=({schema:e,finalPrompt:t})=>{let n=!!e&&Object.keys(e).length>0;if(!n&&!t)return(0,$.jsx)(bC,{description:`暂无视频提词 schema`});let r=n?Object.entries(e||{}).map(([e,t])=>({key:e,label:O9(e),children:Kte(e,t)})):[],i=t?[`final_prompt`]:[];return(0,$.jsxs)(yH,{direction:`vertical`,size:12,style:{width:`100%`},children:[t?(0,$.jsx)(_z,{size:`small`,title:`最终视频提示词`,children:(0,$.jsx)(Q.Paragraph,{style:{whiteSpace:`pre-wrap`,marginBottom:0},children:t})}):null,r.length?(0,$.jsx)(Ng,{size:`small`,defaultActiveKey:i,items:r}):null]})},qte=[`material_input`,`image_prompt_optimize`,`image_generate`,`video_prompt_optimize`,`video_generate`],Jte={material_input:`参考素材、项目名称和核心内容点`,image_prompt_optimize:`图片 AI 提词优化结果`,image_generate:`图片引擎、生成参数和结果图`,video_prompt_optimize:`视频 JSON schema、动作流程和最终提词`,video_generate:`视频引擎、生成参数、封面和结果视频`},R9=e=>e?$5(e):`-`,z9=e=>e?e.length>18?`${e.slice(0,10)}...${e.slice(-4)}`:e:`-`,Yte=({text:e=`-`})=>(0,$.jsx)(Q.Text,{type:`secondary`,children:e}),B9=({step:e})=>e?(0,$.jsx)(Dte,{input:e.input,output:e.output}):null,V9=({index:e,stepCode:t,step:n,current:r})=>(0,$.jsxs)(yH,{wrap:!0,size:8,children:[(0,$.jsx)(Q.Text,{strong:!0,children:`第${e}步:${T9(t)}`}),(0,$.jsx)(E9,{status:n?.status||`not_started`}),r?(0,$.jsx)(u$,{color:`blue`,children:`当前步骤`}):null,(0,$.jsx)(Q.Text,{type:`secondary`,children:Jte[t]||t}),n?.updatedAt?(0,$.jsxs)(Q.Text,{type:`secondary`,children:[`更新时间:`,R9(n.updatedAt)]}):null,n?.chatTaskId?(0,$.jsx)(Bw,{title:n.chatTaskId,children:(0,$.jsxs)(u$,{children:[`Chat:`,z9(n.chatTaskId)]})}):null]}),Xte=(e,t)=>{if(!e)return[];let n=new Set;return n.add(`material_input`),e.currentStepCode&&n.add(e.currentStepCode),Object.values(t).forEach(e=>{(e.status===`failed`||e.errorMessage)&&n.add(e.stepCode)}),e.errorMessage&&n.add(e.currentStepCode||`material_input`),Array.from(n)},H9=(e,t=`错误信息`)=>e?(0,$.jsx)(af,{type:`error`,showIcon:!0,message:t,description:e,style:{marginTop:12,marginBottom:12}}):null,Zte=(e,t=`暂无提词`)=>e?(0,$.jsx)(Q.Paragraph,{style:{whiteSpace:`pre-wrap`,marginBottom:0},children:e}):(0,$.jsx)(Yte,{text:t}),U9=({moduleType:e=`shot_replicate`})=>{let{projectId:t}=Qe(),n=Je(),[r,i]=(0,x.useState)(null),[a,o]=(0,x.useState)(!1),s=(0,x.useCallback)(async()=>{if(t){o(!0);try{i(e===`hot_opening_replicate`?await z5(t):await W5(t))}catch(e){hK.error(e?.message||`加载复刻项目详情失败`)}finally{o(!1)}}},[e,t]);(0,x.useEffect)(()=>{s()},[s]);let c=(0,x.useMemo)(()=>{let e={};return(r?.steps||[]).forEach(t=>{e[t.stepCode]=t}),e},[r]),l=r?.module||e,u=w9(l),d=(0,x.useMemo)(()=>qte.map(e=>{let t=c[e],n=`wait`;return t?.status===`completed`?n=`finish`:t?.status===`processing`?n=`process`:t?.status===`failed`&&(n=`error`),{title:T9(e),description:t?(0,$.jsx)(E9,{status:t.status}):`未创建`,status:n}}),[c]),f=(0,x.useMemo)(()=>Xte(r,c),[r,c]);if(a&&!r)return(0,$.jsx)(`div`,{style:{padding:64,textAlign:`center`},children:(0,$.jsx)(eK,{size:`large`})});if(!r)return(0,$.jsx)(_z,{style:{margin:24},children:(0,$.jsx)(bC,{description:`未找到复刻项目详情`})});let p=c.material_input,m=c.image_prompt_optimize,h=c.image_generate,g=c.video_prompt_optimize,_=c.video_generate,v=r.imageGeneration?.resultImageUrl||r.finalImageUrl,y=r.videoGeneration?.resultVideoCoverUrl||r.finalVideoCoverUrl,b=r.videoGeneration?.resultVideoUrl||r.finalVideoUrl,S=[{key:`material_input`,label:(0,$.jsx)(V9,{index:1,stepCode:`material_input`,step:p,current:r.currentStepCode===`material_input`}),children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(VV,{column:2,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`模块类型`,children:(0,$.jsx)(E9,{status:l})}),(0,$.jsx)(VV.Item,{label:`素材步骤ID`,children:r.material?.materialStepId||`-`}),(0,$.jsx)(VV.Item,{label:`参考素材项目名`,children:r.material?.sourceProjectName||`-`}),(0,$.jsx)(VV.Item,{label:`生成项目名称`,children:r.material?.targetProjectName||`-`}),(0,$.jsx)(VV.Item,{label:`核心内容点`,span:2,children:r.material?.coreContentPoint||`-`})]}),(0,$.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(320px, 1fr))`,gap:16},children:[(0,$.jsx)(_z,{size:`small`,title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(S3,{}),`素材视频`]}),children:(0,$.jsx)(y9,{type:`video`,url:r.material?.materialVideoUrl,emptyDescription:`暂无素材视频`})}),(0,$.jsx)(_z,{size:`small`,title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(Y2,{}),`素材图片`]}),children:(0,$.jsx)(y9,{type:`image`,url:r.material?.materialImageUrl,emptyDescription:`暂无素材图片`})})]}),H9(p?.errorMessage),(0,$.jsx)(B9,{step:p})]})},{key:`image_prompt_optimize`,label:(0,$.jsx)(V9,{index:2,stepCode:`image_prompt_optimize`,step:m,current:r.currentStepCode===`image_prompt_optimize`}),children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(VV,{column:2,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`提词步骤ID`,children:r.imageGeneration?.promptStepId||`-`}),(0,$.jsx)(VV.Item,{label:`步骤状态`,children:(0,$.jsx)(E9,{status:m?.status||r.imageGeneration?.status})}),(0,$.jsx)(VV.Item,{label:`图片提示词`,span:2,children:Zte(r.imageGeneration?.prompt,`暂无图片提示词`)})]}),H9(m?.errorMessage||r.imageGeneration?.errorMessage),(0,$.jsx)(B9,{step:m})]})},{key:`image_generate`,label:(0,$.jsx)(V9,{index:3,stepCode:`image_generate`,step:h,current:r.currentStepCode===`image_generate`}),children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(VV,{column:3,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`生成步骤ID`,children:r.imageGeneration?.generateStepId||`-`}),(0,$.jsx)(VV.Item,{label:`Chat任务ID`,children:r.imageGeneration?.chatTaskId||`-`}),(0,$.jsx)(VV.Item,{label:`状态`,children:(0,$.jsx)(E9,{status:r.imageGeneration?.status||h?.status})}),(0,$.jsx)(VV.Item,{label:`图片引擎ID`,children:r.imageGeneration?.engineId||`-`}),(0,$.jsx)(VV.Item,{label:`图片引擎名称`,children:r.imageGeneration?.engineName||`-`}),(0,$.jsx)(VV.Item,{label:`生成参数`,span:3,children:(0,$.jsx)(v9,{value:r.imageGeneration?.params||{},maxHeight:160})})]}),H9(r.imageGeneration?.errorMessage||h?.errorMessage),(0,$.jsx)(_z,{size:`small`,title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(Y2,{}),`图片结果`]}),children:(0,$.jsx)(y9,{type:`image`,url:v,height:360,emptyDescription:h?.status===`failed`||r.imageGeneration?.errorMessage?`图片生成失败,未返回图片地址`:`暂无图片结果`,errorDescription:`图片资源加载失败,可能图片文件不存在、签名过期或访问权限受限。`})}),(0,$.jsx)(B9,{step:h})]})},{key:`video_prompt_optimize`,label:(0,$.jsx)(V9,{index:4,stepCode:`video_prompt_optimize`,step:g,current:r.currentStepCode===`video_prompt_optimize`}),children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(VV,{column:3,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`提词步骤ID`,children:r.videoGeneration?.promptStepId||`-`}),(0,$.jsx)(VV.Item,{label:`步骤状态`,children:(0,$.jsx)(E9,{status:g?.status})}),(0,$.jsx)(VV.Item,{label:`提词参数`,span:3,children:(0,$.jsx)(v9,{value:r.videoGeneration?.promptParams||{},maxHeight:160})})]}),H9(g?.errorMessage||r.videoGeneration?.errorMessage),(0,$.jsx)(L9,{schema:r.videoGeneration?.promptSchema,finalPrompt:r.videoGeneration?.finalPrompt}),(0,$.jsx)(B9,{step:g})]})},{key:`video_generate`,label:(0,$.jsx)(V9,{index:5,stepCode:`video_generate`,step:_,current:r.currentStepCode===`video_generate`}),children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(VV,{column:3,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`生成步骤ID`,children:r.videoGeneration?.generateStepId||`-`}),(0,$.jsx)(VV.Item,{label:`Chat任务ID`,children:r.videoGeneration?.chatTaskId||`-`}),(0,$.jsx)(VV.Item,{label:`状态`,children:(0,$.jsx)(E9,{status:r.videoGeneration?.status||_?.status})}),(0,$.jsx)(VV.Item,{label:`视频引擎ID`,children:r.videoGeneration?.engineId||`-`}),(0,$.jsx)(VV.Item,{label:`视频引擎名称`,children:r.videoGeneration?.engineName||`-`}),(0,$.jsx)(VV.Item,{label:`生成参数`,span:3,children:(0,$.jsx)(v9,{value:r.videoGeneration?.params||{},maxHeight:160})})]}),H9(r.videoGeneration?.errorMessage||_?.errorMessage),(0,$.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(320px, 1fr))`,gap:16},children:[(0,$.jsx)(_z,{size:`small`,title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(Y2,{}),`视频封面`]}),children:(0,$.jsx)(y9,{type:`image`,url:y,emptyDescription:_?.status===`failed`||r.videoGeneration?.errorMessage?`视频生成失败,未返回封面`:`暂无视频封面`,errorDescription:`视频封面加载失败,可能文件不存在、签名过期或访问权限受限。`})}),(0,$.jsx)(_z,{size:`small`,title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(i8,{}),`最终视频`]}),children:(0,$.jsx)(y9,{type:`video`,url:b,emptyDescription:_?.status===`failed`||r.videoGeneration?.errorMessage?`视频生成失败,未返回视频地址`:`暂无最终视频`,errorDescription:`视频资源加载失败,可能文件不存在、签名过期或访问权限受限。`})})]}),(0,$.jsx)(B9,{step:_})]})}];return(0,$.jsx)(`div`,{style:{padding:24},children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(yH,{wrap:!0,style:{justifyContent:`space-between`,width:`100%`},children:[(0,$.jsxs)(yH,{wrap:!0,children:[(0,$.jsx)(aD,{icon:(0,$.jsx)(O0,{}),onClick:()=>n(-1),children:`返回`}),(0,$.jsxs)(Q.Title,{level:3,style:{margin:0},children:[u,`项目详情`]}),(0,$.jsx)(E9,{status:r.status}),r.module&&r.module!==e?(0,$.jsxs)(u$,{color:`gold`,children:[`接口模块:`,w9(r.module)]}):null]}),(0,$.jsx)(aD,{onClick:s,loading:a,children:`刷新`})]}),(0,$.jsx)(_z,{children:(0,$.jsxs)(VV,{title:`基础信息`,column:3,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`项目ID`,children:r.id}),(0,$.jsx)(VV.Item,{label:`模块类型`,children:(0,$.jsx)(E9,{status:l})}),(0,$.jsx)(VV.Item,{label:`用户ID`,children:r.userId||`-`}),(0,$.jsx)(VV.Item,{label:`用户名`,children:r.userName||`-`}),(0,$.jsx)(VV.Item,{label:`标题`,children:r.title||`-`}),(0,$.jsx)(VV.Item,{label:`当前步骤`,children:(0,$.jsx)(Bw,{title:r.currentStepCode||``,children:T9(r.currentStepCode)})}),(0,$.jsx)(VV.Item,{label:`状态`,children:(0,$.jsx)(E9,{status:r.status})}),(0,$.jsx)(VV.Item,{label:`创建时间`,children:R9(r.createdAt)}),(0,$.jsx)(VV.Item,{label:`更新时间`,children:R9(r.updatedAt)}),(0,$.jsx)(VV.Item,{label:`完成时间`,children:R9(r.completedAt)}),r.errorMessage?(0,$.jsx)(VV.Item,{label:`错误信息`,span:3,children:(0,$.jsx)(af,{type:`error`,showIcon:!0,message:r.errorMessage})}):null]})}),(0,$.jsx)(_z,{title:`步骤进度`,children:(0,$.jsx)(tJ,{items:d})}),(0,$.jsx)(_z,{title:`最终结果预览`,children:(0,$.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(280px, 1fr))`,gap:16},children:[(0,$.jsx)(_z,{size:`small`,title:`最终图片`,children:(0,$.jsx)(y9,{type:`image`,url:r.finalImageUrl||r.imageGeneration?.resultImageUrl,height:220,emptyDescription:`暂无最终图片`})}),(0,$.jsx)(_z,{size:`small`,title:`最终视频封面`,children:(0,$.jsx)(y9,{type:`image`,url:r.finalVideoCoverUrl||r.videoGeneration?.resultVideoCoverUrl,height:220,emptyDescription:`暂无最终视频封面`})}),(0,$.jsx)(_z,{size:`small`,title:`最终视频`,children:(0,$.jsx)(y9,{type:`video`,url:r.finalVideoUrl||r.videoGeneration?.resultVideoUrl,height:220,emptyDescription:`暂无最终视频`})})]})}),(0,$.jsx)(Ng,{defaultActiveKey:f,items:S}),(0,$.jsx)(Ng,{items:[{key:`steps-table`,label:`完整步骤列表`,children:(0,$.jsx)(QQ,{rowKey:`id`,size:`small`,pagination:!1,dataSource:r.steps||[],scroll:{x:1100},columns:[{title:`序号`,dataIndex:`stepIndex`,width:70},{title:`步骤`,dataIndex:`stepCode`,width:160,render:e=>(0,$.jsx)(Bw,{title:e,children:T9(e)})},{title:`状态`,dataIndex:`status`,width:120,render:e=>(0,$.jsx)(E9,{status:e})},{title:`版本`,dataIndex:`version`,width:70},{title:`当前有效`,dataIndex:`isCurrent`,width:90,render:e=>e?(0,$.jsx)(u$,{color:`success`,children:`是`}):(0,$.jsx)(u$,{children:`否`})},{title:`Chat任务`,dataIndex:`chatTaskId`,width:160,render:e=>(0,$.jsx)(Bw,{title:e||``,children:z9(e)})},{title:`创建时间`,dataIndex:`createdAt`,width:170,render:R9},{title:`完成时间`,dataIndex:`completedAt`,width:170,render:R9},{title:`错误`,dataIndex:`errorMessage`,ellipsis:!0,render:e=>e||`-`}]})},{key:`raw-detail`,label:`完整详情原始 JSON`,children:(0,$.jsx)(v9,{value:r,maxHeight:520})}]})]})})},Qte=()=>(0,$.jsx)(U9,{moduleType:`hot_opening_replicate`}),W9=20,$te=[{value:`pending_analysis`,label:`等待分析`},{value:`analyzing`,label:`分析中`},{value:`analysis_completed`,label:`分析完成`},{value:`analysis_failed`,label:`分析失败`},{value:`splitting`,label:`拆镜中`},{value:`split_completed`,label:`拆镜完成`},{value:`partial_failed`,label:`部分失败`},{value:`failed`,label:`失败`}],ene=[{value:`pending`,label:`待分析`},{value:`processing`,label:`分析中`},{value:`completed`,label:`分析完成`},{value:`failed`,label:`分析失败`}],tne=[{value:`none`,label:`未拆镜`},{value:`pending`,label:`待拆镜`},{value:`processing`,label:`拆镜中`},{value:`completed`,label:`拆镜完成`},{value:`failed`,label:`拆镜失败`},{value:`retry_waiting`,label:`等待重试`}],nne={pending_analysis:{color:`default`,text:`等待分析`},analyzing:{color:`processing`,text:`分析中`},analysis_completed:{color:`success`,text:`分析完成`},analysis_failed:{color:`error`,text:`分析失败`},splitting:{color:`warning`,text:`拆镜中`},split_completed:{color:`success`,text:`拆镜完成`},partial_failed:{color:`orange`,text:`部分失败`},failed:{color:`error`,text:`失败`},none:{color:`default`,text:`未拆镜`},pending:{color:`default`,text:`待处理`},processing:{color:`warning`,text:`处理中`},completed:{color:`success`,text:`完成`},retry_waiting:{color:`orange`,text:`等待重试`}},G9=e=>e?$5(e):`-`,K9=e=>e?e.length>16?`${e.slice(0,10)}...`:e:`-`,q9=({status:e})=>{if(!e)return(0,$.jsx)(u$,{children:`-`});let t=nne[e]||{color:`blue`,text:e};return(0,$.jsx)(u$,{color:t.color,children:t.text})},rne=()=>{let e=Je(),[t,n]=(0,x.useState)([]),[r,i]=(0,x.useState)(0),[a,o]=(0,x.useState)(!1),[s,c]=(0,x.useState)(1),[l,u]=(0,x.useState)(``),[d,f]=(0,x.useState)(``),[p,m]=(0,x.useState)(``),[h,g]=(0,x.useState)(``),[_,v]=(0,x.useState)(``),[y,b]=(0,x.useState)(``),[S,C]=(0,x.useState)(null),[w,T]=(0,x.useState)(``),[E,D]=(0,x.useState)(``),[O,k]=(0,x.useState)(``),[A,j]=(0,x.useState)(null),[M,N]=(0,x.useState)(0),P=(0,x.useCallback)(async()=>{o(!0);try{let e=await B5({status:l||void 0,analysisStatus:d||void 0,splitStatus:p||void 0,keyword:w||void 0,userId:E||void 0,userName:O||void 0,createdStart:A?.[0]?.toISOString?.(),createdEnd:A?.[1]?.toISOString?.(),page:s,pageSize:W9});n(e.items||[]),i(e.total||0)}catch(e){hK.error(e?.message||`加载拆镜复刻任务失败`)}finally{o(!1)}},[d,s,A,w,E,O,p,l]);(0,x.useEffect)(()=>{P()},[P,M]);let F=()=>{T(h.trim()),D(_.trim()),k(y.trim()),j(S),c(1)};return(0,$.jsx)(`div`,{style:{padding:24},children:(0,$.jsx)(_z,{children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(yH,{align:`center`,style:{justifyContent:`space-between`,width:`100%`},children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:3,style:{marginBottom:4},children:`拆镜复刻`}),(0,$.jsx)(Q.Text,{type:`secondary`,children:`只读排查页面:查看拆镜总任务、AI 分析结果、切片列表和关联复刻项目。`})]}),(0,$.jsx)(aD,{icon:(0,$.jsx)(iq,{}),onClick:()=>N(e=>e+1),children:`刷新`})]}),(0,$.jsxs)(yH,{wrap:!0,children:[(0,$.jsx)(XC,{allowClear:!0,placeholder:`总任务状态`,style:{width:150},value:l||void 0,onChange:e=>{u(e||``),c(1)},options:$te}),(0,$.jsx)(XC,{allowClear:!0,placeholder:`分析状态`,style:{width:140},value:d||void 0,onChange:e=>{f(e||``),c(1)},options:ene}),(0,$.jsx)(XC,{allowClear:!0,placeholder:`拆镜状态`,style:{width:140},value:p||void 0,onChange:e=>{m(e||``),c(1)},options:tne}),(0,$.jsx)(qW,{allowClear:!0,prefix:(0,$.jsx)(GC,{}),placeholder:`关键词:标题/内容/分类/受众`,style:{width:260},value:h,onChange:e=>g(e.target.value),onPressEnter:F}),(0,$.jsx)(qW,{allowClear:!0,placeholder:`用户ID(管理员)`,style:{width:190},value:_,onChange:e=>v(e.target.value),onPressEnter:F}),(0,$.jsx)(qW,{allowClear:!0,placeholder:`用户名(管理员)`,style:{width:230},value:y,onChange:e=>b(e.target.value),onPressEnter:F}),(0,$.jsx)(DV.RangePicker,{showTime:!0,value:S,onChange:C,placeholder:[`创建开始`,`创建结束`]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(GC,{}),onClick:F,children:`搜索`}),(0,$.jsx)(aD,{onClick:()=>{u(``),f(``),m(``),g(``),v(``),b(``),C(null),T(``),D(``),k(``),j(null),c(1),N(e=>e+1)},children:`重置`})]}),(0,$.jsx)(QQ,{rowKey:`id`,loading:a,dataSource:t,pagination:{current:s,pageSize:W9,total:r,showSizeChanger:!1,showTotal:e=>`共 ${e} 条`,onChange:c},scroll:{x:1500},columns:[{title:`任务集ID`,dataIndex:`id`,width:150,render:e=>(0,$.jsx)(Bw,{title:e,children:K9(e)})},{title:`用户`,width:180,render:(e,t)=>(0,$.jsxs)(yH,{direction:`vertical`,size:0,children:[(0,$.jsx)(Q.Text,{children:t.userName||`-`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:K9(t.userId)})]})},{title:`任务信息`,width:300,render:(e,t)=>(0,$.jsxs)(yH,{direction:`vertical`,size:2,children:[(0,$.jsx)(Q.Text,{strong:!0,children:t.title||`-`}),(0,$.jsxs)(Q.Text,{type:`secondary`,ellipsis:!0,style:{maxWidth:280},children:[`分类:`,t.originalVideoCategory||`-`]}),(0,$.jsxs)(Q.Text,{type:`secondary`,ellipsis:!0,style:{maxWidth:280},children:[`受众:`,t.originalVideoAudience||`-`]})]})},{title:`总状态`,dataIndex:`status`,width:120,render:e=>(0,$.jsx)(q9,{status:e})},{title:`分析状态`,dataIndex:`analysisStatus`,width:110,render:e=>(0,$.jsx)(q9,{status:e})},{title:`拆镜状态`,dataIndex:`splitStatus`,width:110,render:e=>(0,$.jsx)(q9,{status:e})},{title:`切片进度`,width:180,render:(e,t)=>{let n=t.segmentCount||0,r=t.completedSegmentCount||0;return(0,$.jsx)(tq,{size:`small`,percent:n?Math.round(r/n*100):0,format:()=>`${r}/${n}`})}},{title:`失败片段`,dataIndex:`failedSegmentCount`,width:90,render:e=>e?(0,$.jsx)(u$,{color:`error`,children:e}):(0,$.jsx)(u$,{children:`0`})},{title:`视频时长`,dataIndex:`videoDurationSeconds`,width:100,render:e=>`${Number(e||0).toFixed(1)}s`},{title:`创建时间`,dataIndex:`createdAt`,width:170,render:G9},{title:`更新时间`,dataIndex:`updatedAt`,width:170,render:G9},{title:`操作`,fixed:`right`,width:120,render:(t,n)=>(0,$.jsx)(aD,{type:`link`,icon:(0,$.jsx)(TW,{}),onClick:()=>e(`/shot-replications/task-sets/${n.id}`),children:`查看切片`})}]})]})})})},ine=`http://ceshi.apiforeign.minzhong.cn`.replace(/\/api\/?$/i,``).replace(/\/$/,``),J9=20,ane=[{value:`ai_suggestion`,label:`AI 建议`},{value:`custom`,label:`自定义`}],one=[{value:`none`,label:`未拆镜`},{value:`pending`,label:`待拆镜`},{value:`processing`,label:`拆镜中`},{value:`completed`,label:`拆镜完成`},{value:`failed`,label:`拆镜失败`},{value:`retry_waiting`,label:`等待重试`}],sne=[{value:`not_required`,label:`无需分析`},{value:`pending`,label:`待分析`},{value:`processing`,label:`分析中`},{value:`completed`,label:`分析完成`},{value:`failed`,label:`分析失败`}],cne=[{value:`not_started`,label:`未复刻`},{value:`project_created`,label:`已创建项目`},{value:`processing`,label:`复刻中`},{value:`completed`,label:`复刻完成`},{value:`failed`,label:`复刻失败`}],lne={pending_analysis:{color:`default`,text:`等待分析`},analyzing:{color:`processing`,text:`分析中`},analysis_completed:{color:`success`,text:`分析完成`},analysis_failed:{color:`error`,text:`分析失败`},splitting:{color:`warning`,text:`拆镜中`},split_completed:{color:`success`,text:`拆镜完成`},partial_failed:{color:`orange`,text:`部分失败`},failed:{color:`error`,text:`失败`},none:{color:`default`,text:`未拆镜`},pending:{color:`default`,text:`待处理`},processing:{color:`warning`,text:`处理中`},completed:{color:`success`,text:`完成`},retry_waiting:{color:`orange`,text:`等待重试`},not_required:{color:`default`,text:`无需分析`},not_started:{color:`default`,text:`未复刻`},project_created:{color:`processing`,text:`已创建项目`}},une=e=>{if(!e)return``;let t=String(e).trim();return t?/^(https?:)?\/\//i.test(t)||/^(blob|data):/i.test(t)?t:`${ine}${t.startsWith(`/`)?t:`/${t}`}`:``},Y9=e=>e?$5(e):`-`,X9=e=>e?e.length>16?`${e.slice(0,10)}...`:e:`-`,Z9=({status:e})=>{if(!e)return(0,$.jsx)(u$,{children:`-`});let t=lne[e]||{color:`blue`,text:e};return(0,$.jsx)(u$,{color:t.color,children:t.text})},Q9=({value:e,maxHeight:t=420})=>(0,$.jsx)(`pre`,{style:{margin:0,padding:12,maxHeight:t,overflow:`auto`,background:`#0f172a`,color:`#e2e8f0`,borderRadius:8,fontSize:12,lineHeight:1.6},children:JSON.stringify(e??{},null,2)}),$9=({url:e,height:t=280})=>e?(0,$.jsx)(`video`,{src:une(e),controls:!0,preload:`metadata`,style:{width:`100%`,maxHeight:t,borderRadius:12,background:`#0f172a`}}):(0,$.jsx)(bC,{description:`暂无视频`,image:bC.PRESENTED_IMAGE_SIMPLE}),dne=({items:e=[]})=>(0,$.jsx)(QQ,{rowKey:`index`,size:`small`,pagination:!1,dataSource:e,scroll:{x:!0},columns:[{title:`序号`,dataIndex:`index`,width:70},{title:`时间节点`,dataIndex:`timeNode`,width:120},{title:`开始`,dataIndex:`startSecond`,width:80,render:e=>`${Number(e||0).toFixed(2)}s`},{title:`结束`,dataIndex:`endSecond`,width:80,render:e=>`${Number(e||0).toFixed(2)}s`},{title:`内容`,dataIndex:`content`,ellipsis:!0},{title:`分类`,dataIndex:`category`,width:140},{title:`受众`,dataIndex:`audience`,ellipsis:!0}]}),fne=()=>{let{taskSetId:e}=Qe(),t=Je(),[n,r]=(0,x.useState)(null),[i,a]=(0,x.useState)([]),[o,s]=(0,x.useState)(0),[c,l]=(0,x.useState)(1),[u,d]=(0,x.useState)(!1),[f,p]=(0,x.useState)(!1),[m,h]=(0,x.useState)(0),[g,_]=(0,x.useState)(``),[v,y]=(0,x.useState)(``),[b,S]=(0,x.useState)(``),[C,w]=(0,x.useState)(``),[T,E]=(0,x.useState)(!1),[D,O]=(0,x.useState)(null),k=(0,x.useCallback)(async()=>{if(e){d(!0);try{r(await V5(e))}catch(e){hK.error(e?.message||`加载拆镜任务详情失败`)}finally{d(!1)}}},[e]),A=(0,x.useCallback)(async()=>{if(e){p(!0);try{let t=await H5(e,{sourceMode:g||void 0,splitStatus:v||void 0,analysisStatus:b||void 0,replicateStatus:C||void 0,page:c,pageSize:J9});a(t.items||[]),s(t.total||0)}catch(e){hK.error(e?.message||`加载拆镜片段失败`)}finally{p(!1)}}},[b,c,C,g,v,e]);(0,x.useEffect)(()=>{k()},[k,m]),(0,x.useEffect)(()=>{A()},[A,m]);let j=async e=>{E(!0),O(null);try{O(await U5(e))}catch(e){hK.error(e?.message||`加载片段详情失败`)}};return u&&!n?(0,$.jsx)(`div`,{style:{padding:64,textAlign:`center`},children:(0,$.jsx)(eK,{size:`large`})}):n?(0,$.jsxs)(`div`,{style:{padding:24},children:[(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(yH,{style:{justifyContent:`space-between`,width:`100%`},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(aD,{icon:(0,$.jsx)(O0,{}),onClick:()=>t(`/shot-replications`),children:`返回列表`}),(0,$.jsx)(Q.Title,{level:3,style:{margin:0},children:`拆镜任务详情`}),(0,$.jsx)(Z9,{status:n.status})]}),(0,$.jsx)(aD,{icon:(0,$.jsx)(iq,{}),onClick:()=>h(e=>e+1),children:`刷新`})]}),(0,$.jsx)(_z,{children:(0,$.jsxs)(VV,{title:`总任务信息`,column:3,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`任务集ID`,children:n.id}),(0,$.jsx)(VV.Item,{label:`用户ID`,children:n.userId||`-`}),(0,$.jsx)(VV.Item,{label:`用户名`,children:n.userName||`-`}),(0,$.jsx)(VV.Item,{label:`标题`,children:n.title||`-`}),(0,$.jsxs)(VV.Item,{label:`视频时长`,children:[Number(n.videoDurationSeconds||0).toFixed(2),`s`]}),(0,$.jsx)(VV.Item,{label:`总状态`,children:(0,$.jsx)(Z9,{status:n.status})}),(0,$.jsx)(VV.Item,{label:`分析状态`,children:(0,$.jsx)(Z9,{status:n.analysisStatus})}),(0,$.jsx)(VV.Item,{label:`拆镜状态`,children:(0,$.jsx)(Z9,{status:n.splitStatus})}),(0,$.jsxs)(VV.Item,{label:`片段数量`,children:[n.completedSegmentCount,`/`,n.segmentCount,`,失败 `,n.failedSegmentCount]}),(0,$.jsx)(VV.Item,{label:`原视频分类`,children:n.originalVideoCategory||`-`}),(0,$.jsx)(VV.Item,{label:`创建时间`,children:Y9(n.createdAt)}),(0,$.jsx)(VV.Item,{label:`更新时间`,children:Y9(n.updatedAt)}),(0,$.jsx)(VV.Item,{label:`原视频内容`,span:3,children:n.originalVideoContent||`-`}),(0,$.jsx)(VV.Item,{label:`原视频受众`,span:3,children:n.originalVideoAudience||`-`}),n.analysisErrorMessage?(0,$.jsx)(VV.Item,{label:`分析错误`,span:3,children:(0,$.jsx)(af,{type:`error`,message:n.analysisErrorMessage})}):null,n.splitErrorMessage?(0,$.jsx)(VV.Item,{label:`拆镜错误`,span:3,children:(0,$.jsx)(af,{type:`error`,message:n.splitErrorMessage})}):null]})}),(0,$.jsx)(_z,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(S3,{}),`原视频预览`]}),children:(0,$.jsx)($9,{url:n.videoUrl,height:360})}),(0,$.jsxs)(_z,{title:`AI 建议拆镜列表`,children:[n.aiSuggestions?.length?(0,$.jsx)(dne,{items:n.aiSuggestions}):(0,$.jsx)(bC,{description:`暂无 AI 建议拆镜`}),(0,$.jsx)(Ng,{size:`small`,ghost:!0,style:{marginTop:12},items:[{key:`raw`,label:`查看原视频分析完整 JSON`,children:(0,$.jsx)(Q9,{value:n.analysisResultJson})}]})]}),(0,$.jsxs)(_z,{title:`片段列表`,children:[(0,$.jsxs)(yH,{wrap:!0,style:{marginBottom:16},children:[(0,$.jsx)(XC,{allowClear:!0,placeholder:`片段来源`,style:{width:140},value:g||void 0,options:ane,onChange:e=>{_(e||``),l(1)}}),(0,$.jsx)(XC,{allowClear:!0,placeholder:`切割状态`,style:{width:140},value:v||void 0,options:one,onChange:e=>{y(e||``),l(1)}}),(0,$.jsx)(XC,{allowClear:!0,placeholder:`分析状态`,style:{width:140},value:b||void 0,options:sne,onChange:e=>{S(e||``),l(1)}}),(0,$.jsx)(XC,{allowClear:!0,placeholder:`复刻状态`,style:{width:150},value:C||void 0,options:cne,onChange:e=>{w(e||``),l(1)}}),(0,$.jsx)(aD,{icon:(0,$.jsx)(GC,{}),onClick:()=>h(e=>e+1),children:`筛选`}),(0,$.jsx)(aD,{onClick:()=>{_(``),y(``),S(``),w(``),l(1),h(e=>e+1)},children:`重置`})]}),(0,$.jsx)(QQ,{rowKey:`id`,loading:f,dataSource:i,pagination:{current:c,pageSize:J9,total:o,showSizeChanger:!1,showTotal:e=>`共 ${e} 条`,onChange:l},scroll:{x:1550},columns:[{title:`片段ID`,dataIndex:`id`,width:150,render:e=>(0,$.jsx)(Bw,{title:e,children:X9(e)})},{title:`序号`,dataIndex:`segmentIndex`,width:70},{title:`来源`,dataIndex:`sourceMode`,width:100,render:e=>e===`ai_suggestion`?(0,$.jsx)(u$,{color:`purple`,children:`AI建议`}):(0,$.jsx)(u$,{color:`cyan`,children:`自定义`})},{title:`时间节点`,dataIndex:`timeNode`,width:130},{title:`时长`,dataIndex:`durationSeconds`,width:90,render:e=>`${Number(e||0).toFixed(2)}s`},{title:`切割`,dataIndex:`splitStatus`,width:100,render:e=>(0,$.jsx)(Z9,{status:e})},{title:`分析`,dataIndex:`analysisStatus`,width:100,render:e=>(0,$.jsx)(Z9,{status:e})},{title:`复刻`,dataIndex:`replicateStatus`,width:110,render:e=>(0,$.jsx)(Z9,{status:e})},{title:`片段内容`,dataIndex:`segmentContent`,width:260,ellipsis:!0,render:e=>e||`-`},{title:`分类`,dataIndex:`segmentCategory`,width:120,render:e=>e||`-`},{title:`关联项目`,width:220,render:(e,n)=>n.moduleProjectId?(0,$.jsxs)(yH,{direction:`vertical`,size:0,children:[(0,$.jsx)(aD,{type:`link`,style:{padding:0},onClick:()=>t(`/shot-replications/projects/${n.moduleProjectId}`),children:X9(n.moduleProjectId)}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:n.moduleProjectTitle||T9(n.moduleProjectCurrentStepCode)}),(0,$.jsx)(Z9,{status:n.moduleProjectStatus})]}):(0,$.jsx)(u$,{children:`未创建`})},{title:`错误`,dataIndex:`splitLastError`,width:220,ellipsis:!0,render:(e,t)=>e||t.analysisErrorMessage||`-`},{title:`创建时间`,dataIndex:`createdAt`,width:170,render:Y9},{title:`操作`,fixed:`right`,width:100,render:(e,t)=>(0,$.jsx)(aD,{type:`link`,icon:(0,$.jsx)(TW,{}),onClick:()=>j(t.id),children:`详情`})}]})]})]}),(0,$.jsx)(uH,{title:`片段详情`,width:720,open:T,onClose:()=>E(!1),destroyOnClose:!0,children:D?(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(VV,{column:2,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`片段ID`,span:2,children:D.id}),(0,$.jsx)(VV.Item,{label:`时间节点`,children:D.timeNode}),(0,$.jsxs)(VV.Item,{label:`时长`,children:[Number(D.durationSeconds||0).toFixed(2),`s`]}),(0,$.jsx)(VV.Item,{label:`切割状态`,children:(0,$.jsx)(Z9,{status:D.splitStatus})}),(0,$.jsx)(VV.Item,{label:`分析状态`,children:(0,$.jsx)(Z9,{status:D.analysisStatus})}),(0,$.jsx)(VV.Item,{label:`复刻状态`,children:(0,$.jsx)(Z9,{status:D.replicateStatus})}),(0,$.jsx)(VV.Item,{label:`关联项目`,children:D.moduleProjectId?(0,$.jsx)(aD,{type:`link`,onClick:()=>t(`/shot-replications/projects/${D.moduleProjectId}`),children:D.moduleProjectId}):`-`}),(0,$.jsx)(VV.Item,{label:`片段内容`,span:2,children:D.segmentContent||`-`}),(0,$.jsx)(VV.Item,{label:`片段分类`,children:D.segmentCategory||`-`}),(0,$.jsx)(VV.Item,{label:`片段受众`,children:D.segmentAudience||`-`})]}),(0,$.jsx)(_z,{size:`small`,title:`片段视频`,children:(0,$.jsx)($9,{url:D.segmentVideoUrl,height:300})}),D.splitLastError?(0,$.jsx)(af,{type:`error`,message:`切割错误`,description:D.splitLastError}):null,D.analysisErrorMessage?(0,$.jsx)(af,{type:`error`,message:`分析错误`,description:D.analysisErrorMessage}):null,(0,$.jsx)(Ng,{size:`small`,items:[{key:`analysis`,label:`片段分析 JSON`,children:(0,$.jsx)(Q9,{value:D.analysisJson})},{key:`suggestion`,label:`AI 建议原始 JSON`,children:(0,$.jsx)(Q9,{value:D.aiSuggestionJson})}]})]}):(0,$.jsx)(eK,{})})]}):(0,$.jsx)(_z,{style:{margin:24},children:(0,$.jsx)(bC,{description:`未找到拆镜任务详情`})})},pne=({children:e})=>{let{user:t,loading:n,checkAuth:r}=G5();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)(eK,{size:`large`})}):t?(0,$.jsx)($.Fragment,{children:e}):(window.location.href=`/login`,null)};(0,g.createRoot)(document.getElementById(`root`)).render((0,$.jsx)(()=>{let{checkAuth:e}=G5();return(0,x.useEffect)(()=>{e()},[]),(0,$.jsx)(nm,{locale:_8.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)(dx,{children:(0,$.jsx)(mn,{children:(0,$.jsxs)(Et,{children:[(0,$.jsx)(wt,{path:`/login`,element:(0,$.jsx)(Z5,{})}),(0,$.jsxs)(wt,{path:`/`,element:(0,$.jsx)(pne,{children:(0,$.jsx)(X5,{})}),children:[(0,$.jsx)(wt,{index:!0,element:(0,$.jsx)(Q5,{})}),(0,$.jsx)(wt,{path:`users`,element:(0,$.jsx)(e7,{})}),(0,$.jsx)(wt,{path:`credit-records`,element:(0,$.jsx)(a7,{})}),(0,$.jsx)(wt,{path:`models`,element:(0,$.jsx)(t7,{})}),(0,$.jsx)(wt,{path:`credit-ratios`,element:(0,$.jsx)(T7,{})}),(0,$.jsx)(wt,{path:`video-engines`,element:(0,$.jsx)(_7,{})}),(0,$.jsx)(wt,{path:`image-engines`,element:(0,$.jsx)(S7,{})}),(0,$.jsx)(wt,{path:`industries`,element:(0,$.jsx)(h7,{})}),(0,$.jsx)(wt,{path:`menu-configs`,element:(0,$.jsx)(A7,{})}),(0,$.jsx)(wt,{path:`recharge-packages`,element:(0,$.jsx)(N7,{})}),(0,$.jsx)(wt,{path:`payment`,element:(0,$.jsx)(o7,{})}),(0,$.jsx)(wt,{path:`payment-stats`,element:(0,$.jsx)(l7,{})}),(0,$.jsx)(wt,{path:`settings`,element:(0,$.jsx)(n7,{})}),(0,$.jsx)(wt,{path:`notifications`,element:(0,$.jsx)(r7,{})}),(0,$.jsx)(wt,{path:`oauthapp-list`,element:(0,$.jsx)(I7,{})}),(0,$.jsx)(wt,{path:`operation-logs`,element:(0,$.jsx)(F7,{})}),(0,$.jsx)(wt,{path:`generation-records`,element:(0,$.jsx)(gte,{})}),(0,$.jsx)(wt,{path:`generation-ai`,element:(0,$.jsx)(xte,{})}),(0,$.jsx)(wt,{path:`hot-opening-replications`,element:(0,$.jsx)(Ete,{})}),(0,$.jsx)(wt,{path:`hot-opening-replications/:projectId`,element:(0,$.jsx)(Qte,{})}),(0,$.jsx)(wt,{path:`shot-replications`,element:(0,$.jsx)(rne,{})}),(0,$.jsx)(wt,{path:`shot-replications/task-sets/:taskSetId`,element:(0,$.jsx)(fne,{})}),(0,$.jsx)(wt,{path:`shot-replications/projects/:projectId`,element:(0,$.jsx)(U9,{moduleType:`shot_replicate`})})]}),(0,$.jsx)(wt,{path:`*`,element:(0,$.jsx)(St,{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)(qW,{placeholder:`例如:视频风格`,size:`middle`,style:{borderRadius:8}})}),(0,$.jsx)(Z.Item,{...r,name:[t,`options`],label:`选项内容`,style:{marginBottom:0},children:(0,$.jsx)(XC,{mode:`tags`,size:`middle`,placeholder:`输入选项后回车添加`,style:{borderRadius:8},tokenSeparators:[`,`,`,`,`、`]})})]}),(0,$.jsx)(t3,{onClick:()=>n(t),style:{color:`#ef4444`,fontSize:16,marginTop:34,cursor:`pointer`,flexShrink:0}})]},e)),(0,$.jsx)(aD,{type:`dashed`,onClick:()=>t(),block:!0,icon:(0,$.jsx)(nR,{}),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)(uJ,{})}),(0,$.jsx)(Z.Item,{name:`sort_order`,label:`排序`,initialValue:0,style:{flex:1},children:(0,$.jsx)(qW,{type:`number`,size:`large`})})]})]})})]})};function g7(e){if(Array.isArray(e))return e;if(typeof e==`string`)try{return JSON.parse(e)}catch{return[]}return[]}var _7=()=>{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 Z8()).map(e=>({...e,supportedRatios:g7(e.supportedRatios),supportedResolutions:g7(e.supportedResolutions),supportedDurations:g7(e.supportedDurations)})))}catch{hK.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 Q8({id:i.engine.id,...t}),hK.success(`已更新`)):(await Q8(t),hK.success(`已添加`)),a({open:!1,engine:null}),o.resetFields(),s()}catch(e){if(e?.errorFields)return;hK.error(e?.message||`保存失败`)}},l=async e=>{try{await $8(e),hK.success(`已删除`),s()}catch{hK.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)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(S3,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`视频引擎配置`}),(0,$.jsxs)(u$,{color:`purple`,children:[e.length,` 个引擎`]})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加引擎`})]}),(0,$.jsx)(QQ,{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)(S3,{})}),(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)(yH,{size:2,wrap:!0,children:e.map(e=>(0,$.jsx)(u$,{children:e},e))})},{title:`支持分辨率`,dataIndex:`supportedResolutions`,width:150,render:e=>(0,$.jsx)(yH,{size:2,wrap:!0,children:e.map(e=>(0,$.jsx)(u$,{color:`blue`,children:e},e))})},{title:`支持时长`,dataIndex:`supportedDurations`,width:120,render:e=>(0,$.jsx)(u$,{color:`orange`,children:e?.length?`${Math.min(...e)}-${Math.max(...e)}s`:`-`})},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(u$,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(g$,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(SK,{title:`确定删除?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(S3,{}),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)(qW,{placeholder:`Seedance 2.0`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`provider`,label:`提供商`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(XC,{size:`large`,options:[{value:`ark`,label:`火山引擎 (Ark)`}]})})]}),(0,$.jsx)(Z.Item,{name:`apiBase`,label:`API基础地址`,rules:[{required:!0}],children:(0,$.jsx)(qW,{placeholder:`https://ark.cn-beijing.volces.com/api/v3`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`apiKey`,label:`API Key`,children:(0,$.jsx)(qW.Password,{placeholder:`sk-****`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`modelName`,label:`模型名称`,children:(0,$.jsx)(qW,{placeholder:`doubao-seedance-2-0-260128`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`supportedRatios`,label:`支持比例`,children:(0,$.jsx)(XC,{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)(XC,{mode:`multiple`,size:`large`,options:[{value:`480p`},{value:`720p`},{value:`1080p`}]})}),(0,$.jsx)(Z.Item,{name:`supportedDurations`,label:`支持时长(秒)`,style:{flex:1},children:(0,$.jsx)(XC,{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)(XC,{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)(uJ,{})})]})]})})]})};function v7(e){if(Array.isArray(e))return e;if(typeof e==`string`)try{return JSON.parse(e)}catch{return[]}return[]}function y7(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 b7={"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`}},x7=[`1:1`,`4:3`,`3:4`,`16:9`,`9:16`,`3:2`,`2:3`,`21:9`],S7=()=>{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 e5()).map(e=>({...e,supportedModels:v7(e.supportedModels),supportedSizes:y7(e.supportedSizes)})))}catch{hK.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]=b7[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 t5({id:i.engine.id,...n}),hK.success(`已更新`)):(await t5(n),hK.success(`已添加`)),a({open:!1,engine:null}),o.resetFields(),s()}catch(e){if(e?.errorFields)return;hK.error(e?.message||`保存失败`)}},l=async e=>{try{await n5(e),hK.success(`已删除`),s()}catch{hK.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:x7,size_4K:x7})};return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(_z,{style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(g3,{style:{fontSize:18,color:`#10b981`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`图片引擎配置`}),(0,$.jsxs)(u$,{color:`green`,children:[e.length,` 个引擎`]})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加引擎`})]}),(0,$.jsx)(QQ,{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)(g3,{})}),(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)(yH,{size:2,wrap:!0,children:n.map(e=>(0,$.jsxs)(u$,{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)(yH,{size:2,wrap:!0,children:n.map(e=>(0,$.jsxs)(u$,{color:`purple`,children:[e,` `,t.supportedSizes[`4K`][e]]},e))})}},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(u$,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(g$,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(SK,{title:`确定删除?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:1e3}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(g3,{}),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)(qW,{placeholder:`豆包文生图`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`provider`,label:`提供商`,style:{flex:1},rules:[{required:!0}],children:(0,$.jsx)(XC,{size:`large`,options:[{value:`ark`,label:`火山引擎 (Ark)`}]})})]}),(0,$.jsx)(Z.Item,{name:`apiBase`,label:`API基础地址`,rules:[{required:!0}],children:(0,$.jsx)(qW,{placeholder:`https://ark.cn-beijing.volces.com/api/v3`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`apiKey`,label:`API Key`,children:(0,$.jsx)(qW.Password,{placeholder:`sk-****`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`modelName`,label:`默认模型`,children:(0,$.jsx)(qW,{placeholder:`doubao-seedream-5-0-260128`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`supportedModels`,label:`支持模型列表`,children:(0,$.jsx)(XC,{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)(Uz.Group,{style:{width:`100%`},children:(0,$.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(4, 1fr)`,gap:`6px 0`},children:x7.map(t=>(0,$.jsxs)(Uz,{value:t,style:{fontSize:12},children:[t,` `,(0,$.jsx)(`span`,{style:{color:`#94a3b8`,fontSize:11},children:b7[e]?.[t]})]},t))})})})]},e)),(0,$.jsx)(Z.Item,{name:`defaultSize`,label:`默认尺寸档位`,children:(0,$.jsx)(XC,{size:`large`,options:[{value:`2K`,label:`2K`},{value:`4K`,label:`4K`}]})}),(0,$.jsx)(Z.Item,{name:`generateUrl`,label:`生成接口地址`,children:(0,$.jsx)(qW,{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)(XC,{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)(uJ,{})})]})]})})]})},C7=[`2K`,`4K`],w7=[`480p`,`720p`,`1080p`],T7=()=>{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([r5(),W8(),F5()]),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{hK.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:C7).map(e=>({value:e,label:e}))}let e=y?.supportedResolutions||[];return(e.length?e:w7).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 i5({id:o.ratio.id,...t}),hK.success(`已更新`)):(await i5(t),hK.success(`已添加`)),s({open:!1,ratio:null}),c.resetFields(),_()}catch(e){if(e?.errorFields)return;hK.error(e?.message||`保存失败`)}},w=async e=>{try{await a5(e),hK.success(`已删除`),_()}catch{hK.error(`删除失败`)}},T=async()=>{if(d){m(!0);try{await G8(d.id,String(l)),hK.success(`文字积分费率已更新`)}catch(e){hK.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)(_z,{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)(yH,{children:[(0,$.jsx)(s4,{style:{fontSize:18,color:`#f59e0b`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`文字积分费率`})]}),(0,$.jsx)(aD,{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)(RB,{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)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(t2,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`积分比例配置`}),(0,$.jsxs)(u$,{color:`purple`,children:[e.length,` 条规则`]})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),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)(QQ,{columns:[{title:`类型`,dataIndex:`genType`,width:80,render:e=>(0,$.jsx)(u$,{color:e===`image`?`cyan`:`orange`,children:e===`image`?`图片`:`视频`})},{title:`引擎`,dataIndex:`modelConfigId`,width:180,render:(e,t)=>(0,$.jsx)(u$,{color:t.genType===`image`?`cyan`:`purple`,children:S(e,t.genType)})},{title:`分辨率/尺寸`,dataIndex:`resolution`,width:110,render:e=>(0,$.jsx)(u$,{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)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(g$,{}),onClick:()=>E(t),children:`编辑`}),(0,$.jsx)(SK,{title:`确定删除?`,onConfirm:()=>w(t.id),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:i,pagination:!1,scroll:{x:860}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(t2,{}),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)(XC,{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)(XC,{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)(XC,{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)(RB,{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)(RB,{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)(RB,{min:0,max:100,style:{width:`100%`},size:`large`})})]})]})})]})},E7={HomeOutlined:(0,$.jsx)(T4,{}),PlayCircleOutlined:(0,$.jsx)(S3,{}),WalletOutlined:(0,$.jsx)(s8,{}),RobotOutlined:(0,$.jsx)(P3,{}),SettingOutlined:(0,$.jsx)(t6,{}),BellOutlined:(0,$.jsx)(U0,{}),UserOutlined:(0,$.jsx)(t8,{}),AppstoreOutlined:(0,$.jsx)(S0,{}),FileTextOutlined:(0,$.jsx)(wH,{}),StarOutlined:(0,$.jsx)(T6,{}),HeartOutlined:(0,$.jsx)(g4,{}),CameraOutlined:(0,$.jsx)(i2,{}),DashboardOutlined:(0,$.jsx)(P2,{}),CalculatorOutlined:(0,$.jsx)(t2,{}),DollarOutlined:(0,$.jsx)(B2,{}),GiftOutlined:(0,$.jsx)(u4,{}),ThunderboltOutlined:(0,$.jsx)(L6,{}),FireOutlined:(0,$.jsx)(t4,{}),CloudOutlined:(0,$.jsx)(g2,{}),SmileOutlined:(0,$.jsx)(g6,{}),TrophyOutlined:(0,$.jsx)(U6,{}),RocketOutlined:(0,$.jsx)(L3,{}),BulbOutlined:(0,$.jsx)(Q0,{}),CodeOutlined:(0,$.jsx)(S2,{}),PictureOutlined:(0,$.jsx)(g3,{}),VideoCameraOutlined:(0,$.jsx)(i8,{}),AudioOutlined:(0,$.jsx)(P0,{}),MailOutlined:(0,$.jsx)(K4,{}),PhoneOutlined:(0,$.jsx)(p3,{}),GlobalOutlined:(0,$.jsx)(p4,{}),ShoppingCartOutlined:(0,$.jsx)(i6,{}),TeamOutlined:(0,$.jsx)(P6,{}),BarChartOutlined:(0,$.jsx)(B0,{}),PieChartOutlined:(0,$.jsx)(y3,{}),LineChartOutlined:(0,$.jsx)(P4,{}),SecurityScanOutlined:(0,$.jsx)(Y3,{}),ApiOutlined:(0,$.jsx)(y0,{}),DatabaseOutlined:(0,$.jsx)(L2,{}),CloudServerOutlined:(0,$.jsx)(y2,{}),MenuOutlined:(0,$.jsx)(Q4,{})},D7=Object.keys(E7).map(e=>({value:e,label:(0,$.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[E7[e],` `,e.replace(`Outlined`,``)]})})),O7={page:`blue`,group:`purple`},k7={page:`页面`,group:`分组`},A7=()=>{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 h5())}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 g5({...t,id:o.menu.id}):await g5(t),hK.success(o.menu?.id?`菜单已更新`:`菜单已添加`),s({open:!1,menu:null}),c.resetFields(),l()}catch{}},d=async e=>{try{await _5(e),hK.success(`菜单已删除`),l()}catch(e){hK.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&&E7[e]?(0,$.jsx)(`span`,{style:{fontSize:16,color:`#6366f1`},children:E7[e]}):`-`},{title:`类型`,dataIndex:`menuType`,width:80,render:e=>(0,$.jsx)(u$,{color:O7[e]||`default`,children:k7[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)(u$,{color:`green`,children:`默认`}):(0,$.jsx)(Q.Text,{type:`secondary`,children:`-`})}]:[],{title:`操作`,key:`action`,width:150,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(g$,{}),onClick:()=>f(t),children:`编辑`}),(0,$.jsx)(SK,{title:`确定删除该菜单?`,onConfirm:()=>d(t.id),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}];return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(Q4,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`菜单配置`})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>f(),style:{borderRadius:8},children:`添加菜单`})]}),(0,$.jsx)(rz,{activeKey:i,onChange:a,items:[{key:`frontend`,label:`前台菜单`},{key:`admin`,label:`后台菜单`}]}),(0,$.jsx)(QQ,{columns:v,dataSource:h,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(Q4,{}),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)(qW,{placeholder:`例如:我的项目`,size:`large`})}),(0,$.jsx)(Z.Item,{name:`path`,label:`路由路径`,tooltip:`分组类型可留空`,children:(0,$.jsx)(qW,{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)(XC,{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)(XC,{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)(XC,{size:`large`,options:D7})}),(0,$.jsx)(Z.Item,{name:`sortOrder`,label:`排序`,style:{flex:1},children:(0,$.jsx)(RB,{min:0,max:100,style:{width:`100%`},size:`large`,placeholder:`默认0`})})]}),(0,$.jsx)(Z.Item,{name:`parentId`,label:`上级菜单`,children:(0,$.jsx)(XC,{size:`large`,options:m,allowClear:!0,placeholder:`顶级菜单`})}),(0,$.jsx)(Z.Item,{name:`isActive`,label:`启用`,valuePropName:`checked`,children:(0,$.jsx)(uJ,{})}),(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)(uJ,{})})})]})})]})},j7={normal:`blue`,gift:`green`,promo:`purple`},M7={normal:`常规`,gift:`赠送`,promo:`促销`},N7=()=>{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 C5()).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{hK.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 w5({id:i.item.id,...t}),hK.success(`已更新`)):(await w5(t),hK.success(`已添加`)),a({open:!1,item:null}),o.resetFields(),s()}catch{}},l=async e=>{try{await T5(e),hK.success(`已删除`),s()}catch(e){hK.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)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(u4,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`充值套餐管理`}),(0,$.jsxs)(u$,{color:`purple`,children:[e.length,` 个套餐`]})]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>u(),style:{borderRadius:8},children:`添加套餐`})]}),(0,$.jsx)(QQ,{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)(u$,{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)(u$,{color:j7[e]||`default`,children:M7[e]||e})},{title:`状态`,dataIndex:`isActive`,width:80,render:e=>(0,$.jsx)(u$,{color:e?`green`:`default`,children:e?`启用`:`停用`})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(yH,{size:4,children:[(0,$.jsx)(aD,{type:`link`,size:`small`,icon:(0,$.jsx)(g$,{}),onClick:()=>u(t),children:`编辑`}),(0,$.jsx)(SK,{title:`确定删除?`,onConfirm:()=>l(t.id),children:(0,$.jsx)(aD,{type:`link`,size:`small`,danger:!0,icon:(0,$.jsx)(p$,{}),children:`删除`})})]})}],dataSource:e,rowKey:`id`,loading:n,pagination:!1,scroll:{x:900}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(u4,{}),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)(qW,{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)(RB,{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)(RB,{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)(RB,{min:0,placeholder:`0`,size:`large`,style:{width:`100%`}})}),(0,$.jsx)(Z.Item,{name:`packageType`,label:`套餐类型`,initialValue:`normal`,style:{flex:1},children:(0,$.jsx)(XC,{size:`large`,options:[{value:`normal`,label:`常规`},{value:`gift`,label:`赠送`},{value:`promo`,label:`促销`}]})})]}),(0,$.jsx)(Z.Item,{name:`description`,label:`描述`,children:(0,$.jsx)(qW,{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)(uJ,{})}),(0,$.jsx)(Z.Item,{name:`isGift`,label:`是否赠送`,valuePropName:`checked`,initialValue:!1,style:{flex:1},children:(0,$.jsx)(uJ,{})}),(0,$.jsx)(Z.Item,{name:`sortOrder`,label:`排序`,initialValue:0,style:{flex:1},children:(0,$.jsx)(RB,{size:`large`,style:{width:`100%`}})})]})]})})]})},P7={POST:`green`,PUT:`blue`,DELETE:`red`},F7=()=>{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 E5(e||o);t(n.items||[]),r(n.total||0)}catch{hK.error(`加载操作日志失败`)}finally{a(!1)}};return(0,x.useEffect)(()=>{c()},[]),(0,$.jsx)(`div`,{children:(0,$.jsxs)(_z,{bordered:!1,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(S4,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`操作日志`})]}),(0,$.jsx)(aD,{icon:(0,$.jsx)(iq,{}),onClick:()=>c(),children:`刷新`})]}),(0,$.jsx)(QQ,{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)(u$,{color:P7[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:$5(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}})]})})},I7=()=>{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 D5(e||o);t(n.items||[]),r(n.total||0)}catch{hK.error(`加载应用管理列表失败`)}finally{a(!1)}},y=async()=>{try{let e=await g.validateFields();await O5({app_id:e.app_id,secret:e.secret,open_type:e.open_type,count:e.count,auth_url:e.auth_url,company:e.company}),hK.success(`创建成功`),l(!1),g.resetFields(),v()}catch(e){hK.error(e?.message||`创建失败`)}},b=async e=>{try{h(await k5(e)),d(!0)}catch(e){hK.error(e?.message||`获取详情失败`)}},S=async e=>{try{let t=await k5(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){hK.error(e?.message||`获取详情失败`)}},C=async()=>{if(m)try{let e=await _.validateFields();await A5(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}),hK.success(`更新成功`),p(!1),_.resetFields(),v()}catch(e){hK.error(e?.message||`更新失败`)}},w=e=>{vK.confirm({title:`确认删除`,content:`确定要删除这个应用管理吗?`,okText:`删除`,okType:`danger`,cancelText:`取消`,onOk:async()=>{try{await j5(e),hK.success(`删除成功`),v()}catch(e){hK.error(e?.message||`删除失败`)}}})};return(0,x.useEffect)(()=>{v()},[]),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(_z,{variant:`outlined`,style:{borderRadius:12,border:`1px solid #f0f0f5`},children:[(0,$.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,marginBottom:16},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(Q4,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`应用管理列表`})]}),(0,$.jsxs)(yH,{children:[(0,$.jsx)(aD,{icon:(0,$.jsx)(iq,{}),onClick:()=>v(),children:`刷新`}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(nR,{}),onClick:()=>l(!0),children:`创建`})]})]}),(0,$.jsx)(QQ,{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)(u$,{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:$5(e)})},{title:`更新时间`,dataIndex:`updatedAt`,render:e=>(0,$.jsx)(Q.Text,{children:$5(e)})},{title:`操作`,render:(e,t)=>(0,$.jsxs)(yH,{children:[(0,$.jsx)(aD,{icon:(0,$.jsx)(TW,{}),size:`small`,onClick:()=>b(t.id),children:`详情`}),(0,$.jsx)(aD,{icon:(0,$.jsx)(g$,{}),size:`small`,onClick:()=>S(t.id),children:`更新`}),(0,$.jsx)(aD,{icon:(0,$.jsx)(p$,{}),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)(vK,{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)(qW,{placeholder:`请输入应用ID`})}),(0,$.jsx)(Z.Item,{name:`secret`,label:`应用密钥`,rules:[{required:!0,message:`请输入应用密钥`},{max:256,message:`应用密钥不能超过256个字符`}],children:(0,$.jsx)(qW,{placeholder:`请输入应用密钥`})}),(0,$.jsx)(Z.Item,{name:`open_type`,label:`开户方式`,rules:[{required:!0,message:`请选择开户方式`}],children:(0,$.jsxs)(XC,{placeholder:`请选择开户方式`,children:[(0,$.jsx)(XC.Option,{value:1,children:`千川`}),(0,$.jsx)(XC.Option,{value:2,children:`广告`}),(0,$.jsx)(XC.Option,{value:3,children:`本地推`}),(0,$.jsx)(XC.Option,{value:4,children:`星图`}),(0,$.jsx)(XC.Option,{value:5,children:`快手代理商`}),(0,$.jsx)(XC.Option,{value:6,children:`巨量星图`}),(0,$.jsx)(XC.Option,{value:7,children:`巨量服务单`}),(0,$.jsx)(XC.Option,{value:8,children:`腾讯服务单`}),(0,$.jsx)(XC.Option,{value:9,children:`腾讯营销K2`}),(0,$.jsx)(XC.Option,{value:10,children:`腾讯营销K3`})]})}),(0,$.jsx)(Z.Item,{name:`count`,label:`最大授权用户数`,initialValue:100,children:(0,$.jsx)(RB,{min:1,placeholder:`应用最大可以授权多少个用户`})}),(0,$.jsx)(Z.Item,{name:`auth_url`,label:`应用授权链接`,children:(0,$.jsx)(qW,{placeholder:`请输入应用授权链接`})}),(0,$.jsx)(Z.Item,{name:`company`,label:`应用归属公司名称`,rules:[{max:256,message:`公司名称不能超过256个字符`}],children:(0,$.jsx)(qW,{placeholder:`请输入应用归属公司名称`})})]})}),(0,$.jsx)(vK,{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:`创建时间:`}),` `,$5(m.createdAt)]}),(0,$.jsxs)(`p`,{children:[(0,$.jsx)(`strong`,{children:`更新时间:`}),` `,$5(m.updatedAt)]})]})}),(0,$.jsx)(vK,{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)(qW,{placeholder:`请输入应用ID`})}),(0,$.jsx)(Z.Item,{name:`secret`,label:`应用密钥`,rules:[{required:!0,message:`请输入应用密钥`},{max:256,message:`应用密钥不能超过256个字符`}],children:(0,$.jsx)(qW,{placeholder:`请输入应用密钥`})}),(0,$.jsx)(Z.Item,{name:`open_type`,label:`开户方式`,rules:[{required:!0,message:`请选择开户方式`}],children:(0,$.jsxs)(XC,{placeholder:`请选择开户方式`,children:[(0,$.jsx)(XC.Option,{value:1,children:`千川`}),(0,$.jsx)(XC.Option,{value:2,children:`广告`}),(0,$.jsx)(XC.Option,{value:3,children:`本地推`}),(0,$.jsx)(XC.Option,{value:4,children:`星图`}),(0,$.jsx)(XC.Option,{value:5,children:`快手代理商`}),(0,$.jsx)(XC.Option,{value:6,children:`巨量星图`}),(0,$.jsx)(XC.Option,{value:7,children:`巨量服务单`}),(0,$.jsx)(XC.Option,{value:8,children:`腾讯服务单`}),(0,$.jsx)(XC.Option,{value:9,children:`腾讯营销K2`}),(0,$.jsx)(XC.Option,{value:10,children:`腾讯营销K3`})]})}),(0,$.jsx)(Z.Item,{name:`count`,label:`最大授权用户数`,children:(0,$.jsx)(RB,{min:1,placeholder:`应用最大可以授权多少个用户`})}),(0,$.jsx)(Z.Item,{name:`auth_url`,label:`应用授权链接`,children:(0,$.jsx)(qW,{placeholder:`请输入应用授权链接`})}),(0,$.jsx)(Z.Item,{name:`company`,label:`应用归属公司名称`,rules:[{max:256,message:`公司名称不能超过256个字符`}],children:(0,$.jsx)(qW,{placeholder:`请输入应用归属公司名称`})})]})})]})},L7=`http://apiforeign.minzhong.cn`.replace(/\/api\/?$/i,``).replace(/\/$/,``),R7={image:`empty`,video:`empty`,videoCover:`empty`,references:{}},z7={optimizing:{color:`processing`,text:`优化中`,icon:(0,$.jsx)(ym,{spin:!0})},prompt_optimized:{color:`processing`,text:`待生成`,icon:(0,$.jsx)(bV,{})},generating:{color:`warning`,text:`生成中`,icon:(0,$.jsx)(ym,{spin:!0})},completed:{color:`success`,text:`已完成`,icon:(0,$.jsx)(u2,{})},failed:{color:`error`,text:`失败`,icon:(0,$.jsx)(p2,{})}},B7={image:{text:`图片`,color:`purple`,icon:(0,$.jsx)(Y2,{})},video:{text:`视频`,color:`geekblue`,icon:(0,$.jsx)(i8,{})}},V7=e=>/^(https?:)?\/\//i.test(e)||/^(blob|data):/i.test(e),H7=e=>!!e&&/^blob:/i.test(e.trim()),U7=e=>{if(!e)return``;let t=String(e).trim();return t?V7(t)?t:L7?`${L7}${t.startsWith(`/`)?t:`/${t}`}`:t.startsWith(`/`)?t:`/${t}`:``},W7=e=>e?e.length>12?`${e.slice(0,8)}...`:e:`-`,G7=e=>e?$5(e):`-`,mte=e=>e==null||e===``,K7=e=>{if(!e||H7(e))return!1;try{let t=new URL(U7(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}},q7=e=>e?H7(e)||K7(e)?`invalid`:`checking`:`empty`,J7=e=>{let t=e.url||e.mediaUrl||e.fileUrl;return typeof t==`string`&&t.trim()?t.trim():void 0},hte=e=>{let t=String(e.type||e.mediaType||e.mimeType||``).toLowerCase(),n=J7(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`},Y7=(e,t)=>`${t}-${J7(e)||`empty`}`,X7=(e,t=`资源`)=>H7(e)?`本地临时素材已失效`:K7(e)?`${t}链接已超时,请刷新列表或重新搜索后再查看`:`${t}加载失败,请刷新列表或重新搜索后再查看`,Z7=({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]}),Q7=({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:mte(t)?`-`:t})]}),gte=()=>{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)(R7),[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 M5({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{hK.error(`加载记录失败`)}finally{a(!1)}},[l,d,o,c]);(0,x.useEffect)(()=>{D()},[D,p]),(0,x.useEffect)(()=>{if(!h){v(R7);return}let e=(h.references||[]).reduce((e,t,n)=>{let r=J7(t);return e[Y7(t,n)]=q7(r),e},{});S.current&&(S.current.pause(),S.current.currentTime=0),b(!1),v({image:q7(h.imageUrl),video:q7(h.videoUrl),videoCover:q7(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){hK.warning(`${t}链接为空,暂无法查看`);return}if(H7(e)){hK.warning(`本地临时素材已失效,暂无法查看`);return}if(K7(e)){hK.warning(`${t}链接已超时,请刷新列表或重新搜索后再查看`);return}window.open(U7(e),`_blank`,`noopener,noreferrer`)},P=()=>{if(h?.videoUrl){if(K7(h.videoUrl)){j({video:`invalid`}),hK.warning(`视频链接已超时,请刷新列表或重新搜索后再查看`);return}b(!0),window.setTimeout(()=>{S.current?.play().catch(()=>{b(!1),j({video:`invalid`}),hK.warning(`视频播放失败,请确认资源链接是否仍然有效`)})},0)}},F=async(e,t,n)=>{w(e);try{await N5(e,t,n),hK.success(`状态已更新`),D()}catch(e){hK.error(e?.message||`更新失败`)}finally{w(null)}},I=async()=>{if(T){w(T.record.id);try{await P5(T.record.id,T.ratio,T.resolution,T.image_size),hK.success(`已提交${T.record.genType===`video`?`视频`:`图片`}生成`),E(null),D()}catch(e){hK.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:W7(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=B7[e]||{text:e||`-`,color:`default`,icon:null};return(0,$.jsx)(u$,{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)(yH,{size:4,wrap:!0,children:[t.duration?(0,$.jsxs)(u$,{children:[t.duration,`s`]}):null,t.aspectRatio?(0,$.jsx)(u$,{children:t.aspectRatio}):null,t.resolution?(0,$.jsx)(u$,{children:t.resolution}):null]}):(0,$.jsx)(u$,{color:`default`,children:`待配置`}):t.imageSize||t.imageProportion||t.imagePx?(0,$.jsxs)(yH,{size:4,wrap:!0,children:[t.imageSize?(0,$.jsx)(u$,{children:t.imageSize}):null,t.imageProportion?(0,$.jsx)(u$,{children:t.imageProportion}):null,t.imagePx?(0,$.jsx)(u$,{children:t.imagePx}):null]}):(0,$.jsx)(u$,{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=z7[e]||{color:`default`,text:e||`-`,icon:null};return(0,$.jsx)(u$,{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:G7(t.createdAt)}),t.generatedAt?(0,$.jsxs)(`div`,{style:{color:`#10b981`},children:[`生成: `,G7(t.generatedAt)]}):null]})},{title:`操作`,key:`action`,width:150,fixed:`right`,render:(e,t)=>(0,$.jsxs)(yH,{size:4,wrap:!0,children:[(0,$.jsx)(aD,{size:`small`,icon:(0,$.jsx)(TW,{}),onClick:()=>k(t),children:`详情`}),t.status===`generating`?(0,$.jsx)(aD,{size:`small`,danger:!0,loading:C===t.id,onClick:()=>{vK.confirm({title:`确认操作`,icon:(0,$.jsx)(U2,{}),content:`确定将此记录标记为失败?`,onOk:()=>F(t.id,`failed`)})},children:`标记失败`}):null,t.status===`failed`?(0,$.jsx)(aD,{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)(aD,{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)(aD,{size:`small`,danger:!0,loading:C===t.id,onClick:()=>{vK.confirm({title:`确认操作`,icon:(0,$.jsx)(U2,{}),content:`确定将此记录标记为失败?`,onOk:()=>F(t.id,`failed`)})},children:`标记失败`})]}):null]})}],[k,C]),R=h?B7[h.genType||``]||{text:h.genType||`-`,color:`default`,icon:null}:null,z=h?z7[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)(Z7,{text:`此图片任务暂无结果图片`,minHeight:260});if(_.image===`invalid`)return(0,$.jsx)(Z7,{text:X7(h.imageUrl,`图片`),minHeight:260});let e=U7(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)(Z7,{text:`图片加载检测中...`,minHeight:260}):null]})},V=()=>{if(!h||y||_.video===`invalid`)return null;let e=h.videoUrl?(0,$.jsx)(aD,{type:`primary`,shape:`circle`,size:`large`,icon:(0,$.jsx)(S3,{}),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)(Z7,{text:`此视频无封面`,minHeight:340,action:e})});if(_.videoCover===`invalid`)return(0,$.jsx)(Z7,{text:X7(h.videoCoverUrl,`视频封面`),minHeight:340,action:e});let t=U7(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)(Z7,{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)(Z7,{text:`此视频任务暂无结果视频`,minHeight:340});if(_.video===`invalid`)return(0,$.jsx)(Z7,{text:X7(h.videoUrl,`视频`),minHeight:340});let e=U7(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=J7(e),r=hte(e),i=Y7(e,t),a=_.references[i]||q7(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)(Z7,{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)(Z7,{text:H7(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=U7(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)(S3,{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)(ym,{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)(_z,{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)(yH,{children:[(0,$.jsx)(i8,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`生成记录管理`}),(0,$.jsxs)(u$,{color:`purple`,children:[n,` 条记录`]})]}),(0,$.jsxs)(yH,{children:[(0,$.jsx)(XC,{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)(qW,{placeholder:`用户ID搜索`,prefix:(0,$.jsx)(GC,{style:{color:`#94a3b8`}}),style:{width:200},value:d,onChange:e=>f(e.target.value),onPressEnter:O,allowClear:!0}),(0,$.jsx)(aD,{type:`primary`,onClick:O,style:{borderRadius:8},children:`搜索`})]})]}),(0,$.jsx)(QQ,{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)(vK,{title:(0,$.jsxs)(yH,{children:[h?.genType===`video`?(0,$.jsx)(i8,{}):(0,$.jsx)(Y2,{}),(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)(yH,{size:4,wrap:!0,children:[R?(0,$.jsx)(u$,{color:R.color,icon:R.icon,children:R.text}):null,z?(0,$.jsx)(u$,{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)(Q7,{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)(Q7,{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)(Q7,{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)(Q7,{label:`时长`,value:h.duration?`${h.duration}秒`:`-`}),(0,$.jsx)(Q7,{label:`比例`,value:h.aspectRatio||`-`}),(0,$.jsx)(Q7,{label:`分辨率`,value:h.resolution||`-`})]}):(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`,textAlign:`center`},children:(0,$.jsx)(u$,{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)(Q7,{label:`尺寸`,value:h.imagePx||`-`}),(0,$.jsx)(Q7,{label:`比例`,value:h.imageProportion||`-`}),(0,$.jsx)(Q7,{label:`分辨率`,value:h.imageSize||`-`})]}):(0,$.jsx)(`div`,{style:{padding:12,borderRadius:10,background:`#f8f9fc`,textAlign:`center`},children:(0,$.jsx)(u$,{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:[`创建: `,G7(h.createdAt)]}),(0,$.jsxs)(`span`,{children:[`生成: `,G7(h.generatedAt)]})]})]}):(0,$.jsx)(bC,{description:`暂无详情`})}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[T&&(T.record.genType===`video`?(0,$.jsx)(S3,{}):(0,$.jsx)(Y2,{})),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)(XC,{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)(XC,{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)(XC,{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})]})},$7=`http://apiforeign.minzhong.cn`.replace(/\/api\/?$/i,``).replace(/\/$/,``),e9=20,t9={image:`empty`,video:`empty`,videoCover:`empty`,references:{}},n9={pending:{color:`default`,text:`待处理`,icon:(0,$.jsx)(bV,{})},generating:{color:`warning`,text:`生成中`,icon:(0,$.jsx)(ym,{spin:!0})},completed:{color:`success`,text:`已完成`,icon:(0,$.jsx)(u2,{})},failed:{color:`error`,text:`失败`,icon:(0,$.jsx)(p2,{})}},r9={timeout:`任务超时`,queued:`已入队`,preparing:`准备中`,creating_provider_task:`创建任务中`,waiting_remote:`等待生成`,result_ready:`结果就绪`,downloading:`下载中`,done:`完成`,download_failed:`下载失败`,polling:`轮询中`,failed:`失败`},i9={image:{text:`图片`,color:`purple`,icon:(0,$.jsx)(Y2,{})},video:{text:`视频`,color:`geekblue`,icon:(0,$.jsx)(i8,{})}},_te=e=>/^(https?:)?\/\//i.test(e)||/^(blob|data):/i.test(e),a9=e=>!!e&&/^blob:/i.test(e.trim()),o9=e=>{if(!e)return``;let t=String(e).trim();return t?_te(t)?t:$7?`${$7}${t.startsWith(`/`)?t:`/${t}`}`:t.startsWith(`/`)?t:`/${t}`:``},vte=e=>e?e.length>12?`${e.slice(0,8)}...`:e:`-`,s9=e=>e?$5(e):`-`,yte=e=>e==null||e===``,c9=e=>{if(!e||a9(e))return!1;try{let t=new URL(o9(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}},l9=e=>e?a9(e)||c9(e)?`invalid`:`checking`:`empty`,u9=e=>{let t=e.url||e.mediaUrl||e.fileUrl;return typeof t==`string`&&t.trim()?t.trim():void 0},bte=e=>{let t=String(e.type||e.mediaType||e.mimeType||``).toLowerCase(),n=u9(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`},d9=(e,t)=>`${t}-${u9(e)||`empty`}`,f9=(e,t=`资源`)=>a9(e)?`本地临时素材已失效`:c9(e)?`${t}链接已超时,请刷新列表或重新搜索后再查看`:`${t}加载失败,请刷新列表或重新搜索后再查看`,p9=({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]}),m9=({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:yte(t)?`-`:t})]}),xte=()=>{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)(t9),[D,O]=(0,x.useState)(!1),k=(0,x.useRef)(null),A=(0,x.useCallback)(async()=>{a(!0);try{let e=await I5({genType:u||void 0,status:c||void 0,userId:g||void 0,userName:v||void 0,page:o,pageSize:e9});t(e.items||[]),r(e.total||0)}catch(e){hK.error(e?.message||`加载创作记录失败`)}finally{a(!1)}},[u,c,o,g,v]);(0,x.useEffect)(()=>{A()},[A,b]),(0,x.useEffect)(()=>{if(!C){E(t9);return}let e=(C.mediaReferences||[]).reduce((e,t,n)=>{let r=u9(t);return e[d9(t,n)]=l9(r),e},{});k.current&&(k.current.pause(),k.current.currentTime=0),O(!1),E({image:l9(C.imageUrl),video:l9(C.videoUrl),videoCover:l9(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(c9(C.videoUrl)){P({video:`invalid`}),hK.warning(`视频链接已超时,请刷新列表或重新搜索后再查看`);return}O(!0),window.setTimeout(()=>{k.current?.play().catch(()=>{O(!1),P({video:`invalid`}),hK.warning(`视频播放失败,请确认资源链接是否仍然有效`)})},0)}},L=(e,t=`素材`)=>{if(!e){hK.warning(`${t}链接为空,暂无法查看`);return}if(a9(e)){hK.warning(`本地临时素材已失效,暂无法查看`);return}if(c9(e)){hK.warning(`${t}链接已超时,请刷新列表或重新搜索后再查看`);return}window.open(o9(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:vte(t.userId)})]})},{title:`类型`,dataIndex:`genType`,width:90,render:e=>{let t=i9[e]||{text:e||`-`,color:`default`,icon:null};return(0,$.jsx)(u$,{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)(yH,{size:4,wrap:!0,children:[t.duration?(0,$.jsxs)(u$,{children:[t.duration,`s`]}):null,t.aspectRatio?(0,$.jsx)(u$,{children:t.aspectRatio}):null,t.resolution?(0,$.jsx)(u$,{children:t.resolution}):null]}):(0,$.jsx)(u$,{color:`default`,children:`无参数`}):t.imageSize||t.imageProportion||t.imagePx?(0,$.jsxs)(yH,{size:4,wrap:!0,children:[t.imageSize?(0,$.jsx)(u$,{children:t.imageSize}):null,t.imageProportion?(0,$.jsx)(u$,{children:t.imageProportion}):null,t.imagePx?(0,$.jsx)(u$,{children:t.imagePx}):null]}):(0,$.jsx)(u$,{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=n9[e]||{color:`default`,text:e||`-`,icon:null};return(0,$.jsx)(u$,{color:t.color,icon:t.icon,children:t.text})}},{title:`阶段`,dataIndex:`pipelineStage`,width:120,render:e=>(0,$.jsx)(u$,{color:`blue`,children:r9[e]||e||`-`})},{title:`时间`,key:`time`,width:170,render:(e,t)=>(0,$.jsxs)(`div`,{style:{fontSize:12,color:`#94a3b8`},children:[(0,$.jsx)(`div`,{children:s9(t.createdAt)}),t.generatedAt?(0,$.jsxs)(`div`,{style:{color:`#10b981`},children:[`生成: `,s9(t.generatedAt)]}):null]})},{title:`操作`,key:`action`,width:90,fixed:`right`,render:(e,t)=>(0,$.jsx)(aD,{size:`small`,icon:(0,$.jsx)(TW,{}),onClick:()=>M(t),children:`详情`})}],[M]),z=C?i9[C.genType]||{text:C.genType||`-`,color:`default`,icon:null}:null,B=C?n9[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)(p9,{text:`此图片任务暂无结果图片`,minHeight:260});if(T.image===`invalid`)return(0,$.jsx)(p9,{text:f9(C.imageUrl,`图片`),minHeight:260});let e=o9(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)(p9,{text:`图片加载检测中...`,minHeight:260}):null]})},H=()=>{if(!C||D||T.video===`invalid`)return null;let e=C.videoUrl?(0,$.jsx)(aD,{type:`primary`,shape:`circle`,size:`large`,icon:(0,$.jsx)(S3,{}),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)(p9,{text:`此视频无封面`,minHeight:340,action:e})});if(T.videoCover===`invalid`)return(0,$.jsx)(p9,{text:f9(C.videoCoverUrl,`视频封面`),minHeight:340,action:e});let t=o9(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)(p9,{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)(p9,{text:`此视频任务暂无结果视频`,minHeight:340});if(T.video===`invalid`)return(0,$.jsx)(p9,{text:f9(C.videoUrl,`视频`),minHeight:340});let e=o9(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=u9(e),r=bte(e),i=d9(e,t),a=T.references[i]||l9(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)(p9,{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)(p9,{text:a9(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=o9(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)(S3,{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)(ym,{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)(_z,{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)(yH,{children:[(0,$.jsx)(S3,{style:{fontSize:18,color:`#6366f1`}}),(0,$.jsx)(Q.Text,{strong:!0,style:{fontSize:16},children:`创作记录管理`}),(0,$.jsxs)(u$,{color:`purple`,children:[n,` 条记录`]})]}),(0,$.jsxs)(yH,{children:[(0,$.jsx)(XC,{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)(XC,{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)(qW,{placeholder:`用户ID搜索`,prefix:(0,$.jsx)(GC,{style:{color:`#94a3b8`}}),style:{width:180},value:f,onChange:e=>p(e.target.value),onPressEnter:j,allowClear:!0}),(0,$.jsx)(qW,{placeholder:`用户名搜索`,prefix:(0,$.jsx)(GC,{style:{color:`#94a3b8`}}),style:{width:160},value:m,onChange:e=>h(e.target.value),onPressEnter:j,allowClear:!0}),(0,$.jsx)(aD,{type:`primary`,onClick:j,style:{borderRadius:8},children:`搜索`})]})]}),(0,$.jsx)(QQ,{rowKey:`id`,loading:i,columns:R,dataSource:e,scroll:{x:1180},pagination:{current:o,pageSize:e9,total:n,showSizeChanger:!1,showTotal:e=>`共 ${e} 条`,onChange:e=>s(e)}})]}),(0,$.jsx)(vK,{title:(0,$.jsxs)(yH,{children:[C?.genType===`video`?(0,$.jsx)(i8,{}):(0,$.jsx)(Y2,{}),(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)(u$,{color:z.color,icon:z.icon,children:z.text}):null,B?(0,$.jsx)(u$,{color:B.color,icon:B.icon,children:B.text}):null,C.pipelineStage?(0,$.jsx)(u$,{color:`blue`,children:r9[C.pipelineStage]||C.pipelineStage}):null]}),(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(m9,{label:`用户名称`,value:C.userName||`未知用户`}),(0,$.jsx)(m9,{label:`用户ID`,value:C.userId||`-`}),(0,$.jsx)(m9,{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)(m9,{label:`时长`,value:C.duration?`${C.duration}秒`:`-`}),(0,$.jsx)(m9,{label:`画面比例`,value:C.aspectRatio||`-`}),(0,$.jsx)(m9,{label:`分辨率`,value:C.resolution||`-`})]}):(0,$.jsxs)(`div`,{style:{display:`flex`,gap:16,padding:12,borderRadius:10,background:`#f8f9fc`,flexWrap:`wrap`},children:[(0,$.jsx)(m9,{label:`图片档位`,value:C.imageSize||`-`}),(0,$.jsx)(m9,{label:`图片比例`,value:C.imageProportion||`-`}),(0,$.jsx)(m9,{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)(m9,{label:`引擎名称`,value:C.engineSnapshot.name||`-`}),(0,$.jsx)(m9,{label:`服务商`,value:C.engineSnapshot.provider||`-`}),(0,$.jsx)(m9,{label:`模型`,value:C.engineSnapshot.modelName||`-`}),(0,$.jsx)(m9,{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)(m9,{label:`总积分`,value:(0,$.jsx)(Q.Text,{strong:!0,style:{color:`#6366f1`},children:C.creditsCost||0})}),(0,$.jsx)(m9,{label:`文字积分`,value:`${C.textCreditsCost||0} (${C.textTokensUsed||0} tokens)`}),(0,$.jsx)(m9,{label:`图片 tokens`,value:C.imageTokensUsed??0}),(0,$.jsx)(m9,{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)(m9,{label:`第三方任务ID`,value:C.providerTaskId||C.seedanceTaskId||`-`}),(0,$.jsx)(m9,{label:`轮询次数`,value:C.pollCount??0}),(0,$.jsx)(m9,{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:[`创建: `,s9(C.createdAt)]}),(0,$.jsxs)(`span`,{children:[`生成: `,s9(C.generatedAt)]})]})]}):(0,$.jsx)(bC,{description:`暂无详情`})})]})},h9=20,Ste=[{value:`pending`,label:`已创建`},{value:`waiting_user`,label:`等待用户操作`},{value:`processing`,label:`处理中`},{value:`completed`,label:`已完成`},{value:`failed`,label:`失败`},{value:`cancelled`,label:`已取消`}],Cte={pending:{color:`default`,text:`已创建`},waiting_user:{color:`processing`,text:`等待用户操作`},processing:{color:`warning`,text:`处理中`},completed:{color:`success`,text:`已完成`},failed:{color:`error`,text:`失败`},cancelled:{color:`default`,text:`已取消`}},wte={material_input:`素材输入`,image_prompt_optimize:`图片 AI 提词`,image_generate:`图片生成`,video_prompt_optimize:`视频 AI 提词`,video_generate:`视频生成`},g9=e=>e?$5(e):`-`,_9=e=>e?e.length>16?`${e.slice(0,10)}...`:e:`-`,Tte=({status:e})=>{if(!e)return(0,$.jsx)(u$,{children:`-`});let t=Cte[e]||{color:`blue`,text:e};return(0,$.jsx)(u$,{color:t.color,children:t.text})},Ete=()=>{let e=Je(),[t,n]=(0,x.useState)([]),[r,i]=(0,x.useState)(0),[a,o]=(0,x.useState)(!1),[s,c]=(0,x.useState)(1),[l,u]=(0,x.useState)(``),[d,f]=(0,x.useState)(``),[p,m]=(0,x.useState)(``),[h,g]=(0,x.useState)(``),[_,v]=(0,x.useState)(null),[y,b]=(0,x.useState)(``),[S,C]=(0,x.useState)(``),[w,T]=(0,x.useState)(``),[E,D]=(0,x.useState)(null),[O,k]=(0,x.useState)(0),A=(0,x.useCallback)(async()=>{o(!0);try{let e=await R5({status:l||void 0,keyword:y||void 0,userId:S||void 0,userName:w||void 0,createdStart:E?.[0]?.toISOString?.(),createdEnd:E?.[1]?.toISOString?.(),page:s,pageSize:h9});n(e.items||[]),i(e.total||0)}catch(e){hK.error(e?.message||`加载爆款开头复刻任务失败`)}finally{o(!1)}},[s,E,y,S,w,l]);(0,x.useEffect)(()=>{A()},[A,O]);let j=()=>{b(d.trim()),C(p.trim()),T(h.trim()),D(_),c(1)};return(0,$.jsx)(`div`,{style:{padding:24},children:(0,$.jsx)(_z,{children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(yH,{align:`center`,style:{justifyContent:`space-between`,width:`100%`},children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:3,style:{marginBottom:4},children:`爆款开头复刻`}),(0,$.jsx)(Q.Text,{type:`secondary`,children:`只读排查页面:查看任务列表、素材、步骤详情和生成结果。`})]}),(0,$.jsx)(aD,{icon:(0,$.jsx)(iq,{}),onClick:()=>k(e=>e+1),children:`刷新`})]}),(0,$.jsxs)(yH,{wrap:!0,children:[(0,$.jsx)(XC,{allowClear:!0,placeholder:`任务状态`,style:{width:160},value:l||void 0,onChange:e=>{u(e||``),c(1)},options:Ste}),(0,$.jsx)(qW,{allowClear:!0,prefix:(0,$.jsx)(GC,{}),placeholder:`关键词:标题/项目名/核心点`,style:{width:260},value:d,onChange:e=>f(e.target.value),onPressEnter:j}),(0,$.jsx)(qW,{allowClear:!0,placeholder:`用户ID(管理员)`,style:{width:190},value:p,onChange:e=>m(e.target.value),onPressEnter:j}),(0,$.jsx)(qW,{allowClear:!0,placeholder:`用户名(管理员)`,style:{width:230},value:h,onChange:e=>g(e.target.value),onPressEnter:j}),(0,$.jsx)(DV.RangePicker,{showTime:!0,value:_,onChange:v,placeholder:[`创建开始`,`创建结束`]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(GC,{}),onClick:j,children:`搜索`}),(0,$.jsx)(aD,{onClick:()=>{u(``),f(``),m(``),g(``),v(null),b(``),C(``),T(``),D(null),c(1),k(e=>e+1)},children:`重置`})]}),(0,$.jsx)(QQ,{rowKey:`id`,loading:a,dataSource:t,pagination:{current:s,pageSize:h9,total:r,showSizeChanger:!1,showTotal:e=>`共 ${e} 条`,onChange:c},scroll:{x:1380},columns:[{title:`项目ID`,dataIndex:`id`,width:150,render:e=>(0,$.jsx)(Bw,{title:e,children:_9(e)})},{title:`用户`,width:180,render:(e,t)=>(0,$.jsxs)(yH,{direction:`vertical`,size:0,children:[(0,$.jsx)(Q.Text,{children:t.userName||`-`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:_9(t.userId)})]})},{title:`项目信息`,width:260,render:(e,t)=>(0,$.jsxs)(yH,{direction:`vertical`,size:2,children:[(0,$.jsx)(Q.Text,{strong:!0,children:t.title||t.targetProjectName||`-`}),(0,$.jsxs)(Q.Text,{type:`secondary`,ellipsis:!0,style:{maxWidth:240},children:[`素材:`,t.sourceProjectName||`-`]}),(0,$.jsxs)(Q.Text,{type:`secondary`,ellipsis:!0,style:{maxWidth:240},children:[`核心:`,t.coreContentPoint||`-`]})]})},{title:`状态`,dataIndex:`status`,width:130,render:e=>(0,$.jsx)(Tte,{status:e})},{title:`当前步骤`,dataIndex:`currentStepCode`,width:140,render:e=>wte[e]||e||`-`},{title:`图片结果`,dataIndex:`finalImageUrl`,width:90,render:e=>e?(0,$.jsx)(u$,{color:`success`,children:`有`}):(0,$.jsx)(u$,{children:`无`})},{title:`视频结果`,dataIndex:`finalVideoUrl`,width:90,render:e=>e?(0,$.jsx)(u$,{color:`success`,children:`有`}):(0,$.jsx)(u$,{children:`无`})},{title:`错误信息`,dataIndex:`errorMessage`,width:220,ellipsis:!0,render:e=>e||`-`},{title:`创建时间`,dataIndex:`createdAt`,width:170,render:g9},{title:`更新时间`,dataIndex:`updatedAt`,width:170,render:g9},{title:`操作`,fixed:`right`,width:110,render:(t,n)=>(0,$.jsx)(aD,{type:`link`,icon:(0,$.jsx)(TW,{}),onClick:()=>e(`/hot-opening-replications/${n.id}`),children:`详情`})}]})]})})})},v9=({value:e,maxHeight:t=420})=>e==null||e===``?(0,$.jsx)(bC,{image:bC.PRESENTED_IMAGE_SIMPLE,description:`暂无 JSON 数据`}):(0,$.jsx)(`pre`,{style:{margin:0,padding:12,maxHeight:t,overflow:`auto`,background:`#0f172a`,color:`#e2e8f0`,borderRadius:8,fontSize:12,lineHeight:1.6},children:JSON.stringify(e,null,2)}),Dte=({input:e,output:t,raw:n,inputLabel:r=`查看 input_json`,outputLabel:i=`查看 output_json`,rawLabel:a=`查看原始 JSON`})=>{let o=[];return e!==void 0&&o.push({key:`input`,label:r,children:(0,$.jsx)(v9,{value:e})}),t!==void 0&&o.push({key:`output`,label:i,children:(0,$.jsx)(v9,{value:t})}),n!==void 0&&o.push({key:`raw`,label:a,children:(0,$.jsx)(v9,{value:n})}),o.length?(0,$.jsx)(Ng,{size:`small`,style:{marginTop:12},items:o}):null},Ote=`http://apiforeign.minzhong.cn`.replace(/\/api\/?$/i,``).replace(/\/$/,``);function kte(e){if(!e)return``;let t=String(e).trim();return t?/^(https?:)?\/\//i.test(t)||/^(blob|data):/i.test(t)?t:`${Ote}${t.startsWith(`/`)?t:`/${t}`}`:``}var y9=({url:e,type:t,height:n=260,emptyDescription:r=`暂无资源`,errorDescription:i=`资源加载失败,可能文件不存在、签名过期或访问权限受限。`})=>{let a=(0,x.useMemo)(()=>kte(e),[e]),[o,s]=(0,x.useState)(!1);(0,x.useEffect)(()=>{s(!1)},[a]);let c=a?(0,$.jsxs)(yH,{wrap:!0,style:{marginTop:8},children:[(0,$.jsx)(aD,{size:`small`,icon:(0,$.jsx)(z$,{}),onClick:async()=>{if(a)try{await navigator.clipboard.writeText(a),hK.success(`资源地址已复制`)}catch{hK.error(`复制失败,请手动复制`)}},children:`复制地址`}),(0,$.jsx)(aD,{size:`small`,icon:(0,$.jsx)(L4,{}),onClick:()=>window.open(a,`_blank`,`noopener,noreferrer`),children:`新窗口打开`}),(0,$.jsx)(Q.Text,{copyable:{text:a},type:`secondary`,style:{maxWidth:460},ellipsis:!0,children:a})]}):null;return a?(0,$.jsxs)(`div`,{children:[o?(0,$.jsx)(af,{type:`warning`,showIcon:!0,message:`资源预览失败`,description:i,style:{marginBottom:8}}):null,t===`image`?(0,$.jsx)(fW,{src:a,onError:()=>s(!0),style:{width:`100%`,maxHeight:n,objectFit:`contain`,borderRadius:12,background:`#f8fafc`,border:`1px solid #f1f5f9`},fallback:``,preview:!o}):(0,$.jsx)(`video`,{src:a,controls:!0,preload:`metadata`,onError:()=>s(!0),style:{width:`100%`,maxHeight:n,borderRadius:12,background:`#0f172a`,border:`1px solid #f1f5f9`}}),c]}):(0,$.jsx)(`div`,{children:(0,$.jsx)(`div`,{style:{height:n,borderRadius:12,border:`1px dashed #cbd5e1`,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`#f8fafc`},children:(0,$.jsx)(bC,{image:bC.PRESENTED_IMAGE_SIMPLE,description:r})})})},b9={pending:{text:`待处理`,color:`default`},waiting_user:{text:`等待用户操作`,color:`processing`},processing:{text:`处理中`,color:`warning`},completed:{text:`已完成`,color:`success`},failed:{text:`失败`,color:`error`},cancelled:{text:`已取消`,color:`default`},canceled:{text:`已取消`,color:`default`},timeout:{text:`已超时`,color:`error`},queued:{text:`已入队`,color:`processing`},preparing:{text:`准备中`,color:`processing`},creating_provider_task:{text:`创建远端任务`,color:`processing`},waiting_remote:{text:`等待远端结果`,color:`processing`},polling:{text:`轮询远端结果`,color:`processing`},result_ready:{text:`结果已就绪`,color:`success`},downloading:{text:`下载中`,color:`processing`},done:{text:`已完成`,color:`success`},download_failed:{text:`下载失败`,color:`error`},retry_waiting:{text:`等待重试`,color:`orange`},pending_analysis:{text:`等待分析`,color:`default`},analyzing:{text:`分析中`,color:`processing`},analysis_completed:{text:`分析完成`,color:`success`},analysis_failed:{text:`分析失败`,color:`error`},splitting:{text:`拆镜中`,color:`warning`},split_completed:{text:`拆镜完成`,color:`success`},partial_failed:{text:`部分失败`,color:`orange`},none:{text:`未拆镜`,color:`default`},not_required:{text:`无需处理`,color:`default`},not_started:{text:`未开始`,color:`default`},project_created:{text:`已创建项目`,color:`processing`},true:{text:`是`,color:`success`},false:{text:`否`,color:`default`}},x9={material_input:`素材输入`,image_prompt_optimize:`图片 AI 提词`,image_generate:`图片生成`,video_prompt_optimize:`视频 AI 提词`,video_generate:`视频生成`},S9={hot_opening_replicate:`爆款开头复刻`,shot_replicate:`拆镜复刻`},C9={ai_suggestion:{text:`AI 建议`,color:`purple`},custom:{text:`自定义`,color:`cyan`},original:{text:`原视频`,color:`blue`}};function w9(e){return e?S9[e]||e:`-`}function T9(e){return e?x9[e]||e:`-`}function Ate(e){return e?b9[e]?.text||x9[e]||S9[e]||C9[e]?.text||e:`-`}function jte(e){return e?b9[e]?.color||C9[e]?.color||`blue`:`default`}var E9=({status:e,tooltipRaw:t=!0})=>{if(e==null||e===``)return(0,$.jsx)(u$,{children:`-`});let n=String(e),r=Ate(n),i=(0,$.jsx)(u$,{color:jte(n),children:r});return!t||r===n?i:(0,$.jsx)(Bw,{title:n,children:i})},Mte={schema_version:`Schema 版本`,generation_type:`生成类型`,business_type:`业务类型`,usage:`用途`,product_type:`产品类型`,target_audience:`目标受众`,style:`风格`,aspect_ratio:`画面比例`,resolution:`分辨率`,duration:`时长`,fps:`帧率`,final_prompt:`最终提示词`,prompt:`提示词`,description:`说明`,content:`内容`,time:`时间`,time_range:`时间段`,start_time:`开始时间`,end_time:`结束时间`,stage:`阶段`,scene:`场景`,action:`动作`,camera:`镜头`,shot:`镜头`,lens:`镜头`,subtitle:`字幕`,voiceover:`口播`,audio:`音频`,rhythm:`节奏`,notes:`备注`},Nte={basic:`基础信息`,basic_info:`基础信息`,material:`素材理解`,material_understanding:`素材理解`,business:`业务属性`,business_info:`业务属性`,visual:`画面与风格`,visual_style:`画面与风格`,time_plan:`时间规划`,timeline:`时间规划`,scene_timeline:`场景时间线`,action_flow:`动作流程`,motion_flow:`动作流程`,character_action_flow:`角色动作流程`,camera_flow:`镜头流程`,shot_flow:`镜头流程`,lens_flow:`镜头流程`,subtitle:`字幕`,subtitles:`字幕`,voiceover:`口播`,audio:`音频`,rhythm:`节奏`,compliance:`合规控制`,final_prompt:`最终提示词`},D9=e=>!!e&&typeof e==`object`&&!Array.isArray(e),O9=e=>Nte[e]||Mte[e]||e,k9=e=>typeof e==`string`&&e.length>80,A9=new Set([``,`无`,`null`,`None`,`none`,`未提及`,`不适用`]),Pte=new Set([`展示主体动作、核心卖点或主要视觉内容`,`展示主要动作、核心卖点或主要视觉内容`,`展示核心卖点或主要视觉内容`,`展示主体动作`,`无`]),Fte=[`动作内容`,`动作`,`动作说明`,`内容`,`说明`,`主体动作`,`动作变化`],Ite=[`镜头内容`,`镜头`,`镜头说明`,`运镜`,`运镜说明`,`内容`,`说明`],j9=e=>{if(e==null)return``;if(typeof e==`string`)return e.trim();if(typeof e==`number`||typeof e==`boolean`)return String(e);try{return JSON.stringify(e)}catch{return String(e)}},Lte=e=>A9.has(j9(e)),Rte=e=>{let t=e.toLowerCase();return t.includes(`action`)||t.includes(`motion`)||t.includes(`动作`)},zte=e=>{let t=e.toLowerCase();return t.includes(`camera`)||t.includes(`shot`)||t.includes(`lens`)||t.includes(`镜头`)},Bte=e=>{let t=e.toLowerCase();return t.includes(`time`)||t.includes(`timeline`)||t.includes(`时间规划`)||t.includes(`动态时间规划`)},Vte=(e,t)=>{for(let n of t)if(n in e&&!Lte(e[n]))return j9(e[n]);return``},Hte=(e,t)=>{let n=e.trim(),r=t.filter((e,n)=>e&&t.indexOf(e)===n);if(r.length&&(!n||Pte.has(n)))return r.join(`;`);let i=n&&!A9.has(n)?[n]:[];return r.forEach(e=>{e&&!i.includes(e)&&i.push(e)}),i.join(`;`)||`-`},M9=(e,t,n)=>{let r=new Set([`时间段`,t,...n]),i=[];return Object.entries(e).forEach(([e,t])=>{if(r.has(e))return;let n=j9(e),a=j9(t);n&&!A9.has(n)&&i.push(n),a&&!A9.has(a)&&a!==n&&i.push(a)}),{时间段:j9(e.时间段)||`-`,[t]:Hte(Vte(e,n),i)}},N9=(e,t)=>Rte(e)?M9(t,`动作内容`,Fte):zte(e)?M9(t,`镜头内容`,Ite):Bte(e)?{时间段:j9(t.时间段)||`-`,阶段:j9(t.阶段)||`-`,说明:j9(t.说明)||`-`}:t,P9=e=>e==null||e===``?(0,$.jsx)(Q.Text,{type:`secondary`,children:`-`}):typeof e==`boolean`?e?`是`:`否`:typeof e==`number`?e:typeof e==`string`?(0,$.jsx)(Q.Paragraph,{style:{marginBottom:0,whiteSpace:`pre-wrap`},children:e}):(0,$.jsx)(v9,{value:e,maxHeight:220}),Ute=e=>{let t=e.toLowerCase();return t.includes(`action`)||t.includes(`motion`)||t.includes(`camera`)||t.includes(`shot`)||t.includes(`lens`)||t.includes(`flow`)||t.includes(`动作`)||t.includes(`镜头`)?`card`:`table`},Wte=(e,t)=>(0,$.jsx)(yH,{direction:`vertical`,size:12,style:{width:`100%`},children:t.map((t,n)=>{let r=N9(e,t);return(0,$.jsx)(_z,{size:`small`,title:`${O9(e)} ${n+1}`,styles:{body:{padding:12}},children:(0,$.jsx)(VV,{size:`small`,column:1,bordered:!0,children:Object.entries(r).map(([e,t])=>(0,$.jsx)(VV.Item,{label:O9(e),children:P9(t)},e))})},`${e}-${n}`)})}),Gte=(e,t)=>{let n=t.map(t=>N9(e,t)),r=Array.from(new Set(n.flatMap(e=>Object.keys(e))));return(0,$.jsx)(QQ,{size:`small`,rowKey:(t,n)=>`${e}-${n}`,columns:r.map(e=>({title:O9(e),dataIndex:e,key:e,width:k9(n.find(t=>t[e])?.[e])?280:160,render:e=>P9(e)})),dataSource:n,pagination:!1,scroll:{x:Math.max(900,r.length*180)},tableLayout:`fixed`})},F9=(e,t)=>t.length?t.every(D9)?Ute(e)===`card`?Wte(e,t):Gte(e,t):(0,$.jsx)(v9,{value:t,maxHeight:260}):(0,$.jsx)(bC,{image:bC.PRESENTED_IMAGE_SIMPLE,description:`暂无数据`}),I9=e=>(0,$.jsx)(VV,{size:`small`,column:2,bordered:!0,children:Object.entries(e).map(([e,t])=>(0,$.jsx)(VV.Item,{label:O9(e),span:Array.isArray(t)||D9(t)||k9(t)?2:1,children:Array.isArray(t)?F9(e,t):D9(t)?I9(t):P9(t)},e))}),Kte=(e,t)=>Array.isArray(t)?F9(e,t):D9(t)?I9(t):P9(t),L9=({schema:e,finalPrompt:t})=>{let n=!!e&&Object.keys(e).length>0;if(!n&&!t)return(0,$.jsx)(bC,{description:`暂无视频提词 schema`});let r=n?Object.entries(e||{}).map(([e,t])=>({key:e,label:O9(e),children:Kte(e,t)})):[],i=t?[`final_prompt`]:[];return(0,$.jsxs)(yH,{direction:`vertical`,size:12,style:{width:`100%`},children:[t?(0,$.jsx)(_z,{size:`small`,title:`最终视频提示词`,children:(0,$.jsx)(Q.Paragraph,{style:{whiteSpace:`pre-wrap`,marginBottom:0},children:t})}):null,r.length?(0,$.jsx)(Ng,{size:`small`,defaultActiveKey:i,items:r}):null]})},qte=[`material_input`,`image_prompt_optimize`,`image_generate`,`video_prompt_optimize`,`video_generate`],Jte={material_input:`参考素材、项目名称和核心内容点`,image_prompt_optimize:`图片 AI 提词优化结果`,image_generate:`图片引擎、生成参数和结果图`,video_prompt_optimize:`视频 JSON schema、动作流程和最终提词`,video_generate:`视频引擎、生成参数、封面和结果视频`},R9=e=>e?$5(e):`-`,z9=e=>e?e.length>18?`${e.slice(0,10)}...${e.slice(-4)}`:e:`-`,Yte=({text:e=`-`})=>(0,$.jsx)(Q.Text,{type:`secondary`,children:e}),B9=({step:e})=>e?(0,$.jsx)(Dte,{input:e.input,output:e.output}):null,V9=({index:e,stepCode:t,step:n,current:r})=>(0,$.jsxs)(yH,{wrap:!0,size:8,children:[(0,$.jsx)(Q.Text,{strong:!0,children:`第${e}步:${T9(t)}`}),(0,$.jsx)(E9,{status:n?.status||`not_started`}),r?(0,$.jsx)(u$,{color:`blue`,children:`当前步骤`}):null,(0,$.jsx)(Q.Text,{type:`secondary`,children:Jte[t]||t}),n?.updatedAt?(0,$.jsxs)(Q.Text,{type:`secondary`,children:[`更新时间:`,R9(n.updatedAt)]}):null,n?.chatTaskId?(0,$.jsx)(Bw,{title:n.chatTaskId,children:(0,$.jsxs)(u$,{children:[`Chat:`,z9(n.chatTaskId)]})}):null]}),Xte=(e,t)=>{if(!e)return[];let n=new Set;return n.add(`material_input`),e.currentStepCode&&n.add(e.currentStepCode),Object.values(t).forEach(e=>{(e.status===`failed`||e.errorMessage)&&n.add(e.stepCode)}),e.errorMessage&&n.add(e.currentStepCode||`material_input`),Array.from(n)},H9=(e,t=`错误信息`)=>e?(0,$.jsx)(af,{type:`error`,showIcon:!0,message:t,description:e,style:{marginTop:12,marginBottom:12}}):null,Zte=(e,t=`暂无提词`)=>e?(0,$.jsx)(Q.Paragraph,{style:{whiteSpace:`pre-wrap`,marginBottom:0},children:e}):(0,$.jsx)(Yte,{text:t}),U9=({moduleType:e=`shot_replicate`})=>{let{projectId:t}=Qe(),n=Je(),[r,i]=(0,x.useState)(null),[a,o]=(0,x.useState)(!1),s=(0,x.useCallback)(async()=>{if(t){o(!0);try{i(e===`hot_opening_replicate`?await z5(t):await W5(t))}catch(e){hK.error(e?.message||`加载复刻项目详情失败`)}finally{o(!1)}}},[e,t]);(0,x.useEffect)(()=>{s()},[s]);let c=(0,x.useMemo)(()=>{let e={};return(r?.steps||[]).forEach(t=>{e[t.stepCode]=t}),e},[r]),l=r?.module||e,u=w9(l),d=(0,x.useMemo)(()=>qte.map(e=>{let t=c[e],n=`wait`;return t?.status===`completed`?n=`finish`:t?.status===`processing`?n=`process`:t?.status===`failed`&&(n=`error`),{title:T9(e),description:t?(0,$.jsx)(E9,{status:t.status}):`未创建`,status:n}}),[c]),f=(0,x.useMemo)(()=>Xte(r,c),[r,c]);if(a&&!r)return(0,$.jsx)(`div`,{style:{padding:64,textAlign:`center`},children:(0,$.jsx)(eK,{size:`large`})});if(!r)return(0,$.jsx)(_z,{style:{margin:24},children:(0,$.jsx)(bC,{description:`未找到复刻项目详情`})});let p=c.material_input,m=c.image_prompt_optimize,h=c.image_generate,g=c.video_prompt_optimize,_=c.video_generate,v=r.imageGeneration?.resultImageUrl||r.finalImageUrl,y=r.videoGeneration?.resultVideoCoverUrl||r.finalVideoCoverUrl,b=r.videoGeneration?.resultVideoUrl||r.finalVideoUrl,S=[{key:`material_input`,label:(0,$.jsx)(V9,{index:1,stepCode:`material_input`,step:p,current:r.currentStepCode===`material_input`}),children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(VV,{column:2,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`模块类型`,children:(0,$.jsx)(E9,{status:l})}),(0,$.jsx)(VV.Item,{label:`素材步骤ID`,children:r.material?.materialStepId||`-`}),(0,$.jsx)(VV.Item,{label:`参考素材项目名`,children:r.material?.sourceProjectName||`-`}),(0,$.jsx)(VV.Item,{label:`生成项目名称`,children:r.material?.targetProjectName||`-`}),(0,$.jsx)(VV.Item,{label:`核心内容点`,span:2,children:r.material?.coreContentPoint||`-`})]}),(0,$.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(320px, 1fr))`,gap:16},children:[(0,$.jsx)(_z,{size:`small`,title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(S3,{}),`素材视频`]}),children:(0,$.jsx)(y9,{type:`video`,url:r.material?.materialVideoUrl,emptyDescription:`暂无素材视频`})}),(0,$.jsx)(_z,{size:`small`,title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(Y2,{}),`素材图片`]}),children:(0,$.jsx)(y9,{type:`image`,url:r.material?.materialImageUrl,emptyDescription:`暂无素材图片`})})]}),H9(p?.errorMessage),(0,$.jsx)(B9,{step:p})]})},{key:`image_prompt_optimize`,label:(0,$.jsx)(V9,{index:2,stepCode:`image_prompt_optimize`,step:m,current:r.currentStepCode===`image_prompt_optimize`}),children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(VV,{column:2,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`提词步骤ID`,children:r.imageGeneration?.promptStepId||`-`}),(0,$.jsx)(VV.Item,{label:`步骤状态`,children:(0,$.jsx)(E9,{status:m?.status||r.imageGeneration?.status})}),(0,$.jsx)(VV.Item,{label:`图片提示词`,span:2,children:Zte(r.imageGeneration?.prompt,`暂无图片提示词`)})]}),H9(m?.errorMessage||r.imageGeneration?.errorMessage),(0,$.jsx)(B9,{step:m})]})},{key:`image_generate`,label:(0,$.jsx)(V9,{index:3,stepCode:`image_generate`,step:h,current:r.currentStepCode===`image_generate`}),children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(VV,{column:3,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`生成步骤ID`,children:r.imageGeneration?.generateStepId||`-`}),(0,$.jsx)(VV.Item,{label:`Chat任务ID`,children:r.imageGeneration?.chatTaskId||`-`}),(0,$.jsx)(VV.Item,{label:`状态`,children:(0,$.jsx)(E9,{status:r.imageGeneration?.status||h?.status})}),(0,$.jsx)(VV.Item,{label:`图片引擎ID`,children:r.imageGeneration?.engineId||`-`}),(0,$.jsx)(VV.Item,{label:`图片引擎名称`,children:r.imageGeneration?.engineName||`-`}),(0,$.jsx)(VV.Item,{label:`生成参数`,span:3,children:(0,$.jsx)(v9,{value:r.imageGeneration?.params||{},maxHeight:160})})]}),H9(r.imageGeneration?.errorMessage||h?.errorMessage),(0,$.jsx)(_z,{size:`small`,title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(Y2,{}),`图片结果`]}),children:(0,$.jsx)(y9,{type:`image`,url:v,height:360,emptyDescription:h?.status===`failed`||r.imageGeneration?.errorMessage?`图片生成失败,未返回图片地址`:`暂无图片结果`,errorDescription:`图片资源加载失败,可能图片文件不存在、签名过期或访问权限受限。`})}),(0,$.jsx)(B9,{step:h})]})},{key:`video_prompt_optimize`,label:(0,$.jsx)(V9,{index:4,stepCode:`video_prompt_optimize`,step:g,current:r.currentStepCode===`video_prompt_optimize`}),children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(VV,{column:3,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`提词步骤ID`,children:r.videoGeneration?.promptStepId||`-`}),(0,$.jsx)(VV.Item,{label:`步骤状态`,children:(0,$.jsx)(E9,{status:g?.status})}),(0,$.jsx)(VV.Item,{label:`提词参数`,span:3,children:(0,$.jsx)(v9,{value:r.videoGeneration?.promptParams||{},maxHeight:160})})]}),H9(g?.errorMessage||r.videoGeneration?.errorMessage),(0,$.jsx)(L9,{schema:r.videoGeneration?.promptSchema,finalPrompt:r.videoGeneration?.finalPrompt}),(0,$.jsx)(B9,{step:g})]})},{key:`video_generate`,label:(0,$.jsx)(V9,{index:5,stepCode:`video_generate`,step:_,current:r.currentStepCode===`video_generate`}),children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(VV,{column:3,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`生成步骤ID`,children:r.videoGeneration?.generateStepId||`-`}),(0,$.jsx)(VV.Item,{label:`Chat任务ID`,children:r.videoGeneration?.chatTaskId||`-`}),(0,$.jsx)(VV.Item,{label:`状态`,children:(0,$.jsx)(E9,{status:r.videoGeneration?.status||_?.status})}),(0,$.jsx)(VV.Item,{label:`视频引擎ID`,children:r.videoGeneration?.engineId||`-`}),(0,$.jsx)(VV.Item,{label:`视频引擎名称`,children:r.videoGeneration?.engineName||`-`}),(0,$.jsx)(VV.Item,{label:`生成参数`,span:3,children:(0,$.jsx)(v9,{value:r.videoGeneration?.params||{},maxHeight:160})})]}),H9(r.videoGeneration?.errorMessage||_?.errorMessage),(0,$.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(320px, 1fr))`,gap:16},children:[(0,$.jsx)(_z,{size:`small`,title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(Y2,{}),`视频封面`]}),children:(0,$.jsx)(y9,{type:`image`,url:y,emptyDescription:_?.status===`failed`||r.videoGeneration?.errorMessage?`视频生成失败,未返回封面`:`暂无视频封面`,errorDescription:`视频封面加载失败,可能文件不存在、签名过期或访问权限受限。`})}),(0,$.jsx)(_z,{size:`small`,title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(i8,{}),`最终视频`]}),children:(0,$.jsx)(y9,{type:`video`,url:b,emptyDescription:_?.status===`failed`||r.videoGeneration?.errorMessage?`视频生成失败,未返回视频地址`:`暂无最终视频`,errorDescription:`视频资源加载失败,可能文件不存在、签名过期或访问权限受限。`})})]}),(0,$.jsx)(B9,{step:_})]})}];return(0,$.jsx)(`div`,{style:{padding:24},children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(yH,{wrap:!0,style:{justifyContent:`space-between`,width:`100%`},children:[(0,$.jsxs)(yH,{wrap:!0,children:[(0,$.jsx)(aD,{icon:(0,$.jsx)(O0,{}),onClick:()=>n(-1),children:`返回`}),(0,$.jsxs)(Q.Title,{level:3,style:{margin:0},children:[u,`项目详情`]}),(0,$.jsx)(E9,{status:r.status}),r.module&&r.module!==e?(0,$.jsxs)(u$,{color:`gold`,children:[`接口模块:`,w9(r.module)]}):null]}),(0,$.jsx)(aD,{onClick:s,loading:a,children:`刷新`})]}),(0,$.jsx)(_z,{children:(0,$.jsxs)(VV,{title:`基础信息`,column:3,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`项目ID`,children:r.id}),(0,$.jsx)(VV.Item,{label:`模块类型`,children:(0,$.jsx)(E9,{status:l})}),(0,$.jsx)(VV.Item,{label:`用户ID`,children:r.userId||`-`}),(0,$.jsx)(VV.Item,{label:`用户名`,children:r.userName||`-`}),(0,$.jsx)(VV.Item,{label:`标题`,children:r.title||`-`}),(0,$.jsx)(VV.Item,{label:`当前步骤`,children:(0,$.jsx)(Bw,{title:r.currentStepCode||``,children:T9(r.currentStepCode)})}),(0,$.jsx)(VV.Item,{label:`状态`,children:(0,$.jsx)(E9,{status:r.status})}),(0,$.jsx)(VV.Item,{label:`创建时间`,children:R9(r.createdAt)}),(0,$.jsx)(VV.Item,{label:`更新时间`,children:R9(r.updatedAt)}),(0,$.jsx)(VV.Item,{label:`完成时间`,children:R9(r.completedAt)}),r.errorMessage?(0,$.jsx)(VV.Item,{label:`错误信息`,span:3,children:(0,$.jsx)(af,{type:`error`,showIcon:!0,message:r.errorMessage})}):null]})}),(0,$.jsx)(_z,{title:`步骤进度`,children:(0,$.jsx)(tJ,{items:d})}),(0,$.jsx)(_z,{title:`最终结果预览`,children:(0,$.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(280px, 1fr))`,gap:16},children:[(0,$.jsx)(_z,{size:`small`,title:`最终图片`,children:(0,$.jsx)(y9,{type:`image`,url:r.finalImageUrl||r.imageGeneration?.resultImageUrl,height:220,emptyDescription:`暂无最终图片`})}),(0,$.jsx)(_z,{size:`small`,title:`最终视频封面`,children:(0,$.jsx)(y9,{type:`image`,url:r.finalVideoCoverUrl||r.videoGeneration?.resultVideoCoverUrl,height:220,emptyDescription:`暂无最终视频封面`})}),(0,$.jsx)(_z,{size:`small`,title:`最终视频`,children:(0,$.jsx)(y9,{type:`video`,url:r.finalVideoUrl||r.videoGeneration?.resultVideoUrl,height:220,emptyDescription:`暂无最终视频`})})]})}),(0,$.jsx)(Ng,{defaultActiveKey:f,items:S}),(0,$.jsx)(Ng,{items:[{key:`steps-table`,label:`完整步骤列表`,children:(0,$.jsx)(QQ,{rowKey:`id`,size:`small`,pagination:!1,dataSource:r.steps||[],scroll:{x:1100},columns:[{title:`序号`,dataIndex:`stepIndex`,width:70},{title:`步骤`,dataIndex:`stepCode`,width:160,render:e=>(0,$.jsx)(Bw,{title:e,children:T9(e)})},{title:`状态`,dataIndex:`status`,width:120,render:e=>(0,$.jsx)(E9,{status:e})},{title:`版本`,dataIndex:`version`,width:70},{title:`当前有效`,dataIndex:`isCurrent`,width:90,render:e=>e?(0,$.jsx)(u$,{color:`success`,children:`是`}):(0,$.jsx)(u$,{children:`否`})},{title:`Chat任务`,dataIndex:`chatTaskId`,width:160,render:e=>(0,$.jsx)(Bw,{title:e||``,children:z9(e)})},{title:`创建时间`,dataIndex:`createdAt`,width:170,render:R9},{title:`完成时间`,dataIndex:`completedAt`,width:170,render:R9},{title:`错误`,dataIndex:`errorMessage`,ellipsis:!0,render:e=>e||`-`}]})},{key:`raw-detail`,label:`完整详情原始 JSON`,children:(0,$.jsx)(v9,{value:r,maxHeight:520})}]})]})})},Qte=()=>(0,$.jsx)(U9,{moduleType:`hot_opening_replicate`}),W9=20,$te=[{value:`pending_analysis`,label:`等待分析`},{value:`analyzing`,label:`分析中`},{value:`analysis_completed`,label:`分析完成`},{value:`analysis_failed`,label:`分析失败`},{value:`splitting`,label:`拆镜中`},{value:`split_completed`,label:`拆镜完成`},{value:`partial_failed`,label:`部分失败`},{value:`failed`,label:`失败`}],ene=[{value:`pending`,label:`待分析`},{value:`processing`,label:`分析中`},{value:`completed`,label:`分析完成`},{value:`failed`,label:`分析失败`}],tne=[{value:`none`,label:`未拆镜`},{value:`pending`,label:`待拆镜`},{value:`processing`,label:`拆镜中`},{value:`completed`,label:`拆镜完成`},{value:`failed`,label:`拆镜失败`},{value:`retry_waiting`,label:`等待重试`}],nne={pending_analysis:{color:`default`,text:`等待分析`},analyzing:{color:`processing`,text:`分析中`},analysis_completed:{color:`success`,text:`分析完成`},analysis_failed:{color:`error`,text:`分析失败`},splitting:{color:`warning`,text:`拆镜中`},split_completed:{color:`success`,text:`拆镜完成`},partial_failed:{color:`orange`,text:`部分失败`},failed:{color:`error`,text:`失败`},none:{color:`default`,text:`未拆镜`},pending:{color:`default`,text:`待处理`},processing:{color:`warning`,text:`处理中`},completed:{color:`success`,text:`完成`},retry_waiting:{color:`orange`,text:`等待重试`}},G9=e=>e?$5(e):`-`,K9=e=>e?e.length>16?`${e.slice(0,10)}...`:e:`-`,q9=({status:e})=>{if(!e)return(0,$.jsx)(u$,{children:`-`});let t=nne[e]||{color:`blue`,text:e};return(0,$.jsx)(u$,{color:t.color,children:t.text})},rne=()=>{let e=Je(),[t,n]=(0,x.useState)([]),[r,i]=(0,x.useState)(0),[a,o]=(0,x.useState)(!1),[s,c]=(0,x.useState)(1),[l,u]=(0,x.useState)(``),[d,f]=(0,x.useState)(``),[p,m]=(0,x.useState)(``),[h,g]=(0,x.useState)(``),[_,v]=(0,x.useState)(``),[y,b]=(0,x.useState)(``),[S,C]=(0,x.useState)(null),[w,T]=(0,x.useState)(``),[E,D]=(0,x.useState)(``),[O,k]=(0,x.useState)(``),[A,j]=(0,x.useState)(null),[M,N]=(0,x.useState)(0),P=(0,x.useCallback)(async()=>{o(!0);try{let e=await B5({status:l||void 0,analysisStatus:d||void 0,splitStatus:p||void 0,keyword:w||void 0,userId:E||void 0,userName:O||void 0,createdStart:A?.[0]?.toISOString?.(),createdEnd:A?.[1]?.toISOString?.(),page:s,pageSize:W9});n(e.items||[]),i(e.total||0)}catch(e){hK.error(e?.message||`加载拆镜复刻任务失败`)}finally{o(!1)}},[d,s,A,w,E,O,p,l]);(0,x.useEffect)(()=>{P()},[P,M]);let F=()=>{T(h.trim()),D(_.trim()),k(y.trim()),j(S),c(1)};return(0,$.jsx)(`div`,{style:{padding:24},children:(0,$.jsx)(_z,{children:(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(yH,{align:`center`,style:{justifyContent:`space-between`,width:`100%`},children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(Q.Title,{level:3,style:{marginBottom:4},children:`拆镜复刻`}),(0,$.jsx)(Q.Text,{type:`secondary`,children:`只读排查页面:查看拆镜总任务、AI 分析结果、切片列表和关联复刻项目。`})]}),(0,$.jsx)(aD,{icon:(0,$.jsx)(iq,{}),onClick:()=>N(e=>e+1),children:`刷新`})]}),(0,$.jsxs)(yH,{wrap:!0,children:[(0,$.jsx)(XC,{allowClear:!0,placeholder:`总任务状态`,style:{width:150},value:l||void 0,onChange:e=>{u(e||``),c(1)},options:$te}),(0,$.jsx)(XC,{allowClear:!0,placeholder:`分析状态`,style:{width:140},value:d||void 0,onChange:e=>{f(e||``),c(1)},options:ene}),(0,$.jsx)(XC,{allowClear:!0,placeholder:`拆镜状态`,style:{width:140},value:p||void 0,onChange:e=>{m(e||``),c(1)},options:tne}),(0,$.jsx)(qW,{allowClear:!0,prefix:(0,$.jsx)(GC,{}),placeholder:`关键词:标题/内容/分类/受众`,style:{width:260},value:h,onChange:e=>g(e.target.value),onPressEnter:F}),(0,$.jsx)(qW,{allowClear:!0,placeholder:`用户ID(管理员)`,style:{width:190},value:_,onChange:e=>v(e.target.value),onPressEnter:F}),(0,$.jsx)(qW,{allowClear:!0,placeholder:`用户名(管理员)`,style:{width:230},value:y,onChange:e=>b(e.target.value),onPressEnter:F}),(0,$.jsx)(DV.RangePicker,{showTime:!0,value:S,onChange:C,placeholder:[`创建开始`,`创建结束`]}),(0,$.jsx)(aD,{type:`primary`,icon:(0,$.jsx)(GC,{}),onClick:F,children:`搜索`}),(0,$.jsx)(aD,{onClick:()=>{u(``),f(``),m(``),g(``),v(``),b(``),C(null),T(``),D(``),k(``),j(null),c(1),N(e=>e+1)},children:`重置`})]}),(0,$.jsx)(QQ,{rowKey:`id`,loading:a,dataSource:t,pagination:{current:s,pageSize:W9,total:r,showSizeChanger:!1,showTotal:e=>`共 ${e} 条`,onChange:c},scroll:{x:1500},columns:[{title:`任务集ID`,dataIndex:`id`,width:150,render:e=>(0,$.jsx)(Bw,{title:e,children:K9(e)})},{title:`用户`,width:180,render:(e,t)=>(0,$.jsxs)(yH,{direction:`vertical`,size:0,children:[(0,$.jsx)(Q.Text,{children:t.userName||`-`}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:K9(t.userId)})]})},{title:`任务信息`,width:300,render:(e,t)=>(0,$.jsxs)(yH,{direction:`vertical`,size:2,children:[(0,$.jsx)(Q.Text,{strong:!0,children:t.title||`-`}),(0,$.jsxs)(Q.Text,{type:`secondary`,ellipsis:!0,style:{maxWidth:280},children:[`分类:`,t.originalVideoCategory||`-`]}),(0,$.jsxs)(Q.Text,{type:`secondary`,ellipsis:!0,style:{maxWidth:280},children:[`受众:`,t.originalVideoAudience||`-`]})]})},{title:`总状态`,dataIndex:`status`,width:120,render:e=>(0,$.jsx)(q9,{status:e})},{title:`分析状态`,dataIndex:`analysisStatus`,width:110,render:e=>(0,$.jsx)(q9,{status:e})},{title:`拆镜状态`,dataIndex:`splitStatus`,width:110,render:e=>(0,$.jsx)(q9,{status:e})},{title:`切片进度`,width:180,render:(e,t)=>{let n=t.segmentCount||0,r=t.completedSegmentCount||0;return(0,$.jsx)(tq,{size:`small`,percent:n?Math.round(r/n*100):0,format:()=>`${r}/${n}`})}},{title:`失败片段`,dataIndex:`failedSegmentCount`,width:90,render:e=>e?(0,$.jsx)(u$,{color:`error`,children:e}):(0,$.jsx)(u$,{children:`0`})},{title:`视频时长`,dataIndex:`videoDurationSeconds`,width:100,render:e=>`${Number(e||0).toFixed(1)}s`},{title:`创建时间`,dataIndex:`createdAt`,width:170,render:G9},{title:`更新时间`,dataIndex:`updatedAt`,width:170,render:G9},{title:`操作`,fixed:`right`,width:120,render:(t,n)=>(0,$.jsx)(aD,{type:`link`,icon:(0,$.jsx)(TW,{}),onClick:()=>e(`/shot-replications/task-sets/${n.id}`),children:`查看切片`})}]})]})})})},ine=`http://apiforeign.minzhong.cn`.replace(/\/api\/?$/i,``).replace(/\/$/,``),J9=20,ane=[{value:`ai_suggestion`,label:`AI 建议`},{value:`custom`,label:`自定义`}],one=[{value:`none`,label:`未拆镜`},{value:`pending`,label:`待拆镜`},{value:`processing`,label:`拆镜中`},{value:`completed`,label:`拆镜完成`},{value:`failed`,label:`拆镜失败`},{value:`retry_waiting`,label:`等待重试`}],sne=[{value:`not_required`,label:`无需分析`},{value:`pending`,label:`待分析`},{value:`processing`,label:`分析中`},{value:`completed`,label:`分析完成`},{value:`failed`,label:`分析失败`}],cne=[{value:`not_started`,label:`未复刻`},{value:`project_created`,label:`已创建项目`},{value:`processing`,label:`复刻中`},{value:`completed`,label:`复刻完成`},{value:`failed`,label:`复刻失败`}],lne={pending_analysis:{color:`default`,text:`等待分析`},analyzing:{color:`processing`,text:`分析中`},analysis_completed:{color:`success`,text:`分析完成`},analysis_failed:{color:`error`,text:`分析失败`},splitting:{color:`warning`,text:`拆镜中`},split_completed:{color:`success`,text:`拆镜完成`},partial_failed:{color:`orange`,text:`部分失败`},failed:{color:`error`,text:`失败`},none:{color:`default`,text:`未拆镜`},pending:{color:`default`,text:`待处理`},processing:{color:`warning`,text:`处理中`},completed:{color:`success`,text:`完成`},retry_waiting:{color:`orange`,text:`等待重试`},not_required:{color:`default`,text:`无需分析`},not_started:{color:`default`,text:`未复刻`},project_created:{color:`processing`,text:`已创建项目`}},une=e=>{if(!e)return``;let t=String(e).trim();return t?/^(https?:)?\/\//i.test(t)||/^(blob|data):/i.test(t)?t:`${ine}${t.startsWith(`/`)?t:`/${t}`}`:``},Y9=e=>e?$5(e):`-`,X9=e=>e?e.length>16?`${e.slice(0,10)}...`:e:`-`,Z9=({status:e})=>{if(!e)return(0,$.jsx)(u$,{children:`-`});let t=lne[e]||{color:`blue`,text:e};return(0,$.jsx)(u$,{color:t.color,children:t.text})},Q9=({value:e,maxHeight:t=420})=>(0,$.jsx)(`pre`,{style:{margin:0,padding:12,maxHeight:t,overflow:`auto`,background:`#0f172a`,color:`#e2e8f0`,borderRadius:8,fontSize:12,lineHeight:1.6},children:JSON.stringify(e??{},null,2)}),$9=({url:e,height:t=280})=>e?(0,$.jsx)(`video`,{src:une(e),controls:!0,preload:`metadata`,style:{width:`100%`,maxHeight:t,borderRadius:12,background:`#0f172a`}}):(0,$.jsx)(bC,{description:`暂无视频`,image:bC.PRESENTED_IMAGE_SIMPLE}),dne=({items:e=[]})=>(0,$.jsx)(QQ,{rowKey:`index`,size:`small`,pagination:!1,dataSource:e,scroll:{x:!0},columns:[{title:`序号`,dataIndex:`index`,width:70},{title:`时间节点`,dataIndex:`timeNode`,width:120},{title:`开始`,dataIndex:`startSecond`,width:80,render:e=>`${Number(e||0).toFixed(2)}s`},{title:`结束`,dataIndex:`endSecond`,width:80,render:e=>`${Number(e||0).toFixed(2)}s`},{title:`内容`,dataIndex:`content`,ellipsis:!0},{title:`分类`,dataIndex:`category`,width:140},{title:`受众`,dataIndex:`audience`,ellipsis:!0}]}),fne=()=>{let{taskSetId:e}=Qe(),t=Je(),[n,r]=(0,x.useState)(null),[i,a]=(0,x.useState)([]),[o,s]=(0,x.useState)(0),[c,l]=(0,x.useState)(1),[u,d]=(0,x.useState)(!1),[f,p]=(0,x.useState)(!1),[m,h]=(0,x.useState)(0),[g,_]=(0,x.useState)(``),[v,y]=(0,x.useState)(``),[b,S]=(0,x.useState)(``),[C,w]=(0,x.useState)(``),[T,E]=(0,x.useState)(!1),[D,O]=(0,x.useState)(null),k=(0,x.useCallback)(async()=>{if(e){d(!0);try{r(await V5(e))}catch(e){hK.error(e?.message||`加载拆镜任务详情失败`)}finally{d(!1)}}},[e]),A=(0,x.useCallback)(async()=>{if(e){p(!0);try{let t=await H5(e,{sourceMode:g||void 0,splitStatus:v||void 0,analysisStatus:b||void 0,replicateStatus:C||void 0,page:c,pageSize:J9});a(t.items||[]),s(t.total||0)}catch(e){hK.error(e?.message||`加载拆镜片段失败`)}finally{p(!1)}}},[b,c,C,g,v,e]);(0,x.useEffect)(()=>{k()},[k,m]),(0,x.useEffect)(()=>{A()},[A,m]);let j=async e=>{E(!0),O(null);try{O(await U5(e))}catch(e){hK.error(e?.message||`加载片段详情失败`)}};return u&&!n?(0,$.jsx)(`div`,{style:{padding:64,textAlign:`center`},children:(0,$.jsx)(eK,{size:`large`})}):n?(0,$.jsxs)(`div`,{style:{padding:24},children:[(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(yH,{style:{justifyContent:`space-between`,width:`100%`},children:[(0,$.jsxs)(yH,{children:[(0,$.jsx)(aD,{icon:(0,$.jsx)(O0,{}),onClick:()=>t(`/shot-replications`),children:`返回列表`}),(0,$.jsx)(Q.Title,{level:3,style:{margin:0},children:`拆镜任务详情`}),(0,$.jsx)(Z9,{status:n.status})]}),(0,$.jsx)(aD,{icon:(0,$.jsx)(iq,{}),onClick:()=>h(e=>e+1),children:`刷新`})]}),(0,$.jsx)(_z,{children:(0,$.jsxs)(VV,{title:`总任务信息`,column:3,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`任务集ID`,children:n.id}),(0,$.jsx)(VV.Item,{label:`用户ID`,children:n.userId||`-`}),(0,$.jsx)(VV.Item,{label:`用户名`,children:n.userName||`-`}),(0,$.jsx)(VV.Item,{label:`标题`,children:n.title||`-`}),(0,$.jsxs)(VV.Item,{label:`视频时长`,children:[Number(n.videoDurationSeconds||0).toFixed(2),`s`]}),(0,$.jsx)(VV.Item,{label:`总状态`,children:(0,$.jsx)(Z9,{status:n.status})}),(0,$.jsx)(VV.Item,{label:`分析状态`,children:(0,$.jsx)(Z9,{status:n.analysisStatus})}),(0,$.jsx)(VV.Item,{label:`拆镜状态`,children:(0,$.jsx)(Z9,{status:n.splitStatus})}),(0,$.jsxs)(VV.Item,{label:`片段数量`,children:[n.completedSegmentCount,`/`,n.segmentCount,`,失败 `,n.failedSegmentCount]}),(0,$.jsx)(VV.Item,{label:`原视频分类`,children:n.originalVideoCategory||`-`}),(0,$.jsx)(VV.Item,{label:`创建时间`,children:Y9(n.createdAt)}),(0,$.jsx)(VV.Item,{label:`更新时间`,children:Y9(n.updatedAt)}),(0,$.jsx)(VV.Item,{label:`原视频内容`,span:3,children:n.originalVideoContent||`-`}),(0,$.jsx)(VV.Item,{label:`原视频受众`,span:3,children:n.originalVideoAudience||`-`}),n.analysisErrorMessage?(0,$.jsx)(VV.Item,{label:`分析错误`,span:3,children:(0,$.jsx)(af,{type:`error`,message:n.analysisErrorMessage})}):null,n.splitErrorMessage?(0,$.jsx)(VV.Item,{label:`拆镜错误`,span:3,children:(0,$.jsx)(af,{type:`error`,message:n.splitErrorMessage})}):null]})}),(0,$.jsx)(_z,{title:(0,$.jsxs)(yH,{children:[(0,$.jsx)(S3,{}),`原视频预览`]}),children:(0,$.jsx)($9,{url:n.videoUrl,height:360})}),(0,$.jsxs)(_z,{title:`AI 建议拆镜列表`,children:[n.aiSuggestions?.length?(0,$.jsx)(dne,{items:n.aiSuggestions}):(0,$.jsx)(bC,{description:`暂无 AI 建议拆镜`}),(0,$.jsx)(Ng,{size:`small`,ghost:!0,style:{marginTop:12},items:[{key:`raw`,label:`查看原视频分析完整 JSON`,children:(0,$.jsx)(Q9,{value:n.analysisResultJson})}]})]}),(0,$.jsxs)(_z,{title:`片段列表`,children:[(0,$.jsxs)(yH,{wrap:!0,style:{marginBottom:16},children:[(0,$.jsx)(XC,{allowClear:!0,placeholder:`片段来源`,style:{width:140},value:g||void 0,options:ane,onChange:e=>{_(e||``),l(1)}}),(0,$.jsx)(XC,{allowClear:!0,placeholder:`切割状态`,style:{width:140},value:v||void 0,options:one,onChange:e=>{y(e||``),l(1)}}),(0,$.jsx)(XC,{allowClear:!0,placeholder:`分析状态`,style:{width:140},value:b||void 0,options:sne,onChange:e=>{S(e||``),l(1)}}),(0,$.jsx)(XC,{allowClear:!0,placeholder:`复刻状态`,style:{width:150},value:C||void 0,options:cne,onChange:e=>{w(e||``),l(1)}}),(0,$.jsx)(aD,{icon:(0,$.jsx)(GC,{}),onClick:()=>h(e=>e+1),children:`筛选`}),(0,$.jsx)(aD,{onClick:()=>{_(``),y(``),S(``),w(``),l(1),h(e=>e+1)},children:`重置`})]}),(0,$.jsx)(QQ,{rowKey:`id`,loading:f,dataSource:i,pagination:{current:c,pageSize:J9,total:o,showSizeChanger:!1,showTotal:e=>`共 ${e} 条`,onChange:l},scroll:{x:1550},columns:[{title:`片段ID`,dataIndex:`id`,width:150,render:e=>(0,$.jsx)(Bw,{title:e,children:X9(e)})},{title:`序号`,dataIndex:`segmentIndex`,width:70},{title:`来源`,dataIndex:`sourceMode`,width:100,render:e=>e===`ai_suggestion`?(0,$.jsx)(u$,{color:`purple`,children:`AI建议`}):(0,$.jsx)(u$,{color:`cyan`,children:`自定义`})},{title:`时间节点`,dataIndex:`timeNode`,width:130},{title:`时长`,dataIndex:`durationSeconds`,width:90,render:e=>`${Number(e||0).toFixed(2)}s`},{title:`切割`,dataIndex:`splitStatus`,width:100,render:e=>(0,$.jsx)(Z9,{status:e})},{title:`分析`,dataIndex:`analysisStatus`,width:100,render:e=>(0,$.jsx)(Z9,{status:e})},{title:`复刻`,dataIndex:`replicateStatus`,width:110,render:e=>(0,$.jsx)(Z9,{status:e})},{title:`片段内容`,dataIndex:`segmentContent`,width:260,ellipsis:!0,render:e=>e||`-`},{title:`分类`,dataIndex:`segmentCategory`,width:120,render:e=>e||`-`},{title:`关联项目`,width:220,render:(e,n)=>n.moduleProjectId?(0,$.jsxs)(yH,{direction:`vertical`,size:0,children:[(0,$.jsx)(aD,{type:`link`,style:{padding:0},onClick:()=>t(`/shot-replications/projects/${n.moduleProjectId}`),children:X9(n.moduleProjectId)}),(0,$.jsx)(Q.Text,{type:`secondary`,style:{fontSize:12},children:n.moduleProjectTitle||T9(n.moduleProjectCurrentStepCode)}),(0,$.jsx)(Z9,{status:n.moduleProjectStatus})]}):(0,$.jsx)(u$,{children:`未创建`})},{title:`错误`,dataIndex:`splitLastError`,width:220,ellipsis:!0,render:(e,t)=>e||t.analysisErrorMessage||`-`},{title:`创建时间`,dataIndex:`createdAt`,width:170,render:Y9},{title:`操作`,fixed:`right`,width:100,render:(e,t)=>(0,$.jsx)(aD,{type:`link`,icon:(0,$.jsx)(TW,{}),onClick:()=>j(t.id),children:`详情`})}]})]})]}),(0,$.jsx)(uH,{title:`片段详情`,width:720,open:T,onClose:()=>E(!1),destroyOnClose:!0,children:D?(0,$.jsxs)(yH,{direction:`vertical`,size:16,style:{width:`100%`},children:[(0,$.jsxs)(VV,{column:2,bordered:!0,size:`small`,children:[(0,$.jsx)(VV.Item,{label:`片段ID`,span:2,children:D.id}),(0,$.jsx)(VV.Item,{label:`时间节点`,children:D.timeNode}),(0,$.jsxs)(VV.Item,{label:`时长`,children:[Number(D.durationSeconds||0).toFixed(2),`s`]}),(0,$.jsx)(VV.Item,{label:`切割状态`,children:(0,$.jsx)(Z9,{status:D.splitStatus})}),(0,$.jsx)(VV.Item,{label:`分析状态`,children:(0,$.jsx)(Z9,{status:D.analysisStatus})}),(0,$.jsx)(VV.Item,{label:`复刻状态`,children:(0,$.jsx)(Z9,{status:D.replicateStatus})}),(0,$.jsx)(VV.Item,{label:`关联项目`,children:D.moduleProjectId?(0,$.jsx)(aD,{type:`link`,onClick:()=>t(`/shot-replications/projects/${D.moduleProjectId}`),children:D.moduleProjectId}):`-`}),(0,$.jsx)(VV.Item,{label:`片段内容`,span:2,children:D.segmentContent||`-`}),(0,$.jsx)(VV.Item,{label:`片段分类`,children:D.segmentCategory||`-`}),(0,$.jsx)(VV.Item,{label:`片段受众`,children:D.segmentAudience||`-`})]}),(0,$.jsx)(_z,{size:`small`,title:`片段视频`,children:(0,$.jsx)($9,{url:D.segmentVideoUrl,height:300})}),D.splitLastError?(0,$.jsx)(af,{type:`error`,message:`切割错误`,description:D.splitLastError}):null,D.analysisErrorMessage?(0,$.jsx)(af,{type:`error`,message:`分析错误`,description:D.analysisErrorMessage}):null,(0,$.jsx)(Ng,{size:`small`,items:[{key:`analysis`,label:`片段分析 JSON`,children:(0,$.jsx)(Q9,{value:D.analysisJson})},{key:`suggestion`,label:`AI 建议原始 JSON`,children:(0,$.jsx)(Q9,{value:D.aiSuggestionJson})}]})]}):(0,$.jsx)(eK,{})})]}):(0,$.jsx)(_z,{style:{margin:24},children:(0,$.jsx)(bC,{description:`未找到拆镜任务详情`})})},pne=({children:e})=>{let{user:t,loading:n,checkAuth:r}=G5();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)(eK,{size:`large`})}):t?(0,$.jsx)($.Fragment,{children:e}):(window.location.href=`/login`,null)};(0,g.createRoot)(document.getElementById(`root`)).render((0,$.jsx)(()=>{let{checkAuth:e}=G5();return(0,x.useEffect)(()=>{e()},[]),(0,$.jsx)(nm,{locale:_8.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)(dx,{children:(0,$.jsx)(mn,{children:(0,$.jsxs)(Et,{children:[(0,$.jsx)(wt,{path:`/login`,element:(0,$.jsx)(Z5,{})}),(0,$.jsxs)(wt,{path:`/`,element:(0,$.jsx)(pne,{children:(0,$.jsx)(X5,{})}),children:[(0,$.jsx)(wt,{index:!0,element:(0,$.jsx)(Q5,{})}),(0,$.jsx)(wt,{path:`users`,element:(0,$.jsx)(e7,{})}),(0,$.jsx)(wt,{path:`credit-records`,element:(0,$.jsx)(a7,{})}),(0,$.jsx)(wt,{path:`models`,element:(0,$.jsx)(t7,{})}),(0,$.jsx)(wt,{path:`credit-ratios`,element:(0,$.jsx)(T7,{})}),(0,$.jsx)(wt,{path:`video-engines`,element:(0,$.jsx)(_7,{})}),(0,$.jsx)(wt,{path:`image-engines`,element:(0,$.jsx)(S7,{})}),(0,$.jsx)(wt,{path:`industries`,element:(0,$.jsx)(h7,{})}),(0,$.jsx)(wt,{path:`menu-configs`,element:(0,$.jsx)(A7,{})}),(0,$.jsx)(wt,{path:`recharge-packages`,element:(0,$.jsx)(N7,{})}),(0,$.jsx)(wt,{path:`payment`,element:(0,$.jsx)(o7,{})}),(0,$.jsx)(wt,{path:`payment-stats`,element:(0,$.jsx)(l7,{})}),(0,$.jsx)(wt,{path:`settings`,element:(0,$.jsx)(n7,{})}),(0,$.jsx)(wt,{path:`notifications`,element:(0,$.jsx)(r7,{})}),(0,$.jsx)(wt,{path:`oauthapp-list`,element:(0,$.jsx)(I7,{})}),(0,$.jsx)(wt,{path:`operation-logs`,element:(0,$.jsx)(F7,{})}),(0,$.jsx)(wt,{path:`generation-records`,element:(0,$.jsx)(gte,{})}),(0,$.jsx)(wt,{path:`generation-ai`,element:(0,$.jsx)(xte,{})}),(0,$.jsx)(wt,{path:`hot-opening-replications`,element:(0,$.jsx)(Ete,{})}),(0,$.jsx)(wt,{path:`hot-opening-replications/:projectId`,element:(0,$.jsx)(Qte,{})}),(0,$.jsx)(wt,{path:`shot-replications`,element:(0,$.jsx)(rne,{})}),(0,$.jsx)(wt,{path:`shot-replications/task-sets/:taskSetId`,element:(0,$.jsx)(fne,{})}),(0,$.jsx)(wt,{path:`shot-replications/projects/:projectId`,element:(0,$.jsx)(U9,{moduleType:`shot_replicate`})})]}),(0,$.jsx)(wt,{path:`*`,element:(0,$.jsx)(St,{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 864b49f9..70cfcf09 100644 --- a/video-gen-admin/dist/index.html +++ b/video-gen-admin/dist/index.html @@ -28,7 +28,7 @@ } })(); - + diff --git a/video-gen-api/app/api/v1/__init__.py b/video-gen-api/app/api/v1/__init__.py index 6bc09321..7430c445 100644 --- a/video-gen-api/app/api/v1/__init__.py +++ b/video-gen-api/app/api/v1/__init__.py @@ -21,6 +21,7 @@ from app.api.v1.test import router as test_router from app.api.v1.user_oauth import router as user_oauth_router from app.api.v1.user_oauth_app import router as user_oauth_app_router from app.api.v1.upload_material import router as upload_material_router +from app.api.v1.pre_test_template import router as pre_test_template_router api_router = APIRouter() api_router.include_router(auth_router) @@ -44,3 +45,4 @@ api_router.include_router(test_router) api_router.include_router(user_oauth_router) api_router.include_router(user_oauth_app_router) api_router.include_router(upload_material_router) +api_router.include_router(pre_test_template_router) diff --git a/video-gen-api/app/api/v1/pre_test_template.py b/video-gen-api/app/api/v1/pre_test_template.py new file mode 100644 index 00000000..d19403bf --- /dev/null +++ b/video-gen-api/app/api/v1/pre_test_template.py @@ -0,0 +1,358 @@ +import json +from typing import Any, Optional, Dict + +from fastapi import APIRouter, Depends, HTTPException, Query, status +from sqlalchemy.ext.asyncio import AsyncSession +from sqlalchemy import select +from app.models.pre_test_template import PreTestTemplate +from app.utils.douyinApi import DouyinApi +from app.utils.area import parse_district_data, get_area_by_level, get_cached_area_data, fetch_and_cache_area_data + + +from app.dependencies import get_current_user, get_db +from app.models.user import User +from app.schemas.pre_test_template import ( + PreTestTemplateCreate, + PreTestTemplateListResponse, + PreTestTemplateOut, + PreTestTemplateUpdate, +) +from app.services.pre_test_template_service import ( + create_pre_test_template, + delete_pre_test_template, + get_default_template, + get_pre_test_template, + get_pre_test_template_list, + update_pre_test_template, +) + +router = APIRouter(prefix="/pre-test-template", tags=["前测模板"]) + + +def _template_to_dict(template): + return { + "id": template.id, + "name": template.name, + "note": template.note, + "platform": template.platform, + "external_action": template.external_action, + "cpa_bid": template.cpa_bid, + "audience_gender": template.audience_gender, + "audience_age": json.loads(template.audience_age) if template.audience_age else None, + "audience_region": json.loads(template.audience_region) if template.audience_region else None, + "audience_network": json.loads(template.audience_network) if template.audience_network else None, + "cus_name": template.cus_name, + "pricing_type": template.pricing_type, + "cost_cap": template.cost_cap, + "target_cost": template.target_cost, + "nobid": template.nobid, + "cpc_bid": template.cpc_bid, + "budget": template.budget, + "is_default": template.is_default, + "user_id": template.user_id, + "created_at": template.created_at, + "updated_at": template.updated_at, + } + + +@router.post( + "/create", + summary="创建前测模板", + description="创建一个新的前测模板", +) +async def create_template( + req: PreTestTemplateCreate, + current_user: User = Depends(get_current_user), + db: AsyncSession = Depends(get_db), +) -> Any: + try: + #新增一个判断,如果模板名称重复,提示用户修改 + result = await db.execute( + select(PreTestTemplate).where( + PreTestTemplate.name == req.name, + PreTestTemplate.user_id == current_user.id, + PreTestTemplate.deleted_at.is_(None), + ) + ) + existing_template = result.scalar() + if existing_template: + raise ValueError("模板名称已存在") + + template = await create_pre_test_template( + user_id=current_user.id, + db=db, + name=req.name, + note=req.note, + platform=req.platform, + external_action=req.external_action, + cpa_bid=req.cpa_bid, + audience_gender=req.audience_gender, + audience_age=req.audience_age, + audience_region=req.audience_region, + audience_network=req.audience_network, + cus_name=req.cus_name, + pricing_type=req.pricing_type, + cost_cap=req.cost_cap, + target_cost=req.target_cost, + nobid=req.nobid, + cpc_bid=req.cpc_bid, + budget=req.budget, + is_default=req.is_default, + ) + + return { + "code": 0, + "message": "创建成功", + } + except ValueError as e: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail=str(e), + ) + except Exception as e: + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + detail=f"创建失败: {str(e)}", + ) + + +@router.get( + "/list", + summary="获取前测模板列表", + description="获取当前用户的前测模板列表,支持按平台筛选和分页", + response_model=PreTestTemplateListResponse, +) +async def list_templates( + platform: Optional[str] = Query(None, description="投放平台筛选(AD/QIANCHUAN/LOCAL)"), + page: int = Query(1, description="页码,默认1"), + page_size: int = Query(10, description="每页数量,默认10,最大100"), + current_user: User = Depends(get_current_user), + db: AsyncSession = Depends(get_db), +) -> Any: + try: + result = await get_pre_test_template_list( + user_id=current_user.id, + db=db, + platform=platform, + page=page, + page_size=page_size, + ) + + return { + "code": 0, + "message": "查询成功", + "data": [_template_to_dict(t) for t in result["data"]], + "pagination": { + "page": result["page"], + "page_size": result["page_size"], + "total": result["total"], + "total_pages": (result["total"] + result["page_size"] - 1) // result["page_size"], + }, + } + except ValueError as e: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail=str(e), + ) + except Exception as e: + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + detail=f"查询失败: {str(e)}", + ) + + +@router.get( + "/default", + summary="获取默认前测模板", + description="获取当前用户的默认前测模板", +) +async def get_default( + current_user: User = Depends(get_current_user), + db: AsyncSession = Depends(get_db), +) -> Any: + try: + template = await get_default_template(current_user.id, db) + + if not template: + return { + "code": 0, + "message": "未设置默认模板", + "data": None, + } + + return { + "code": 0, + "message": "查询成功", + "data": _template_to_dict(template), + } + except Exception as e: + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + detail=f"查询失败: {str(e)}", + ) + + +@router.get( + "/select/{template_id}", + summary="获取前测模板详情", + description="根据模板id获取前测模板详情", +) +async def get_template( + template_id: str, + current_user: User = Depends(get_current_user), + db: AsyncSession = Depends(get_db), +) -> Any: + try: + template = await get_pre_test_template(template_id, current_user.id, db) + + if not template: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail="模板不存在", + ) + + return { + "code": 0, + "message": "查询成功", + "data": _template_to_dict(template), + } + except HTTPException: + raise + except Exception as e: + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + detail=f"查询失败: {str(e)}", + ) + + +@router.post( + "/update/{template_id}", + summary="更新前测模板", + description="更新指定的前测模板", +) +async def update_template( + template_id: str, + req: PreTestTemplateUpdate, + current_user: User = Depends(get_current_user), + db: AsyncSession = Depends(get_db), +) -> Any: + try: + update_data = req.dict(exclude_none=True) + template = await update_pre_test_template(template_id, current_user.id, db, **update_data) + + if not template: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail="模板不存在", + ) + + return { + "code": 0, + "message": "更新成功", + "data": _template_to_dict(template), + } + except HTTPException: + raise + except ValueError as e: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail=str(e), + ) + except Exception as e: + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + detail=f"更新失败: {str(e)}", + ) + + +@router.get( + "/delete/{template_id}", + summary="删除前测模板", + description="软删除指定的前测模板", +) +async def delete_template( + template_id: str, + current_user: User = Depends(get_current_user), + db: AsyncSession = Depends(get_db), +) -> Any: + try: + success = await delete_pre_test_template(template_id, current_user.id, db) + + if not success: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail="模板不存在", + ) + + return { + "code": 0, + "message": "删除成功", + } + except HTTPException: + raise + except Exception as e: + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + detail=f"删除失败: {str(e)}", + ) + + +@router.get( + "/getArea", + summary="获取行政区域信息", + description="获取指定级别的行政区域信息,支持一级、二级、三级区域,如果需要更新地区,执行:/api/pre-test-template/getArea?oauth_id=0019ecab9b8bc57d964&advertiser_id=1836693172153543", +) +async def get_template_area( + oauth_id: str = Query(None, description="授权ID选填,更新地区必填"), + advertiser_id: str = Query(default="1836693172153543", description="授权ID选填,更新地区必填"), + code: Optional[str] = Query("CN", description="行政区域编码,默认中国CN,选填"), + level: Optional[str] = Query("ONE_LEVEL", description="行政区域层级,可选值:ONE_LEVEL(获取省份)、TWO_LEVEL(市级)、THREE_LEVEL(区级)"), + parent_code: Optional[str] = Query(None, description="父级区域编码,获取二级时传一级编码,获取三级时传二级编码"), +) -> Any: + try: + # 1. 先检查缓存是否存在 + area_list = get_cached_area_data() + + # 2. 如果缓存不存在,调用接口获取数据并保存到缓存 + if not area_list: + area_list = await fetch_and_cache_area_data(oauth_id, advertiser_id, code) + + # 3. 根据 level 参数过滤区域 + if level == "ONE_LEVEL": + result = get_area_by_level(area_list, "ONE_LEVEL") + elif level == "TWO_LEVEL": + result = get_area_by_level(area_list, "TWO_LEVEL", parent_code) + elif level == "THREE_LEVEL": + if not parent_code: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail="获取三级区域需要提供二级区域编码(parent_code)", + ) + result = get_area_by_level(area_list, "THREE_LEVEL", parent_code) + else: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail=f"不支持的级别: {level}", + ) + + # 4. 转换为字典格式返回 + result_dict = [area.to_dict() for area in result] + + return { + "code": 0, + "message": "成功", + "data": result_dict, + } + + except HTTPException: + raise + except ValueError as e: + raise HTTPException( + status_code=status.HTTP_400_BAD_REQUEST, + detail=str(e), + ) + except Exception as e: + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + detail=f"获取区域信息失败: {str(e)}", + ) diff --git a/video-gen-api/app/api/v1/sms.py b/video-gen-api/app/api/v1/sms.py index e842ed4f..7f48628c 100644 --- a/video-gen-api/app/api/v1/sms.py +++ b/video-gen-api/app/api/v1/sms.py @@ -123,7 +123,7 @@ async def send_sms_code( description="校验指定手机号、场景下的短信验证码。业务接口一般会内部校验,本接口主要用于前端调试或单独校验。", ) async def verify_sms(req: SmsVerifyRequest): - ok = await verify_sms_code(req.phone, req.code, req.scene.value) + ok = await verify_sms_code(req.phone.strip(), req.code.strip(), req.scene.value) if not ok: raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, diff --git a/video-gen-api/app/api/v1/user_oauth.py b/video-gen-api/app/api/v1/user_oauth.py index 72aa50f0..1bcca525 100644 --- a/video-gen-api/app/api/v1/user_oauth.py +++ b/video-gen-api/app/api/v1/user_oauth.py @@ -6,13 +6,12 @@ from app.dependencies import get_current_user, get_db from app.models.user import User from app.models.user_oauth import UserOAuth from app.models.user_oauth_app import UserOAuthApp -from app.schemas.user_oauth import RequestOAuthRequest, RequestOAuthResponse, UserOAuthOut +from app.schemas.user_oauth import RequestOAuthRequest, RequestOAuthResponse, UserOAuthOut, OAuthListResponse from app.services.user_oauth_service import ( build_oauth_url, get_token, get_oauth_list, ) -from app.tasks.user_oauth_tasks import _update_oauth_accounts router = APIRouter(prefix="/user-oauth", tags=["oauth"]) @@ -108,6 +107,7 @@ async def juliang_callback( "/oauth_list", summary="获取账户下所有授权列表", description="获取当前用户下所有授权账户列表,支持按授权登录账号、开户方式、授权账户id筛选", + response_model=OAuthListResponse, ) async def oauth_list( account_userid: str | None = Query(None, description="授权登录账号id"), diff --git a/video-gen-api/app/schemas/pre_test_template.py b/video-gen-api/app/schemas/pre_test_template.py new file mode 100644 index 00000000..c2037fe7 --- /dev/null +++ b/video-gen-api/app/schemas/pre_test_template.py @@ -0,0 +1,111 @@ +from datetime import datetime +from typing import List, Optional + +from pydantic import BaseModel, Field, field_validator + + +class PreTestTemplateCreate(BaseModel): + name: str = Field(..., description="模板名称") + note: Optional[str] = Field(None, description="模板备注") + platform: Optional[str] = Field(None, description="投放平台(AD/QIANCHUAN/LOCAL)") + external_action: Optional[str] = Field(None, description="转化目标") + cpa_bid: Optional[float] = Field(None, description="目标转化成本:[1, 10000]") + audience_gender: Optional[str] = Field(None, description="性别(ALL/MALE/FEMALE)") + audience_age: Optional[List[str]] = Field(None, description="受众年龄列表") + audience_region: Optional[List[int]] = Field(None, description="受众地区code列表") + audience_network: Optional[List[str]] = Field(None, description="网络类型列表") + cus_name: Optional[str] = Field(None, description="客户主体名称") + pricing_type: Optional[str] = Field(None, description="出价类型(OCPC/CPA/OCPM)") + cost_cap: Optional[bool] = Field(None, description="是否最优成本出价(仅AD支持)") + target_cost: Optional[bool] = Field(None, description="是否稳定成本出价(仅AD支持)") + nobid: Optional[bool] = Field(None, description="是否最大转化出价(仅AD支持)") + cpc_bid: Optional[float] = Field(None, description="目标点击成本:[1, 10000]") + budget: Optional[float] = Field(None, description="预算金额:[1, 10000]") + is_default: Optional[bool] = Field(None, description="是否设为默认模板") + + @field_validator('platform') + def validate_platform(cls, v): + if v is None: + return v + allowed = ["AD", "QIANCHUAN", "LOCAL"] + if v not in allowed: + raise ValueError(f"platform must be one of {allowed}") + return v + + @field_validator('pricing_type') + def validate_pricing_type(cls, v): + if v is None: + return v + allowed = ["OCPC", "CPA", "OCPM"] + if v not in allowed: + raise ValueError(f"pricing_type must be one of {allowed}") + return v + + @field_validator('audience_gender') + def validate_gender(cls, v): + if v is None: + return v + allowed = ["ALL", "MALE", "FEMALE"] + if v not in allowed: + raise ValueError(f"audience_gender must be one of {allowed}") + return v + + +class PreTestTemplateUpdate(BaseModel): + name: Optional[str] = Field(None, description="模板名称") + note: Optional[str] = Field(None, description="模板备注") + platform: Optional[str] = Field(None, description="投放平台") + external_action: Optional[str] = Field(None, description="转化目标") + cpa_bid: Optional[float] = Field(None, description="目标转化成本") + audience_gender: Optional[str] = Field(None, description="性别") + audience_age: Optional[List[str]] = Field(None, description="受众年龄列表") + audience_region: Optional[List[int]] = Field(None, description="受众地区code列表") + audience_network: Optional[List[str]] = Field(None, description="网络类型列表") + cus_name: Optional[str] = Field(None, description="客户主体名称") + pricing_type: Optional[str] = Field(None, description="出价类型") + cost_cap: Optional[bool] = Field(None, description="是否最优成本出价") + target_cost: Optional[bool] = Field(None, description="是否稳定成本出价") + nobid: Optional[bool] = Field(None, description="是否最大转化出价") + cpc_bid: Optional[float] = Field(None, description="目标点击成本") + budget: Optional[float] = Field(None, description="预算金额") + is_default: Optional[bool] = Field(None, description="是否设为默认模板") + + +class PreTestTemplateOut(BaseModel): + id: str = Field(..., description="主键") + name: str = Field(..., description="模板名称") + note: Optional[str] = Field(None, description="模板备注") + platform: Optional[str] = Field(None, description="投放平台") + external_action: Optional[str] = Field(None, description="转化目标") + cpa_bid: Optional[float] = Field(None, description="目标转化成本") + audience_gender: Optional[str] = Field(None, description="性别") + audience_age: Optional[List[str]] = Field(None, description="受众年龄列表") + audience_region: Optional[List[int]] = Field(None, description="受众地区code列表") + audience_network: Optional[List[str]] = Field(None, description="网络类型列表") + cus_name: Optional[str] = Field(None, description="客户主体名称") + pricing_type: Optional[str] = Field(None, description="出价类型") + cost_cap: Optional[bool] = Field(None, description="是否最优成本出价") + target_cost: Optional[bool] = Field(None, description="是否稳定成本出价") + nobid: Optional[bool] = Field(None, description="是否最大转化出价") + cpc_bid: Optional[float] = Field(None, description="目标点击成本") + budget: Optional[float] = Field(None, description="预算金额") + is_default: Optional[bool] = Field(None, description="是否默认模板") + user_id: str = Field(..., description="用户id") + created_at: datetime = Field(..., description="创建时间") + updated_at: datetime = Field(..., description="更新时间") + + model_config = {"from_attributes": True} + + +class PaginationInfo(BaseModel): + page: int = Field(..., description="当前页码") + page_size: int = Field(..., description="每页数量") + total: int = Field(..., description="总记录数") + total_pages: int = Field(..., description="总页数") + + +class PreTestTemplateListResponse(BaseModel): + code: int = Field(0, description="返回码") + message: str = Field("查询成功", description="返回消息") + data: List[PreTestTemplateOut] = Field(..., description="模板列表") + pagination: PaginationInfo = Field(..., description="分页信息") diff --git a/video-gen-api/app/services/pre_test_template_service.py b/video-gen-api/app/services/pre_test_template_service.py new file mode 100644 index 00000000..0bd4df58 --- /dev/null +++ b/video-gen-api/app/services/pre_test_template_service.py @@ -0,0 +1,258 @@ +import json +from typing import Optional + +from sqlalchemy import select, update +from sqlalchemy.ext.asyncio import AsyncSession + +from app.models.pre_test_template import PreTestTemplate +from app.utils.id_gen import generate_id + + +async def create_pre_test_template( + user_id: str, + db: AsyncSession, + name: str, + note: Optional[str] = None, + platform: Optional[str] = None, + external_action: Optional[str] = None, + cpa_bid: Optional[float] = None, + audience_gender: Optional[str] = None, + audience_age: Optional[list] = None, + audience_region: Optional[list] = None, + audience_network: Optional[list] = None, + cus_name: Optional[str] = None, + pricing_type: Optional[str] = None, + cost_cap: Optional[bool] = None, + target_cost: Optional[bool] = None, + nobid: Optional[bool] = None, + cpc_bid: Optional[float] = None, + budget: Optional[float] = None, + is_default: Optional[bool] = None, +) -> PreTestTemplate: + if is_default: + await db.execute( + update(PreTestTemplate) + .where( + PreTestTemplate.user_id == user_id, + PreTestTemplate.is_default == True, + PreTestTemplate.deleted_at.is_(None), + ) + .values(is_default=False) + ) + + template = PreTestTemplate( + id=generate_id(), + user_id=user_id, + name=name, + note=note, + platform=platform, + external_action=external_action, + cpa_bid=cpa_bid, + audience_gender=audience_gender, + audience_age=json.dumps(audience_age) if audience_age else None, + audience_region=json.dumps(audience_region) if audience_region else None, + audience_network=json.dumps(audience_network) if audience_network else None, + cus_name=cus_name, + pricing_type=pricing_type, + cost_cap=cost_cap, + target_cost=target_cost, + nobid=nobid, + cpc_bid=cpc_bid, + budget=budget, + is_default=is_default, + ) + + db.add(template) + await db.commit() + await db.refresh(template) + return template + + +async def update_pre_test_template( + template_id: str, + user_id: str, + db: AsyncSession, + **kwargs, +) -> Optional[PreTestTemplate]: + result = await db.execute( + select(PreTestTemplate).where( + PreTestTemplate.id == template_id, + PreTestTemplate.user_id == user_id, + PreTestTemplate.deleted_at.is_(None), + ) + ) + template = result.scalar_one_or_none() + + if not template: + return None + + if kwargs.get("is_default"): + await db.execute( + update(PreTestTemplate) + .where( + PreTestTemplate.user_id == user_id, + PreTestTemplate.is_default == True, + PreTestTemplate.id != template_id, + PreTestTemplate.deleted_at.is_(None), + ) + .values(is_default=False) + ) + + update_data = {} + if "name" in kwargs: + update_data["name"] = kwargs["name"] + if "note" in kwargs: + update_data["note"] = kwargs["note"] + if "platform" in kwargs: + update_data["platform"] = kwargs["platform"] + if "external_action" in kwargs: + update_data["external_action"] = kwargs["external_action"] + if "cpa_bid" in kwargs: + update_data["cpa_bid"] = kwargs["cpa_bid"] + if "audience_gender" in kwargs: + update_data["audience_gender"] = kwargs["audience_gender"] + if "audience_age" in kwargs: + update_data["audience_age"] = json.dumps(kwargs["audience_age"]) if kwargs["audience_age"] else None + if "audience_region" in kwargs: + update_data["audience_region"] = json.dumps(kwargs["audience_region"]) if kwargs["audience_region"] else None + if "audience_network" in kwargs: + update_data["audience_network"] = json.dumps(kwargs["audience_network"]) if kwargs["audience_network"] else None + if "cus_name" in kwargs: + update_data["cus_name"] = kwargs["cus_name"] + if "pricing_type" in kwargs: + update_data["pricing_type"] = kwargs["pricing_type"] + if "cost_cap" in kwargs: + update_data["cost_cap"] = kwargs["cost_cap"] + if "target_cost" in kwargs: + update_data["target_cost"] = kwargs["target_cost"] + if "nobid" in kwargs: + update_data["nobid"] = kwargs["nobid"] + if "cpc_bid" in kwargs: + update_data["cpc_bid"] = kwargs["cpc_bid"] + if "budget" in kwargs: + update_data["budget"] = kwargs["budget"] + if "is_default" in kwargs: + update_data["is_default"] = kwargs["is_default"] + + if update_data: + await db.execute( + update(PreTestTemplate) + .where(PreTestTemplate.id == template_id) + .values(**update_data) + ) + await db.commit() + await db.refresh(template) + + return template + + +async def delete_pre_test_template( + template_id: str, + user_id: str, + db: AsyncSession, +) -> bool: + result = await db.execute( + select(PreTestTemplate).where( + PreTestTemplate.id == template_id, + PreTestTemplate.user_id == user_id, + PreTestTemplate.deleted_at.is_(None), + ) + ) + template = result.scalar_one_or_none() + + if not template: + return False + + from datetime import datetime + template.deleted_at = datetime.now() + await db.commit() + return True + + +async def get_pre_test_template( + template_id: str, + user_id: str, + db: AsyncSession, +) -> Optional[PreTestTemplate]: + result = await db.execute( + select(PreTestTemplate).where( + PreTestTemplate.id == template_id, + PreTestTemplate.user_id == user_id, + PreTestTemplate.deleted_at.is_(None), + ) + ) + return result.scalar_one_or_none() + + +async def get_pre_test_template_list( + user_id: str, + db: AsyncSession, + platform: Optional[str] = None, + page: int = 1, + page_size: int = 10, +) -> dict: + if page < 1: + page = 1 + if page_size < 1: + page_size = 10 + if page_size > 100: + page_size = 100 + + query = select(PreTestTemplate).where( + PreTestTemplate.user_id == user_id, + PreTestTemplate.deleted_at.is_(None), + ) + + if platform: + query = query.where(PreTestTemplate.platform == platform) + + query = query.order_by(PreTestTemplate.is_default.desc(), PreTestTemplate.created_at.desc()) + + total_result = await db.execute(query.with_only_columns(PreTestTemplate.id)) + total = len(total_result.scalars().all()) + + offset = (page - 1) * page_size + query = query.offset(offset).limit(page_size) + + result = await db.execute(query) + templates = result.scalars().all() + + return { + "data": templates, + "total": total, + "page": page, + "page_size": page_size, + } + + +async def get_default_template( + user_id: str, + db: AsyncSession, +) -> Optional[PreTestTemplate]: + # 如果有默认模板,返回默认模板 + # 如果有多条默认的模板,返回最新创建的模板 + # 如果没有设置默认模板,返回最新创建的模板 + result = await db.execute( + select(PreTestTemplate) + .where( + PreTestTemplate.user_id == user_id, + PreTestTemplate.is_default == True, + PreTestTemplate.deleted_at.is_(None), + ) + .order_by(PreTestTemplate.created_at.desc()) + ) + template = result.scalar_one_or_none() + + if template: + return template + + # 如果没有默认模板,返回最新创建的模板 + result = await db.execute( + select(PreTestTemplate) + .where( + PreTestTemplate.user_id == user_id, + PreTestTemplate.deleted_at.is_(None), + ) + .order_by(PreTestTemplate.created_at.desc()) + ) + return result.scalar_one_or_none() \ No newline at end of file diff --git a/video-gen-api/app/services/sms.py b/video-gen-api/app/services/sms.py index 51b1bd88..0ced3156 100644 --- a/video-gen-api/app/services/sms.py +++ b/video-gen-api/app/services/sms.py @@ -173,7 +173,7 @@ async def verify_sms_code(phone: str, code: str, scene: str = "login") -> bool: stored = await redis.get(key) if isinstance(stored, bytes): stored = stored.decode() - if stored and str(stored) == str(code): + if stored is not None and stored == code: await redis.delete(key) return True return False diff --git a/video-gen-api/app/utils/area.py b/video-gen-api/app/utils/area.py new file mode 100644 index 00000000..3f1eec23 --- /dev/null +++ b/video-gen-api/app/utils/area.py @@ -0,0 +1,241 @@ +import json +import os +from typing import Optional, List, Dict + +# 缓存文件路径 +CACHE_FILE_PATH = os.path.join(os.path.dirname(__file__), 'area_cache.json') + + +class AreaInfo: + def __init__(self, code: str, name: str, level: str, geoname_id: int = None): + self.code = code + self.name = name + self.level = level + self.geoname_id = geoname_id + self.sub_districts: List[AreaInfo] = [] + + def to_dict(self): + return { + "code": self.code, + "name": self.name, + "level": self.level, + "geoname_id": self.geoname_id, + "sub_districts": [sd.to_dict() for sd in self.sub_districts] if self.sub_districts else [], + } + + @classmethod + def from_dict(cls, data: dict): + area = cls( + code=data.get("code"), + name=data.get("name"), + level=data.get("level"), + geoname_id=data.get("geoname_id"), + ) + sub_districts = data.get("sub_districts", []) + for sub in sub_districts: + area.sub_districts.append(cls.from_dict(sub)) + return area + + +def parse_district_data(district_data: dict) -> AreaInfo: + """解析巨量接口返回的区域数据""" + area = AreaInfo( + code=district_data.get("code"), + name=district_data.get("name"), + level=district_data.get("level"), + geoname_id=district_data.get("geoname_id"), + ) + + sub_districts = district_data.get("sub_districts") + if sub_districts: + for sub in sub_districts: + area.sub_districts.append(parse_district_data(sub)) + + return area + + +def save_area_cache(areas: List[AreaInfo]) -> None: + """将区域数据保存到缓存文件""" + data = [area.to_dict() for area in areas] + with open(CACHE_FILE_PATH, 'w', encoding='utf-8') as f: + json.dump(data, f, ensure_ascii=False, indent=2) + + +def load_area_cache() -> Optional[List[AreaInfo]]: + """从缓存文件加载区域数据""" + if not os.path.exists(CACHE_FILE_PATH): + return None + + try: + with open(CACHE_FILE_PATH, 'r', encoding='utf-8') as f: + data = json.load(f) + return [AreaInfo.from_dict(item) for item in data] + except (json.JSONDecodeError, IOError): + return None + + +def clear_area_cache() -> None: + """清除缓存文件""" + if os.path.exists(CACHE_FILE_PATH): + os.remove(CACHE_FILE_PATH) + + +def filter_by_level(areas: List[AreaInfo], target_level: str) -> List[AreaInfo]: + """ + 根据级别过滤区域信息 + + :param areas: 区域列表 + :param target_level: ONE_LEVEL / TWO_LEVEL / THREE_LEVEL + :return: 指定级别的区域列表 + """ + result = [] + + def traverse(area: AreaInfo): + if area.level == target_level: + filtered = AreaInfo( + code=area.code, + name=area.name, + level=area.level, + geoname_id=area.geoname_id, + ) + result.append(filtered) + + if area.sub_districts: + for sub in area.sub_districts: + traverse(sub) + + for area in areas: + traverse(area) + + return result + + +def get_first_level_areas(areas: List[AreaInfo]) -> List[AreaInfo]: + """获取所有一级区域(省/直辖市)""" + return filter_by_level(areas, "ONE_LEVEL") + + +def get_second_level_areas(areas: List[AreaInfo], parent_code: str = None) -> List[AreaInfo]: + """ + 获取二级区域(市) + + :param areas: 区域列表 + :param parent_code: 一级区域code,不传则返回所有二级区域 + :return: 二级区域列表 + """ + if parent_code: + def find_parent_and_get_children(area: AreaInfo): + if area.code == parent_code: + return [AreaInfo( + code=sub.code, + name=sub.name, + level=sub.level, + geoname_id=sub.geoname_id, + ) for sub in area.sub_districts] if area.sub_districts else [] + + if area.sub_districts: + for sub in area.sub_districts: + result = find_parent_and_get_children(sub) + if result: + return result + return [] + + for area in areas: + result = find_parent_and_get_children(area) + if result: + return result + return [] + else: + return filter_by_level(areas, "TWO_LEVEL") + + +def get_third_level_areas(areas: List[AreaInfo], parent_code: str) -> List[AreaInfo]: + """ + 获取三级区域(区/县) + + :param areas: 区域列表 + :param parent_code: 二级区域code + :return: 三级区域列表 + """ + def find_parent_and_get_children(area: AreaInfo): + if area.code == parent_code: + return [AreaInfo( + code=sub.code, + name=sub.name, + level=sub.level, + geoname_id=sub.geoname_id, + ) for sub in area.sub_districts] if area.sub_districts else [] + + if area.sub_districts: + for sub in area.sub_districts: + result = find_parent_and_get_children(sub) + if result: + return result + return [] + + for area in areas: + result = find_parent_and_get_children(area) + if result: + return result + return [] + + +def get_area_by_level(areas: List[AreaInfo], level: str, parent_code: str = None) -> List[AreaInfo]: + """ + 根据级别获取区域信息 + + :param areas: 区域列表 + :param level: ONE_LEVEL / TWO_LEVEL / THREE_LEVEL + :param parent_code: 父级区域code(TWO_LEVEL和THREE_LEVEL时可选/必填) + :return: 区域列表 + """ + level = level.upper() + + if level == "ONE_LEVEL": + return get_first_level_areas(areas) + elif level == "TWO_LEVEL": + return get_second_level_areas(areas, parent_code) + elif level == "THREE_LEVEL": + if not parent_code: + raise ValueError("获取三级区域需要提供二级区域code") + return get_third_level_areas(areas, parent_code) + else: + raise ValueError(f"不支持的级别: {level}") + + +async def fetch_and_cache_area_data(oauth_id: str, advertiser_id: str = 1836693172153543, code: str = "CN") -> List[AreaInfo]: + """ + 从接口获取区域数据并缓存到文件 + + :param oauth_id: 授权ID + :param code: 行政区域编码,默认中国CN + :return: 区域列表 + """ + from app.utils.douyinApi import DouyinApi + + params = { + "advertiser_id": advertiser_id, + "codes": json.dumps([code]), + "language": "ZH_CN", + "sub_district": "THREE_LEVEL", + "version": "V2_3_2" + } + + area_response = await DouyinApi().get_area(oauth_id=oauth_id, params=params) + + if area_response.get("code") != 0: + raise Exception(f"获取区域信息失败: {area_response.get('message', '未知错误')}") + + districts_data = area_response.get("data", {}).get("districts", []) + if not districts_data: + raise Exception("接口返回的区域数据为空") + + area_list = [parse_district_data(d) for d in districts_data] + save_area_cache(area_list) + + return area_list + + +def get_cached_area_data() -> Optional[List[AreaInfo]]: + """获取缓存的区域数据""" + return load_area_cache() diff --git a/video-gen-api/app/utils/area_cache.json b/video-gen-api/app/utils/area_cache.json new file mode 100644 index 00000000..b717ca28 --- /dev/null +++ b/video-gen-api/app/utils/area_cache.json @@ -0,0 +1,23257 @@ +[ + { + "code": "CN", + "name": "中国", + "level": "NONE", + "geoname_id": 1814991, + "sub_districts": [ + { + "code": "34", + "name": "安徽", + "level": "ONE_LEVEL", + "geoname_id": 1818058, + "sub_districts": [ + { + "code": "340800", + "name": "安庆", + "level": "TWO_LEVEL", + "geoname_id": 1817993, + "sub_districts": [ + { + "code": "340803", + "name": "大观", + "level": "THREE_LEVEL", + "geoname_id": 6643450, + "sub_districts": [] + }, + { + "code": "340822", + "name": "怀宁", + "level": "THREE_LEVEL", + "geoname_id": 1807676, + "sub_districts": [] + }, + { + "code": "3408820000001", + "name": "潜山", + "level": "THREE_LEVEL", + "geoname_id": 1798253, + "sub_districts": [] + }, + { + "code": "340826", + "name": "宿松", + "level": "THREE_LEVEL", + "geoname_id": 1793760, + "sub_districts": [] + }, + { + "code": "340881", + "name": "桐城", + "level": "THREE_LEVEL", + "geoname_id": 1792696, + "sub_districts": [] + }, + { + "code": "340825", + "name": "太湖", + "level": "THREE_LEVEL", + "geoname_id": 1793659, + "sub_districts": [] + }, + { + "code": "340827", + "name": "望江", + "level": "THREE_LEVEL", + "geoname_id": 1792012, + "sub_districts": [] + }, + { + "code": "340802", + "name": "迎江", + "level": "THREE_LEVEL", + "geoname_id": 6643451, + "sub_districts": [] + }, + { + "code": "340811", + "name": "宜秀", + "level": "THREE_LEVEL", + "geoname_id": 6643449, + "sub_districts": [] + }, + { + "code": "340828", + "name": "岳西", + "level": "THREE_LEVEL", + "geoname_id": 1792882, + "sub_districts": [] + } + ] + }, + { + "code": "340300", + "name": "蚌埠", + "level": "TWO_LEVEL", + "geoname_id": 1816440, + "sub_districts": [ + { + "code": "340303", + "name": "蚌山", + "level": "THREE_LEVEL", + "geoname_id": 6643474, + "sub_districts": [] + }, + { + "code": "340323", + "name": "固镇", + "level": "THREE_LEVEL", + "geoname_id": 1809134, + "sub_districts": [] + }, + { + "code": "340311", + "name": "淮上", + "level": "THREE_LEVEL", + "geoname_id": 6643475, + "sub_districts": [] + }, + { + "code": "340321", + "name": "怀远", + "level": "THREE_LEVEL", + "geoname_id": 340321, + "sub_districts": [] + }, + { + "code": "340302", + "name": "龙子湖", + "level": "THREE_LEVEL", + "geoname_id": 6643476, + "sub_districts": [] + }, + { + "code": "340322", + "name": "五河", + "level": "THREE_LEVEL", + "geoname_id": 1791238, + "sub_districts": [] + }, + { + "code": "340304", + "name": "禹会", + "level": "THREE_LEVEL", + "geoname_id": 6643473, + "sub_districts": [] + } + ] + }, + { + "code": "341600", + "name": "亳州", + "level": "TWO_LEVEL", + "geoname_id": 1816234, + "sub_districts": [ + { + "code": "341621", + "name": "涡阳", + "level": "THREE_LEVEL", + "geoname_id": 1809270, + "sub_districts": [] + }, + { + "code": "341623", + "name": "利辛", + "level": "THREE_LEVEL", + "geoname_id": 1802795, + "sub_districts": [] + }, + { + "code": "341622", + "name": "蒙城", + "level": "THREE_LEVEL", + "geoname_id": 1800761, + "sub_districts": [] + }, + { + "code": "341602", + "name": "谯城", + "level": "THREE_LEVEL", + "geoname_id": 1816232, + "sub_districts": [] + } + ] + }, + { + "code": "341100", + "name": "滁州", + "level": "TWO_LEVEL", + "geoname_id": 1814757, + "sub_districts": [ + { + "code": "341125", + "name": "定远", + "level": "THREE_LEVEL", + "geoname_id": 1812731, + "sub_districts": [] + }, + { + "code": "341126", + "name": "凤阳", + "level": "THREE_LEVEL", + "geoname_id": 1811185, + "sub_districts": [] + }, + { + "code": "341122", + "name": "来安", + "level": "THREE_LEVEL", + "geoname_id": 1804611, + "sub_districts": [] + }, + { + "code": "341102", + "name": "琅琊", + "level": "THREE_LEVEL", + "geoname_id": 6643471, + "sub_districts": [] + }, + { + "code": "341182", + "name": "明光", + "level": "THREE_LEVEL", + "geoname_id": 1805970, + "sub_districts": [] + }, + { + "code": "341103", + "name": "南谯", + "level": "THREE_LEVEL", + "geoname_id": 6643472, + "sub_districts": [] + }, + { + "code": "341124", + "name": "全椒", + "level": "THREE_LEVEL", + "geoname_id": 1797377, + "sub_districts": [] + }, + { + "code": "341181", + "name": "天长", + "level": "THREE_LEVEL", + "geoname_id": 1793015, + "sub_districts": [] + } + ] + }, + { + "code": "341700", + "name": "池州", + "level": "TWO_LEVEL", + "geoname_id": 1814934, + "sub_districts": [ + { + "code": "341721", + "name": "东至", + "level": "THREE_LEVEL", + "geoname_id": 1812050, + "sub_districts": [] + }, + { + "code": "341702", + "name": "贵池", + "level": "THREE_LEVEL", + "geoname_id": 1809531, + "sub_districts": [] + }, + { + "code": "341723", + "name": "青阳", + "level": "THREE_LEVEL", + "geoname_id": 1797648, + "sub_districts": [] + }, + { + "code": "341722", + "name": "石台", + "level": "THREE_LEVEL", + "geoname_id": 1794993, + "sub_districts": [] + } + ] + }, + { + "code": "341200", + "name": "阜阳", + "level": "TWO_LEVEL", + "geoname_id": 1810845, + "sub_districts": [ + { + "code": "341225", + "name": "阜南", + "level": "THREE_LEVEL", + "geoname_id": 1810955, + "sub_districts": [] + }, + { + "code": "341282", + "name": "界首", + "level": "THREE_LEVEL", + "geoname_id": 1805844, + "sub_districts": [] + }, + { + "code": "341221", + "name": "临泉", + "level": "THREE_LEVEL", + "geoname_id": 1803361, + "sub_districts": [] + }, + { + "code": "341222", + "name": "太和", + "level": "THREE_LEVEL", + "geoname_id": 1793675, + "sub_districts": [] + }, + { + "code": "341203", + "name": "颍东", + "level": "THREE_LEVEL", + "geoname_id": 6643455, + "sub_districts": [] + }, + { + "code": "341204", + "name": "颍泉", + "level": "THREE_LEVEL", + "geoname_id": 6643454, + "sub_districts": [] + }, + { + "code": "341226", + "name": "颍上", + "level": "THREE_LEVEL", + "geoname_id": 1786585, + "sub_districts": [] + }, + { + "code": "341202", + "name": "颍州", + "level": "THREE_LEVEL", + "geoname_id": 6643456, + "sub_districts": [] + } + ] + }, + { + "code": "340600", + "name": "淮北", + "level": "TWO_LEVEL", + "geoname_id": 1807700, + "sub_districts": [ + { + "code": "340602", + "name": "杜集", + "level": "THREE_LEVEL", + "geoname_id": 6643481, + "sub_districts": [] + }, + { + "code": "340604", + "name": "烈山", + "level": "THREE_LEVEL", + "geoname_id": 340604, + "sub_districts": [] + }, + { + "code": "340621", + "name": "濉溪", + "level": "THREE_LEVEL", + "geoname_id": 1793885, + "sub_districts": [] + }, + { + "code": "340603", + "name": "相山", + "level": "THREE_LEVEL", + "geoname_id": 6643482, + "sub_districts": [] + } + ] + }, + { + "code": "340100", + "name": "合肥", + "level": "TWO_LEVEL", + "geoname_id": 1808722, + "sub_districts": [ + { + "code": "3401110000003", + "name": "包河", + "level": "THREE_LEVEL", + "geoname_id": 6643479, + "sub_districts": [] + }, + { + "code": "340121", + "name": "长丰", + "level": "THREE_LEVEL", + "geoname_id": 1815747, + "sub_districts": [] + }, + { + "code": "340181", + "name": "巢湖", + "level": "THREE_LEVEL", + "geoname_id": 1815427, + "sub_districts": [] + }, + { + "code": "340122", + "name": "肥东", + "level": "THREE_LEVEL", + "geoname_id": 1811457, + "sub_districts": [] + }, + { + "code": "340123", + "name": "肥西", + "level": "THREE_LEVEL", + "geoname_id": 1811436, + "sub_districts": [] + }, + { + "code": "3401710000003", + "name": "合肥高新技术产业开发区", + "level": "THREE_LEVEL", + "geoname_id": 659010094, + "sub_districts": [] + }, + { + "code": "3401720000003", + "name": "合肥经济技术开发区", + "level": "THREE_LEVEL", + "geoname_id": 659010089, + "sub_districts": [] + }, + { + "code": "340124", + "name": "庐江", + "level": "THREE_LEVEL", + "geoname_id": 1802067, + "sub_districts": [] + }, + { + "code": "340103", + "name": "庐阳", + "level": "THREE_LEVEL", + "geoname_id": 6643477, + "sub_districts": [] + }, + { + "code": "3401040000003", + "name": "蜀山", + "level": "THREE_LEVEL", + "geoname_id": 6643478, + "sub_districts": [] + }, + { + "code": "340102", + "name": "瑶海", + "level": "THREE_LEVEL", + "geoname_id": 6643480, + "sub_districts": [] + } + ] + }, + { + "code": "340400", + "name": "淮南", + "level": "TWO_LEVEL", + "geoname_id": 1807680, + "sub_districts": [ + { + "code": "340405", + "name": "八公山", + "level": "THREE_LEVEL", + "geoname_id": 6643461, + "sub_districts": [] + }, + { + "code": "340402", + "name": "大通", + "level": "THREE_LEVEL", + "geoname_id": 6643459, + "sub_districts": [] + }, + { + "code": "340421", + "name": "凤台", + "level": "THREE_LEVEL", + "geoname_id": 1811225, + "sub_districts": [] + }, + { + "code": "340406", + "name": "潘集", + "level": "THREE_LEVEL", + "geoname_id": 6643457, + "sub_districts": [] + }, + { + "code": "340422", + "name": "寿县", + "level": "THREE_LEVEL", + "geoname_id": 1794783, + "sub_districts": [] + }, + { + "code": "340403", + "name": "田家庵", + "level": "THREE_LEVEL", + "geoname_id": 6643458, + "sub_districts": [] + }, + { + "code": "340404", + "name": "谢家集", + "level": "THREE_LEVEL", + "geoname_id": 6643460, + "sub_districts": [] + } + ] + }, + { + "code": "341000", + "name": "黄山", + "level": "TWO_LEVEL", + "geoname_id": 1792359, + "sub_districts": [ + { + "code": "341003", + "name": "黄山", + "level": "THREE_LEVEL", + "geoname_id": 6643462, + "sub_districts": [] + }, + { + "code": "341004", + "name": "徽州", + "level": "THREE_LEVEL", + "geoname_id": 6643463, + "sub_districts": [] + }, + { + "code": "341024", + "name": "祁门", + "level": "THREE_LEVEL", + "geoname_id": 1797969, + "sub_districts": [] + }, + { + "code": "341021", + "name": "歙县", + "level": "THREE_LEVEL", + "geoname_id": 1795534, + "sub_districts": [] + }, + { + "code": "341002", + "name": "屯溪", + "level": "THREE_LEVEL", + "geoname_id": 1792358, + "sub_districts": [] + }, + { + "code": "341022", + "name": "休宁", + "level": "THREE_LEVEL", + "geoname_id": 1788267, + "sub_districts": [] + }, + { + "code": "341023", + "name": "黟县", + "level": "THREE_LEVEL", + "geoname_id": 1816316, + "sub_districts": [] + } + ] + }, + { + "code": "341500", + "name": "六安", + "level": "TWO_LEVEL", + "geoname_id": 1802206, + "sub_districts": [ + { + "code": "341522", + "name": "霍邱", + "level": "THREE_LEVEL", + "geoname_id": 1806650, + "sub_districts": [] + }, + { + "code": "341525", + "name": "霍山", + "level": "THREE_LEVEL", + "geoname_id": 1806644, + "sub_districts": [] + }, + { + "code": "341502", + "name": "金安", + "level": "THREE_LEVEL", + "geoname_id": 6643452, + "sub_districts": [] + }, + { + "code": "341524", + "name": "金寨", + "level": "THREE_LEVEL", + "geoname_id": 1805306, + "sub_districts": [] + }, + { + "code": "341523", + "name": "舒城", + "level": "THREE_LEVEL", + "geoname_id": 1794543, + "sub_districts": [] + }, + { + "code": "341503", + "name": "裕安", + "level": "THREE_LEVEL", + "geoname_id": 6643453, + "sub_districts": [] + }, + { + "code": "341504", + "name": "叶集", + "level": "THREE_LEVEL", + "geoname_id": 341504, + "sub_districts": [] + } + ] + }, + { + "code": "340500", + "name": "马鞍山", + "level": "TWO_LEVEL", + "geoname_id": 1801618, + "sub_districts": [ + { + "code": "340506", + "name": "博望", + "level": "THREE_LEVEL", + "geoname_id": 1816254, + "sub_districts": [] + }, + { + "code": "340521", + "name": "当涂", + "level": "THREE_LEVEL", + "geoname_id": 1813850, + "sub_districts": [] + }, + { + "code": "340503", + "name": "花山", + "level": "THREE_LEVEL", + "geoname_id": 6643469, + "sub_districts": [] + }, + { + "code": "340522", + "name": "含山", + "level": "THREE_LEVEL", + "geoname_id": 1808888, + "sub_districts": [] + }, + { + "code": "340523", + "name": "和县", + "level": "THREE_LEVEL", + "geoname_id": 1808229, + "sub_districts": [] + }, + { + "code": "340504", + "name": "雨山", + "level": "THREE_LEVEL", + "geoname_id": 6643470, + "sub_districts": [] + } + ] + }, + { + "code": "341300", + "name": "宿州", + "level": "TWO_LEVEL", + "geoname_id": 1793743, + "sub_districts": [ + { + "code": "341321", + "name": "砀山", + "level": "THREE_LEVEL", + "geoname_id": 1813854, + "sub_districts": [] + }, + { + "code": "341323", + "name": "灵璧", + "level": "THREE_LEVEL", + "geoname_id": 1803553, + "sub_districts": [] + }, + { + "code": "341324", + "name": "泗县", + "level": "THREE_LEVEL", + "geoname_id": 1794110, + "sub_districts": [] + }, + { + "code": "341322", + "name": "萧县", + "level": "THREE_LEVEL", + "geoname_id": 1789930, + "sub_districts": [] + }, + { + "code": "341302", + "name": "埇桥", + "level": "THREE_LEVEL", + "geoname_id": 6643484, + "sub_districts": [] + } + ] + }, + { + "code": "340700", + "name": "铜陵", + "level": "TWO_LEVEL", + "geoname_id": 1792621, + "sub_districts": [ + { + "code": "340711", + "name": "郊区", + "level": "THREE_LEVEL", + "geoname_id": 6643487, + "sub_districts": [] + }, + { + "code": "340705", + "name": "铜官", + "level": "THREE_LEVEL", + "geoname_id": 340705, + "sub_districts": [] + }, + { + "code": "340706", + "name": "义安", + "level": "THREE_LEVEL", + "geoname_id": 340706, + "sub_districts": [] + }, + { + "code": "340722", + "name": "枞阳", + "level": "THREE_LEVEL", + "geoname_id": 1783651, + "sub_districts": [] + } + ] + }, + { + "code": "340200", + "name": "芜湖", + "level": "TWO_LEVEL", + "geoname_id": 1791236, + "sub_districts": [ + { + "code": "3402120000001", + "name": "繁昌", + "level": "THREE_LEVEL", + "geoname_id": 1811606, + "sub_districts": [] + }, + { + "code": "340202", + "name": "镜湖", + "level": "THREE_LEVEL", + "geoname_id": 6643467, + "sub_districts": [] + }, + { + "code": "340207", + "name": "鸠江", + "level": "THREE_LEVEL", + "geoname_id": 6643464, + "sub_districts": [] + }, + { + "code": "340223", + "name": "南陵", + "level": "THREE_LEVEL", + "geoname_id": 1799914, + "sub_districts": [] + }, + { + "code": "3402810000001", + "name": "无为", + "level": "THREE_LEVEL", + "geoname_id": 1790929, + "sub_districts": [] + }, + { + "code": "3402100000001", + "name": "湾沚", + "level": "THREE_LEVEL", + "geoname_id": 7069199, + "sub_districts": [] + }, + { + "code": "3402090000001", + "name": "弋江", + "level": "THREE_LEVEL", + "geoname_id": 7060473, + "sub_districts": [] + } + ] + }, + { + "code": "341800", + "name": "宣城", + "level": "TWO_LEVEL", + "geoname_id": 1788080, + "sub_districts": [ + { + "code": "3418820000001", + "name": "广德", + "level": "THREE_LEVEL", + "geoname_id": 1809937, + "sub_districts": [] + }, + { + "code": "341825", + "name": "旌德", + "level": "THREE_LEVEL", + "geoname_id": 1805681, + "sub_districts": [] + }, + { + "code": "341823", + "name": "泾县", + "level": "THREE_LEVEL", + "geoname_id": 1805570, + "sub_districts": [] + }, + { + "code": "341824", + "name": "绩溪", + "level": "THREE_LEVEL", + "geoname_id": 1805023, + "sub_districts": [] + }, + { + "code": "341821", + "name": "郎溪", + "level": "THREE_LEVEL", + "geoname_id": 1804495, + "sub_districts": [] + }, + { + "code": "341881", + "name": "宁国", + "level": "THREE_LEVEL", + "geoname_id": 1799385, + "sub_districts": [] + }, + { + "code": "341802", + "name": "宣州", + "level": "THREE_LEVEL", + "geoname_id": 1788079, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "82", + "name": "澳门", + "level": "ONE_LEVEL", + "geoname_id": 1821274, + "sub_districts": [] + }, + { + "code": "11", + "name": "北京", + "level": "ONE_LEVEL", + "geoname_id": 2038349, + "sub_districts": [ + { + "code": "110000", + "name": "北京", + "level": "TWO_LEVEL", + "geoname_id": 1816670, + "sub_districts": [ + { + "code": "110114", + "name": "昌平", + "level": "THREE_LEVEL", + "geoname_id": 2038153, + "sub_districts": [] + }, + { + "code": "110105", + "name": "朝阳", + "level": "THREE_LEVEL", + "geoname_id": 1815402, + "sub_districts": [] + }, + { + "code": "110101", + "name": "东城", + "level": "THREE_LEVEL", + "geoname_id": 1812638, + "sub_districts": [] + }, + { + "code": "110115", + "name": "大兴", + "level": "THREE_LEVEL", + "geoname_id": 1813286, + "sub_districts": [] + }, + { + "code": "110111", + "name": "房山", + "level": "THREE_LEVEL", + "geoname_id": 1811541, + "sub_districts": [] + }, + { + "code": "110106", + "name": "丰台", + "level": "THREE_LEVEL", + "geoname_id": 1811227, + "sub_districts": [] + }, + { + "code": "110108", + "name": "海淀", + "level": "THREE_LEVEL", + "geoname_id": 1809104, + "sub_districts": [] + }, + { + "code": "110116", + "name": "怀柔", + "level": "THREE_LEVEL", + "geoname_id": 2036763, + "sub_districts": [] + }, + { + "code": "110109", + "name": "门头沟", + "level": "THREE_LEVEL", + "geoname_id": 1800656, + "sub_districts": [] + }, + { + "code": "110118", + "name": "密云", + "level": "THREE_LEVEL", + "geoname_id": 8389521, + "sub_districts": [] + }, + { + "code": "110117", + "name": "平谷", + "level": "THREE_LEVEL", + "geoname_id": 2035468, + "sub_districts": [] + }, + { + "code": "110107", + "name": "石景山", + "level": "THREE_LEVEL", + "geoname_id": 1795253, + "sub_districts": [] + }, + { + "code": "110113", + "name": "顺义", + "level": "THREE_LEVEL", + "geoname_id": 2034753, + "sub_districts": [] + }, + { + "code": "110112", + "name": "通州", + "level": "THREE_LEVEL", + "geoname_id": 1792555, + "sub_districts": [] + }, + { + "code": "110102", + "name": "西城", + "level": "THREE_LEVEL", + "geoname_id": 1789635, + "sub_districts": [] + }, + { + "code": "110119", + "name": "延庆", + "level": "THREE_LEVEL", + "geoname_id": 2033457, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "50", + "name": "重庆", + "level": "ONE_LEVEL", + "geoname_id": 1814905, + "sub_districts": [ + { + "code": "500000", + "name": "重庆", + "level": "TWO_LEVEL", + "geoname_id": 1814906, + "sub_districts": [ + { + "code": "500109", + "name": "北碚", + "level": "THREE_LEVEL", + "geoname_id": 1909732, + "sub_districts": [] + }, + { + "code": "500113", + "name": "巴南", + "level": "THREE_LEVEL", + "geoname_id": 1909733, + "sub_districts": [] + }, + { + "code": "500120", + "name": "璧山", + "level": "THREE_LEVEL", + "geoname_id": 500120, + "sub_districts": [] + }, + { + "code": "500229", + "name": "城口", + "level": "THREE_LEVEL", + "geoname_id": 1815237, + "sub_districts": [] + }, + { + "code": "500115", + "name": "长寿", + "level": "THREE_LEVEL", + "geoname_id": 1815538, + "sub_districts": [] + }, + { + "code": "500104", + "name": "大渡口", + "level": "THREE_LEVEL", + "geoname_id": 1942237, + "sub_districts": [] + }, + { + "code": "500231", + "name": "垫江", + "level": "THREE_LEVEL", + "geoname_id": 1812936, + "sub_districts": [] + }, + { + "code": "500111", + "name": "大足", + "level": "THREE_LEVEL", + "geoname_id": 1813042, + "sub_districts": [] + }, + { + "code": "500230", + "name": "丰都", + "level": "THREE_LEVEL", + "geoname_id": 1811387, + "sub_districts": [] + }, + { + "code": "500236", + "name": "奉节", + "level": "THREE_LEVEL", + "geoname_id": 1811310, + "sub_districts": [] + }, + { + "code": "500102", + "name": "涪陵", + "level": "THREE_LEVEL", + "geoname_id": 1810978, + "sub_districts": [] + }, + { + "code": "500117", + "name": "合川", + "level": "THREE_LEVEL", + "geoname_id": 1808752, + "sub_districts": [] + }, + { + "code": "500105", + "name": "江北", + "level": "THREE_LEVEL", + "geoname_id": 1806413, + "sub_districts": [] + }, + { + "code": "500116", + "name": "江津", + "level": "THREE_LEVEL", + "geoname_id": 1806348, + "sub_districts": [] + }, + { + "code": "500107", + "name": "九龙坡", + "level": "THREE_LEVEL", + "geoname_id": 1805144, + "sub_districts": [] + }, + { + "code": "500154", + "name": "开州", + "level": "THREE_LEVEL", + "geoname_id": 500154, + "sub_districts": [] + }, + { + "code": "5001550000001", + "name": "梁平", + "level": "THREE_LEVEL", + "geoname_id": 1803993, + "sub_districts": [] + }, + { + "code": "500108", + "name": "南岸", + "level": "THREE_LEVEL", + "geoname_id": 1909730, + "sub_districts": [] + }, + { + "code": "500119", + "name": "南川", + "level": "THREE_LEVEL", + "geoname_id": 1800142, + "sub_districts": [] + }, + { + "code": "500243", + "name": "彭水", + "level": "THREE_LEVEL", + "geoname_id": 1798914, + "sub_districts": [] + }, + { + "code": "500110", + "name": "綦江", + "level": "THREE_LEVEL", + "geoname_id": 1798038, + "sub_districts": [] + }, + { + "code": "500114", + "name": "黔江", + "level": "THREE_LEVEL", + "geoname_id": 1798314, + "sub_districts": [] + }, + { + "code": "500153", + "name": "荣昌", + "level": "THREE_LEVEL", + "geoname_id": 1797123, + "sub_districts": [] + }, + { + "code": "500106", + "name": "沙坪坝", + "level": "THREE_LEVEL", + "geoname_id": 1795834, + "sub_districts": [] + }, + { + "code": "500240", + "name": "石柱", + "level": "THREE_LEVEL", + "geoname_id": 1794844, + "sub_districts": [] + }, + { + "code": "500151", + "name": "铜梁", + "level": "THREE_LEVEL", + "geoname_id": 1792625, + "sub_districts": [] + }, + { + "code": "500152", + "name": "潼南", + "level": "THREE_LEVEL", + "geoname_id": 1792607, + "sub_districts": [] + }, + { + "code": "5001560000001", + "name": "武隆", + "level": "THREE_LEVEL", + "geoname_id": 1791088, + "sub_districts": [] + }, + { + "code": "500237", + "name": "巫山", + "level": "THREE_LEVEL", + "geoname_id": 1791004, + "sub_districts": [] + }, + { + "code": "500238", + "name": "巫溪", + "level": "THREE_LEVEL", + "geoname_id": 1790901, + "sub_districts": [] + }, + { + "code": "500101", + "name": "万州", + "level": "THREE_LEVEL", + "geoname_id": 1791746, + "sub_districts": [] + }, + { + "code": "500241", + "name": "秀山", + "level": "THREE_LEVEL", + "geoname_id": 1788260, + "sub_districts": [] + }, + { + "code": "500112", + "name": "渝北", + "level": "THREE_LEVEL", + "geoname_id": 1909731, + "sub_districts": [] + }, + { + "code": "500118", + "name": "永川", + "level": "THREE_LEVEL", + "geoname_id": 8419426, + "sub_districts": [] + }, + { + "code": "500242", + "name": "酉阳", + "level": "THREE_LEVEL", + "geoname_id": 1786135, + "sub_districts": [] + }, + { + "code": "500235", + "name": "云阳", + "level": "THREE_LEVEL", + "geoname_id": 1785653, + "sub_districts": [] + }, + { + "code": "500103", + "name": "渝中", + "level": "THREE_LEVEL", + "geoname_id": 1816835, + "sub_districts": [] + }, + { + "code": "500233", + "name": "忠县", + "level": "THREE_LEVEL", + "geoname_id": 1784281, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "35", + "name": "福建", + "level": "ONE_LEVEL", + "geoname_id": 1811017, + "sub_districts": [ + { + "code": "350100", + "name": "福州", + "level": "TWO_LEVEL", + "geoname_id": 1810821, + "sub_districts": [ + { + "code": "3501120000001", + "name": "长乐", + "level": "THREE_LEVEL", + "geoname_id": 1815677, + "sub_districts": [] + }, + { + "code": "350104", + "name": "仓山", + "level": "THREE_LEVEL", + "geoname_id": 6607660, + "sub_districts": [] + }, + { + "code": "350181", + "name": "福清", + "level": "THREE_LEVEL", + "geoname_id": 1810940, + "sub_districts": [] + }, + { + "code": "350102", + "name": "鼓楼", + "level": "THREE_LEVEL", + "geoname_id": 6607645, + "sub_districts": [] + }, + { + "code": "350111", + "name": "晋安", + "level": "THREE_LEVEL", + "geoname_id": 6607663, + "sub_districts": [] + }, + { + "code": "350122", + "name": "连江", + "level": "THREE_LEVEL", + "geoname_id": 1803894, + "sub_districts": [] + }, + { + "code": "350123", + "name": "罗源", + "level": "THREE_LEVEL", + "geoname_id": 1801780, + "sub_districts": [] + }, + { + "code": "350121", + "name": "闽侯", + "level": "THREE_LEVEL", + "geoname_id": 1800476, + "sub_districts": [] + }, + { + "code": "350124", + "name": "闽清", + "level": "THREE_LEVEL", + "geoname_id": 1800461, + "sub_districts": [] + }, + { + "code": "350105", + "name": "马尾", + "level": "THREE_LEVEL", + "geoname_id": 6607662, + "sub_districts": [] + }, + { + "code": "350128", + "name": "平潭", + "level": "THREE_LEVEL", + "geoname_id": 1798676, + "sub_districts": [] + }, + { + "code": "350103", + "name": "台江", + "level": "THREE_LEVEL", + "geoname_id": 6607655, + "sub_districts": [] + }, + { + "code": "350125", + "name": "永泰", + "level": "THREE_LEVEL", + "geoname_id": 1786256, + "sub_districts": [] + } + ] + }, + { + "code": "350800", + "name": "龙岩", + "level": "TWO_LEVEL", + "geoname_id": 1802276, + "sub_districts": [ + { + "code": "350821", + "name": "长汀", + "level": "THREE_LEVEL", + "geoname_id": 1815513, + "sub_districts": [] + }, + { + "code": "350825", + "name": "连城", + "level": "THREE_LEVEL", + "geoname_id": 1804116, + "sub_districts": [] + }, + { + "code": "350823", + "name": "上杭", + "level": "THREE_LEVEL", + "geoname_id": 1796228, + "sub_districts": [] + }, + { + "code": "350824", + "name": "武平", + "level": "THREE_LEVEL", + "geoname_id": 1798846, + "sub_districts": [] + }, + { + "code": "350802", + "name": "新罗", + "level": "THREE_LEVEL", + "geoname_id": 6607506, + "sub_districts": [] + }, + { + "code": "350803", + "name": "永定", + "level": "THREE_LEVEL", + "geoname_id": 1786361, + "sub_districts": [] + }, + { + "code": "350881", + "name": "漳平", + "level": "THREE_LEVEL", + "geoname_id": 1805688, + "sub_districts": [] + } + ] + }, + { + "code": "350900", + "name": "宁德", + "level": "TWO_LEVEL", + "geoname_id": 1806097, + "sub_districts": [ + { + "code": "350981", + "name": "福安", + "level": "THREE_LEVEL", + "geoname_id": 1808872, + "sub_districts": [] + }, + { + "code": "350982", + "name": "福鼎", + "level": "THREE_LEVEL", + "geoname_id": 1811049, + "sub_districts": [] + }, + { + "code": "350922", + "name": "古田", + "level": "THREE_LEVEL", + "geoname_id": 1809199, + "sub_districts": [] + }, + { + "code": "350902", + "name": "蕉城", + "level": "THREE_LEVEL", + "geoname_id": 6607620, + "sub_districts": [] + }, + { + "code": "350923", + "name": "屏南", + "level": "THREE_LEVEL", + "geoname_id": 1798729, + "sub_districts": [] + }, + { + "code": "350924", + "name": "寿宁", + "level": "THREE_LEVEL", + "geoname_id": 1794791, + "sub_districts": [] + }, + { + "code": "350921", + "name": "霞浦", + "level": "THREE_LEVEL", + "geoname_id": 1789831, + "sub_districts": [] + }, + { + "code": "350925", + "name": "周宁", + "level": "THREE_LEVEL", + "geoname_id": 1784118, + "sub_districts": [] + }, + { + "code": "350926", + "name": "柘荣", + "level": "THREE_LEVEL", + "geoname_id": 1794762, + "sub_districts": [] + } + ] + }, + { + "code": "350700", + "name": "南平", + "level": "TWO_LEVEL", + "geoname_id": 1799838, + "sub_districts": [ + { + "code": "350723", + "name": "光泽", + "level": "THREE_LEVEL", + "geoname_id": 1809860, + "sub_districts": [] + }, + { + "code": "350783", + "name": "建瓯", + "level": "THREE_LEVEL", + "geoname_id": 1806166, + "sub_districts": [] + }, + { + "code": "350703", + "name": "建阳", + "level": "THREE_LEVEL", + "geoname_id": 1806120, + "sub_districts": [] + }, + { + "code": "350722", + "name": "浦城", + "level": "THREE_LEVEL", + "geoname_id": 1798529, + "sub_districts": [] + }, + { + "code": "350721", + "name": "顺昌", + "level": "THREE_LEVEL", + "geoname_id": 1794358, + "sub_districts": [] + }, + { + "code": "350781", + "name": "邵武", + "level": "THREE_LEVEL", + "geoname_id": 1795856, + "sub_districts": [] + }, + { + "code": "350724", + "name": "松溪", + "level": "THREE_LEVEL", + "geoname_id": 1793964, + "sub_districts": [] + }, + { + "code": "350782", + "name": "武夷山", + "level": "THREE_LEVEL", + "geoname_id": 1922013, + "sub_districts": [] + }, + { + "code": "350702", + "name": "延平", + "level": "THREE_LEVEL", + "geoname_id": 6607623, + "sub_districts": [] + }, + { + "code": "350725", + "name": "政和", + "level": "THREE_LEVEL", + "geoname_id": 1784700, + "sub_districts": [] + } + ] + }, + { + "code": "350300", + "name": "莆田", + "level": "TWO_LEVEL", + "geoname_id": 1798445, + "sub_districts": [ + { + "code": "350302", + "name": "城厢", + "level": "THREE_LEVEL", + "geoname_id": 6607724, + "sub_districts": [] + }, + { + "code": "350303", + "name": "涵江", + "level": "THREE_LEVEL", + "geoname_id": 6607729, + "sub_districts": [] + }, + { + "code": "350304", + "name": "荔城", + "level": "THREE_LEVEL", + "geoname_id": 11203926, + "sub_districts": [] + }, + { + "code": "350305", + "name": "秀屿", + "level": "THREE_LEVEL", + "geoname_id": 6607732, + "sub_districts": [] + }, + { + "code": "350322", + "name": "仙游", + "level": "THREE_LEVEL", + "geoname_id": 1790350, + "sub_districts": [] + } + ] + }, + { + "code": "350500", + "name": "泉州", + "level": "TWO_LEVEL", + "geoname_id": 1797353, + "sub_districts": [ + { + "code": "350524", + "name": "安溪", + "level": "THREE_LEVEL", + "geoname_id": 1817948, + "sub_districts": [] + }, + { + "code": "350526", + "name": "德化", + "level": "THREE_LEVEL", + "geoname_id": 1813027, + "sub_districts": [] + }, + { + "code": "350503", + "name": "丰泽", + "level": "THREE_LEVEL", + "geoname_id": 6607503, + "sub_districts": [] + }, + { + "code": "350521", + "name": "惠安", + "level": "THREE_LEVEL", + "geoname_id": 1806894, + "sub_districts": [] + }, + { + "code": "350582", + "name": "晋江", + "level": "THREE_LEVEL", + "geoname_id": 1797658, + "sub_districts": [] + }, + { + "code": "350527", + "name": "金门", + "level": "THREE_LEVEL", + "geoname_id": 350527, + "sub_districts": [] + }, + { + "code": "350502", + "name": "鲤城", + "level": "THREE_LEVEL", + "geoname_id": 6607502, + "sub_districts": [] + }, + { + "code": "350504", + "name": "洛江", + "level": "THREE_LEVEL", + "geoname_id": 6607504, + "sub_districts": [] + }, + { + "code": "350583", + "name": "南安", + "level": "THREE_LEVEL", + "geoname_id": 1800195, + "sub_districts": [] + }, + { + "code": "350505", + "name": "泉港", + "level": "THREE_LEVEL", + "geoname_id": 6607505, + "sub_districts": [] + }, + { + "code": "350581", + "name": "石狮", + "level": "THREE_LEVEL", + "geoname_id": 1921550, + "sub_districts": [] + }, + { + "code": "350525", + "name": "永春", + "level": "THREE_LEVEL", + "geoname_id": 1786369, + "sub_districts": [] + } + ] + }, + { + "code": "350400", + "name": "三明", + "level": "TWO_LEVEL", + "geoname_id": 1796663, + "sub_districts": [ + { + "code": "350425", + "name": "大田", + "level": "THREE_LEVEL", + "geoname_id": 1813464, + "sub_districts": [] + }, + { + "code": "350428", + "name": "将乐", + "level": "THREE_LEVEL", + "geoname_id": 1806304, + "sub_districts": [] + }, + { + "code": "350430", + "name": "建宁", + "level": "THREE_LEVEL", + "geoname_id": 1806168, + "sub_districts": [] + }, + { + "code": "350421", + "name": "明溪", + "level": "THREE_LEVEL", + "geoname_id": 1800492, + "sub_districts": [] + }, + { + "code": "350424", + "name": "宁化", + "level": "THREE_LEVEL", + "geoname_id": 1799377, + "sub_districts": [] + }, + { + "code": "350423", + "name": "清流", + "level": "THREE_LEVEL", + "geoname_id": 1797838, + "sub_districts": [] + }, + { + "code": "3504050000001", + "name": "沙县", + "level": "THREE_LEVEL", + "geoname_id": 1795756, + "sub_districts": [] + }, + { + "code": "3504040000000", + "name": "三元", + "level": "THREE_LEVEL", + "geoname_id": 6607705, + "sub_districts": [] + }, + { + "code": "350429", + "name": "泰宁", + "level": "THREE_LEVEL", + "geoname_id": 1793645, + "sub_districts": [] + }, + { + "code": "350481", + "name": "永安", + "level": "THREE_LEVEL", + "geoname_id": 1786401, + "sub_districts": [] + }, + { + "code": "350426", + "name": "尤溪", + "level": "THREE_LEVEL", + "geoname_id": 1786138, + "sub_districts": [] + } + ] + }, + { + "code": "350200", + "name": "厦门", + "level": "TWO_LEVEL", + "geoname_id": 1790645, + "sub_districts": [ + { + "code": "350205", + "name": "海沧", + "level": "THREE_LEVEL", + "geoname_id": 6607668, + "sub_districts": [] + }, + { + "code": "350206", + "name": "湖里", + "level": "THREE_LEVEL", + "geoname_id": 6607697, + "sub_districts": [] + }, + { + "code": "350211", + "name": "集美", + "level": "THREE_LEVEL", + "geoname_id": 6607699, + "sub_districts": [] + }, + { + "code": "350203", + "name": "思明", + "level": "THREE_LEVEL", + "geoname_id": 6607664, + "sub_districts": [] + }, + { + "code": "350212", + "name": "同安", + "level": "THREE_LEVEL", + "geoname_id": 1792716, + "sub_districts": [] + }, + { + "code": "350213", + "name": "翔安", + "level": "THREE_LEVEL", + "geoname_id": 7925580, + "sub_districts": [] + } + ] + }, + { + "code": "350600", + "name": "漳州", + "level": "TWO_LEVEL", + "geoname_id": 1785018, + "sub_districts": [ + { + "code": "3506050000001", + "name": "长泰", + "level": "THREE_LEVEL", + "geoname_id": 1815531, + "sub_districts": [] + }, + { + "code": "350626", + "name": "东山", + "level": "THREE_LEVEL", + "geoname_id": 1812269, + "sub_districts": [] + }, + { + "code": "350629", + "name": "华安", + "level": "THREE_LEVEL", + "geoname_id": 1807749, + "sub_districts": [] + }, + { + "code": "3506040000001", + "name": "龙海", + "level": "THREE_LEVEL", + "geoname_id": 1802632, + "sub_districts": [] + }, + { + "code": "350603", + "name": "龙文", + "level": "THREE_LEVEL", + "geoname_id": 1977996, + "sub_districts": [] + }, + { + "code": "350627", + "name": "南靖", + "level": "THREE_LEVEL", + "geoname_id": 1799957, + "sub_districts": [] + }, + { + "code": "350628", + "name": "平和", + "level": "THREE_LEVEL", + "geoname_id": 1798794, + "sub_districts": [] + }, + { + "code": "350602", + "name": "芗城", + "level": "THREE_LEVEL", + "geoname_id": 6607501, + "sub_districts": [] + }, + { + "code": "350622", + "name": "云霄", + "level": "THREE_LEVEL", + "geoname_id": 1785660, + "sub_districts": [] + }, + { + "code": "350624", + "name": "诏安", + "level": "THREE_LEVEL", + "geoname_id": 1784965, + "sub_districts": [] + }, + { + "code": "350623", + "name": "漳浦", + "level": "THREE_LEVEL", + "geoname_id": 1785103, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "44", + "name": "广东", + "level": "ONE_LEVEL", + "geoname_id": 1809935, + "sub_districts": [ + { + "code": "445100", + "name": "潮州", + "level": "TWO_LEVEL", + "geoname_id": 1815395, + "sub_districts": [ + { + "code": "445103", + "name": "潮安", + "level": "THREE_LEVEL", + "geoname_id": 1919706, + "sub_districts": [] + }, + { + "code": "445122", + "name": "饶平", + "level": "THREE_LEVEL", + "geoname_id": 1797241, + "sub_districts": [] + }, + { + "code": "445102", + "name": "湘桥", + "level": "THREE_LEVEL", + "geoname_id": 6571338, + "sub_districts": [] + } + ] + }, + { + "code": "441900", + "name": "东莞", + "level": "TWO_LEVEL", + "geoname_id": 1812545, + "sub_districts": [ + { + "code": "441900", + "name": "东莞", + "level": "THREE_LEVEL", + "geoname_id": 1812532, + "sub_districts": [] + } + ] + }, + { + "code": "440600", + "name": "佛山", + "level": "TWO_LEVEL", + "geoname_id": 1811103, + "sub_districts": [ + { + "code": "440604", + "name": "禅城", + "level": "THREE_LEVEL", + "geoname_id": 6571340, + "sub_districts": [] + }, + { + "code": "440608", + "name": "高明", + "level": "THREE_LEVEL", + "geoname_id": 1810452, + "sub_districts": [] + }, + { + "code": "440605", + "name": "南海", + "level": "THREE_LEVEL", + "geoname_id": 1800036, + "sub_districts": [] + }, + { + "code": "440606", + "name": "顺德", + "level": "THREE_LEVEL", + "geoname_id": 1814082, + "sub_districts": [] + }, + { + "code": "440607", + "name": "三水", + "level": "THREE_LEVEL", + "geoname_id": 1796607, + "sub_districts": [] + } + ] + }, + { + "code": "440100", + "name": "广州", + "level": "TWO_LEVEL", + "geoname_id": 1809858, + "sub_districts": [ + { + "code": "440111", + "name": "白云", + "level": "THREE_LEVEL", + "geoname_id": 6571346, + "sub_districts": [] + }, + { + "code": "440117", + "name": "从化", + "level": "THREE_LEVEL", + "geoname_id": 1805880, + "sub_districts": [] + }, + { + "code": "440114", + "name": "花都", + "level": "THREE_LEVEL", + "geoname_id": 1807008, + "sub_districts": [] + }, + { + "code": "440112", + "name": "黄埔", + "level": "THREE_LEVEL", + "geoname_id": 6571343, + "sub_districts": [] + }, + { + "code": "440105", + "name": "海珠", + "level": "THREE_LEVEL", + "geoname_id": 6571341, + "sub_districts": [] + }, + { + "code": "440103", + "name": "荔湾", + "level": "THREE_LEVEL", + "geoname_id": 6571345, + "sub_districts": [] + }, + { + "code": "440115", + "name": "南沙", + "level": "THREE_LEVEL", + "geoname_id": 6571339, + "sub_districts": [] + }, + { + "code": "440113", + "name": "番禺", + "level": "THREE_LEVEL", + "geoname_id": 1799000, + "sub_districts": [] + }, + { + "code": "440106", + "name": "天河", + "level": "THREE_LEVEL", + "geoname_id": 6571342, + "sub_districts": [] + }, + { + "code": "440104", + "name": "越秀", + "level": "THREE_LEVEL", + "geoname_id": 6571344, + "sub_districts": [] + }, + { + "code": "440118", + "name": "增城", + "level": "THREE_LEVEL", + "geoname_id": 1785436, + "sub_districts": [] + } + ] + }, + { + "code": "441600", + "name": "河源", + "level": "TWO_LEVEL", + "geoname_id": 1786112, + "sub_districts": [ + { + "code": "441625", + "name": "东源", + "level": "THREE_LEVEL", + "geoname_id": 1917078, + "sub_districts": [] + }, + { + "code": "441624", + "name": "和平", + "level": "THREE_LEVEL", + "geoname_id": 1808338, + "sub_districts": [] + }, + { + "code": "441622", + "name": "龙川", + "level": "THREE_LEVEL", + "geoname_id": 1802678, + "sub_districts": [] + }, + { + "code": "441623", + "name": "连平", + "level": "THREE_LEVEL", + "geoname_id": 1803890, + "sub_districts": [] + }, + { + "code": "441602", + "name": "源城", + "level": "THREE_LEVEL", + "geoname_id": 6571350, + "sub_districts": [] + }, + { + "code": "441621", + "name": "紫金", + "level": "THREE_LEVEL", + "geoname_id": 1783725, + "sub_districts": [] + } + ] + }, + { + "code": "441300", + "name": "惠州", + "level": "TWO_LEVEL", + "geoname_id": 1806776, + "sub_districts": [ + { + "code": "441322", + "name": "博罗", + "level": "THREE_LEVEL", + "geoname_id": 1816276, + "sub_districts": [] + }, + { + "code": "441302", + "name": "惠城", + "level": "THREE_LEVEL", + "geoname_id": 6571331, + "sub_districts": [] + }, + { + "code": "441323", + "name": "惠东", + "level": "THREE_LEVEL", + "geoname_id": 1806874, + "sub_districts": [] + }, + { + "code": "441303", + "name": "惠阳", + "level": "THREE_LEVEL", + "geoname_id": 1806781, + "sub_districts": [] + }, + { + "code": "441324", + "name": "龙门", + "level": "THREE_LEVEL", + "geoname_id": 1802505, + "sub_districts": [] + } + ] + }, + { + "code": "440700", + "name": "江门", + "level": "TWO_LEVEL", + "geoname_id": 1806299, + "sub_districts": [ + { + "code": "440785", + "name": "恩平", + "level": "THREE_LEVEL", + "geoname_id": 1811721, + "sub_districts": [] + }, + { + "code": "440784", + "name": "鹤山", + "level": "THREE_LEVEL", + "geoname_id": 1808306, + "sub_districts": [] + }, + { + "code": "440704", + "name": "江海", + "level": "THREE_LEVEL", + "geoname_id": 6571324, + "sub_districts": [] + }, + { + "code": "440783", + "name": "开平", + "level": "THREE_LEVEL", + "geoname_id": 1804862, + "sub_districts": [] + }, + { + "code": "440703", + "name": "蓬江", + "level": "THREE_LEVEL", + "geoname_id": 440703, + "sub_districts": [] + }, + { + "code": "440781", + "name": "台山", + "level": "THREE_LEVEL", + "geoname_id": 1793700, + "sub_districts": [] + }, + { + "code": "440705", + "name": "新会", + "level": "THREE_LEVEL", + "geoname_id": 1806882, + "sub_districts": [] + } + ] + }, + { + "code": "445200", + "name": "揭阳", + "level": "TWO_LEVEL", + "geoname_id": 1797121, + "sub_districts": [ + { + "code": "445224", + "name": "惠来", + "level": "THREE_LEVEL", + "geoname_id": 1806856, + "sub_districts": [] + }, + { + "code": "445203", + "name": "揭东", + "level": "THREE_LEVEL", + "geoname_id": 1919661, + "sub_districts": [] + }, + { + "code": "445222", + "name": "揭西", + "level": "THREE_LEVEL", + "geoname_id": 1805831, + "sub_districts": [] + }, + { + "code": "445281", + "name": "普宁", + "level": "THREE_LEVEL", + "geoname_id": 1802940, + "sub_districts": [] + }, + { + "code": "445202", + "name": "榕城", + "level": "THREE_LEVEL", + "geoname_id": 6571337, + "sub_districts": [] + } + ] + }, + { + "code": "440900", + "name": "茂名", + "level": "TWO_LEVEL", + "geoname_id": 1801180, + "sub_districts": [ + { + "code": "440904", + "name": "电白", + "level": "THREE_LEVEL", + "geoname_id": 1812951, + "sub_districts": [] + }, + { + "code": "440981", + "name": "高州", + "level": "THREE_LEVEL", + "geoname_id": 1810293, + "sub_districts": [] + }, + { + "code": "440982", + "name": "化州", + "level": "THREE_LEVEL", + "geoname_id": 1806959, + "sub_districts": [] + }, + { + "code": "440902", + "name": "茂南", + "level": "THREE_LEVEL", + "geoname_id": 6571321, + "sub_districts": [] + }, + { + "code": "440983", + "name": "信宜", + "level": "THREE_LEVEL", + "geoname_id": 1788511, + "sub_districts": [] + } + ] + }, + { + "code": "441400", + "name": "梅州", + "level": "TWO_LEVEL", + "geoname_id": 1800794, + "sub_districts": [ + { + "code": "441422", + "name": "大埔", + "level": "THREE_LEVEL", + "geoname_id": 1814563, + "sub_districts": [] + }, + { + "code": "441423", + "name": "丰顺", + "level": "THREE_LEVEL", + "geoname_id": 1811233, + "sub_districts": [] + }, + { + "code": "441427", + "name": "蕉岭", + "level": "THREE_LEVEL", + "geoname_id": 1806039, + "sub_districts": [] + }, + { + "code": "441402", + "name": "梅江", + "level": "THREE_LEVEL", + "geoname_id": 6571355, + "sub_districts": [] + }, + { + "code": "441403", + "name": "梅县", + "level": "THREE_LEVEL", + "geoname_id": 8540996, + "sub_districts": [] + }, + { + "code": "441426", + "name": "平远", + "level": "THREE_LEVEL", + "geoname_id": 1798621, + "sub_districts": [] + }, + { + "code": "441424", + "name": "五华", + "level": "THREE_LEVEL", + "geoname_id": 1791232, + "sub_districts": [] + }, + { + "code": "441481", + "name": "兴宁", + "level": "THREE_LEVEL", + "geoname_id": 1788956, + "sub_districts": [] + } + ] + }, + { + "code": "441800", + "name": "清远", + "level": "TWO_LEVEL", + "geoname_id": 1797945, + "sub_districts": [ + { + "code": "441821", + "name": "佛冈", + "level": "THREE_LEVEL", + "geoname_id": 1811107, + "sub_districts": [] + }, + { + "code": "441826", + "name": "连南", + "level": "THREE_LEVEL", + "geoname_id": 1803892, + "sub_districts": [] + }, + { + "code": "441825", + "name": "连山", + "level": "THREE_LEVEL", + "geoname_id": 1803881, + "sub_districts": [] + }, + { + "code": "441882", + "name": "连州", + "level": "THREE_LEVEL", + "geoname_id": 1803854, + "sub_districts": [] + }, + { + "code": "441802", + "name": "清城", + "level": "THREE_LEVEL", + "geoname_id": 6571353, + "sub_districts": [] + }, + { + "code": "441803", + "name": "清新", + "level": "THREE_LEVEL", + "geoname_id": 6571354, + "sub_districts": [] + }, + { + "code": "441881", + "name": "英德", + "level": "THREE_LEVEL", + "geoname_id": 1786633, + "sub_districts": [] + }, + { + "code": "441823", + "name": "阳山", + "level": "THREE_LEVEL", + "geoname_id": 1787334, + "sub_districts": [] + } + ] + }, + { + "code": "440200", + "name": "韶关", + "level": "TWO_LEVEL", + "geoname_id": 1795874, + "sub_districts": [ + { + "code": "440281", + "name": "乐昌", + "level": "THREE_LEVEL", + "geoname_id": 1804254, + "sub_districts": [] + }, + { + "code": "440282", + "name": "南雄", + "level": "THREE_LEVEL", + "geoname_id": 1799646, + "sub_districts": [] + }, + { + "code": "440205", + "name": "曲江", + "level": "THREE_LEVEL", + "geoname_id": 1797322, + "sub_districts": [] + }, + { + "code": "440224", + "name": "仁化", + "level": "THREE_LEVEL", + "geoname_id": 1797193, + "sub_districts": [] + }, + { + "code": "440232", + "name": "乳源", + "level": "THREE_LEVEL", + "geoname_id": 1797012, + "sub_districts": [] + }, + { + "code": "440222", + "name": "始兴", + "level": "THREE_LEVEL", + "geoname_id": 1794911, + "sub_districts": [] + }, + { + "code": "440203", + "name": "武江", + "level": "THREE_LEVEL", + "geoname_id": 6571351, + "sub_districts": [] + }, + { + "code": "440229", + "name": "翁源", + "level": "THREE_LEVEL", + "geoname_id": 1791497, + "sub_districts": [] + }, + { + "code": "440233", + "name": "新丰", + "level": "THREE_LEVEL", + "geoname_id": 1789070, + "sub_districts": [] + }, + { + "code": "440204", + "name": "浈江", + "level": "THREE_LEVEL", + "geoname_id": 6571352, + "sub_districts": [] + } + ] + }, + { + "code": "440500", + "name": "汕头", + "level": "TWO_LEVEL", + "geoname_id": 1795932, + "sub_districts": [ + { + "code": "440515", + "name": "澄海", + "level": "THREE_LEVEL", + "geoname_id": 1815270, + "sub_districts": [] + }, + { + "code": "440514", + "name": "潮南", + "level": "THREE_LEVEL", + "geoname_id": 6571333, + "sub_districts": [] + }, + { + "code": "440513", + "name": "潮阳", + "level": "THREE_LEVEL", + "geoname_id": 1815399, + "sub_districts": [] + }, + { + "code": "440512", + "name": "濠江", + "level": "THREE_LEVEL", + "geoname_id": 6571334, + "sub_districts": [] + }, + { + "code": "440511", + "name": "金平", + "level": "THREE_LEVEL", + "geoname_id": 6571336, + "sub_districts": [] + }, + { + "code": "440507", + "name": "龙湖", + "level": "THREE_LEVEL", + "geoname_id": 6571335, + "sub_districts": [] + }, + { + "code": "440523", + "name": "南澳", + "level": "THREE_LEVEL", + "geoname_id": 1800190, + "sub_districts": [] + } + ] + }, + { + "code": "441500", + "name": "汕尾", + "level": "TWO_LEVEL", + "geoname_id": 6571356, + "sub_districts": [ + { + "code": "441521", + "name": "海丰", + "level": "THREE_LEVEL", + "geoname_id": 1809098, + "sub_districts": [] + }, + { + "code": "441581", + "name": "陆丰", + "level": "THREE_LEVEL", + "geoname_id": 1802130, + "sub_districts": [] + }, + { + "code": "441523", + "name": "陆河", + "level": "THREE_LEVEL", + "geoname_id": 6571357, + "sub_districts": [] + }, + { + "code": "441502", + "name": "城区", + "level": "THREE_LEVEL", + "geoname_id": 6571332, + "sub_districts": [] + } + ] + }, + { + "code": "440300", + "name": "深圳", + "level": "TWO_LEVEL", + "geoname_id": 1795565, + "sub_districts": [ + { + "code": "440306", + "name": "宝安", + "level": "THREE_LEVEL", + "geoname_id": 1816983, + "sub_districts": [] + }, + { + "code": "440304", + "name": "福田", + "level": "THREE_LEVEL", + "geoname_id": 6571328, + "sub_districts": [] + }, + { + "code": "440311", + "name": "光明", + "level": "THREE_LEVEL", + "geoname_id": 11876377, + "sub_districts": [] + }, + { + "code": "440307", + "name": "龙岗", + "level": "THREE_LEVEL", + "geoname_id": 6571330, + "sub_districts": [] + }, + { + "code": "440303", + "name": "罗湖", + "level": "THREE_LEVEL", + "geoname_id": 6571358, + "sub_districts": [] + }, + { + "code": "440309", + "name": "龙华", + "level": "THREE_LEVEL", + "geoname_id": 11876378, + "sub_districts": [] + }, + { + "code": "440305", + "name": "南山", + "level": "THREE_LEVEL", + "geoname_id": 6571327, + "sub_districts": [] + }, + { + "code": "440310", + "name": "坪山", + "level": "THREE_LEVEL", + "geoname_id": 11876379, + "sub_districts": [] + }, + { + "code": "440308", + "name": "盐田", + "level": "THREE_LEVEL", + "geoname_id": 6571329, + "sub_districts": [] + } + ] + }, + { + "code": "445300", + "name": "云浮", + "level": "TWO_LEVEL", + "geoname_id": 1785725, + "sub_districts": [ + { + "code": "445381", + "name": "罗定", + "level": "THREE_LEVEL", + "geoname_id": 1801965, + "sub_districts": [] + }, + { + "code": "445321", + "name": "新兴", + "level": "THREE_LEVEL", + "geoname_id": 1788555, + "sub_districts": [] + }, + { + "code": "445303", + "name": "云安", + "level": "THREE_LEVEL", + "geoname_id": 1912213, + "sub_districts": [] + }, + { + "code": "445302", + "name": "云城", + "level": "THREE_LEVEL", + "geoname_id": 6571359, + "sub_districts": [] + }, + { + "code": "445322", + "name": "郁南", + "level": "THREE_LEVEL", + "geoname_id": 1785745, + "sub_districts": [] + } + ] + }, + { + "code": "441700", + "name": "阳江", + "level": "TWO_LEVEL", + "geoname_id": 1806408, + "sub_districts": [ + { + "code": "441702", + "name": "江城", + "level": "THREE_LEVEL", + "geoname_id": 6571322, + "sub_districts": [] + }, + { + "code": "441781", + "name": "阳春", + "level": "THREE_LEVEL", + "geoname_id": 1787659, + "sub_districts": [] + }, + { + "code": "441704", + "name": "阳东", + "level": "THREE_LEVEL", + "geoname_id": 1913429, + "sub_districts": [] + }, + { + "code": "441721", + "name": "阳西", + "level": "THREE_LEVEL", + "geoname_id": 1913374, + "sub_districts": [] + } + ] + }, + { + "code": "440400", + "name": "珠海", + "level": "TWO_LEVEL", + "geoname_id": 1790437, + "sub_districts": [ + { + "code": "440403", + "name": "斗门", + "level": "THREE_LEVEL", + "geoname_id": 1811991, + "sub_districts": [] + }, + { + "code": "440404", + "name": "金湾", + "level": "THREE_LEVEL", + "geoname_id": 6571325, + "sub_districts": [] + }, + { + "code": "440402", + "name": "香洲", + "level": "THREE_LEVEL", + "geoname_id": 6571326, + "sub_districts": [] + } + ] + }, + { + "code": "440800", + "name": "湛江", + "level": "TWO_LEVEL", + "geoname_id": 1784990, + "sub_districts": [ + { + "code": "440802", + "name": "赤坎", + "level": "THREE_LEVEL", + "geoname_id": 6571318, + "sub_districts": [] + }, + { + "code": "440881", + "name": "廉江", + "level": "THREE_LEVEL", + "geoname_id": 1803895, + "sub_districts": [] + }, + { + "code": "440882", + "name": "雷州", + "level": "THREE_LEVEL", + "geoname_id": 6571360, + "sub_districts": [] + }, + { + "code": "440811", + "name": "麻章", + "level": "THREE_LEVEL", + "geoname_id": 6571319, + "sub_districts": [] + }, + { + "code": "440804", + "name": "坡头", + "level": "THREE_LEVEL", + "geoname_id": 6571317, + "sub_districts": [] + }, + { + "code": "440823", + "name": "遂溪", + "level": "THREE_LEVEL", + "geoname_id": 1793886, + "sub_districts": [] + }, + { + "code": "440883", + "name": "吴川", + "level": "THREE_LEVEL", + "geoname_id": 1791334, + "sub_districts": [] + }, + { + "code": "440803", + "name": "霞山", + "level": "THREE_LEVEL", + "geoname_id": 6571316, + "sub_districts": [] + }, + { + "code": "440825", + "name": "徐闻", + "level": "THREE_LEVEL", + "geoname_id": 1787836, + "sub_districts": [] + } + ] + }, + { + "code": "441200", + "name": "肇庆", + "level": "TWO_LEVEL", + "geoname_id": 1784853, + "sub_districts": [ + { + "code": "441203", + "name": "鼎湖", + "level": "THREE_LEVEL", + "geoname_id": 6571349, + "sub_districts": [] + }, + { + "code": "441226", + "name": "德庆", + "level": "THREE_LEVEL", + "geoname_id": 1812980, + "sub_districts": [] + }, + { + "code": "441202", + "name": "端州", + "level": "THREE_LEVEL", + "geoname_id": 6571348, + "sub_districts": [] + }, + { + "code": "441225", + "name": "封开", + "level": "THREE_LEVEL", + "geoname_id": 1811306, + "sub_districts": [] + }, + { + "code": "441223", + "name": "广宁", + "level": "THREE_LEVEL", + "geoname_id": 1809893, + "sub_districts": [] + }, + { + "code": "441204", + "name": "高要", + "level": "THREE_LEVEL", + "geoname_id": 1800201, + "sub_districts": [] + }, + { + "code": "441224", + "name": "怀集", + "level": "THREE_LEVEL", + "geoname_id": 1807686, + "sub_districts": [] + }, + { + "code": "441284", + "name": "四会", + "level": "THREE_LEVEL", + "geoname_id": 1794252, + "sub_districts": [] + } + ] + }, + { + "code": "442000", + "name": "中山", + "level": "TWO_LEVEL", + "geoname_id": 1915223, + "sub_districts": [ + { + "code": "442000", + "name": "中山", + "level": "THREE_LEVEL", + "geoname_id": 1784313, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "62", + "name": "甘肃", + "level": "ONE_LEVEL", + "geoname_id": 1810676, + "sub_districts": [ + { + "code": "620400", + "name": "白银", + "level": "TWO_LEVEL", + "geoname_id": 1817240, + "sub_districts": [ + { + "code": "620402", + "name": "白银", + "level": "THREE_LEVEL", + "geoname_id": 6642866, + "sub_districts": [] + }, + { + "code": "620422", + "name": "会宁", + "level": "THREE_LEVEL", + "geoname_id": 1806817, + "sub_districts": [] + }, + { + "code": "620423", + "name": "景泰", + "level": "THREE_LEVEL", + "geoname_id": 1786442, + "sub_districts": [] + }, + { + "code": "620421", + "name": "靖远", + "level": "THREE_LEVEL", + "geoname_id": 1805549, + "sub_districts": [] + }, + { + "code": "620403", + "name": "平川", + "level": "THREE_LEVEL", + "geoname_id": 8595855, + "sub_districts": [] + } + ] + }, + { + "code": "621100", + "name": "定西", + "level": "TWO_LEVEL", + "geoname_id": 1812749, + "sub_districts": [ + { + "code": "621102", + "name": "安定", + "level": "THREE_LEVEL", + "geoname_id": 1812739, + "sub_districts": [] + }, + { + "code": "621124", + "name": "临洮", + "level": "THREE_LEVEL", + "geoname_id": 1803347, + "sub_districts": [] + }, + { + "code": "621122", + "name": "陇西", + "level": "THREE_LEVEL", + "geoname_id": 1802288, + "sub_districts": [] + }, + { + "code": "621126", + "name": "岷县", + "level": "THREE_LEVEL", + "geoname_id": 1800454, + "sub_districts": [] + }, + { + "code": "621121", + "name": "通渭", + "level": "THREE_LEVEL", + "geoname_id": 1792559, + "sub_districts": [] + }, + { + "code": "621123", + "name": "渭源", + "level": "THREE_LEVEL", + "geoname_id": 1791570, + "sub_districts": [] + }, + { + "code": "621125", + "name": "漳县", + "level": "THREE_LEVEL", + "geoname_id": 1785047, + "sub_districts": [] + } + ] + }, + { + "code": "623000", + "name": "甘南", + "level": "TWO_LEVEL", + "geoname_id": 1810686, + "sub_districts": [ + { + "code": "623024", + "name": "迭部", + "level": "THREE_LEVEL", + "geoname_id": 1793028, + "sub_districts": [] + }, + { + "code": "623001", + "name": "合作", + "level": "THREE_LEVEL", + "geoname_id": 6642882, + "sub_districts": [] + }, + { + "code": "623026", + "name": "碌曲", + "level": "THREE_LEVEL", + "geoname_id": 1801747, + "sub_districts": [] + }, + { + "code": "623021", + "name": "临潭", + "level": "THREE_LEVEL", + "geoname_id": 1803348, + "sub_districts": [] + }, + { + "code": "623025", + "name": "玛曲", + "level": "THREE_LEVEL", + "geoname_id": 1801080, + "sub_districts": [] + }, + { + "code": "623027", + "name": "夏河", + "level": "THREE_LEVEL", + "geoname_id": 1790711, + "sub_districts": [] + }, + { + "code": "623022", + "name": "卓尼", + "level": "THREE_LEVEL", + "geoname_id": 1804995, + "sub_districts": [] + }, + { + "code": "623023", + "name": "舟曲", + "level": "THREE_LEVEL", + "geoname_id": 1783955, + "sub_districts": [] + } + ] + }, + { + "code": "620300", + "name": "金昌", + "level": "TWO_LEVEL", + "geoname_id": 1805733, + "sub_districts": [ + { + "code": "620302", + "name": "金川", + "level": "THREE_LEVEL", + "geoname_id": 6642873, + "sub_districts": [] + }, + { + "code": "620321", + "name": "永昌", + "level": "THREE_LEVEL", + "geoname_id": 1786375, + "sub_districts": [] + } + ] + }, + { + "code": "620900", + "name": "酒泉", + "level": "TWO_LEVEL", + "geoname_id": 1279945, + "sub_districts": [ + { + "code": "620924", + "name": "阿克塞", + "level": "THREE_LEVEL", + "geoname_id": 1281781, + "sub_districts": [] + }, + { + "code": "620982", + "name": "敦煌", + "level": "THREE_LEVEL", + "geoname_id": 1529531, + "sub_districts": [] + }, + { + "code": "620922", + "name": "瓜州", + "level": "THREE_LEVEL", + "geoname_id": 1529644, + "sub_districts": [] + }, + { + "code": "620921", + "name": "金塔", + "level": "THREE_LEVEL", + "geoname_id": 1280943, + "sub_districts": [] + }, + { + "code": "620923", + "name": "肃北", + "level": "THREE_LEVEL", + "geoname_id": 1279962, + "sub_districts": [] + }, + { + "code": "620902", + "name": "肃州", + "level": "THREE_LEVEL", + "geoname_id": 1280930, + "sub_districts": [] + }, + { + "code": "620981", + "name": "玉门", + "level": "THREE_LEVEL", + "geoname_id": 1279547, + "sub_districts": [] + } + ] + }, + { + "code": "620200", + "name": "嘉峪关", + "level": "TWO_LEVEL", + "geoname_id": 1280957, + "sub_districts": [ + { + "code": "620200", + "name": "嘉峪关", + "level": "THREE_LEVEL", + "geoname_id": 1280956, + "sub_districts": [] + } + ] + }, + { + "code": "621200", + "name": "陇南", + "level": "TWO_LEVEL", + "geoname_id": 1802494, + "sub_districts": [ + { + "code": "621221", + "name": "成县", + "level": "THREE_LEVEL", + "geoname_id": 1815189, + "sub_districts": [] + }, + { + "code": "621223", + "name": "宕昌", + "level": "THREE_LEVEL", + "geoname_id": 1813874, + "sub_districts": [] + }, + { + "code": "621227", + "name": "徽县", + "level": "THREE_LEVEL", + "geoname_id": 1806791, + "sub_districts": [] + }, + { + "code": "621224", + "name": "康县", + "level": "THREE_LEVEL", + "geoname_id": 1804816, + "sub_districts": [] + }, + { + "code": "621228", + "name": "两当", + "level": "THREE_LEVEL", + "geoname_id": 1804080, + "sub_districts": [] + }, + { + "code": "621226", + "name": "礼县", + "level": "THREE_LEVEL", + "geoname_id": 1802815, + "sub_districts": [] + }, + { + "code": "621202", + "name": "武都", + "level": "THREE_LEVEL", + "geoname_id": 1791288, + "sub_districts": [] + }, + { + "code": "621222", + "name": "文县", + "level": "THREE_LEVEL", + "geoname_id": 1791408, + "sub_districts": [] + }, + { + "code": "621225", + "name": "西和", + "level": "THREE_LEVEL", + "geoname_id": 1789436, + "sub_districts": [] + } + ] + }, + { + "code": "622900", + "name": "临夏", + "level": "TWO_LEVEL", + "geoname_id": 1803330, + "sub_districts": [ + { + "code": "622926", + "name": "东乡族", + "level": "THREE_LEVEL", + "geoname_id": 1812151, + "sub_districts": [] + }, + { + "code": "622924", + "name": "广河", + "level": "THREE_LEVEL", + "geoname_id": 1809919, + "sub_districts": [] + }, + { + "code": "622925", + "name": "和政", + "level": "THREE_LEVEL", + "geoname_id": 1808190, + "sub_districts": [] + }, + { + "code": "622927", + "name": "积石山", + "level": "THREE_LEVEL", + "geoname_id": 1805272, + "sub_districts": [] + }, + { + "code": "622922", + "name": "康乐", + "level": "THREE_LEVEL", + "geoname_id": 1804824, + "sub_districts": [] + }, + { + "code": "622901", + "name": "临夏市", + "level": "THREE_LEVEL", + "geoname_id": 1803322, + "sub_districts": [] + }, + { + "code": "622921", + "name": "临夏县", + "level": "THREE_LEVEL", + "geoname_id": 1803321, + "sub_districts": [] + }, + { + "code": "622923", + "name": "永靖", + "level": "THREE_LEVEL", + "geoname_id": 1786323, + "sub_districts": [] + } + ] + }, + { + "code": "620100", + "name": "兰州", + "level": "TWO_LEVEL", + "geoname_id": 1804430, + "sub_districts": [ + { + "code": "620105", + "name": "安宁", + "level": "THREE_LEVEL", + "geoname_id": 6642869, + "sub_districts": [] + }, + { + "code": "620102", + "name": "城关", + "level": "THREE_LEVEL", + "geoname_id": 6642872, + "sub_districts": [] + }, + { + "code": "620122", + "name": "皋兰", + "level": "THREE_LEVEL", + "geoname_id": 1810492, + "sub_districts": [] + }, + { + "code": "620111", + "name": "红古", + "level": "THREE_LEVEL", + "geoname_id": 6642871, + "sub_districts": [] + }, + { + "code": "620171", + "name": "兰州", + "level": "THREE_LEVEL", + "geoname_id": 1804429, + "sub_districts": [] + }, + { + "code": "620103", + "name": "七里河", + "level": "THREE_LEVEL", + "geoname_id": 6642868, + "sub_districts": [] + }, + { + "code": "620104", + "name": "西固", + "level": "THREE_LEVEL", + "geoname_id": 6642870, + "sub_districts": [] + }, + { + "code": "620121", + "name": "永登", + "level": "THREE_LEVEL", + "geoname_id": 1786366, + "sub_districts": [] + }, + { + "code": "620123", + "name": "榆中", + "level": "THREE_LEVEL", + "geoname_id": 1785532, + "sub_districts": [] + } + ] + }, + { + "code": "620800", + "name": "平凉", + "level": "TWO_LEVEL", + "geoname_id": 1798760, + "sub_districts": [ + { + "code": "620823", + "name": "崇信", + "level": "THREE_LEVEL", + "geoname_id": 1814881, + "sub_districts": [] + }, + { + "code": "6208810000001", + "name": "华亭", + "level": "THREE_LEVEL", + "geoname_id": 1807017, + "sub_districts": [] + }, + { + "code": "620821", + "name": "泾川", + "level": "THREE_LEVEL", + "geoname_id": 1805686, + "sub_districts": [] + }, + { + "code": "620826", + "name": "静宁", + "level": "THREE_LEVEL", + "geoname_id": 1805604, + "sub_districts": [] + }, + { + "code": "620802", + "name": "崆峒", + "level": "THREE_LEVEL", + "geoname_id": 1798757, + "sub_districts": [] + }, + { + "code": "620822", + "name": "灵台", + "level": "THREE_LEVEL", + "geoname_id": 1803459, + "sub_districts": [] + }, + { + "code": "620825", + "name": "庄浪", + "level": "THREE_LEVEL", + "geoname_id": 1784051, + "sub_districts": [] + } + ] + }, + { + "code": "621000", + "name": "庆阳", + "level": "TWO_LEVEL", + "geoname_id": 1797652, + "sub_districts": [ + { + "code": "621023", + "name": "华池", + "level": "THREE_LEVEL", + "geoname_id": 1807736, + "sub_districts": [] + }, + { + "code": "621024", + "name": "合水", + "level": "THREE_LEVEL", + "geoname_id": 1808278, + "sub_districts": [] + }, + { + "code": "621022", + "name": "环县", + "level": "THREE_LEVEL", + "geoname_id": 1807080, + "sub_districts": [] + }, + { + "code": "621026", + "name": "宁县", + "level": "THREE_LEVEL", + "geoname_id": 1799353, + "sub_districts": [] + }, + { + "code": "621021", + "name": "庆城", + "level": "THREE_LEVEL", + "geoname_id": 1797647, + "sub_districts": [] + }, + { + "code": "621002", + "name": "西峰", + "level": "THREE_LEVEL", + "geoname_id": 1789507, + "sub_districts": [] + }, + { + "code": "621025", + "name": "正宁", + "level": "THREE_LEVEL", + "geoname_id": 1784679, + "sub_districts": [] + }, + { + "code": "621027", + "name": "镇原", + "level": "THREE_LEVEL", + "geoname_id": 1784582, + "sub_districts": [] + } + ] + }, + { + "code": "620500", + "name": "天水", + "level": "TWO_LEVEL", + "geoname_id": 1792891, + "sub_districts": [ + { + "code": "620523", + "name": "甘谷", + "level": "THREE_LEVEL", + "geoname_id": 1810722, + "sub_districts": [] + }, + { + "code": "620503", + "name": "麦积", + "level": "THREE_LEVEL", + "geoname_id": 6642865, + "sub_districts": [] + }, + { + "code": "620522", + "name": "秦安", + "level": "THREE_LEVEL", + "geoname_id": 1797961, + "sub_districts": [] + }, + { + "code": "620521", + "name": "清水", + "level": "THREE_LEVEL", + "geoname_id": 1797717, + "sub_districts": [] + }, + { + "code": "620502", + "name": "秦州", + "level": "THREE_LEVEL", + "geoname_id": 6642864, + "sub_districts": [] + }, + { + "code": "620524", + "name": "武山", + "level": "THREE_LEVEL", + "geoname_id": 1791003, + "sub_districts": [] + }, + { + "code": "620525", + "name": "张家川", + "level": "THREE_LEVEL", + "geoname_id": 1785210, + "sub_districts": [] + } + ] + }, + { + "code": "620600", + "name": "武威", + "level": "TWO_LEVEL", + "geoname_id": 1803936, + "sub_districts": [ + { + "code": "620622", + "name": "古浪", + "level": "THREE_LEVEL", + "geoname_id": 1809421, + "sub_districts": [] + }, + { + "code": "620602", + "name": "凉州", + "level": "THREE_LEVEL", + "geoname_id": 1790928, + "sub_districts": [] + }, + { + "code": "620621", + "name": "民勤", + "level": "THREE_LEVEL", + "geoname_id": 1800460, + "sub_districts": [] + }, + { + "code": "620623", + "name": "天祝", + "level": "THREE_LEVEL", + "geoname_id": 1792825, + "sub_districts": [] + } + ] + }, + { + "code": "620700", + "name": "张掖", + "level": "TWO_LEVEL", + "geoname_id": 1785036, + "sub_districts": [ + { + "code": "620724", + "name": "高台", + "level": "THREE_LEVEL", + "geoname_id": 1281236, + "sub_districts": [] + }, + { + "code": "620702", + "name": "甘州", + "level": "THREE_LEVEL", + "geoname_id": 1785034, + "sub_districts": [] + }, + { + "code": "620723", + "name": "临泽", + "level": "THREE_LEVEL", + "geoname_id": 1803308, + "sub_districts": [] + }, + { + "code": "620722", + "name": "民乐", + "level": "THREE_LEVEL", + "geoname_id": 1800464, + "sub_districts": [] + }, + { + "code": "620725", + "name": "山丹", + "level": "THREE_LEVEL", + "geoname_id": 1796335, + "sub_districts": [] + }, + { + "code": "620721", + "name": "肃南", + "level": "THREE_LEVEL", + "geoname_id": 1279950, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "45", + "name": "广西", + "level": "ONE_LEVEL", + "geoname_id": 1809867, + "sub_districts": [ + { + "code": "450500", + "name": "北海", + "level": "TWO_LEVEL", + "geoname_id": 1816705, + "sub_districts": [ + { + "code": "450502", + "name": "海城", + "level": "THREE_LEVEL", + "geoname_id": 8021155, + "sub_districts": [] + }, + { + "code": "450521", + "name": "合浦", + "level": "THREE_LEVEL", + "geoname_id": 1808332, + "sub_districts": [] + }, + { + "code": "450512", + "name": "铁山港", + "level": "THREE_LEVEL", + "geoname_id": 8021157, + "sub_districts": [] + }, + { + "code": "450503", + "name": "银海", + "level": "THREE_LEVEL", + "geoname_id": 8021156, + "sub_districts": [] + } + ] + }, + { + "code": "451000", + "name": "百色", + "level": "TWO_LEVEL", + "geoname_id": 1816268, + "sub_districts": [ + { + "code": "451024", + "name": "德保", + "level": "THREE_LEVEL", + "geoname_id": 1813038, + "sub_districts": [] + }, + { + "code": "451081", + "name": "靖西", + "level": "THREE_LEVEL", + "geoname_id": 1805561, + "sub_districts": [] + }, + { + "code": "451031", + "name": "隆林", + "level": "THREE_LEVEL", + "geoname_id": 1802539, + "sub_districts": [] + }, + { + "code": "451027", + "name": "凌云", + "level": "THREE_LEVEL", + "geoname_id": 1803426, + "sub_districts": [] + }, + { + "code": "451028", + "name": "乐业", + "level": "THREE_LEVEL", + "geoname_id": 1804135, + "sub_districts": [] + }, + { + "code": "451026", + "name": "那坡", + "level": "THREE_LEVEL", + "geoname_id": 1799527, + "sub_districts": [] + }, + { + "code": "4510820000001", + "name": "平果", + "level": "THREE_LEVEL", + "geoname_id": 1798801, + "sub_districts": [] + }, + { + "code": "451022", + "name": "田东", + "level": "THREE_LEVEL", + "geoname_id": 1792996, + "sub_districts": [] + }, + { + "code": "451029", + "name": "田林", + "level": "THREE_LEVEL", + "geoname_id": 1792938, + "sub_districts": [] + }, + { + "code": "4510030000001", + "name": "田阳", + "level": "THREE_LEVEL", + "geoname_id": 1792846, + "sub_districts": [] + }, + { + "code": "451030", + "name": "西林", + "level": "THREE_LEVEL", + "geoname_id": 1789321, + "sub_districts": [] + }, + { + "code": "451002", + "name": "右江", + "level": "THREE_LEVEL", + "geoname_id": 1816267, + "sub_districts": [] + } + ] + }, + { + "code": "451400", + "name": "崇左", + "level": "TWO_LEVEL", + "geoname_id": 7909220, + "sub_districts": [ + { + "code": "451424", + "name": "大新", + "level": "THREE_LEVEL", + "geoname_id": 1813276, + "sub_districts": [] + }, + { + "code": "451421", + "name": "扶绥", + "level": "THREE_LEVEL", + "geoname_id": 1810900, + "sub_districts": [] + }, + { + "code": "451402", + "name": "江州", + "level": "THREE_LEVEL", + "geoname_id": 1814871, + "sub_districts": [] + }, + { + "code": "451423", + "name": "龙州", + "level": "THREE_LEVEL", + "geoname_id": 1802246, + "sub_districts": [] + }, + { + "code": "451422", + "name": "宁明", + "level": "THREE_LEVEL", + "geoname_id": 1799364, + "sub_districts": [] + }, + { + "code": "451481", + "name": "凭祥", + "level": "THREE_LEVEL", + "geoname_id": 1798651, + "sub_districts": [] + }, + { + "code": "451425", + "name": "天等", + "level": "THREE_LEVEL", + "geoname_id": 1792998, + "sub_districts": [] + } + ] + }, + { + "code": "450600", + "name": "防城港", + "level": "TWO_LEVEL", + "geoname_id": 7909223, + "sub_districts": [ + { + "code": "450681", + "name": "东兴", + "level": "THREE_LEVEL", + "geoname_id": 8021215, + "sub_districts": [] + }, + { + "code": "450603", + "name": "防城", + "level": "THREE_LEVEL", + "geoname_id": 1811591, + "sub_districts": [] + }, + { + "code": "450602", + "name": "港口", + "level": "THREE_LEVEL", + "geoname_id": 8021158, + "sub_districts": [] + }, + { + "code": "450621", + "name": "上思", + "level": "THREE_LEVEL", + "geoname_id": 1796103, + "sub_districts": [] + } + ] + }, + { + "code": "450800", + "name": "贵港", + "level": "TWO_LEVEL", + "geoname_id": 1809532, + "sub_districts": [ + { + "code": "450802", + "name": "港北", + "level": "THREE_LEVEL", + "geoname_id": 1809466, + "sub_districts": [] + }, + { + "code": "450803", + "name": "港南", + "level": "THREE_LEVEL", + "geoname_id": 8021160, + "sub_districts": [] + }, + { + "code": "450881", + "name": "桂平", + "level": "THREE_LEVEL", + "geoname_id": 1809485, + "sub_districts": [] + }, + { + "code": "450821", + "name": "平南", + "level": "THREE_LEVEL", + "geoname_id": 1798730, + "sub_districts": [] + }, + { + "code": "450804", + "name": "覃塘", + "level": "THREE_LEVEL", + "geoname_id": 8021161, + "sub_districts": [] + } + ] + }, + { + "code": "450300", + "name": "桂林", + "level": "TWO_LEVEL", + "geoname_id": 1809498, + "sub_districts": [ + { + "code": "450303", + "name": "叠彩", + "level": "THREE_LEVEL", + "geoname_id": 8021149, + "sub_districts": [] + }, + { + "code": "450332", + "name": "恭城", + "level": "THREE_LEVEL", + "geoname_id": 1810150, + "sub_districts": [] + }, + { + "code": "450327", + "name": "灌阳", + "level": "THREE_LEVEL", + "geoname_id": 1809718, + "sub_districts": [] + }, + { + "code": "450323", + "name": "灵川", + "level": "THREE_LEVEL", + "geoname_id": 1803545, + "sub_districts": [] + }, + { + "code": "450312", + "name": "临桂", + "level": "THREE_LEVEL", + "geoname_id": 1803450, + "sub_districts": [] + }, + { + "code": "4503810000001", + "name": "荔浦", + "level": "THREE_LEVEL", + "geoname_id": 1803289, + "sub_districts": [] + }, + { + "code": "450328", + "name": "龙胜", + "level": "THREE_LEVEL", + "geoname_id": 1802429, + "sub_districts": [] + }, + { + "code": "450330", + "name": "平乐", + "level": "THREE_LEVEL", + "geoname_id": 1798765, + "sub_districts": [] + }, + { + "code": "450305", + "name": "七星", + "level": "THREE_LEVEL", + "geoname_id": 8021146, + "sub_districts": [] + }, + { + "code": "450324", + "name": "全州", + "level": "THREE_LEVEL", + "geoname_id": 1797349, + "sub_districts": [] + }, + { + "code": "450325", + "name": "兴安", + "level": "THREE_LEVEL", + "geoname_id": 1789055, + "sub_districts": [] + }, + { + "code": "450302", + "name": "秀峰", + "level": "THREE_LEVEL", + "geoname_id": 8021145, + "sub_districts": [] + }, + { + "code": "450304", + "name": "象山", + "level": "THREE_LEVEL", + "geoname_id": 8021150, + "sub_districts": [] + }, + { + "code": "450326", + "name": "永福", + "level": "THREE_LEVEL", + "geoname_id": 1786349, + "sub_districts": [] + }, + { + "code": "450311", + "name": "雁山", + "level": "THREE_LEVEL", + "geoname_id": 8021151, + "sub_districts": [] + }, + { + "code": "450321", + "name": "阳朔", + "level": "THREE_LEVEL", + "geoname_id": 1787322, + "sub_districts": [] + }, + { + "code": "450329", + "name": "资源", + "level": "THREE_LEVEL", + "geoname_id": 1783675, + "sub_districts": [] + } + ] + }, + { + "code": "451200", + "name": "河池", + "level": "TWO_LEVEL", + "geoname_id": 1808757, + "sub_districts": [ + { + "code": "451227", + "name": "巴马", + "level": "THREE_LEVEL", + "geoname_id": 1817130, + "sub_districts": [] + }, + { + "code": "451228", + "name": "都安", + "level": "THREE_LEVEL", + "geoname_id": 1811937, + "sub_districts": [] + }, + { + "code": "451229", + "name": "大化", + "level": "THREE_LEVEL", + "geoname_id": 8537721, + "sub_districts": [] + }, + { + "code": "451224", + "name": "东兰", + "level": "THREE_LEVEL", + "geoname_id": 1812411, + "sub_districts": [] + }, + { + "code": "451223", + "name": "凤山", + "level": "THREE_LEVEL", + "geoname_id": 1811240, + "sub_districts": [] + }, + { + "code": "451226", + "name": "环江", + "level": "THREE_LEVEL", + "geoname_id": 1807091, + "sub_districts": [] + }, + { + "code": "451202", + "name": "金城江", + "level": "THREE_LEVEL", + "geoname_id": 1808756, + "sub_districts": [] + }, + { + "code": "451225", + "name": "罗城", + "level": "THREE_LEVEL", + "geoname_id": 1801981, + "sub_districts": [] + }, + { + "code": "451221", + "name": "南丹", + "level": "THREE_LEVEL", + "geoname_id": 1800118, + "sub_districts": [] + }, + { + "code": "451222", + "name": "天峨", + "level": "THREE_LEVEL", + "geoname_id": 1792990, + "sub_districts": [] + }, + { + "code": "4512030000001", + "name": "宜州", + "level": "THREE_LEVEL", + "geoname_id": 1786461, + "sub_districts": [] + } + ] + }, + { + "code": "451100", + "name": "贺州", + "level": "TWO_LEVEL", + "geoname_id": 7909224, + "sub_districts": [ + { + "code": "451102", + "name": "八步", + "level": "THREE_LEVEL", + "geoname_id": 1808230, + "sub_districts": [] + }, + { + "code": "451123", + "name": "富川", + "level": "THREE_LEVEL", + "geoname_id": 1811064, + "sub_districts": [] + }, + { + "code": "451103", + "name": "平桂", + "level": "THREE_LEVEL", + "geoname_id": 9912459, + "sub_districts": [] + }, + { + "code": "451121", + "name": "昭平", + "level": "THREE_LEVEL", + "geoname_id": 1784857, + "sub_districts": [] + }, + { + "code": "451122", + "name": "钟山", + "level": "THREE_LEVEL", + "geoname_id": 1784312, + "sub_districts": [] + } + ] + }, + { + "code": "451300", + "name": "来宾", + "level": "TWO_LEVEL", + "geoname_id": 1804609, + "sub_districts": [ + { + "code": "451381", + "name": "合山", + "level": "THREE_LEVEL", + "geoname_id": 1808307, + "sub_districts": [] + }, + { + "code": "451324", + "name": "金秀", + "level": "THREE_LEVEL", + "geoname_id": 1805322, + "sub_districts": [] + }, + { + "code": "451323", + "name": "武宣", + "level": "THREE_LEVEL", + "geoname_id": 1790895, + "sub_districts": [] + }, + { + "code": "451302", + "name": "兴宾", + "level": "THREE_LEVEL", + "geoname_id": 1804607, + "sub_districts": [] + }, + { + "code": "451321", + "name": "忻城", + "level": "THREE_LEVEL", + "geoname_id": 1789165, + "sub_districts": [] + }, + { + "code": "451322", + "name": "象州", + "level": "THREE_LEVEL", + "geoname_id": 1790432, + "sub_districts": [] + } + ] + }, + { + "code": "450200", + "name": "柳州", + "level": "TWO_LEVEL", + "geoname_id": 1802851, + "sub_districts": [ + { + "code": "450202", + "name": "城中", + "level": "THREE_LEVEL", + "geoname_id": 8021143, + "sub_districts": [] + }, + { + "code": "450205", + "name": "柳北", + "level": "THREE_LEVEL", + "geoname_id": 8021144, + "sub_districts": [] + }, + { + "code": "450222", + "name": "柳城", + "level": "THREE_LEVEL", + "geoname_id": 1803192, + "sub_districts": [] + }, + { + "code": "4502060000001", + "name": "柳江", + "level": "THREE_LEVEL", + "geoname_id": 1803053, + "sub_districts": [] + }, + { + "code": "450204", + "name": "柳南", + "level": "THREE_LEVEL", + "geoname_id": 450204, + "sub_districts": [] + }, + { + "code": "450223", + "name": "鹿寨", + "level": "THREE_LEVEL", + "geoname_id": 1801648, + "sub_districts": [] + }, + { + "code": "450224", + "name": "融安", + "level": "THREE_LEVEL", + "geoname_id": 1797124, + "sub_districts": [] + }, + { + "code": "450225", + "name": "融水", + "level": "THREE_LEVEL", + "geoname_id": 1797093, + "sub_districts": [] + }, + { + "code": "450226", + "name": "三江", + "level": "THREE_LEVEL", + "geoname_id": 1796767, + "sub_districts": [] + }, + { + "code": "450203", + "name": "鱼峰", + "level": "THREE_LEVEL", + "geoname_id": 8021142, + "sub_districts": [] + } + ] + }, + { + "code": "450100", + "name": "南宁", + "level": "TWO_LEVEL", + "geoname_id": 1799869, + "sub_districts": [ + { + "code": "450126", + "name": "宾阳", + "level": "THREE_LEVEL", + "geoname_id": 1816339, + "sub_districts": [] + }, + { + "code": "4501810000001", + "name": "横县", + "level": "THREE_LEVEL", + "geoname_id": 1808376, + "sub_districts": [] + }, + { + "code": "450105", + "name": "江南", + "level": "THREE_LEVEL", + "geoname_id": 8021139, + "sub_districts": [] + }, + { + "code": "450123", + "name": "隆安", + "level": "THREE_LEVEL", + "geoname_id": 1802705, + "sub_districts": [] + }, + { + "code": "450108", + "name": "良庆", + "level": "THREE_LEVEL", + "geoname_id": 8624078, + "sub_districts": [] + }, + { + "code": "450124", + "name": "马山", + "level": "THREE_LEVEL", + "geoname_id": 1801059, + "sub_districts": [] + }, + { + "code": "450103", + "name": "青秀", + "level": "THREE_LEVEL", + "geoname_id": 8021141, + "sub_districts": [] + }, + { + "code": "450125", + "name": "上林", + "level": "THREE_LEVEL", + "geoname_id": 1796171, + "sub_districts": [] + }, + { + "code": "450110", + "name": "武鸣", + "level": "THREE_LEVEL", + "geoname_id": 1791061, + "sub_districts": [] + }, + { + "code": "450102", + "name": "兴宁", + "level": "THREE_LEVEL", + "geoname_id": 8021140, + "sub_districts": [] + }, + { + "code": "450107", + "name": "西乡塘", + "level": "THREE_LEVEL", + "geoname_id": 1788204, + "sub_districts": [] + }, + { + "code": "450109", + "name": "邕宁", + "level": "THREE_LEVEL", + "geoname_id": 1786281, + "sub_districts": [] + } + ] + }, + { + "code": "450700", + "name": "钦州", + "level": "TWO_LEVEL", + "geoname_id": 1797551, + "sub_districts": [ + { + "code": "450721", + "name": "灵山", + "level": "THREE_LEVEL", + "geoname_id": 1803469, + "sub_districts": [] + }, + { + "code": "450722", + "name": "浦北", + "level": "THREE_LEVEL", + "geoname_id": 1798535, + "sub_districts": [] + }, + { + "code": "450703", + "name": "钦北", + "level": "THREE_LEVEL", + "geoname_id": 8021159, + "sub_districts": [] + }, + { + "code": "450702", + "name": "钦南", + "level": "THREE_LEVEL", + "geoname_id": 1797549, + "sub_districts": [] + } + ] + }, + { + "code": "450400", + "name": "梧州", + "level": "TWO_LEVEL", + "geoname_id": 1790840, + "sub_districts": [ + { + "code": "450421", + "name": "苍梧", + "level": "THREE_LEVEL", + "geoname_id": 1816085, + "sub_districts": [] + }, + { + "code": "450481", + "name": "岑溪", + "level": "THREE_LEVEL", + "geoname_id": 1815906, + "sub_districts": [] + }, + { + "code": "450405", + "name": "长洲", + "level": "THREE_LEVEL", + "geoname_id": 8021154, + "sub_districts": [] + }, + { + "code": "450406", + "name": "龙圩", + "level": "THREE_LEVEL", + "geoname_id": 1802287, + "sub_districts": [] + }, + { + "code": "450423", + "name": "蒙山", + "level": "THREE_LEVEL", + "geoname_id": 1800697, + "sub_districts": [] + }, + { + "code": "450422", + "name": "藤县", + "level": "THREE_LEVEL", + "geoname_id": 1793038, + "sub_districts": [] + }, + { + "code": "450403", + "name": "万秀", + "level": "THREE_LEVEL", + "geoname_id": 8021152, + "sub_districts": [] + } + ] + }, + { + "code": "450900", + "name": "玉林", + "level": "TWO_LEVEL", + "geoname_id": 1785781, + "sub_districts": [ + { + "code": "450923", + "name": "博白", + "level": "THREE_LEVEL", + "geoname_id": 1816302, + "sub_districts": [] + }, + { + "code": "450981", + "name": "北流", + "level": "THREE_LEVEL", + "geoname_id": 1816639, + "sub_districts": [] + }, + { + "code": "450903", + "name": "福绵", + "level": "THREE_LEVEL", + "geoname_id": 450903, + "sub_districts": [] + }, + { + "code": "450922", + "name": "陆川", + "level": "THREE_LEVEL", + "geoname_id": 1802163, + "sub_districts": [] + }, + { + "code": "450921", + "name": "容县", + "level": "THREE_LEVEL", + "geoname_id": 1797088, + "sub_districts": [] + }, + { + "code": "450924", + "name": "兴业", + "level": "THREE_LEVEL", + "geoname_id": 8021162, + "sub_districts": [] + }, + { + "code": "450902", + "name": "玉州", + "level": "THREE_LEVEL", + "geoname_id": 1785760, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "52", + "name": "贵州", + "level": "ONE_LEVEL", + "geoname_id": 1809445, + "sub_districts": [ + { + "code": "520400", + "name": "安顺", + "level": "TWO_LEVEL", + "geoname_id": 1817968, + "sub_districts": [ + { + "code": "520424", + "name": "关岭", + "level": "THREE_LEVEL", + "geoname_id": 1809822, + "sub_districts": [] + }, + { + "code": "520403", + "name": "平坝", + "level": "THREE_LEVEL", + "geoname_id": 1798857, + "sub_districts": [] + }, + { + "code": "520422", + "name": "普定", + "level": "THREE_LEVEL", + "geoname_id": 1798525, + "sub_districts": [] + }, + { + "code": "520402", + "name": "西秀", + "level": "THREE_LEVEL", + "geoname_id": 6642194, + "sub_districts": [] + }, + { + "code": "520423", + "name": "镇宁", + "level": "THREE_LEVEL", + "geoname_id": 1784619, + "sub_districts": [] + }, + { + "code": "520425", + "name": "紫云", + "level": "THREE_LEVEL", + "geoname_id": 1783673, + "sub_districts": [] + } + ] + }, + { + "code": "520500", + "name": "毕节", + "level": "TWO_LEVEL", + "geoname_id": 1816373, + "sub_districts": [ + { + "code": "520521", + "name": "大方", + "level": "THREE_LEVEL", + "geoname_id": 1814441, + "sub_districts": [] + }, + { + "code": "520527", + "name": "赫章", + "level": "THREE_LEVEL", + "geoname_id": 1808193, + "sub_districts": [] + }, + { + "code": "520523", + "name": "金沙", + "level": "THREE_LEVEL", + "geoname_id": 1805383, + "sub_districts": [] + }, + { + "code": "520525", + "name": "纳雍", + "level": "THREE_LEVEL", + "geoname_id": 1799500, + "sub_districts": [] + }, + { + "code": "520502", + "name": "七星关", + "level": "THREE_LEVEL", + "geoname_id": 10031873, + "sub_districts": [] + }, + { + "code": "5205810000001", + "name": "黔西", + "level": "THREE_LEVEL", + "geoname_id": 1798223, + "sub_districts": [] + }, + { + "code": "520526", + "name": "威宁", + "level": "THREE_LEVEL", + "geoname_id": 1791633, + "sub_districts": [] + }, + { + "code": "520524", + "name": "织金", + "level": "THREE_LEVEL", + "geoname_id": 1784519, + "sub_districts": [] + } + ] + }, + { + "code": "520100", + "name": "贵阳", + "level": "TWO_LEVEL", + "geoname_id": 1809461, + "sub_districts": [ + { + "code": "520113", + "name": "白云", + "level": "THREE_LEVEL", + "geoname_id": 6642049, + "sub_districts": [] + }, + { + "code": "520115", + "name": "观山湖", + "level": "THREE_LEVEL", + "geoname_id": 520115, + "sub_districts": [] + }, + { + "code": "520111", + "name": "花溪", + "level": "THREE_LEVEL", + "geoname_id": 6642048, + "sub_districts": [] + }, + { + "code": "520121", + "name": "开阳", + "level": "THREE_LEVEL", + "geoname_id": 1804851, + "sub_districts": [] + }, + { + "code": "520102", + "name": "南明", + "level": "THREE_LEVEL", + "geoname_id": 6642051, + "sub_districts": [] + }, + { + "code": "520181", + "name": "清镇", + "level": "THREE_LEVEL", + "geoname_id": 1797609, + "sub_districts": [] + }, + { + "code": "520112", + "name": "乌当", + "level": "THREE_LEVEL", + "geoname_id": 6642050, + "sub_districts": [] + }, + { + "code": "520122", + "name": "息烽", + "level": "THREE_LEVEL", + "geoname_id": 1789505, + "sub_districts": [] + }, + { + "code": "520123", + "name": "修文", + "level": "THREE_LEVEL", + "geoname_id": 1788250, + "sub_districts": [] + }, + { + "code": "520103", + "name": "云岩", + "level": "THREE_LEVEL", + "geoname_id": 6642052, + "sub_districts": [] + } + ] + }, + { + "code": "520200", + "name": "六盘水", + "level": "TWO_LEVEL", + "geoname_id": 8533133, + "sub_districts": [ + { + "code": "520203", + "name": "六枝", + "level": "THREE_LEVEL", + "geoname_id": 1801643, + "sub_districts": [] + }, + { + "code": "5202810000001", + "name": "盘州", + "level": "THREE_LEVEL", + "geoname_id": 520222, + "sub_districts": [] + }, + { + "code": "5202040000001", + "name": "水城", + "level": "THREE_LEVEL", + "geoname_id": 1794509, + "sub_districts": [] + }, + { + "code": "520201", + "name": "钟山", + "level": "THREE_LEVEL", + "geoname_id": 6642193, + "sub_districts": [] + } + ] + }, + { + "code": "522600", + "name": "黔东南", + "level": "TWO_LEVEL", + "geoname_id": 1798360, + "sub_districts": [ + { + "code": "522626", + "name": "岑巩", + "level": "THREE_LEVEL", + "geoname_id": 1815915, + "sub_districts": [] + }, + { + "code": "522633", + "name": "从江", + "level": "THREE_LEVEL", + "geoname_id": 1814708, + "sub_districts": [] + }, + { + "code": "522636", + "name": "丹寨", + "level": "THREE_LEVEL", + "geoname_id": 1813798, + "sub_districts": [] + }, + { + "code": "522622", + "name": "黄平", + "level": "THREE_LEVEL", + "geoname_id": 1807306, + "sub_districts": [] + }, + { + "code": "522629", + "name": "剑河", + "level": "THREE_LEVEL", + "geoname_id": 1806183, + "sub_districts": [] + }, + { + "code": "522628", + "name": "锦屏", + "level": "THREE_LEVEL", + "geoname_id": 1805426, + "sub_districts": [] + }, + { + "code": "522601", + "name": "凯里", + "level": "THREE_LEVEL", + "geoname_id": 1804865, + "sub_districts": [] + }, + { + "code": "522631", + "name": "黎平", + "level": "THREE_LEVEL", + "geoname_id": 1803292, + "sub_districts": [] + }, + { + "code": "522634", + "name": "雷山", + "level": "THREE_LEVEL", + "geoname_id": 1804215, + "sub_districts": [] + }, + { + "code": "522635", + "name": "麻江", + "level": "THREE_LEVEL", + "geoname_id": 1801433, + "sub_districts": [] + }, + { + "code": "522632", + "name": "榕江", + "level": "THREE_LEVEL", + "geoname_id": 1797103, + "sub_districts": [] + }, + { + "code": "522623", + "name": "施秉", + "level": "THREE_LEVEL", + "geoname_id": 1795478, + "sub_districts": [] + }, + { + "code": "522624", + "name": "三穗", + "level": "THREE_LEVEL", + "geoname_id": 1796605, + "sub_districts": [] + }, + { + "code": "522630", + "name": "台江", + "level": "THREE_LEVEL", + "geoname_id": 1793658, + "sub_districts": [] + }, + { + "code": "522627", + "name": "天柱", + "level": "THREE_LEVEL", + "geoname_id": 1792826, + "sub_districts": [] + }, + { + "code": "522625", + "name": "镇远", + "level": "THREE_LEVEL", + "geoname_id": 1784583, + "sub_districts": [] + } + ] + }, + { + "code": "522700", + "name": "黔南", + "level": "TWO_LEVEL", + "geoname_id": 1798280, + "sub_districts": [ + { + "code": "522729", + "name": "长顺", + "level": "THREE_LEVEL", + "geoname_id": 1815535, + "sub_districts": [] + }, + { + "code": "522726", + "name": "独山", + "level": "THREE_LEVEL", + "geoname_id": 1811789, + "sub_districts": [] + }, + { + "code": "522701", + "name": "都匀", + "level": "THREE_LEVEL", + "geoname_id": 1811763, + "sub_districts": [] + }, + { + "code": "522702", + "name": "福泉", + "level": "THREE_LEVEL", + "geoname_id": 1810938, + "sub_districts": [] + }, + { + "code": "522723", + "name": "贵定", + "level": "THREE_LEVEL", + "geoname_id": 1809523, + "sub_districts": [] + }, + { + "code": "522731", + "name": "惠水", + "level": "THREE_LEVEL", + "geoname_id": 1806803, + "sub_districts": [] + }, + { + "code": "522722", + "name": "荔波", + "level": "THREE_LEVEL", + "geoname_id": 1803801, + "sub_districts": [] + }, + { + "code": "522728", + "name": "罗甸", + "level": "THREE_LEVEL", + "geoname_id": 1801968, + "sub_districts": [] + }, + { + "code": "522730", + "name": "龙里", + "level": "THREE_LEVEL", + "geoname_id": 1802538, + "sub_districts": [] + }, + { + "code": "522727", + "name": "平塘", + "level": "THREE_LEVEL", + "geoname_id": 1798677, + "sub_districts": [] + }, + { + "code": "522732", + "name": "三都", + "level": "THREE_LEVEL", + "geoname_id": 1796904, + "sub_districts": [] + }, + { + "code": "522725", + "name": "瓮安", + "level": "THREE_LEVEL", + "geoname_id": 1791513, + "sub_districts": [] + } + ] + }, + { + "code": "522300", + "name": "黔西南", + "level": "TWO_LEVEL", + "geoname_id": 1798226, + "sub_districts": [ + { + "code": "522328", + "name": "安龙", + "level": "THREE_LEVEL", + "geoname_id": 1818017, + "sub_districts": [] + }, + { + "code": "522327", + "name": "册亨", + "level": "THREE_LEVEL", + "geoname_id": 1815920, + "sub_districts": [] + }, + { + "code": "522323", + "name": "普安", + "level": "THREE_LEVEL", + "geoname_id": 1798536, + "sub_districts": [] + }, + { + "code": "522324", + "name": "晴隆", + "level": "THREE_LEVEL", + "geoname_id": 1797818, + "sub_districts": [] + }, + { + "code": "522326", + "name": "望谟", + "level": "THREE_LEVEL", + "geoname_id": 1791936, + "sub_districts": [] + }, + { + "code": "5223020000001", + "name": "兴仁", + "level": "THREE_LEVEL", + "geoname_id": 1788939, + "sub_districts": [] + }, + { + "code": "522301", + "name": "兴义", + "level": "THREE_LEVEL", + "geoname_id": 1788906, + "sub_districts": [] + }, + { + "code": "522325", + "name": "贞丰", + "level": "THREE_LEVEL", + "geoname_id": 1784732, + "sub_districts": [] + } + ] + }, + { + "code": "520600", + "name": "铜仁", + "level": "TWO_LEVEL", + "geoname_id": 1792590, + "sub_districts": [ + { + "code": "520602", + "name": "碧江", + "level": "THREE_LEVEL", + "geoname_id": 520602, + "sub_districts": [] + }, + { + "code": "520626", + "name": "德江", + "level": "THREE_LEVEL", + "geoname_id": 1550506, + "sub_districts": [] + }, + { + "code": "520621", + "name": "江口", + "level": "THREE_LEVEL", + "geoname_id": 1806306, + "sub_districts": [] + }, + { + "code": "520624", + "name": "思南", + "level": "THREE_LEVEL", + "geoname_id": 1794188, + "sub_districts": [] + }, + { + "code": "520623", + "name": "石阡", + "level": "THREE_LEVEL", + "geoname_id": 1795056, + "sub_districts": [] + }, + { + "code": "520628", + "name": "松桃", + "level": "THREE_LEVEL", + "geoname_id": 1803829, + "sub_districts": [] + }, + { + "code": "520603", + "name": "万山", + "level": "THREE_LEVEL", + "geoname_id": 1791769, + "sub_districts": [] + }, + { + "code": "520627", + "name": "沿河", + "level": "THREE_LEVEL", + "geoname_id": 1808346, + "sub_districts": [] + }, + { + "code": "520625", + "name": "印江", + "level": "THREE_LEVEL", + "geoname_id": 1786526, + "sub_districts": [] + }, + { + "code": "520622", + "name": "玉屏", + "level": "THREE_LEVEL", + "geoname_id": 1785639, + "sub_districts": [] + } + ] + }, + { + "code": "520300", + "name": "遵义", + "level": "TWO_LEVEL", + "geoname_id": 1783621, + "sub_districts": [ + { + "code": "520304", + "name": "播州", + "level": "THREE_LEVEL", + "geoname_id": 520304, + "sub_districts": [] + }, + { + "code": "520381", + "name": "赤水", + "level": "THREE_LEVEL", + "geoname_id": 1814961, + "sub_districts": [] + }, + { + "code": "520325", + "name": "道真", + "level": "THREE_LEVEL", + "geoname_id": 1785578, + "sub_districts": [] + }, + { + "code": "520327", + "name": "凤冈", + "level": "THREE_LEVEL", + "geoname_id": 1811375, + "sub_districts": [] + }, + { + "code": "520303", + "name": "汇川", + "level": "THREE_LEVEL", + "geoname_id": 6642054, + "sub_districts": [] + }, + { + "code": "520302", + "name": "红花岗", + "level": "THREE_LEVEL", + "geoname_id": 6642055, + "sub_districts": [] + }, + { + "code": "520328", + "name": "湄潭", + "level": "THREE_LEVEL", + "geoname_id": 1800807, + "sub_districts": [] + }, + { + "code": "520382", + "name": "仁怀", + "level": "THREE_LEVEL", + "geoname_id": 1797194, + "sub_districts": [] + }, + { + "code": "520323", + "name": "绥阳", + "level": "THREE_LEVEL", + "geoname_id": 1793881, + "sub_districts": [] + }, + { + "code": "520322", + "name": "桐梓", + "level": "THREE_LEVEL", + "geoname_id": 1792510, + "sub_districts": [] + }, + { + "code": "520326", + "name": "务川", + "level": "THREE_LEVEL", + "geoname_id": 1791335, + "sub_districts": [] + }, + { + "code": "520330", + "name": "习水", + "level": "THREE_LEVEL", + "geoname_id": 1788315, + "sub_districts": [] + }, + { + "code": "520329", + "name": "余庆", + "level": "THREE_LEVEL", + "geoname_id": 1785635, + "sub_districts": [] + }, + { + "code": "520324", + "name": "正安", + "level": "THREE_LEVEL", + "geoname_id": 1784729, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "13", + "name": "河北", + "level": "ONE_LEVEL", + "geoname_id": 1808773, + "sub_districts": [ + { + "code": "130600", + "name": "保定", + "level": "TWO_LEVEL", + "geoname_id": 1816971, + "sub_districts": [ + { + "code": "130683", + "name": "安国", + "level": "THREE_LEVEL", + "geoname_id": 1818071, + "sub_districts": [] + }, + { + "code": "130632", + "name": "安新", + "level": "THREE_LEVEL", + "geoname_id": 1817949, + "sub_districts": [] + }, + { + "code": "130637", + "name": "博野", + "level": "THREE_LEVEL", + "geoname_id": 1816239, + "sub_districts": [] + }, + { + "code": "130626", + "name": "定兴", + "level": "THREE_LEVEL", + "geoname_id": 1812740, + "sub_districts": [] + }, + { + "code": "130682", + "name": "定州", + "level": "THREE_LEVEL", + "geoname_id": 1812727, + "sub_districts": [] + }, + { + "code": "130624", + "name": "阜平", + "level": "THREE_LEVEL", + "geoname_id": 1810944, + "sub_districts": [] + }, + { + "code": "130684", + "name": "高碑店", + "level": "THREE_LEVEL", + "geoname_id": 1789164, + "sub_districts": [] + }, + { + "code": "130628", + "name": "高阳", + "level": "THREE_LEVEL", + "geoname_id": 1810317, + "sub_districts": [] + }, + { + "code": "130602", + "name": "竞秀", + "level": "THREE_LEVEL", + "geoname_id": 130602, + "sub_districts": [] + }, + { + "code": "130606", + "name": "莲池", + "level": "THREE_LEVEL", + "geoname_id": 130606, + "sub_districts": [] + }, + { + "code": "130623", + "name": "涞水", + "level": "THREE_LEVEL", + "geoname_id": 1804594, + "sub_districts": [] + }, + { + "code": "130635", + "name": "蠡县", + "level": "THREE_LEVEL", + "geoname_id": 1802814, + "sub_districts": [] + }, + { + "code": "130630", + "name": "涞源", + "level": "THREE_LEVEL", + "geoname_id": 1804580, + "sub_districts": [] + }, + { + "code": "130607", + "name": "满城", + "level": "THREE_LEVEL", + "geoname_id": 1801311, + "sub_districts": [] + }, + { + "code": "130608", + "name": "清苑", + "level": "THREE_LEVEL", + "geoname_id": 1797624, + "sub_districts": [] + }, + { + "code": "130634", + "name": "曲阳", + "level": "THREE_LEVEL", + "geoname_id": 1797267, + "sub_districts": [] + }, + { + "code": "130629", + "name": "容城", + "level": "THREE_LEVEL", + "geoname_id": 1797112, + "sub_districts": [] + }, + { + "code": "130636", + "name": "顺平", + "level": "THREE_LEVEL", + "geoname_id": 1791749, + "sub_districts": [] + }, + { + "code": "130627", + "name": "唐县", + "level": "THREE_LEVEL", + "geoname_id": 1793307, + "sub_districts": [] + }, + { + "code": "130631", + "name": "望都", + "level": "THREE_LEVEL", + "geoname_id": 1792111, + "sub_districts": [] + }, + { + "code": "130609", + "name": "徐水", + "level": "THREE_LEVEL", + "geoname_id": 1787849, + "sub_districts": [] + }, + { + "code": "130638", + "name": "雄县", + "level": "THREE_LEVEL", + "geoname_id": 1788405, + "sub_districts": [] + }, + { + "code": "130633", + "name": "易县", + "level": "THREE_LEVEL", + "geoname_id": 1786428, + "sub_districts": [] + }, + { + "code": "130681", + "name": "涿州", + "level": "THREE_LEVEL", + "geoname_id": 1783850, + "sub_districts": [] + } + ] + }, + { + "code": "130800", + "name": "承德", + "level": "TWO_LEVEL", + "geoname_id": 2038085, + "sub_districts": [ + { + "code": "1308210000003", + "name": "承德", + "level": "THREE_LEVEL", + "geoname_id": 2038084, + "sub_districts": [] + }, + { + "code": "130826", + "name": "丰宁", + "level": "THREE_LEVEL", + "geoname_id": 2037400, + "sub_districts": [] + }, + { + "code": "130827", + "name": "宽城", + "level": "THREE_LEVEL", + "geoname_id": 2036284, + "sub_districts": [] + }, + { + "code": "130825", + "name": "隆化", + "level": "THREE_LEVEL", + "geoname_id": 2035971, + "sub_districts": [] + }, + { + "code": "130824", + "name": "滦平", + "level": "THREE_LEVEL", + "geoname_id": 2035935, + "sub_districts": [] + }, + { + "code": "1308810000001", + "name": "平泉", + "level": "THREE_LEVEL", + "geoname_id": 2035464, + "sub_districts": [] + }, + { + "code": "130803", + "name": "双滦", + "level": "THREE_LEVEL", + "geoname_id": 6586388, + "sub_districts": [] + }, + { + "code": "1308020000003", + "name": "双桥", + "level": "THREE_LEVEL", + "geoname_id": 6586389, + "sub_districts": [] + }, + { + "code": "130828", + "name": "围场", + "level": "THREE_LEVEL", + "geoname_id": 2034193, + "sub_districts": [] + }, + { + "code": "130822", + "name": "兴隆", + "level": "THREE_LEVEL", + "geoname_id": 2033736, + "sub_districts": [] + }, + { + "code": "130804", + "name": "鹰手营子", + "level": "THREE_LEVEL", + "geoname_id": 8029389, + "sub_districts": [] + } + ] + }, + { + "code": "130900", + "name": "沧州", + "level": "TWO_LEVEL", + "geoname_id": 1816080, + "sub_districts": [ + { + "code": "130981", + "name": "泊头", + "level": "THREE_LEVEL", + "geoname_id": 1816255, + "sub_districts": [] + }, + { + "code": "130921", + "name": "沧县", + "level": "THREE_LEVEL", + "geoname_id": 1816083, + "sub_districts": [] + }, + { + "code": "130923", + "name": "东光", + "level": "THREE_LEVEL", + "geoname_id": 1812535, + "sub_districts": [] + }, + { + "code": "130983", + "name": "黄骅", + "level": "THREE_LEVEL", + "geoname_id": 1807459, + "sub_districts": [] + }, + { + "code": "130984", + "name": "河间", + "level": "THREE_LEVEL", + "geoname_id": 1808608, + "sub_districts": [] + }, + { + "code": "130924", + "name": "海兴", + "level": "THREE_LEVEL", + "geoname_id": 1809027, + "sub_districts": [] + }, + { + "code": "130930", + "name": "孟村", + "level": "THREE_LEVEL", + "geoname_id": 1800757, + "sub_districts": [] + }, + { + "code": "130927", + "name": "南皮", + "level": "THREE_LEVEL", + "geoname_id": 1799835, + "sub_districts": [] + }, + { + "code": "130922", + "name": "青县", + "level": "THREE_LEVEL", + "geoname_id": 1797668, + "sub_districts": [] + }, + { + "code": "130982", + "name": "任丘", + "level": "THREE_LEVEL", + "geoname_id": 1797181, + "sub_districts": [] + }, + { + "code": "130926", + "name": "肃宁", + "level": "THREE_LEVEL", + "geoname_id": 1793839, + "sub_districts": [] + }, + { + "code": "130928", + "name": "吴桥", + "level": "THREE_LEVEL", + "geoname_id": 1791031, + "sub_districts": [] + }, + { + "code": "130902", + "name": "新华", + "level": "THREE_LEVEL", + "geoname_id": 130902, + "sub_districts": [] + }, + { + "code": "130929", + "name": "献县", + "level": "THREE_LEVEL", + "geoname_id": 1790360, + "sub_districts": [] + }, + { + "code": "130903", + "name": "运河", + "level": "THREE_LEVEL", + "geoname_id": 6586370, + "sub_districts": [] + }, + { + "code": "130925", + "name": "盐山", + "level": "THREE_LEVEL", + "geoname_id": 1787105, + "sub_districts": [] + } + ] + }, + { + "code": "130400", + "name": "邯郸", + "level": "TWO_LEVEL", + "geoname_id": 1808963, + "sub_districts": [ + { + "code": "130424", + "name": "成安", + "level": "THREE_LEVEL", + "geoname_id": 1815309, + "sub_districts": [] + }, + { + "code": "130403", + "name": "丛台", + "level": "THREE_LEVEL", + "geoname_id": 6586359, + "sub_districts": [] + }, + { + "code": "130427", + "name": "磁县", + "level": "THREE_LEVEL", + "geoname_id": 1814723, + "sub_districts": [] + }, + { + "code": "130425", + "name": "大名", + "level": "THREE_LEVEL", + "geoname_id": 1813911, + "sub_districts": [] + }, + { + "code": "130406", + "name": "峰峰矿区", + "level": "THREE_LEVEL", + "geoname_id": 6586357, + "sub_districts": [] + }, + { + "code": "130404", + "name": "复兴", + "level": "THREE_LEVEL", + "geoname_id": 6586360, + "sub_districts": [] + }, + { + "code": "1304070000001", + "name": "肥乡", + "level": "THREE_LEVEL", + "geoname_id": 1811438, + "sub_districts": [] + }, + { + "code": "130432", + "name": "广平", + "level": "THREE_LEVEL", + "geoname_id": 1809885, + "sub_districts": [] + }, + { + "code": "130433", + "name": "馆陶", + "level": "THREE_LEVEL", + "geoname_id": 1809760, + "sub_districts": [] + }, + { + "code": "130402", + "name": "邯山", + "level": "THREE_LEVEL", + "geoname_id": 6586358, + "sub_districts": [] + }, + { + "code": "130431", + "name": "鸡泽", + "level": "THREE_LEVEL", + "geoname_id": 1783575, + "sub_districts": [] + }, + { + "code": "130423", + "name": "临漳", + "level": "THREE_LEVEL", + "geoname_id": 1803305, + "sub_districts": [] + }, + { + "code": "130430", + "name": "邱县", + "level": "THREE_LEVEL", + "geoname_id": 1797450, + "sub_districts": [] + }, + { + "code": "130435", + "name": "曲周", + "level": "THREE_LEVEL", + "geoname_id": 1797261, + "sub_districts": [] + }, + { + "code": "130426", + "name": "涉县", + "level": "THREE_LEVEL", + "geoname_id": 1795533, + "sub_districts": [] + }, + { + "code": "130481", + "name": "武安", + "level": "THREE_LEVEL", + "geoname_id": 1791356, + "sub_districts": [] + }, + { + "code": "130434", + "name": "魏县", + "level": "THREE_LEVEL", + "geoname_id": 1791591, + "sub_districts": [] + }, + { + "code": "1304080000001", + "name": "永年", + "level": "THREE_LEVEL", + "geoname_id": 1786295, + "sub_districts": [] + } + ] + }, + { + "code": "131100", + "name": "衡水", + "level": "TWO_LEVEL", + "geoname_id": 1808392, + "sub_districts": [ + { + "code": "131125", + "name": "安平", + "level": "THREE_LEVEL", + "geoname_id": 1817996, + "sub_districts": [] + }, + { + "code": "131128", + "name": "阜城", + "level": "THREE_LEVEL", + "geoname_id": 1811070, + "sub_districts": [] + }, + { + "code": "131126", + "name": "故城", + "level": "THREE_LEVEL", + "geoname_id": 1809577, + "sub_districts": [] + }, + { + "code": "1311710000003", + "name": "河北衡水高新技术产业开发区", + "level": "THREE_LEVEL", + "geoname_id": 659010141, + "sub_districts": [] + }, + { + "code": "131127", + "name": "景县", + "level": "THREE_LEVEL", + "geoname_id": 1805569, + "sub_districts": [] + }, + { + "code": "131103", + "name": "冀州", + "level": "THREE_LEVEL", + "geoname_id": 1805033, + "sub_districts": [] + }, + { + "code": "131124", + "name": "饶阳", + "level": "THREE_LEVEL", + "geoname_id": 1797236, + "sub_districts": [] + }, + { + "code": "131182", + "name": "深州", + "level": "THREE_LEVEL", + "geoname_id": 1795580, + "sub_districts": [] + }, + { + "code": "1311020000003", + "name": "桃城", + "level": "THREE_LEVEL", + "geoname_id": 6586363, + "sub_districts": [] + }, + { + "code": "131123", + "name": "武强", + "level": "THREE_LEVEL", + "geoname_id": 1791039, + "sub_districts": [] + }, + { + "code": "1311220000003", + "name": "武邑", + "level": "THREE_LEVEL", + "geoname_id": 1790869, + "sub_districts": [] + }, + { + "code": "131121", + "name": "枣强", + "level": "THREE_LEVEL", + "geoname_id": 1785475, + "sub_districts": [] + } + ] + }, + { + "code": "131000", + "name": "廊坊", + "level": "TWO_LEVEL", + "geoname_id": 1804540, + "sub_districts": [ + { + "code": "131002", + "name": "安次", + "level": "THREE_LEVEL", + "geoname_id": 6586375, + "sub_districts": [] + }, + { + "code": "131081", + "name": "霸州", + "level": "THREE_LEVEL", + "geoname_id": 1816834, + "sub_districts": [] + }, + { + "code": "131028", + "name": "大厂", + "level": "THREE_LEVEL", + "geoname_id": 1814539, + "sub_districts": [] + }, + { + "code": "131025", + "name": "大城", + "level": "THREE_LEVEL", + "geoname_id": 1814254, + "sub_districts": [] + }, + { + "code": "131022", + "name": "固安", + "level": "THREE_LEVEL", + "geoname_id": 1809728, + "sub_districts": [] + }, + { + "code": "131003", + "name": "广阳", + "level": "THREE_LEVEL", + "geoname_id": 6586376, + "sub_districts": [] + }, + { + "code": "131082", + "name": "三河", + "level": "THREE_LEVEL", + "geoname_id": 1796810, + "sub_districts": [] + }, + { + "code": "131026", + "name": "文安", + "level": "THREE_LEVEL", + "geoname_id": 1791548, + "sub_districts": [] + }, + { + "code": "131024", + "name": "香河", + "level": "THREE_LEVEL", + "geoname_id": 1790572, + "sub_districts": [] + }, + { + "code": "131023", + "name": "永清", + "level": "THREE_LEVEL", + "geoname_id": 1786270, + "sub_districts": [] + } + ] + }, + { + "code": "130300", + "name": "秦皇岛", + "level": "TWO_LEVEL", + "geoname_id": 1797595, + "sub_districts": [ + { + "code": "130304", + "name": "北戴河区", + "level": "THREE_LEVEL", + "geoname_id": 6586383, + "sub_districts": [] + }, + { + "code": "1303720000003", + "name": "北戴河新区", + "level": "THREE_LEVEL", + "geoname_id": 659010032, + "sub_districts": [] + }, + { + "code": "1303220000003", + "name": "昌黎", + "level": "THREE_LEVEL", + "geoname_id": 1815634, + "sub_districts": [] + }, + { + "code": "1303060000003", + "name": "抚宁", + "level": "THREE_LEVEL", + "geoname_id": 1810948, + "sub_districts": [] + }, + { + "code": "130302", + "name": "海港", + "level": "THREE_LEVEL", + "geoname_id": 6586381, + "sub_districts": [] + }, + { + "code": "130324", + "name": "卢龙", + "level": "THREE_LEVEL", + "geoname_id": 1802021, + "sub_districts": [] + }, + { + "code": "130321", + "name": "青龙", + "level": "THREE_LEVEL", + "geoname_id": 2035303, + "sub_districts": [] + }, + { + "code": "130303", + "name": "山海关", + "level": "THREE_LEVEL", + "geoname_id": 6586382, + "sub_districts": [] + } + ] + }, + { + "code": "130100", + "name": "石家庄", + "level": "TWO_LEVEL", + "geoname_id": 1795266, + "sub_districts": [ + { + "code": "130102", + "name": "长安", + "level": "THREE_LEVEL", + "geoname_id": 6586367, + "sub_districts": [] + }, + { + "code": "130109", + "name": "藁城", + "level": "THREE_LEVEL", + "geoname_id": 1810596, + "sub_districts": [] + }, + { + "code": "130127", + "name": "高邑", + "level": "THREE_LEVEL", + "geoname_id": 1810311, + "sub_districts": [] + }, + { + "code": "130107", + "name": "井陉矿区", + "level": "THREE_LEVEL", + "geoname_id": 6586369, + "sub_districts": [] + }, + { + "code": "130121", + "name": "井陉县", + "level": "THREE_LEVEL", + "geoname_id": 1805562, + "sub_districts": [] + }, + { + "code": "130183", + "name": "晋州", + "level": "THREE_LEVEL", + "geoname_id": 1805338, + "sub_districts": [] + }, + { + "code": "130111", + "name": "栾城", + "level": "THREE_LEVEL", + "geoname_id": 1802203, + "sub_districts": [] + }, + { + "code": "130110", + "name": "鹿泉", + "level": "THREE_LEVEL", + "geoname_id": 1806654, + "sub_districts": [] + }, + { + "code": "130126", + "name": "灵寿", + "level": "THREE_LEVEL", + "geoname_id": 1803465, + "sub_districts": [] + }, + { + "code": "130131", + "name": "平山", + "level": "THREE_LEVEL", + "geoname_id": 1798698, + "sub_districts": [] + }, + { + "code": "130104", + "name": "桥西", + "level": "THREE_LEVEL", + "geoname_id": 130104, + "sub_districts": [] + }, + { + "code": "130128", + "name": "深泽", + "level": "THREE_LEVEL", + "geoname_id": 1795568, + "sub_districts": [] + }, + { + "code": "130130", + "name": "无极", + "level": "THREE_LEVEL", + "geoname_id": 1791157, + "sub_districts": [] + }, + { + "code": "130105", + "name": "新华", + "level": "THREE_LEVEL", + "geoname_id": 130105, + "sub_districts": [] + }, + { + "code": "130181", + "name": "辛集", + "level": "THREE_LEVEL", + "geoname_id": 1788766, + "sub_districts": [] + }, + { + "code": "130184", + "name": "新乐", + "level": "THREE_LEVEL", + "geoname_id": 1788751, + "sub_districts": [] + }, + { + "code": "130125", + "name": "行唐", + "level": "THREE_LEVEL", + "geoname_id": 1788920, + "sub_districts": [] + }, + { + "code": "130108", + "name": "裕华", + "level": "THREE_LEVEL", + "geoname_id": 6586364, + "sub_districts": [] + }, + { + "code": "130132", + "name": "元氏", + "level": "THREE_LEVEL", + "geoname_id": 1786041, + "sub_districts": [] + }, + { + "code": "130123", + "name": "正定", + "level": "THREE_LEVEL", + "geoname_id": 1784711, + "sub_districts": [] + }, + { + "code": "130129", + "name": "赞皇", + "level": "THREE_LEVEL", + "geoname_id": 1785499, + "sub_districts": [] + }, + { + "code": "130133", + "name": "赵县", + "level": "THREE_LEVEL", + "geoname_id": 1784829, + "sub_districts": [] + } + ] + }, + { + "code": "130200", + "name": "唐山", + "level": "TWO_LEVEL", + "geoname_id": 1793343, + "sub_districts": [ + { + "code": "130209", + "name": "曹妃甸", + "level": "THREE_LEVEL", + "geoname_id": 130209, + "sub_districts": [] + }, + { + "code": "130207", + "name": "丰南", + "level": "THREE_LEVEL", + "geoname_id": 1811270, + "sub_districts": [] + }, + { + "code": "1302080000003", + "name": "丰润", + "level": "THREE_LEVEL", + "geoname_id": 1811259, + "sub_districts": [] + }, + { + "code": "130204", + "name": "古冶", + "level": "THREE_LEVEL", + "geoname_id": 6586380, + "sub_districts": [] + }, + { + "code": "1302740000003", + "name": "河北唐山海港经济开发区", + "level": "THREE_LEVEL", + "geoname_id": 659010074, + "sub_districts": [] + }, + { + "code": "130205", + "name": "开平", + "level": "THREE_LEVEL", + "geoname_id": 6586379, + "sub_districts": [] + }, + { + "code": "1302030000003", + "name": "路北", + "level": "THREE_LEVEL", + "geoname_id": 6586378, + "sub_districts": [] + }, + { + "code": "130202", + "name": "路南", + "level": "THREE_LEVEL", + "geoname_id": 6586377, + "sub_districts": [] + }, + { + "code": "130224", + "name": "滦南", + "level": "THREE_LEVEL", + "geoname_id": 1802193, + "sub_districts": [] + }, + { + "code": "1302250000003", + "name": "乐亭", + "level": "THREE_LEVEL", + "geoname_id": 1804141, + "sub_districts": [] + }, + { + "code": "1302840000001", + "name": "滦州", + "level": "THREE_LEVEL", + "geoname_id": 1802187, + "sub_districts": [] + }, + { + "code": "130283", + "name": "迁安", + "level": "THREE_LEVEL", + "geoname_id": 2035409, + "sub_districts": [] + }, + { + "code": "130227", + "name": "迁西", + "level": "THREE_LEVEL", + "geoname_id": 2035377, + "sub_districts": [] + }, + { + "code": "130229", + "name": "玉田", + "level": "THREE_LEVEL", + "geoname_id": 1785594, + "sub_districts": [] + }, + { + "code": "130281", + "name": "遵化", + "level": "THREE_LEVEL", + "geoname_id": 2033057, + "sub_districts": [] + } + ] + }, + { + "code": "130500", + "name": "邢台", + "level": "TWO_LEVEL", + "geoname_id": 1788927, + "sub_districts": [ + { + "code": "130524", + "name": "柏乡", + "level": "THREE_LEVEL", + "geoname_id": 1817286, + "sub_districts": [] + }, + { + "code": "130531", + "name": "广宗", + "level": "THREE_LEVEL", + "geoname_id": 1783565, + "sub_districts": [] + }, + { + "code": "130529", + "name": "巨鹿", + "level": "THREE_LEVEL", + "geoname_id": 1804956, + "sub_districts": [] + }, + { + "code": "130522", + "name": "临城", + "level": "THREE_LEVEL", + "geoname_id": 1803580, + "sub_districts": [] + }, + { + "code": "130535", + "name": "临西", + "level": "THREE_LEVEL", + "geoname_id": 1803320, + "sub_districts": [] + }, + { + "code": "130525", + "name": "隆尧", + "level": "THREE_LEVEL", + "geoname_id": 1802265, + "sub_districts": [] + }, + { + "code": "130581", + "name": "南宫", + "level": "THREE_LEVEL", + "geoname_id": 1800063, + "sub_districts": [] + }, + { + "code": "1305060000001", + "name": "南和", + "level": "THREE_LEVEL", + "geoname_id": 1800015, + "sub_districts": [] + }, + { + "code": "130528", + "name": "宁晋", + "level": "THREE_LEVEL", + "geoname_id": 1799372, + "sub_districts": [] + }, + { + "code": "130523", + "name": "内丘", + "level": "THREE_LEVEL", + "geoname_id": 1799481, + "sub_districts": [] + }, + { + "code": "130532", + "name": "平乡", + "level": "THREE_LEVEL", + "geoname_id": 1798650, + "sub_districts": [] + }, + { + "code": "130534", + "name": "清河", + "level": "THREE_LEVEL", + "geoname_id": 1797892, + "sub_districts": [] + }, + { + "code": "1305050000001", + "name": "任泽", + "level": "THREE_LEVEL", + "geoname_id": 1797173, + "sub_districts": [] + }, + { + "code": "130582", + "name": "沙河", + "level": "THREE_LEVEL", + "geoname_id": 1796400, + "sub_districts": [] + }, + { + "code": "130533", + "name": "威县", + "level": "THREE_LEVEL", + "geoname_id": 1791590, + "sub_districts": [] + }, + { + "code": "130502", + "name": "襄都", + "level": "THREE_LEVEL", + "geoname_id": 130502, + "sub_districts": [] + }, + { + "code": "130503", + "name": "信都", + "level": "THREE_LEVEL", + "geoname_id": 130503, + "sub_districts": [] + }, + { + "code": "130530", + "name": "新河", + "level": "THREE_LEVEL", + "geoname_id": 1788881, + "sub_districts": [] + } + ] + }, + { + "code": "130700", + "name": "张家口", + "level": "TWO_LEVEL", + "geoname_id": 2033196, + "sub_districts": [ + { + "code": "130732", + "name": "赤城", + "level": "THREE_LEVEL", + "geoname_id": 2038068, + "sub_districts": [] + }, + { + "code": "130709", + "name": "崇礼", + "level": "THREE_LEVEL", + "geoname_id": 2038061, + "sub_districts": [] + }, + { + "code": "1307240000003", + "name": "沽源", + "level": "THREE_LEVEL", + "geoname_id": 2037105, + "sub_districts": [] + }, + { + "code": "130728", + "name": "怀安", + "level": "THREE_LEVEL", + "geoname_id": 2036770, + "sub_districts": [] + }, + { + "code": "130730", + "name": "怀来", + "level": "THREE_LEVEL", + "geoname_id": 2036767, + "sub_districts": [] + }, + { + "code": "130723", + "name": "康保", + "level": "THREE_LEVEL", + "geoname_id": 2036328, + "sub_districts": [] + }, + { + "code": "130702", + "name": "桥东", + "level": "THREE_LEVEL", + "geoname_id": 130702, + "sub_districts": [] + }, + { + "code": "130703", + "name": "桥西", + "level": "THREE_LEVEL", + "geoname_id": 130703, + "sub_districts": [] + }, + { + "code": "130725", + "name": "尚义", + "level": "THREE_LEVEL", + "geoname_id": 2035006, + "sub_districts": [] + }, + { + "code": "130708", + "name": "万全", + "level": "THREE_LEVEL", + "geoname_id": 2034205, + "sub_districts": [] + }, + { + "code": "130705", + "name": "宣化", + "level": "THREE_LEVEL", + "geoname_id": 6586385, + "sub_districts": [] + }, + { + "code": "130706", + "name": "下花园", + "level": "THREE_LEVEL", + "geoname_id": 6586384, + "sub_districts": [] + }, + { + "code": "130726", + "name": "蔚县", + "level": "THREE_LEVEL", + "geoname_id": 1785567, + "sub_districts": [] + }, + { + "code": "130727", + "name": "阳原", + "level": "THREE_LEVEL", + "geoname_id": 2033474, + "sub_districts": [] + }, + { + "code": "130722", + "name": "张北", + "level": "THREE_LEVEL", + "geoname_id": 2033210, + "sub_districts": [] + }, + { + "code": "1307730000003", + "name": "张家口市塞北管理区", + "level": "THREE_LEVEL", + "geoname_id": 659010006, + "sub_districts": [] + }, + { + "code": "130731", + "name": "涿鹿", + "level": "THREE_LEVEL", + "geoname_id": 2033068, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "42", + "name": "湖北", + "level": "ONE_LEVEL", + "geoname_id": 1806949, + "sub_districts": [ + { + "code": "422800", + "name": "恩施", + "level": "TWO_LEVEL", + "geoname_id": 1811624, + "sub_districts": [ + { + "code": "422823", + "name": "巴东", + "level": "THREE_LEVEL", + "geoname_id": 1817837, + "sub_districts": [] + }, + { + "code": "422801", + "name": "恩施", + "level": "THREE_LEVEL", + "geoname_id": 1811719, + "sub_districts": [] + }, + { + "code": "422828", + "name": "鹤峰", + "level": "THREE_LEVEL", + "geoname_id": 1808717, + "sub_districts": [] + }, + { + "code": "422822", + "name": "建始", + "level": "THREE_LEVEL", + "geoname_id": 1806147, + "sub_districts": [] + }, + { + "code": "422802", + "name": "利川", + "level": "THREE_LEVEL", + "geoname_id": 1803779, + "sub_districts": [] + }, + { + "code": "422827", + "name": "来凤", + "level": "THREE_LEVEL", + "geoname_id": 1804601, + "sub_districts": [] + }, + { + "code": "422825", + "name": "宣恩", + "level": "THREE_LEVEL", + "geoname_id": 1788076, + "sub_districts": [] + }, + { + "code": "422826", + "name": "咸丰", + "level": "THREE_LEVEL", + "geoname_id": 1790613, + "sub_districts": [] + } + ] + }, + { + "code": "420700", + "name": "鄂州", + "level": "TWO_LEVEL", + "geoname_id": 1811618, + "sub_districts": [ + { + "code": "420704", + "name": "鄂城", + "level": "THREE_LEVEL", + "geoname_id": 420704, + "sub_districts": [] + }, + { + "code": "420703", + "name": "华容", + "level": "THREE_LEVEL", + "geoname_id": 6642288, + "sub_districts": [] + }, + { + "code": "420702", + "name": "梁子湖", + "level": "THREE_LEVEL", + "geoname_id": 6642289, + "sub_districts": [] + } + ] + }, + { + "code": "421100", + "name": "黄冈", + "level": "TWO_LEVEL", + "geoname_id": 1807500, + "sub_districts": [ + { + "code": "421122", + "name": "红安", + "level": "THREE_LEVEL", + "geoname_id": 1808175, + "sub_districts": [] + }, + { + "code": "421127", + "name": "黄梅", + "level": "THREE_LEVEL", + "geoname_id": 1807337, + "sub_districts": [] + }, + { + "code": "421102", + "name": "黄州", + "level": "THREE_LEVEL", + "geoname_id": 1807493, + "sub_districts": [] + }, + { + "code": "421123", + "name": "罗田", + "level": "THREE_LEVEL", + "geoname_id": 1801828, + "sub_districts": [] + }, + { + "code": "421181", + "name": "麻城", + "level": "THREE_LEVEL", + "geoname_id": 1801578, + "sub_districts": [] + }, + { + "code": "421126", + "name": "蕲春", + "level": "THREE_LEVEL", + "geoname_id": 1798090, + "sub_districts": [] + }, + { + "code": "421121", + "name": "团风", + "level": "THREE_LEVEL", + "geoname_id": 6642460, + "sub_districts": [] + }, + { + "code": "421182", + "name": "武穴", + "level": "THREE_LEVEL", + "geoname_id": 1809913, + "sub_districts": [] + }, + { + "code": "421125", + "name": "浠水", + "level": "THREE_LEVEL", + "geoname_id": 1788314, + "sub_districts": [] + }, + { + "code": "421124", + "name": "英山", + "level": "THREE_LEVEL", + "geoname_id": 1786582, + "sub_districts": [] + } + ] + }, + { + "code": "420200", + "name": "黄石", + "level": "TWO_LEVEL", + "geoname_id": 1807225, + "sub_districts": [ + { + "code": "420281", + "name": "大冶", + "level": "THREE_LEVEL", + "geoname_id": 1813203, + "sub_districts": [] + }, + { + "code": "420202", + "name": "黄石港", + "level": "THREE_LEVEL", + "geoname_id": 6642292, + "sub_districts": [] + }, + { + "code": "420205", + "name": "铁山", + "level": "THREE_LEVEL", + "geoname_id": 6642290, + "sub_districts": [] + }, + { + "code": "420204", + "name": "下陆", + "level": "THREE_LEVEL", + "geoname_id": 6642291, + "sub_districts": [] + }, + { + "code": "420203", + "name": "西塞山", + "level": "THREE_LEVEL", + "geoname_id": 6642293, + "sub_districts": [] + }, + { + "code": "420222", + "name": "阳新", + "level": "THREE_LEVEL", + "geoname_id": 1787260, + "sub_districts": [] + } + ] + }, + { + "code": "420800", + "name": "荆门", + "level": "TWO_LEVEL", + "geoname_id": 1805610, + "sub_districts": [ + { + "code": "420802", + "name": "东宝", + "level": "THREE_LEVEL", + "geoname_id": 6642278, + "sub_districts": [] + }, + { + "code": "420804", + "name": "掇刀", + "level": "THREE_LEVEL", + "geoname_id": 6642279, + "sub_districts": [] + }, + { + "code": "4208820000001", + "name": "京山", + "level": "THREE_LEVEL", + "geoname_id": 1805591, + "sub_districts": [] + }, + { + "code": "420822", + "name": "沙洋", + "level": "THREE_LEVEL", + "geoname_id": 6642461, + "sub_districts": [] + }, + { + "code": "420881", + "name": "钟祥", + "level": "THREE_LEVEL", + "geoname_id": 1784277, + "sub_districts": [] + } + ] + }, + { + "code": "421000", + "name": "荆州", + "level": "TWO_LEVEL", + "geoname_id": 1805539, + "sub_districts": [ + { + "code": "421022", + "name": "公安", + "level": "THREE_LEVEL", + "geoname_id": 1810161, + "sub_districts": [] + }, + { + "code": "421083", + "name": "洪湖", + "level": "THREE_LEVEL", + "geoname_id": 1808115, + "sub_districts": [] + }, + { + "code": "421024", + "name": "江陵", + "level": "THREE_LEVEL", + "geoname_id": 1806303, + "sub_districts": [] + }, + { + "code": "4210880000001", + "name": "监利", + "level": "THREE_LEVEL", + "geoname_id": 1806172, + "sub_districts": [] + }, + { + "code": "421003", + "name": "荆州", + "level": "THREE_LEVEL", + "geoname_id": 6642294, + "sub_districts": [] + }, + { + "code": "421002", + "name": "沙市", + "level": "THREE_LEVEL", + "geoname_id": 1795813, + "sub_districts": [] + }, + { + "code": "421081", + "name": "石首", + "level": "THREE_LEVEL", + "geoname_id": 1795004, + "sub_districts": [] + }, + { + "code": "421087", + "name": "松滋", + "level": "THREE_LEVEL", + "geoname_id": 1793943, + "sub_districts": [] + } + ] + }, + { + "code": "429005", + "name": "潜江", + "level": "TWO_LEVEL", + "geoname_id": 1798313, + "sub_districts": [ + { + "code": "429005", + "name": "潜江", + "level": "THREE_LEVEL", + "geoname_id": 429005, + "sub_districts": [] + } + ] + }, + { + "code": "429021", + "name": "神农架", + "level": "TWO_LEVEL", + "geoname_id": 1795614, + "sub_districts": [ + { + "code": "429021", + "name": "神农架", + "level": "THREE_LEVEL", + "geoname_id": 429021, + "sub_districts": [] + } + ] + }, + { + "code": "420300", + "name": "十堰", + "level": "TWO_LEVEL", + "geoname_id": 1794903, + "sub_districts": [ + { + "code": "420381", + "name": "丹江口", + "level": "THREE_LEVEL", + "geoname_id": 1813827, + "sub_districts": [] + }, + { + "code": "420325", + "name": "房县", + "level": "THREE_LEVEL", + "geoname_id": 1811529, + "sub_districts": [] + }, + { + "code": "420302", + "name": "茅箭", + "level": "THREE_LEVEL", + "geoname_id": 6642270, + "sub_districts": [] + }, + { + "code": "420322", + "name": "郧西", + "level": "THREE_LEVEL", + "geoname_id": 1785659, + "sub_districts": [] + }, + { + "code": "420304", + "name": "郧阳", + "level": "THREE_LEVEL", + "geoname_id": 420304, + "sub_districts": [] + }, + { + "code": "420323", + "name": "竹山", + "level": "THREE_LEVEL", + "geoname_id": 1783823, + "sub_districts": [] + }, + { + "code": "420303", + "name": "张湾", + "level": "THREE_LEVEL", + "geoname_id": 6642267, + "sub_districts": [] + }, + { + "code": "420324", + "name": "竹溪", + "level": "THREE_LEVEL", + "geoname_id": 1783788, + "sub_districts": [] + } + ] + }, + { + "code": "421300", + "name": "随州", + "level": "TWO_LEVEL", + "geoname_id": 1793879, + "sub_districts": [ + { + "code": "421381", + "name": "广水", + "level": "THREE_LEVEL", + "geoname_id": 6642416, + "sub_districts": [] + }, + { + "code": "421321", + "name": "随县", + "level": "THREE_LEVEL", + "geoname_id": 421321, + "sub_districts": [] + }, + { + "code": "421303", + "name": "曾都", + "level": "THREE_LEVEL", + "geoname_id": 6642301, + "sub_districts": [] + } + ] + }, + { + "code": "429006", + "name": "天门", + "level": "TWO_LEVEL", + "geoname_id": 1792925, + "sub_districts": [ + { + "code": "429006", + "name": "天门", + "level": "THREE_LEVEL", + "geoname_id": 429006, + "sub_districts": [] + } + ] + }, + { + "code": "420100", + "name": "武汉", + "level": "TWO_LEVEL", + "geoname_id": 1791247, + "sub_districts": [ + { + "code": "420114", + "name": "蔡甸", + "level": "THREE_LEVEL", + "geoname_id": 1808866, + "sub_districts": [] + }, + { + "code": "420112", + "name": "东西湖", + "level": "THREE_LEVEL", + "geoname_id": 6642317, + "sub_districts": [] + }, + { + "code": "420113", + "name": "汉南", + "level": "THREE_LEVEL", + "geoname_id": 6642324, + "sub_districts": [] + }, + { + "code": "420116", + "name": "黄陂", + "level": "THREE_LEVEL", + "geoname_id": 1807304, + "sub_districts": [] + }, + { + "code": "420111", + "name": "洪山", + "level": "THREE_LEVEL", + "geoname_id": 6642321, + "sub_districts": [] + }, + { + "code": "420105", + "name": "汉阳", + "level": "THREE_LEVEL", + "geoname_id": 9166318, + "sub_districts": [] + }, + { + "code": "420102", + "name": "江岸", + "level": "THREE_LEVEL", + "geoname_id": 9166061, + "sub_districts": [] + }, + { + "code": "420103", + "name": "江汉", + "level": "THREE_LEVEL", + "geoname_id": 6642313, + "sub_districts": [] + }, + { + "code": "420115", + "name": "江夏", + "level": "THREE_LEVEL", + "geoname_id": 6642320, + "sub_districts": [] + }, + { + "code": "420104", + "name": "硚口", + "level": "THREE_LEVEL", + "geoname_id": 6642315, + "sub_districts": [] + }, + { + "code": "420107", + "name": "青山", + "level": "THREE_LEVEL", + "geoname_id": 6642178, + "sub_districts": [] + }, + { + "code": "420106", + "name": "武昌", + "level": "THREE_LEVEL", + "geoname_id": 1791349, + "sub_districts": [] + }, + { + "code": "420117", + "name": "新洲", + "level": "THREE_LEVEL", + "geoname_id": 1788446, + "sub_districts": [] + } + ] + }, + { + "code": "420900", + "name": "孝感", + "level": "TWO_LEVEL", + "geoname_id": 1790253, + "sub_districts": [ + { + "code": "420982", + "name": "安陆", + "level": "THREE_LEVEL", + "geoname_id": 1818014, + "sub_districts": [] + }, + { + "code": "420922", + "name": "大悟", + "level": "THREE_LEVEL", + "geoname_id": 1813339, + "sub_districts": [] + }, + { + "code": "420984", + "name": "汉川", + "level": "THREE_LEVEL", + "geoname_id": 1808975, + "sub_districts": [] + }, + { + "code": "420921", + "name": "孝昌", + "level": "THREE_LEVEL", + "geoname_id": 6642281, + "sub_districts": [] + }, + { + "code": "420902", + "name": "孝南", + "level": "THREE_LEVEL", + "geoname_id": 420902, + "sub_districts": [] + }, + { + "code": "420981", + "name": "应城", + "level": "THREE_LEVEL", + "geoname_id": 1786639, + "sub_districts": [] + }, + { + "code": "420923", + "name": "云梦", + "level": "THREE_LEVEL", + "geoname_id": 1785696, + "sub_districts": [] + } + ] + }, + { + "code": "421200", + "name": "咸宁", + "level": "TWO_LEVEL", + "geoname_id": 1790395, + "sub_districts": [ + { + "code": "421281", + "name": "赤壁", + "level": "THREE_LEVEL", + "geoname_id": 1798467, + "sub_districts": [] + }, + { + "code": "421223", + "name": "崇阳", + "level": "THREE_LEVEL", + "geoname_id": 1814876, + "sub_districts": [] + }, + { + "code": "421221", + "name": "嘉鱼", + "level": "THREE_LEVEL", + "geoname_id": 1805946, + "sub_districts": [] + }, + { + "code": "421222", + "name": "通城", + "level": "THREE_LEVEL", + "geoname_id": 1792697, + "sub_districts": [] + }, + { + "code": "421224", + "name": "通山", + "level": "THREE_LEVEL", + "geoname_id": 1792578, + "sub_districts": [] + }, + { + "code": "421202", + "name": "咸安", + "level": "THREE_LEVEL", + "geoname_id": 421202, + "sub_districts": [] + } + ] + }, + { + "code": "429004", + "name": "仙桃", + "level": "TWO_LEVEL", + "geoname_id": 1790370, + "sub_districts": [ + { + "code": "429004", + "name": "仙桃", + "level": "THREE_LEVEL", + "geoname_id": 429004, + "sub_districts": [] + } + ] + }, + { + "code": "420600", + "name": "襄阳", + "level": "TWO_LEVEL", + "geoname_id": 1790587, + "sub_districts": [ + { + "code": "420626", + "name": "保康", + "level": "THREE_LEVEL", + "geoname_id": 1816932, + "sub_districts": [] + }, + { + "code": "420606", + "name": "樊城", + "level": "THREE_LEVEL", + "geoname_id": 6642276, + "sub_districts": [] + }, + { + "code": "420625", + "name": "谷城", + "level": "THREE_LEVEL", + "geoname_id": 1809578, + "sub_districts": [] + }, + { + "code": "420682", + "name": "老河口", + "level": "THREE_LEVEL", + "geoname_id": 1804385, + "sub_districts": [] + }, + { + "code": "420624", + "name": "南漳", + "level": "THREE_LEVEL", + "geoname_id": 1799567, + "sub_districts": [] + }, + { + "code": "420602", + "name": "襄城", + "level": "THREE_LEVEL", + "geoname_id": 6642277, + "sub_districts": [] + }, + { + "code": "420607", + "name": "襄州", + "level": "THREE_LEVEL", + "geoname_id": 1790456, + "sub_districts": [] + }, + { + "code": "420684", + "name": "宜城", + "level": "THREE_LEVEL", + "geoname_id": 1786754, + "sub_districts": [] + }, + { + "code": "420683", + "name": "枣阳", + "level": "THREE_LEVEL", + "geoname_id": 1785461, + "sub_districts": [] + } + ] + }, + { + "code": "420500", + "name": "宜昌", + "level": "TWO_LEVEL", + "geoname_id": 1786764, + "sub_districts": [ + { + "code": "420528", + "name": "长阳", + "level": "THREE_LEVEL", + "geoname_id": 1815484, + "sub_districts": [] + }, + { + "code": "420504", + "name": "点军", + "level": "THREE_LEVEL", + "geoname_id": 6642272, + "sub_districts": [] + }, + { + "code": "420582", + "name": "当阳", + "level": "THREE_LEVEL", + "geoname_id": 1813848, + "sub_districts": [] + }, + { + "code": "420529", + "name": "五峰", + "level": "THREE_LEVEL", + "geoname_id": 1791282, + "sub_districts": [] + }, + { + "code": "420503", + "name": "伍家岗", + "level": "THREE_LEVEL", + "geoname_id": 6642295, + "sub_districts": [] + }, + { + "code": "420502", + "name": "西陵", + "level": "THREE_LEVEL", + "geoname_id": 6642273, + "sub_districts": [] + }, + { + "code": "420526", + "name": "兴山", + "level": "THREE_LEVEL", + "geoname_id": 1788934, + "sub_districts": [] + }, + { + "code": "420505", + "name": "猇亭", + "level": "THREE_LEVEL", + "geoname_id": 6642298, + "sub_districts": [] + }, + { + "code": "420525", + "name": "远安", + "level": "THREE_LEVEL", + "geoname_id": 1786121, + "sub_districts": [] + }, + { + "code": "420581", + "name": "宜都", + "level": "THREE_LEVEL", + "geoname_id": 1786728, + "sub_districts": [] + }, + { + "code": "420506", + "name": "夷陵", + "level": "THREE_LEVEL", + "geoname_id": 1783569, + "sub_districts": [] + }, + { + "code": "420527", + "name": "秭归", + "level": "THREE_LEVEL", + "geoname_id": 1783743, + "sub_districts": [] + }, + { + "code": "420583", + "name": "枝江", + "level": "THREE_LEVEL", + "geoname_id": 1784523, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "23", + "name": "黑龙江", + "level": "ONE_LEVEL", + "geoname_id": 2036965, + "sub_districts": [ + { + "code": "230600", + "name": "大庆", + "level": "TWO_LEVEL", + "geoname_id": 2037847, + "sub_districts": [ + { + "code": "230624", + "name": "杜尔伯特", + "level": "THREE_LEVEL", + "geoname_id": 2037557, + "sub_districts": [] + }, + { + "code": "230606", + "name": "大同", + "level": "THREE_LEVEL", + "geoname_id": 6643370, + "sub_districts": [] + }, + { + "code": "230605", + "name": "红岗", + "level": "THREE_LEVEL", + "geoname_id": 6643346, + "sub_districts": [] + }, + { + "code": "230623", + "name": "林甸", + "level": "THREE_LEVEL", + "geoname_id": 2036083, + "sub_districts": [] + }, + { + "code": "230603", + "name": "龙凤", + "level": "THREE_LEVEL", + "geoname_id": 6643350, + "sub_districts": [] + }, + { + "code": "230604", + "name": "让胡路", + "level": "THREE_LEVEL", + "geoname_id": 6643356, + "sub_districts": [] + }, + { + "code": "230602", + "name": "萨尔图", + "level": "THREE_LEVEL", + "geoname_id": 6643354, + "sub_districts": [] + }, + { + "code": "230622", + "name": "肇源", + "level": "THREE_LEVEL", + "geoname_id": 2033148, + "sub_districts": [] + }, + { + "code": "230621", + "name": "肇州", + "level": "THREE_LEVEL", + "geoname_id": 2033146, + "sub_districts": [] + } + ] + }, + { + "code": "232700", + "name": "大兴安岭", + "level": "TWO_LEVEL", + "geoname_id": 2037961, + "sub_districts": [ + { + "code": "232721", + "name": "呼玛", + "level": "THREE_LEVEL", + "geoname_id": 2036654, + "sub_districts": [] + }, + { + "code": "2327640000001", + "name": "呼中", + "level": "THREE_LEVEL", + "geoname_id": 60000916, + "sub_districts": [] + }, + { + "code": "2327610000001", + "name": "加格达奇", + "level": "THREE_LEVEL", + "geoname_id": 60000800, + "sub_districts": [] + }, + { + "code": "232701", + "name": "漠河", + "level": "THREE_LEVEL", + "geoname_id": 2035728, + "sub_districts": [] + }, + { + "code": "2327620000001", + "name": "松岭", + "level": "THREE_LEVEL", + "geoname_id": 60000558, + "sub_districts": [] + }, + { + "code": "232722", + "name": "塔河", + "level": "THREE_LEVEL", + "geoname_id": 2034613, + "sub_districts": [] + }, + { + "code": "2327630000001", + "name": "新林", + "level": "THREE_LEVEL", + "geoname_id": 60000149, + "sub_districts": [] + } + ] + }, + { + "code": "230100", + "name": "哈尔滨", + "level": "TWO_LEVEL", + "geoname_id": 2037013, + "sub_districts": [ + { + "code": "230112", + "name": "阿城", + "level": "THREE_LEVEL", + "geoname_id": 2038679, + "sub_districts": [] + }, + { + "code": "230125", + "name": "宾县", + "level": "THREE_LEVEL", + "geoname_id": 2038284, + "sub_districts": [] + }, + { + "code": "230126", + "name": "巴彦", + "level": "THREE_LEVEL", + "geoname_id": 2038370, + "sub_districts": [] + }, + { + "code": "230102", + "name": "道里", + "level": "THREE_LEVEL", + "geoname_id": 6643336, + "sub_districts": [] + }, + { + "code": "230104", + "name": "道外", + "level": "THREE_LEVEL", + "geoname_id": 6643342, + "sub_districts": [] + }, + { + "code": "230124", + "name": "方正", + "level": "THREE_LEVEL", + "geoname_id": 2037422, + "sub_districts": [] + }, + { + "code": "230111", + "name": "呼兰", + "level": "THREE_LEVEL", + "geoname_id": 2036667, + "sub_districts": [] + }, + { + "code": "230127", + "name": "木兰", + "level": "THREE_LEVEL", + "geoname_id": 2035704, + "sub_districts": [] + }, + { + "code": "230103", + "name": "南岗", + "level": "THREE_LEVEL", + "geoname_id": 6643344, + "sub_districts": [] + }, + { + "code": "230108", + "name": "平房", + "level": "THREE_LEVEL", + "geoname_id": 6643341, + "sub_districts": [] + }, + { + "code": "230109", + "name": "松北", + "level": "THREE_LEVEL", + "geoname_id": 6643335, + "sub_districts": [] + }, + { + "code": "230113", + "name": "双城", + "level": "THREE_LEVEL", + "geoname_id": 2034831, + "sub_districts": [] + }, + { + "code": "230183", + "name": "尚志", + "level": "THREE_LEVEL", + "geoname_id": 2035002, + "sub_districts": [] + }, + { + "code": "230128", + "name": "通河", + "level": "THREE_LEVEL", + "geoname_id": 2034415, + "sub_districts": [] + }, + { + "code": "230184", + "name": "五常", + "level": "THREE_LEVEL", + "geoname_id": 2034141, + "sub_districts": [] + }, + { + "code": "230110", + "name": "香坊", + "level": "THREE_LEVEL", + "geoname_id": 6643345, + "sub_districts": [] + }, + { + "code": "230123", + "name": "依兰", + "level": "THREE_LEVEL", + "geoname_id": 2033402, + "sub_districts": [] + }, + { + "code": "230129", + "name": "延寿", + "level": "THREE_LEVEL", + "geoname_id": 2033453, + "sub_districts": [] + } + ] + }, + { + "code": "230400", + "name": "鹤岗", + "level": "TWO_LEVEL", + "geoname_id": 2036986, + "sub_districts": [ + { + "code": "230406", + "name": "东山", + "level": "THREE_LEVEL", + "geoname_id": 6643252, + "sub_districts": [] + }, + { + "code": "230403", + "name": "工农", + "level": "THREE_LEVEL", + "geoname_id": 6643254, + "sub_districts": [] + }, + { + "code": "230421", + "name": "萝北", + "level": "THREE_LEVEL", + "geoname_id": 2035916, + "sub_districts": [] + }, + { + "code": "230404", + "name": "南山", + "level": "THREE_LEVEL", + "geoname_id": 6643253, + "sub_districts": [] + }, + { + "code": "230422", + "name": "绥滨", + "level": "THREE_LEVEL", + "geoname_id": 2034659, + "sub_districts": [] + }, + { + "code": "230405", + "name": "兴安", + "level": "THREE_LEVEL", + "geoname_id": 6643358, + "sub_districts": [] + }, + { + "code": "230407", + "name": "兴山", + "level": "THREE_LEVEL", + "geoname_id": 6643251, + "sub_districts": [] + }, + { + "code": "230402", + "name": "向阳", + "level": "THREE_LEVEL", + "geoname_id": 230402, + "sub_districts": [] + } + ] + }, + { + "code": "231100", + "name": "黑河", + "level": "TWO_LEVEL", + "geoname_id": 2036973, + "sub_districts": [ + { + "code": "231102", + "name": "爱辉", + "level": "THREE_LEVEL", + "geoname_id": 2036970, + "sub_districts": [] + }, + { + "code": "231181", + "name": "北安", + "level": "THREE_LEVEL", + "geoname_id": 2038362, + "sub_districts": [] + }, + { + "code": "2311830000001", + "name": "嫩江", + "level": "THREE_LEVEL", + "geoname_id": 2035598, + "sub_districts": [] + }, + { + "code": "231124", + "name": "孙吴", + "level": "THREE_LEVEL", + "geoname_id": 2034628, + "sub_districts": [] + }, + { + "code": "231182", + "name": "五大连池", + "level": "THREE_LEVEL", + "geoname_id": 2034136, + "sub_districts": [] + }, + { + "code": "231123", + "name": "逊克", + "level": "THREE_LEVEL", + "geoname_id": 2033549, + "sub_districts": [] + } + ] + }, + { + "code": "230800", + "name": "佳木斯", + "level": "TWO_LEVEL", + "geoname_id": 2036581, + "sub_districts": [ + { + "code": "230805", + "name": "东风", + "level": "THREE_LEVEL", + "geoname_id": 6643255, + "sub_districts": [] + }, + { + "code": "230882", + "name": "富锦", + "level": "THREE_LEVEL", + "geoname_id": 2037374, + "sub_districts": [] + }, + { + "code": "230883", + "name": "抚远", + "level": "THREE_LEVEL", + "geoname_id": 2037329, + "sub_districts": [] + }, + { + "code": "230826", + "name": "桦川", + "level": "THREE_LEVEL", + "geoname_id": 2036780, + "sub_districts": [] + }, + { + "code": "230822", + "name": "桦南", + "level": "THREE_LEVEL", + "geoname_id": 2036752, + "sub_districts": [] + }, + { + "code": "230811", + "name": "郊区", + "level": "THREE_LEVEL", + "geoname_id": 6643256, + "sub_districts": [] + }, + { + "code": "230804", + "name": "前进", + "level": "THREE_LEVEL", + "geoname_id": 6643260, + "sub_districts": [] + }, + { + "code": "230881", + "name": "同江", + "level": "THREE_LEVEL", + "geoname_id": 2034405, + "sub_districts": [] + }, + { + "code": "230828", + "name": "汤原", + "level": "THREE_LEVEL", + "geoname_id": 2034513, + "sub_districts": [] + }, + { + "code": "230803", + "name": "向阳", + "level": "THREE_LEVEL", + "geoname_id": 230803, + "sub_districts": [] + } + ] + }, + { + "code": "230300", + "name": "鸡西", + "level": "TWO_LEVEL", + "geoname_id": 2036389, + "sub_districts": [ + { + "code": "230306", + "name": "城子河", + "level": "THREE_LEVEL", + "geoname_id": 6643320, + "sub_districts": [] + }, + { + "code": "230304", + "name": "滴道", + "level": "THREE_LEVEL", + "geoname_id": 6643326, + "sub_districts": [] + }, + { + "code": "230381", + "name": "虎林", + "level": "THREE_LEVEL", + "geoname_id": 2036665, + "sub_districts": [] + }, + { + "code": "230303", + "name": "恒山", + "level": "THREE_LEVEL", + "geoname_id": 6643321, + "sub_districts": [] + }, + { + "code": "230321", + "name": "鸡东", + "level": "THREE_LEVEL", + "geoname_id": 2036518, + "sub_districts": [] + }, + { + "code": "230302", + "name": "鸡冠", + "level": "THREE_LEVEL", + "geoname_id": 6643323, + "sub_districts": [] + }, + { + "code": "230305", + "name": "梨树", + "level": "THREE_LEVEL", + "geoname_id": 6643319, + "sub_districts": [] + }, + { + "code": "230307", + "name": "麻山", + "level": "THREE_LEVEL", + "geoname_id": 6643317, + "sub_districts": [] + }, + { + "code": "230382", + "name": "密山", + "level": "THREE_LEVEL", + "geoname_id": 2035745, + "sub_districts": [] + } + ] + }, + { + "code": "231000", + "name": "牡丹江", + "level": "TWO_LEVEL", + "geoname_id": 2035715, + "sub_districts": [ + { + "code": "231004", + "name": "爱民", + "level": "THREE_LEVEL", + "geoname_id": 6643316, + "sub_districts": [] + }, + { + "code": "231002", + "name": "东安", + "level": "THREE_LEVEL", + "geoname_id": 6643313, + "sub_districts": [] + }, + { + "code": "231086", + "name": "东宁", + "level": "THREE_LEVEL", + "geoname_id": 2037610, + "sub_districts": [] + }, + { + "code": "231083", + "name": "海林", + "level": "THREE_LEVEL", + "geoname_id": 2037075, + "sub_districts": [] + }, + { + "code": "231025", + "name": "林口", + "level": "THREE_LEVEL", + "geoname_id": 2036065, + "sub_districts": [] + }, + { + "code": "231085", + "name": "穆棱", + "level": "THREE_LEVEL", + "geoname_id": 2038482, + "sub_districts": [] + }, + { + "code": "231084", + "name": "宁安", + "level": "THREE_LEVEL", + "geoname_id": 2035587, + "sub_districts": [] + }, + { + "code": "231081", + "name": "绥芬河", + "level": "THREE_LEVEL", + "geoname_id": 2034656, + "sub_districts": [] + }, + { + "code": "231005", + "name": "西安", + "level": "THREE_LEVEL", + "geoname_id": 6643309, + "sub_districts": [] + }, + { + "code": "231003", + "name": "阳明", + "level": "THREE_LEVEL", + "geoname_id": 6643311, + "sub_districts": [] + } + ] + }, + { + "code": "230200", + "name": "齐齐哈尔", + "level": "TWO_LEVEL", + "geoname_id": 2035265, + "sub_districts": [ + { + "code": "230205", + "name": "昂昂溪", + "level": "THREE_LEVEL", + "geoname_id": 6643287, + "sub_districts": [] + }, + { + "code": "230231", + "name": "拜泉", + "level": "THREE_LEVEL", + "geoname_id": 2038540, + "sub_districts": [] + }, + { + "code": "230206", + "name": "富拉尔基", + "level": "THREE_LEVEL", + "geoname_id": 6643301, + "sub_districts": [] + }, + { + "code": "230227", + "name": "富裕", + "level": "THREE_LEVEL", + "geoname_id": 2037327, + "sub_districts": [] + }, + { + "code": "230225", + "name": "甘南", + "level": "THREE_LEVEL", + "geoname_id": 2037310, + "sub_districts": [] + }, + { + "code": "230203", + "name": "建华", + "level": "THREE_LEVEL", + "geoname_id": 6643288, + "sub_districts": [] + }, + { + "code": "230230", + "name": "克东", + "level": "THREE_LEVEL", + "geoname_id": 2036311, + "sub_districts": [] + }, + { + "code": "230229", + "name": "克山", + "level": "THREE_LEVEL", + "geoname_id": 2036300, + "sub_districts": [] + }, + { + "code": "230221", + "name": "龙江", + "level": "THREE_LEVEL", + "geoname_id": 2035968, + "sub_districts": [] + }, + { + "code": "230202", + "name": "龙沙", + "level": "THREE_LEVEL", + "geoname_id": 6643285, + "sub_districts": [] + }, + { + "code": "230208", + "name": "梅里斯", + "level": "THREE_LEVEL", + "geoname_id": 6643304, + "sub_districts": [] + }, + { + "code": "230281", + "name": "讷河", + "level": "THREE_LEVEL", + "geoname_id": 2035609, + "sub_districts": [] + }, + { + "code": "230207", + "name": "碾子山", + "level": "THREE_LEVEL", + "geoname_id": 6643357, + "sub_districts": [] + }, + { + "code": "230204", + "name": "铁锋", + "level": "THREE_LEVEL", + "geoname_id": 6643307, + "sub_districts": [] + }, + { + "code": "230224", + "name": "泰来", + "level": "THREE_LEVEL", + "geoname_id": 2034598, + "sub_districts": [] + }, + { + "code": "230223", + "name": "依安", + "level": "THREE_LEVEL", + "geoname_id": 2033414, + "sub_districts": [] + } + ] + }, + { + "code": "230900", + "name": "七台河", + "level": "TWO_LEVEL", + "geoname_id": 2035260, + "sub_districts": [ + { + "code": "230921", + "name": "勃利", + "level": "THREE_LEVEL", + "geoname_id": 2038271, + "sub_districts": [] + }, + { + "code": "230904", + "name": "茄子河", + "level": "THREE_LEVEL", + "geoname_id": 6643267, + "sub_districts": [] + }, + { + "code": "230903", + "name": "桃山", + "level": "THREE_LEVEL", + "geoname_id": 6643268, + "sub_districts": [] + }, + { + "code": "230902", + "name": "新兴", + "level": "THREE_LEVEL", + "geoname_id": 6643266, + "sub_districts": [] + } + ] + }, + { + "code": "231200", + "name": "绥化", + "level": "TWO_LEVEL", + "geoname_id": 2034655, + "sub_districts": [ + { + "code": "231281", + "name": "安达", + "level": "THREE_LEVEL", + "geoname_id": 2038649, + "sub_districts": [] + }, + { + "code": "231202", + "name": "北林", + "level": "THREE_LEVEL", + "geoname_id": 2034653, + "sub_districts": [] + }, + { + "code": "231283", + "name": "海伦", + "level": "THREE_LEVEL", + "geoname_id": 2037067, + "sub_districts": [] + }, + { + "code": "231222", + "name": "兰西", + "level": "THREE_LEVEL", + "geoname_id": 2036225, + "sub_districts": [] + }, + { + "code": "231225", + "name": "明水", + "level": "THREE_LEVEL", + "geoname_id": 2035758, + "sub_districts": [] + }, + { + "code": "231224", + "name": "庆安", + "level": "THREE_LEVEL", + "geoname_id": 2035335, + "sub_districts": [] + }, + { + "code": "231223", + "name": "青冈", + "level": "THREE_LEVEL", + "geoname_id": 2035324, + "sub_districts": [] + }, + { + "code": "231226", + "name": "绥棱", + "level": "THREE_LEVEL", + "geoname_id": 2034650, + "sub_districts": [] + }, + { + "code": "231221", + "name": "望奎", + "level": "THREE_LEVEL", + "geoname_id": 2034227, + "sub_districts": [] + }, + { + "code": "231282", + "name": "肇东", + "level": "THREE_LEVEL", + "geoname_id": 2033168, + "sub_districts": [] + } + ] + }, + { + "code": "230500", + "name": "双鸭山", + "level": "TWO_LEVEL", + "geoname_id": 2034786, + "sub_districts": [ + { + "code": "230523", + "name": "宝清", + "level": "THREE_LEVEL", + "geoname_id": 2038445, + "sub_districts": [] + }, + { + "code": "230506", + "name": "宝山", + "level": "THREE_LEVEL", + "geoname_id": 6643262, + "sub_districts": [] + }, + { + "code": "230502", + "name": "尖山", + "level": "THREE_LEVEL", + "geoname_id": 6643263, + "sub_districts": [] + }, + { + "code": "230521", + "name": "集贤", + "level": "THREE_LEVEL", + "geoname_id": 2036384, + "sub_districts": [] + }, + { + "code": "230503", + "name": "岭东", + "level": "THREE_LEVEL", + "geoname_id": 6643265, + "sub_districts": [] + }, + { + "code": "230524", + "name": "饶河", + "level": "THREE_LEVEL", + "geoname_id": 2035222, + "sub_districts": [] + }, + { + "code": "230505", + "name": "四方台", + "level": "THREE_LEVEL", + "geoname_id": 2034739, + "sub_districts": [] + }, + { + "code": "230522", + "name": "友谊", + "level": "THREE_LEVEL", + "geoname_id": 2033296, + "sub_districts": [] + } + ] + }, + { + "code": "230700", + "name": "伊春", + "level": "TWO_LEVEL", + "geoname_id": 2033413, + "sub_districts": [ + { + "code": "230725", + "name": "大箐山", + "level": "THREE_LEVEL", + "geoname_id": 230725, + "sub_districts": [] + }, + { + "code": "230724", + "name": "丰林", + "level": "THREE_LEVEL", + "geoname_id": 230724, + "sub_districts": [] + }, + { + "code": "230751", + "name": "金林", + "level": "THREE_LEVEL", + "geoname_id": 230751, + "sub_districts": [] + }, + { + "code": "230722", + "name": "嘉荫", + "level": "THREE_LEVEL", + "geoname_id": 2036522, + "sub_districts": [] + }, + { + "code": "2307260000001", + "name": "南岔", + "level": "THREE_LEVEL", + "geoname_id": 6643279, + "sub_districts": [] + }, + { + "code": "230781", + "name": "铁力", + "level": "THREE_LEVEL", + "geoname_id": 2034440, + "sub_districts": [] + }, + { + "code": "230723", + "name": "汤旺", + "level": "THREE_LEVEL", + "geoname_id": 203341301, + "sub_districts": [] + }, + { + "code": "230718", + "name": "乌翠", + "level": "THREE_LEVEL", + "geoname_id": 230718, + "sub_districts": [] + }, + { + "code": "2307190000001", + "name": "友好", + "level": "THREE_LEVEL", + "geoname_id": 6643269, + "sub_districts": [] + }, + { + "code": "230717", + "name": "伊美", + "level": "THREE_LEVEL", + "geoname_id": 230717, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "41", + "name": "河南", + "level": "ONE_LEVEL", + "geoname_id": 1808520, + "sub_districts": [ + { + "code": "410500", + "name": "安阳", + "level": "TWO_LEVEL", + "geoname_id": 1785294, + "sub_districts": [ + { + "code": "410522", + "name": "安阳", + "level": "THREE_LEVEL", + "geoname_id": 1817941, + "sub_districts": [] + }, + { + "code": "410503", + "name": "北关", + "level": "THREE_LEVEL", + "geoname_id": 6602265, + "sub_districts": [] + }, + { + "code": "410526", + "name": "滑县", + "level": "THREE_LEVEL", + "geoname_id": 1807006, + "sub_districts": [] + }, + { + "code": "410506", + "name": "龙安", + "level": "THREE_LEVEL", + "geoname_id": 6602286, + "sub_districts": [] + }, + { + "code": "410581", + "name": "林州", + "level": "THREE_LEVEL", + "geoname_id": 1803329, + "sub_districts": [] + }, + { + "code": "410527", + "name": "内黄", + "level": "THREE_LEVEL", + "geoname_id": 1799493, + "sub_districts": [] + }, + { + "code": "410523", + "name": "汤阴", + "level": "THREE_LEVEL", + "geoname_id": 1793293, + "sub_districts": [] + }, + { + "code": "410502", + "name": "文峰", + "level": "THREE_LEVEL", + "geoname_id": 6602263, + "sub_districts": [] + }, + { + "code": "410505", + "name": "殷都", + "level": "THREE_LEVEL", + "geoname_id": 6602264, + "sub_districts": [] + } + ] + }, + { + "code": "410600", + "name": "鹤壁", + "level": "TWO_LEVEL", + "geoname_id": 1808770, + "sub_districts": [ + { + "code": "410602", + "name": "鹤山", + "level": "THREE_LEVEL", + "geoname_id": 6602261, + "sub_districts": [] + }, + { + "code": "410611", + "name": "淇滨", + "level": "THREE_LEVEL", + "geoname_id": 6602294, + "sub_districts": [] + }, + { + "code": "410622", + "name": "淇县", + "level": "THREE_LEVEL", + "geoname_id": 1797436, + "sub_districts": [] + }, + { + "code": "410603", + "name": "山城", + "level": "THREE_LEVEL", + "geoname_id": 6602260, + "sub_districts": [] + }, + { + "code": "410621", + "name": "浚县", + "level": "THREE_LEVEL", + "geoname_id": 1787875, + "sub_districts": [] + } + ] + }, + { + "code": "419001", + "name": "济源", + "level": "TWO_LEVEL", + "geoname_id": 1805012, + "sub_districts": [ + { + "code": "419001", + "name": "济源", + "level": "THREE_LEVEL", + "geoname_id": 1805010, + "sub_districts": [] + } + ] + }, + { + "code": "410800", + "name": "焦作", + "level": "TWO_LEVEL", + "geoname_id": 1805987, + "sub_districts": [ + { + "code": "410822", + "name": "博爱", + "level": "THREE_LEVEL", + "geoname_id": 1816305, + "sub_districts": [] + }, + { + "code": "410802", + "name": "解放", + "level": "THREE_LEVEL", + "geoname_id": 6602290, + "sub_districts": [] + }, + { + "code": "410804", + "name": "马村", + "level": "THREE_LEVEL", + "geoname_id": 6602271, + "sub_districts": [] + }, + { + "code": "410883", + "name": "孟州", + "level": "THREE_LEVEL", + "geoname_id": 1800685, + "sub_districts": [] + }, + { + "code": "410882", + "name": "沁阳", + "level": "THREE_LEVEL", + "geoname_id": 1797556, + "sub_districts": [] + }, + { + "code": "410811", + "name": "山阳", + "level": "THREE_LEVEL", + "geoname_id": 6602293, + "sub_districts": [] + }, + { + "code": "410825", + "name": "温县", + "level": "THREE_LEVEL", + "geoname_id": 1791407, + "sub_districts": [] + }, + { + "code": "410823", + "name": "武陟", + "level": "THREE_LEVEL", + "geoname_id": 1790843, + "sub_districts": [] + }, + { + "code": "410821", + "name": "修武", + "level": "THREE_LEVEL", + "geoname_id": 1788248, + "sub_districts": [] + }, + { + "code": "410803", + "name": "中站", + "level": "THREE_LEVEL", + "geoname_id": 6602272, + "sub_districts": [] + } + ] + }, + { + "code": "410200", + "name": "开封", + "level": "TWO_LEVEL", + "geoname_id": 1804879, + "sub_districts": [ + { + "code": "410204", + "name": "鼓楼", + "level": "THREE_LEVEL", + "geoname_id": 6602280, + "sub_districts": [] + }, + { + "code": "410225", + "name": "兰考", + "level": "THREE_LEVEL", + "geoname_id": 1804474, + "sub_districts": [] + }, + { + "code": "410202", + "name": "龙亭", + "level": "THREE_LEVEL", + "geoname_id": 6602279, + "sub_districts": [] + }, + { + "code": "410221", + "name": "杞县", + "level": "THREE_LEVEL", + "geoname_id": 1797437, + "sub_districts": [] + }, + { + "code": "410203", + "name": "顺河", + "level": "THREE_LEVEL", + "geoname_id": 6602278, + "sub_districts": [] + }, + { + "code": "410222", + "name": "通许", + "level": "THREE_LEVEL", + "geoname_id": 1792540, + "sub_districts": [] + }, + { + "code": "410223", + "name": "尉氏", + "level": "THREE_LEVEL", + "geoname_id": 1791609, + "sub_districts": [] + }, + { + "code": "410212", + "name": "祥符", + "level": "THREE_LEVEL", + "geoname_id": 410212, + "sub_districts": [] + }, + { + "code": "410205", + "name": "禹王台", + "level": "THREE_LEVEL", + "geoname_id": 6602281, + "sub_districts": [] + } + ] + }, + { + "code": "411100", + "name": "漯河", + "level": "TWO_LEVEL", + "geoname_id": 1801934, + "sub_districts": [ + { + "code": "411122", + "name": "临颍", + "level": "THREE_LEVEL", + "geoname_id": 1803314, + "sub_districts": [] + }, + { + "code": "411121", + "name": "舞阳", + "level": "THREE_LEVEL", + "geoname_id": 1790881, + "sub_districts": [] + }, + { + "code": "411103", + "name": "郾城", + "level": "THREE_LEVEL", + "geoname_id": 1787742, + "sub_districts": [] + }, + { + "code": "411102", + "name": "源汇", + "level": "THREE_LEVEL", + "geoname_id": 6602251, + "sub_districts": [] + }, + { + "code": "411104", + "name": "召陵", + "level": "THREE_LEVEL", + "geoname_id": 6602250, + "sub_districts": [] + } + ] + }, + { + "code": "410300", + "name": "洛阳", + "level": "TWO_LEVEL", + "geoname_id": 1801792, + "sub_districts": [ + { + "code": "410304", + "name": "瀍河", + "level": "THREE_LEVEL", + "geoname_id": 6602262, + "sub_districts": [] + }, + { + "code": "410305", + "name": "涧西", + "level": "THREE_LEVEL", + "geoname_id": 6602287, + "sub_districts": [] + }, + { + "code": "410302", + "name": "老城", + "level": "THREE_LEVEL", + "geoname_id": 6602296, + "sub_districts": [] + }, + { + "code": "410324", + "name": "栾川", + "level": "THREE_LEVEL", + "geoname_id": 1802201, + "sub_districts": [] + }, + { + "code": "410311", + "name": "洛龙", + "level": "THREE_LEVEL", + "geoname_id": 6602285, + "sub_districts": [] + }, + { + "code": "410328", + "name": "洛宁", + "level": "THREE_LEVEL", + "geoname_id": 1801867, + "sub_districts": [] + }, + { + "code": "4103080000000", + "name": "孟津", + "level": "THREE_LEVEL", + "geoname_id": 1800717, + "sub_districts": [] + }, + { + "code": "410326", + "name": "汝阳", + "level": "THREE_LEVEL", + "geoname_id": 1797013, + "sub_districts": [] + }, + { + "code": "410325", + "name": "嵩县", + "level": "THREE_LEVEL", + "geoname_id": 1793967, + "sub_districts": [] + }, + { + "code": "410323", + "name": "新安", + "level": "THREE_LEVEL", + "geoname_id": 1789239, + "sub_districts": [] + }, + { + "code": "410303", + "name": "西工", + "level": "THREE_LEVEL", + "geoname_id": 6602288, + "sub_districts": [] + }, + { + "code": "410329", + "name": "伊川", + "level": "THREE_LEVEL", + "geoname_id": 1786749, + "sub_districts": [] + }, + { + "code": "4103070000001", + "name": "偃师", + "level": "THREE_LEVEL", + "geoname_id": 1787098, + "sub_districts": [] + }, + { + "code": "410327", + "name": "宜阳", + "level": "THREE_LEVEL", + "geoname_id": 1786415, + "sub_districts": [] + } + ] + }, + { + "code": "411300", + "name": "南阳", + "level": "TWO_LEVEL", + "geoname_id": 1799629, + "sub_districts": [ + { + "code": "411381", + "name": "邓州", + "level": "THREE_LEVEL", + "geoname_id": 1812991, + "sub_districts": [] + }, + { + "code": "411322", + "name": "方城", + "level": "THREE_LEVEL", + "geoname_id": 1811590, + "sub_districts": [] + }, + { + "code": "411325", + "name": "内乡", + "level": "THREE_LEVEL", + "geoname_id": 1799475, + "sub_districts": [] + }, + { + "code": "411321", + "name": "南召", + "level": "THREE_LEVEL", + "geoname_id": 1799561, + "sub_districts": [] + }, + { + "code": "411327", + "name": "社旗", + "level": "THREE_LEVEL", + "geoname_id": 1795552, + "sub_districts": [] + }, + { + "code": "411330", + "name": "桐柏", + "level": "THREE_LEVEL", + "geoname_id": 1792711, + "sub_districts": [] + }, + { + "code": "411328", + "name": "唐河", + "level": "THREE_LEVEL", + "geoname_id": 1793414, + "sub_districts": [] + }, + { + "code": "411302", + "name": "宛城", + "level": "THREE_LEVEL", + "geoname_id": 6602248, + "sub_districts": [] + }, + { + "code": "411303", + "name": "卧龙", + "level": "THREE_LEVEL", + "geoname_id": 6602247, + "sub_districts": [] + }, + { + "code": "411326", + "name": "淅川", + "level": "THREE_LEVEL", + "geoname_id": 1789623, + "sub_districts": [] + }, + { + "code": "411323", + "name": "西峡", + "level": "THREE_LEVEL", + "geoname_id": 1788197, + "sub_districts": [] + }, + { + "code": "411329", + "name": "新野", + "level": "THREE_LEVEL", + "geoname_id": 1788521, + "sub_districts": [] + }, + { + "code": "411324", + "name": "镇平", + "level": "THREE_LEVEL", + "geoname_id": 1784615, + "sub_districts": [] + } + ] + }, + { + "code": "410400", + "name": "平顶山", + "level": "TWO_LEVEL", + "geoname_id": 1798827, + "sub_districts": [ + { + "code": "410421", + "name": "宝丰", + "level": "THREE_LEVEL", + "geoname_id": 1816962, + "sub_districts": [] + }, + { + "code": "410425", + "name": "郏县", + "level": "THREE_LEVEL", + "geoname_id": 1805959, + "sub_districts": [] + }, + { + "code": "410423", + "name": "鲁山", + "level": "THREE_LEVEL", + "geoname_id": 1801736, + "sub_districts": [] + }, + { + "code": "410482", + "name": "汝州", + "level": "THREE_LEVEL", + "geoname_id": 1803358, + "sub_districts": [] + }, + { + "code": "410404", + "name": "石龙", + "level": "THREE_LEVEL", + "geoname_id": 6602255, + "sub_districts": [] + }, + { + "code": "410403", + "name": "卫东", + "level": "THREE_LEVEL", + "geoname_id": 6602252, + "sub_districts": [] + }, + { + "code": "410481", + "name": "舞钢", + "level": "THREE_LEVEL", + "geoname_id": 1910201, + "sub_districts": [] + }, + { + "code": "410402", + "name": "新华", + "level": "THREE_LEVEL", + "geoname_id": 6602253, + "sub_districts": [] + }, + { + "code": "410422", + "name": "叶县", + "level": "THREE_LEVEL", + "geoname_id": 1786792, + "sub_districts": [] + }, + { + "code": "410411", + "name": "湛河", + "level": "THREE_LEVEL", + "geoname_id": 6602254, + "sub_districts": [] + } + ] + }, + { + "code": "410900", + "name": "濮阳", + "level": "TWO_LEVEL", + "geoname_id": 1941243, + "sub_districts": [ + { + "code": "410926", + "name": "范县", + "level": "THREE_LEVEL", + "geoname_id": 1811471, + "sub_districts": [] + }, + { + "code": "4109020000003", + "name": "华龙", + "level": "THREE_LEVEL", + "geoname_id": 6602266, + "sub_districts": [] + }, + { + "code": "410923", + "name": "南乐", + "level": "THREE_LEVEL", + "geoname_id": 1799927, + "sub_districts": [] + }, + { + "code": "4109280000003", + "name": "濮阳", + "level": "THREE_LEVEL", + "geoname_id": 1798420, + "sub_districts": [] + }, + { + "code": "410922", + "name": "清丰", + "level": "THREE_LEVEL", + "geoname_id": 1797916, + "sub_districts": [] + }, + { + "code": "410927", + "name": "台前", + "level": "THREE_LEVEL", + "geoname_id": 1793556, + "sub_districts": [] + } + ] + }, + { + "code": "411200", + "name": "三门峡", + "level": "TWO_LEVEL", + "geoname_id": 1796669, + "sub_districts": [ + { + "code": "411202", + "name": "湖滨", + "level": "THREE_LEVEL", + "geoname_id": 6602282, + "sub_districts": [] + }, + { + "code": "411282", + "name": "灵宝", + "level": "THREE_LEVEL", + "geoname_id": 1803556, + "sub_districts": [] + }, + { + "code": "411224", + "name": "卢氏", + "level": "THREE_LEVEL", + "geoname_id": 1801729, + "sub_districts": [] + }, + { + "code": "411221", + "name": "渑池", + "level": "THREE_LEVEL", + "geoname_id": 1800646, + "sub_districts": [] + }, + { + "code": "411203", + "name": "陕州", + "level": "THREE_LEVEL", + "geoname_id": 411203, + "sub_districts": [] + }, + { + "code": "411281", + "name": "义马", + "level": "THREE_LEVEL", + "geoname_id": 1786672, + "sub_districts": [] + } + ] + }, + { + "code": "411400", + "name": "商丘", + "level": "TWO_LEVEL", + "geoname_id": 1783934, + "sub_districts": [ + { + "code": "411402", + "name": "梁园", + "level": "THREE_LEVEL", + "geoname_id": 6602259, + "sub_districts": [] + }, + { + "code": "411421", + "name": "民权", + "level": "THREE_LEVEL", + "geoname_id": 1800458, + "sub_districts": [] + }, + { + "code": "411423", + "name": "宁陵", + "level": "THREE_LEVEL", + "geoname_id": 1799365, + "sub_districts": [] + }, + { + "code": "411422", + "name": "睢县", + "level": "THREE_LEVEL", + "geoname_id": 1793888, + "sub_districts": [] + }, + { + "code": "411403", + "name": "睢阳", + "level": "THREE_LEVEL", + "geoname_id": 6602284, + "sub_districts": [] + }, + { + "code": "411426", + "name": "夏邑", + "level": "THREE_LEVEL", + "geoname_id": 1789729, + "sub_districts": [] + }, + { + "code": "411481", + "name": "永城", + "level": "THREE_LEVEL", + "geoname_id": 1786372, + "sub_districts": [] + }, + { + "code": "411425", + "name": "虞城", + "level": "THREE_LEVEL", + "geoname_id": 1785978, + "sub_districts": [] + }, + { + "code": "411424", + "name": "柘城", + "level": "THREE_LEVEL", + "geoname_id": 1784779, + "sub_districts": [] + } + ] + }, + { + "code": "411000", + "name": "许昌", + "level": "TWO_LEVEL", + "geoname_id": 1788045, + "sub_districts": [ + { + "code": "411082", + "name": "长葛", + "level": "THREE_LEVEL", + "geoname_id": 1815737, + "sub_districts": [] + }, + { + "code": "4110030000001", + "name": "建安", + "level": "THREE_LEVEL", + "geoname_id": 1788044, + "sub_districts": [] + }, + { + "code": "411002", + "name": "魏都", + "level": "THREE_LEVEL", + "geoname_id": 6602258, + "sub_districts": [] + }, + { + "code": "411025", + "name": "襄城", + "level": "THREE_LEVEL", + "geoname_id": 1790595, + "sub_districts": [] + }, + { + "code": "411024", + "name": "鄢陵", + "level": "THREE_LEVEL", + "geoname_id": 1787140, + "sub_districts": [] + }, + { + "code": "411081", + "name": "禹州", + "level": "THREE_LEVEL", + "geoname_id": 1785569, + "sub_districts": [] + } + ] + }, + { + "code": "410700", + "name": "新乡", + "level": "TWO_LEVEL", + "geoname_id": 1788571, + "sub_districts": [ + { + "code": "4107830000001", + "name": "长垣", + "level": "THREE_LEVEL", + "geoname_id": 1815474, + "sub_districts": [] + }, + { + "code": "410704", + "name": "凤泉", + "level": "THREE_LEVEL", + "geoname_id": 6602267, + "sub_districts": [] + }, + { + "code": "410727", + "name": "封丘", + "level": "THREE_LEVEL", + "geoname_id": 1811263, + "sub_districts": [] + }, + { + "code": "410724", + "name": "获嘉", + "level": "THREE_LEVEL", + "geoname_id": 1806668, + "sub_districts": [] + }, + { + "code": "410702", + "name": "红旗", + "level": "THREE_LEVEL", + "geoname_id": 6602269, + "sub_districts": [] + }, + { + "code": "410782", + "name": "辉县", + "level": "THREE_LEVEL", + "geoname_id": 1806790, + "sub_districts": [] + }, + { + "code": "410711", + "name": "牧野", + "level": "THREE_LEVEL", + "geoname_id": 6602268, + "sub_districts": [] + }, + { + "code": "410703", + "name": "卫滨", + "level": "THREE_LEVEL", + "geoname_id": 6602270, + "sub_districts": [] + }, + { + "code": "410781", + "name": "卫辉", + "level": "THREE_LEVEL", + "geoname_id": 1805035, + "sub_districts": [] + }, + { + "code": "410721", + "name": "新乡", + "level": "THREE_LEVEL", + "geoname_id": 1788570, + "sub_districts": [] + }, + { + "code": "410726", + "name": "延津", + "level": "THREE_LEVEL", + "geoname_id": 1787156, + "sub_districts": [] + }, + { + "code": "410725", + "name": "原阳", + "level": "THREE_LEVEL", + "geoname_id": 1786014, + "sub_districts": [] + } + ] + }, + { + "code": "411500", + "name": "信阳", + "level": "TWO_LEVEL", + "geoname_id": 1788527, + "sub_districts": [ + { + "code": "411522", + "name": "光山", + "level": "THREE_LEVEL", + "geoname_id": 1809880, + "sub_districts": [] + }, + { + "code": "411525", + "name": "固始", + "level": "THREE_LEVEL", + "geoname_id": 1809216, + "sub_districts": [] + }, + { + "code": "411527", + "name": "淮滨", + "level": "THREE_LEVEL", + "geoname_id": 1807698, + "sub_districts": [] + }, + { + "code": "411526", + "name": "潢川", + "level": "THREE_LEVEL", + "geoname_id": 1807551, + "sub_districts": [] + }, + { + "code": "411521", + "name": "罗山", + "level": "THREE_LEVEL", + "geoname_id": 1801844, + "sub_districts": [] + }, + { + "code": "411503", + "name": "平桥", + "level": "THREE_LEVEL", + "geoname_id": 1788526, + "sub_districts": [] + }, + { + "code": "411524", + "name": "商城", + "level": "THREE_LEVEL", + "geoname_id": 1796295, + "sub_districts": [] + }, + { + "code": "411502", + "name": "浉河", + "level": "THREE_LEVEL", + "geoname_id": 6602256, + "sub_districts": [] + }, + { + "code": "411523", + "name": "新县", + "level": "THREE_LEVEL", + "geoname_id": 1788577, + "sub_districts": [] + }, + { + "code": "411528", + "name": "息县", + "level": "THREE_LEVEL", + "geoname_id": 1788212, + "sub_districts": [] + } + ] + }, + { + "code": "411600", + "name": "周口", + "level": "TWO_LEVEL", + "geoname_id": 1784130, + "sub_districts": [ + { + "code": "411602", + "name": "川汇", + "level": "THREE_LEVEL", + "geoname_id": 6602291, + "sub_districts": [] + }, + { + "code": "411625", + "name": "郸城", + "level": "THREE_LEVEL", + "geoname_id": 1813890, + "sub_districts": [] + }, + { + "code": "411621", + "name": "扶沟", + "level": "THREE_LEVEL", + "geoname_id": 1811040, + "sub_districts": [] + }, + { + "code": "4116030000001", + "name": "淮阳", + "level": "THREE_LEVEL", + "geoname_id": 1807650, + "sub_districts": [] + }, + { + "code": "411628", + "name": "鹿邑", + "level": "THREE_LEVEL", + "geoname_id": 1801658, + "sub_districts": [] + }, + { + "code": "411624", + "name": "沈丘", + "level": "THREE_LEVEL", + "geoname_id": 1795610, + "sub_districts": [] + }, + { + "code": "411623", + "name": "商水", + "level": "THREE_LEVEL", + "geoname_id": 1796109, + "sub_districts": [] + }, + { + "code": "411627", + "name": "太康", + "level": "THREE_LEVEL", + "geoname_id": 1793655, + "sub_districts": [] + }, + { + "code": "411681", + "name": "项城", + "level": "THREE_LEVEL", + "geoname_id": 1790596, + "sub_districts": [] + }, + { + "code": "411622", + "name": "西华", + "level": "THREE_LEVEL", + "geoname_id": 1789419, + "sub_districts": [] + } + ] + }, + { + "code": "411700", + "name": "驻马店", + "level": "TWO_LEVEL", + "geoname_id": 1783873, + "sub_districts": [ + { + "code": "411726", + "name": "泌阳", + "level": "THREE_LEVEL", + "geoname_id": 1816313, + "sub_districts": [] + }, + { + "code": "411723", + "name": "平舆", + "level": "THREE_LEVEL", + "geoname_id": 1798618, + "sub_districts": [] + }, + { + "code": "411725", + "name": "确山", + "level": "THREE_LEVEL", + "geoname_id": 1797335, + "sub_districts": [] + }, + { + "code": "411727", + "name": "汝南", + "level": "THREE_LEVEL", + "geoname_id": 1797036, + "sub_districts": [] + }, + { + "code": "411722", + "name": "上蔡", + "level": "THREE_LEVEL", + "geoname_id": 1796301, + "sub_districts": [] + }, + { + "code": "411728", + "name": "遂平", + "level": "THREE_LEVEL", + "geoname_id": 1793894, + "sub_districts": [] + }, + { + "code": "411729", + "name": "新蔡", + "level": "THREE_LEVEL", + "geoname_id": 1789216, + "sub_districts": [] + }, + { + "code": "411721", + "name": "西平", + "level": "THREE_LEVEL", + "geoname_id": 1788388, + "sub_districts": [] + }, + { + "code": "411702", + "name": "驿城", + "level": "THREE_LEVEL", + "geoname_id": 6602249, + "sub_districts": [] + }, + { + "code": "411724", + "name": "正阳", + "level": "THREE_LEVEL", + "geoname_id": 1784665, + "sub_districts": [] + } + ] + }, + { + "code": "410100", + "name": "郑州", + "level": "TWO_LEVEL", + "geoname_id": 1784658, + "sub_districts": [ + { + "code": "410185", + "name": "登封", + "level": "THREE_LEVEL", + "geoname_id": 1813015, + "sub_districts": [] + }, + { + "code": "410103", + "name": "二七", + "level": "THREE_LEVEL", + "geoname_id": 6602273, + "sub_districts": [] + }, + { + "code": "410104", + "name": "管城", + "level": "THREE_LEVEL", + "geoname_id": 6602274, + "sub_districts": [] + }, + { + "code": "410181", + "name": "巩义", + "level": "THREE_LEVEL", + "geoname_id": 1810078, + "sub_districts": [] + }, + { + "code": "410108", + "name": "惠济", + "level": "THREE_LEVEL", + "geoname_id": 6602276, + "sub_districts": [] + }, + { + "code": "410105", + "name": "金水", + "level": "THREE_LEVEL", + "geoname_id": 6602275, + "sub_districts": [] + }, + { + "code": "410106", + "name": "上街", + "level": "THREE_LEVEL", + "geoname_id": 6602283, + "sub_districts": [] + }, + { + "code": "410183", + "name": "新密", + "level": "THREE_LEVEL", + "geoname_id": 1800434, + "sub_districts": [] + }, + { + "code": "410182", + "name": "荥阳", + "level": "THREE_LEVEL", + "geoname_id": 1788910, + "sub_districts": [] + }, + { + "code": "410184", + "name": "新郑", + "level": "THREE_LEVEL", + "geoname_id": 1788465, + "sub_districts": [] + }, + { + "code": "410122", + "name": "中牟", + "level": "THREE_LEVEL", + "geoname_id": 1784348, + "sub_districts": [] + }, + { + "code": "410102", + "name": "中原", + "level": "THREE_LEVEL", + "geoname_id": 6602289, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "43", + "name": "湖南", + "level": "ONE_LEVEL", + "geoname_id": 1806691, + "sub_districts": [ + { + "code": "430700", + "name": "常德", + "level": "TWO_LEVEL", + "geoname_id": 1791121, + "sub_districts": [ + { + "code": "430721", + "name": "安乡", + "level": "THREE_LEVEL", + "geoname_id": 1817951, + "sub_districts": [] + }, + { + "code": "430703", + "name": "鼎城", + "level": "THREE_LEVEL", + "geoname_id": 6642687, + "sub_districts": [] + }, + { + "code": "430722", + "name": "汉寿", + "level": "THREE_LEVEL", + "geoname_id": 1808887, + "sub_districts": [] + }, + { + "code": "430781", + "name": "津市", + "level": "THREE_LEVEL", + "geoname_id": 1805374, + "sub_districts": [] + }, + { + "code": "430724", + "name": "临澧", + "level": "THREE_LEVEL", + "geoname_id": 1803381, + "sub_districts": [] + }, + { + "code": "430723", + "name": "澧县", + "level": "THREE_LEVEL", + "geoname_id": 1802817, + "sub_districts": [] + }, + { + "code": "430726", + "name": "石门", + "level": "THREE_LEVEL", + "geoname_id": 1795106, + "sub_districts": [] + }, + { + "code": "430725", + "name": "桃源", + "level": "THREE_LEVEL", + "geoname_id": 1793095, + "sub_districts": [] + }, + { + "code": "430702", + "name": "武陵", + "level": "THREE_LEVEL", + "geoname_id": 6642678, + "sub_districts": [] + } + ] + }, + { + "code": "430100", + "name": "长沙", + "level": "TWO_LEVEL", + "geoname_id": 1815577, + "sub_districts": [ + { + "code": "430121", + "name": "长沙", + "level": "THREE_LEVEL", + "geoname_id": 1815550, + "sub_districts": [] + }, + { + "code": "430102", + "name": "芙蓉", + "level": "THREE_LEVEL", + "geoname_id": 6642850, + "sub_districts": [] + }, + { + "code": "430105", + "name": "开福", + "level": "THREE_LEVEL", + "geoname_id": 6642603, + "sub_districts": [] + }, + { + "code": "430181", + "name": "浏阳", + "level": "THREE_LEVEL", + "geoname_id": 1802872, + "sub_districts": [] + }, + { + "code": "4301820000001", + "name": "宁乡", + "level": "THREE_LEVEL", + "geoname_id": 1799351, + "sub_districts": [] + }, + { + "code": "430103", + "name": "天心", + "level": "THREE_LEVEL", + "geoname_id": 6642599, + "sub_districts": [] + }, + { + "code": "430112", + "name": "望城", + "level": "THREE_LEVEL", + "geoname_id": 1792154, + "sub_districts": [] + }, + { + "code": "430111", + "name": "雨花", + "level": "THREE_LEVEL", + "geoname_id": 6642606, + "sub_districts": [] + }, + { + "code": "430104", + "name": "岳麓", + "level": "THREE_LEVEL", + "geoname_id": 6642849, + "sub_districts": [] + } + ] + }, + { + "code": "431000", + "name": "郴州", + "level": "TWO_LEVEL", + "geoname_id": 1815056, + "sub_districts": [ + { + "code": "431028", + "name": "安仁", + "level": "THREE_LEVEL", + "geoname_id": 1817978, + "sub_districts": [] + }, + { + "code": "431002", + "name": "北湖", + "level": "THREE_LEVEL", + "geoname_id": 6642729, + "sub_districts": [] + }, + { + "code": "431027", + "name": "桂东", + "level": "THREE_LEVEL", + "geoname_id": 1809520, + "sub_districts": [] + }, + { + "code": "431021", + "name": "桂阳", + "level": "THREE_LEVEL", + "geoname_id": 1809457, + "sub_districts": [] + }, + { + "code": "431024", + "name": "嘉禾", + "level": "THREE_LEVEL", + "geoname_id": 1806493, + "sub_districts": [] + }, + { + "code": "431025", + "name": "临武", + "level": "THREE_LEVEL", + "geoname_id": 1803338, + "sub_districts": [] + }, + { + "code": "431026", + "name": "汝城", + "level": "THREE_LEVEL", + "geoname_id": 1797075, + "sub_districts": [] + }, + { + "code": "431003", + "name": "苏仙", + "level": "THREE_LEVEL", + "geoname_id": 6642730, + "sub_districts": [] + }, + { + "code": "431023", + "name": "永兴", + "level": "THREE_LEVEL", + "geoname_id": 1786225, + "sub_districts": [] + }, + { + "code": "431022", + "name": "宜章", + "level": "THREE_LEVEL", + "geoname_id": 1786411, + "sub_districts": [] + }, + { + "code": "431081", + "name": "资兴", + "level": "THREE_LEVEL", + "geoname_id": 1783687, + "sub_districts": [] + } + ] + }, + { + "code": "431200", + "name": "怀化", + "level": "TWO_LEVEL", + "geoname_id": 1807689, + "sub_districts": [ + { + "code": "431223", + "name": "辰溪", + "level": "THREE_LEVEL", + "geoname_id": 1815070, + "sub_districts": [] + }, + { + "code": "431202", + "name": "鹤城", + "level": "THREE_LEVEL", + "geoname_id": 6642853, + "sub_districts": [] + }, + { + "code": "431281", + "name": "洪江", + "level": "THREE_LEVEL", + "geoname_id": 1808102, + "sub_districts": [] + }, + { + "code": "431225", + "name": "会同", + "level": "THREE_LEVEL", + "geoname_id": 1806796, + "sub_districts": [] + }, + { + "code": "431229", + "name": "靖州", + "level": "THREE_LEVEL", + "geoname_id": 1928653, + "sub_districts": [] + }, + { + "code": "431226", + "name": "麻阳", + "level": "THREE_LEVEL", + "geoname_id": 1800946, + "sub_districts": [] + }, + { + "code": "431230", + "name": "通道", + "level": "THREE_LEVEL", + "geoname_id": 1792689, + "sub_districts": [] + }, + { + "code": "431227", + "name": "新晃", + "level": "THREE_LEVEL", + "geoname_id": 1788861, + "sub_districts": [] + }, + { + "code": "431224", + "name": "溆浦", + "level": "THREE_LEVEL", + "geoname_id": 1787860, + "sub_districts": [] + }, + { + "code": "431222", + "name": "沅陵", + "level": "THREE_LEVEL", + "geoname_id": 1786065, + "sub_districts": [] + }, + { + "code": "431221", + "name": "中方", + "level": "THREE_LEVEL", + "geoname_id": 1928654, + "sub_districts": [] + }, + { + "code": "431228", + "name": "芷江", + "level": "THREE_LEVEL", + "geoname_id": 1784524, + "sub_districts": [] + } + ] + }, + { + "code": "430400", + "name": "衡阳", + "level": "TWO_LEVEL", + "geoname_id": 1808370, + "sub_districts": [ + { + "code": "430482", + "name": "常宁", + "level": "THREE_LEVEL", + "geoname_id": 1815608, + "sub_districts": [] + }, + { + "code": "430424", + "name": "衡东", + "level": "THREE_LEVEL", + "geoname_id": 1808500, + "sub_districts": [] + }, + { + "code": "430422", + "name": "衡南", + "level": "THREE_LEVEL", + "geoname_id": 1808436, + "sub_districts": [] + }, + { + "code": "430423", + "name": "衡山", + "level": "THREE_LEVEL", + "geoname_id": 1808408, + "sub_districts": [] + }, + { + "code": "430421", + "name": "衡阳", + "level": "THREE_LEVEL", + "geoname_id": 1808368, + "sub_districts": [] + }, + { + "code": "430481", + "name": "耒阳", + "level": "THREE_LEVEL", + "geoname_id": 1804207, + "sub_districts": [] + }, + { + "code": "430412", + "name": "南岳", + "level": "THREE_LEVEL", + "geoname_id": 6642728, + "sub_districts": [] + }, + { + "code": "430426", + "name": "祁东", + "level": "THREE_LEVEL", + "geoname_id": 1798080, + "sub_districts": [] + }, + { + "code": "430407", + "name": "石鼓", + "level": "THREE_LEVEL", + "geoname_id": 6642726, + "sub_districts": [] + }, + { + "code": "430406", + "name": "雁峰", + "level": "THREE_LEVEL", + "geoname_id": 6642725, + "sub_districts": [] + }, + { + "code": "430405", + "name": "珠晖", + "level": "THREE_LEVEL", + "geoname_id": 6642852, + "sub_districts": [] + }, + { + "code": "430408", + "name": "蒸湘", + "level": "THREE_LEVEL", + "geoname_id": 6642727, + "sub_districts": [] + } + ] + }, + { + "code": "431300", + "name": "娄底", + "level": "TWO_LEVEL", + "geoname_id": 1802238, + "sub_districts": [ + { + "code": "431381", + "name": "冷水江", + "level": "THREE_LEVEL", + "geoname_id": 1804168, + "sub_districts": [] + }, + { + "code": "431302", + "name": "娄星", + "level": "THREE_LEVEL", + "geoname_id": 6642856, + "sub_districts": [] + }, + { + "code": "431382", + "name": "涟源", + "level": "THREE_LEVEL", + "geoname_id": 1803850, + "sub_districts": [] + }, + { + "code": "431321", + "name": "双峰", + "level": "THREE_LEVEL", + "geoname_id": 1794742, + "sub_districts": [] + }, + { + "code": "431322", + "name": "新化", + "level": "THREE_LEVEL", + "geoname_id": 1788859, + "sub_districts": [] + } + ] + }, + { + "code": "430500", + "name": "邵阳", + "level": "TWO_LEVEL", + "geoname_id": 1795852, + "sub_districts": [ + { + "code": "430511", + "name": "北塔", + "level": "THREE_LEVEL", + "geoname_id": 6642733, + "sub_districts": [] + }, + { + "code": "430529", + "name": "城步", + "level": "THREE_LEVEL", + "geoname_id": 1815304, + "sub_districts": [] + }, + { + "code": "430525", + "name": "洞口", + "level": "THREE_LEVEL", + "geoname_id": 1812416, + "sub_districts": [] + }, + { + "code": "430503", + "name": "大祥", + "level": "THREE_LEVEL", + "geoname_id": 6642732, + "sub_districts": [] + }, + { + "code": "430524", + "name": "隆回", + "level": "THREE_LEVEL", + "geoname_id": 1802604, + "sub_districts": [] + }, + { + "code": "4305820000001", + "name": "邵东", + "level": "THREE_LEVEL", + "geoname_id": 1795879, + "sub_districts": [] + }, + { + "code": "430527", + "name": "绥宁", + "level": "THREE_LEVEL", + "geoname_id": 1793897, + "sub_districts": [] + }, + { + "code": "430502", + "name": "双清", + "level": "THREE_LEVEL", + "geoname_id": 6642731, + "sub_districts": [] + }, + { + "code": "430523", + "name": "邵阳", + "level": "THREE_LEVEL", + "geoname_id": 1795851, + "sub_districts": [] + }, + { + "code": "430581", + "name": "武冈", + "level": "THREE_LEVEL", + "geoname_id": 1791269, + "sub_districts": [] + }, + { + "code": "430528", + "name": "新宁", + "level": "THREE_LEVEL", + "geoname_id": 1788706, + "sub_districts": [] + }, + { + "code": "430522", + "name": "新邵", + "level": "THREE_LEVEL", + "geoname_id": 1788649, + "sub_districts": [] + } + ] + }, + { + "code": "430300", + "name": "湘潭", + "level": "TWO_LEVEL", + "geoname_id": 1790484, + "sub_districts": [ + { + "code": "430382", + "name": "韶山", + "level": "THREE_LEVEL", + "geoname_id": 1795860, + "sub_districts": [] + }, + { + "code": "430321", + "name": "湘潭", + "level": "THREE_LEVEL", + "geoname_id": 1790483, + "sub_districts": [] + }, + { + "code": "430381", + "name": "湘乡", + "level": "THREE_LEVEL", + "geoname_id": 1790470, + "sub_districts": [] + }, + { + "code": "4303020000003", + "name": "雨湖", + "level": "THREE_LEVEL", + "geoname_id": 6642711, + "sub_districts": [] + }, + { + "code": "4303040000003", + "name": "岳塘", + "level": "THREE_LEVEL", + "geoname_id": 6642724, + "sub_districts": [] + } + ] + }, + { + "code": "433100", + "name": "湘西", + "level": "TWO_LEVEL", + "geoname_id": 1790468, + "sub_districts": [ + { + "code": "433125", + "name": "保靖", + "level": "THREE_LEVEL", + "geoname_id": 1816937, + "sub_districts": [] + }, + { + "code": "433123", + "name": "凤凰", + "level": "THREE_LEVEL", + "geoname_id": 1811336, + "sub_districts": [] + }, + { + "code": "433126", + "name": "古丈", + "level": "THREE_LEVEL", + "geoname_id": 1809141, + "sub_districts": [] + }, + { + "code": "433124", + "name": "花垣", + "level": "THREE_LEVEL", + "geoname_id": 1806969, + "sub_districts": [] + }, + { + "code": "433101", + "name": "吉首", + "level": "THREE_LEVEL", + "geoname_id": 1805269, + "sub_districts": [] + }, + { + "code": "433130", + "name": "龙山", + "level": "THREE_LEVEL", + "geoname_id": 7007063, + "sub_districts": [] + }, + { + "code": "433122", + "name": "泸溪", + "level": "THREE_LEVEL", + "geoname_id": 1801676, + "sub_districts": [] + }, + { + "code": "433127", + "name": "永顺", + "level": "THREE_LEVEL", + "geoname_id": 1786261, + "sub_districts": [] + } + ] + }, + { + "code": "430600", + "name": "岳阳", + "level": "TWO_LEVEL", + "geoname_id": 1785881, + "sub_districts": [ + { + "code": "430623", + "name": "华容", + "level": "THREE_LEVEL", + "geoname_id": 1807039, + "sub_districts": [] + }, + { + "code": "430611", + "name": "君山", + "level": "THREE_LEVEL", + "geoname_id": 6642692, + "sub_districts": [] + }, + { + "code": "430682", + "name": "临湘", + "level": "THREE_LEVEL", + "geoname_id": 1803324, + "sub_districts": [] + }, + { + "code": "430681", + "name": "汨罗", + "level": "THREE_LEVEL", + "geoname_id": 1800529, + "sub_districts": [] + }, + { + "code": "430626", + "name": "平江", + "level": "THREE_LEVEL", + "geoname_id": 1798781, + "sub_districts": [] + }, + { + "code": "430624", + "name": "湘阴", + "level": "THREE_LEVEL", + "geoname_id": 1790450, + "sub_districts": [] + }, + { + "code": "430603", + "name": "云溪", + "level": "THREE_LEVEL", + "geoname_id": 6642700, + "sub_districts": [] + }, + { + "code": "430602", + "name": "岳阳楼", + "level": "THREE_LEVEL", + "geoname_id": 6642690, + "sub_districts": [] + }, + { + "code": "430621", + "name": "岳阳", + "level": "THREE_LEVEL", + "geoname_id": 1785880, + "sub_districts": [] + } + ] + }, + { + "code": "430900", + "name": "益阳", + "level": "TWO_LEVEL", + "geoname_id": 1786419, + "sub_districts": [ + { + "code": "430923", + "name": "安化", + "level": "THREE_LEVEL", + "geoname_id": 1818059, + "sub_districts": [] + }, + { + "code": "430903", + "name": "赫山", + "level": "THREE_LEVEL", + "geoname_id": 6642688, + "sub_districts": [] + }, + { + "code": "430921", + "name": "南县", + "level": "THREE_LEVEL", + "geoname_id": 1799678, + "sub_districts": [] + }, + { + "code": "430922", + "name": "桃江", + "level": "THREE_LEVEL", + "geoname_id": 1793154, + "sub_districts": [] + }, + { + "code": "430981", + "name": "沅江", + "level": "THREE_LEVEL", + "geoname_id": 1786080, + "sub_districts": [] + }, + { + "code": "430902", + "name": "资阳", + "level": "THREE_LEVEL", + "geoname_id": 1786416, + "sub_districts": [] + } + ] + }, + { + "code": "431100", + "name": "永州", + "level": "TWO_LEVEL", + "geoname_id": 1786217, + "sub_districts": [ + { + "code": "431122", + "name": "东安", + "level": "THREE_LEVEL", + "geoname_id": 1812684, + "sub_districts": [] + }, + { + "code": "431124", + "name": "道县", + "level": "THREE_LEVEL", + "geoname_id": 1813747, + "sub_districts": [] + }, + { + "code": "431129", + "name": "江华", + "level": "THREE_LEVEL", + "geoname_id": 1806373, + "sub_districts": [] + }, + { + "code": "431125", + "name": "江永", + "level": "THREE_LEVEL", + "geoname_id": 1806208, + "sub_districts": [] + }, + { + "code": "431102", + "name": "零陵", + "level": "THREE_LEVEL", + "geoname_id": 1803495, + "sub_districts": [] + }, + { + "code": "431103", + "name": "冷水滩", + "level": "THREE_LEVEL", + "geoname_id": 1804161, + "sub_districts": [] + }, + { + "code": "431127", + "name": "蓝山", + "level": "THREE_LEVEL", + "geoname_id": 1804460, + "sub_districts": [] + }, + { + "code": "431126", + "name": "宁远", + "level": "THREE_LEVEL", + "geoname_id": 1799344, + "sub_districts": [] + }, + { + "code": "4311810000001", + "name": "祁阳", + "level": "THREE_LEVEL", + "geoname_id": 1797416, + "sub_districts": [] + }, + { + "code": "431123", + "name": "双牌", + "level": "THREE_LEVEL", + "geoname_id": 1794622, + "sub_districts": [] + }, + { + "code": "431128", + "name": "新田", + "level": "THREE_LEVEL", + "geoname_id": 1788592, + "sub_districts": [] + } + ] + }, + { + "code": "430800", + "name": "张家界", + "level": "TWO_LEVEL", + "geoname_id": 1813171, + "sub_districts": [ + { + "code": "430821", + "name": "慈利", + "level": "THREE_LEVEL", + "geoname_id": 1814734, + "sub_districts": [] + }, + { + "code": "430822", + "name": "桑植", + "level": "THREE_LEVEL", + "geoname_id": 1796840, + "sub_districts": [] + }, + { + "code": "430811", + "name": "武陵源", + "level": "THREE_LEVEL", + "geoname_id": 6642676, + "sub_districts": [] + }, + { + "code": "430802", + "name": "永定", + "level": "THREE_LEVEL", + "geoname_id": 6642611, + "sub_districts": [] + } + ] + }, + { + "code": "430200", + "name": "株洲", + "level": "TWO_LEVEL", + "geoname_id": 1783763, + "sub_districts": [ + { + "code": "430224", + "name": "茶陵", + "level": "THREE_LEVEL", + "geoname_id": 1815818, + "sub_districts": [] + }, + { + "code": "430202", + "name": "荷塘", + "level": "THREE_LEVEL", + "geoname_id": 6642851, + "sub_districts": [] + }, + { + "code": "4302120000001", + "name": "渌口", + "level": "THREE_LEVEL", + "geoname_id": 1802040, + "sub_districts": [] + }, + { + "code": "430281", + "name": "醴陵", + "level": "THREE_LEVEL", + "geoname_id": 1803615, + "sub_districts": [] + }, + { + "code": "430203", + "name": "芦淞", + "level": "THREE_LEVEL", + "geoname_id": 6642707, + "sub_districts": [] + }, + { + "code": "430204", + "name": "石峰", + "level": "THREE_LEVEL", + "geoname_id": 6642710, + "sub_districts": [] + }, + { + "code": "430211", + "name": "天元", + "level": "THREE_LEVEL", + "geoname_id": 6642702, + "sub_districts": [] + }, + { + "code": "430225", + "name": "炎陵", + "level": "THREE_LEVEL", + "geoname_id": 1803440, + "sub_districts": [] + }, + { + "code": "430223", + "name": "攸县", + "level": "THREE_LEVEL", + "geoname_id": 1786142, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "46", + "name": "海南", + "level": "ONE_LEVEL", + "geoname_id": 1809054, + "sub_districts": [ + { + "code": "469025", + "name": "白沙", + "level": "TWO_LEVEL", + "geoname_id": 1817425, + "sub_districts": [ + { + "code": "469025", + "name": "白沙", + "level": "THREE_LEVEL", + "geoname_id": 1787808, + "sub_districts": [] + } + ] + }, + { + "code": "469029", + "name": "保亭", + "level": "TWO_LEVEL", + "geoname_id": 1816903, + "sub_districts": [ + { + "code": "469029", + "name": "保亭", + "level": "THREE_LEVEL", + "geoname_id": 1816904, + "sub_districts": [] + } + ] + }, + { + "code": "469026", + "name": "昌江", + "level": "TWO_LEVEL", + "geoname_id": 1815692, + "sub_districts": [ + { + "code": "469026", + "name": "昌江", + "level": "THREE_LEVEL", + "geoname_id": 1795192, + "sub_districts": [] + } + ] + }, + { + "code": "469023", + "name": "澄迈", + "level": "TWO_LEVEL", + "geoname_id": 1805505, + "sub_districts": [ + { + "code": "469023", + "name": "澄迈", + "level": "THREE_LEVEL", + "geoname_id": 1815226, + "sub_districts": [] + } + ] + }, + { + "code": "469021", + "name": "定安", + "level": "TWO_LEVEL", + "geoname_id": 1812824, + "sub_districts": [ + { + "code": "469021", + "name": "定安", + "level": "THREE_LEVEL", + "geoname_id": 1812826, + "sub_districts": [] + } + ] + }, + { + "code": "469007", + "name": "东方", + "level": "TWO_LEVEL", + "geoname_id": 1812589, + "sub_districts": [ + { + "code": "469007", + "name": "东方", + "level": "THREE_LEVEL", + "geoname_id": 1816858, + "sub_districts": [] + } + ] + }, + { + "code": "460400", + "name": "儋州", + "level": "TWO_LEVEL", + "geoname_id": 1813805, + "sub_districts": [ + { + "code": "460400", + "name": "儋州", + "level": "THREE_LEVEL", + "geoname_id": 1800234, + "sub_districts": [] + } + ] + }, + { + "code": "460100", + "name": "海口", + "level": "TWO_LEVEL", + "geoname_id": 1809078, + "sub_districts": [ + { + "code": "460106", + "name": "龙华", + "level": "THREE_LEVEL", + "geoname_id": 6282940, + "sub_districts": [] + }, + { + "code": "460108", + "name": "美兰", + "level": "THREE_LEVEL", + "geoname_id": 6282939, + "sub_districts": [] + }, + { + "code": "460107", + "name": "琼山", + "level": "THREE_LEVEL", + "geoname_id": 1797538, + "sub_districts": [] + }, + { + "code": "460105", + "name": "秀英", + "level": "THREE_LEVEL", + "geoname_id": 6282941, + "sub_districts": [] + } + ] + }, + { + "code": "469027", + "name": "乐东", + "level": "TWO_LEVEL", + "geoname_id": 1804250, + "sub_districts": [ + { + "code": "469027", + "name": "乐东", + "level": "THREE_LEVEL", + "geoname_id": 1816887, + "sub_districts": [] + } + ] + }, + { + "code": "469024", + "name": "临高", + "level": "TWO_LEVEL", + "geoname_id": 1803557, + "sub_districts": [ + { + "code": "469024", + "name": "临高", + "level": "THREE_LEVEL", + "geoname_id": 1803560, + "sub_districts": [] + } + ] + }, + { + "code": "469028", + "name": "陵水", + "level": "TWO_LEVEL", + "geoname_id": 1803461, + "sub_districts": [ + { + "code": "469028", + "name": "陵水", + "level": "THREE_LEVEL", + "geoname_id": 7635189, + "sub_districts": [] + } + ] + }, + { + "code": "469002", + "name": "琼海", + "level": "TWO_LEVEL", + "geoname_id": 1806488, + "sub_districts": [ + { + "code": "469002", + "name": "琼海", + "level": "THREE_LEVEL", + "geoname_id": 1797544, + "sub_districts": [] + } + ] + }, + { + "code": "469030", + "name": "琼中", + "level": "TWO_LEVEL", + "geoname_id": 1797536, + "sub_districts": [ + { + "code": "469030", + "name": "琼中", + "level": "THREE_LEVEL", + "geoname_id": 1786620, + "sub_districts": [] + } + ] + }, + { + "code": "460300", + "name": "三沙", + "level": "TWO_LEVEL", + "geoname_id": 8402317, + "sub_districts": [ + { + "code": "4603020009001", + "name": "南沙", + "level": "THREE_LEVEL", + "geoname_id": 460322, + "sub_districts": [] + }, + { + "code": "4603010009001", + "name": "西沙", + "level": "THREE_LEVEL", + "geoname_id": 460321, + "sub_districts": [] + } + ] + }, + { + "code": "460200", + "name": "三亚", + "level": "TWO_LEVEL", + "geoname_id": 1796539, + "sub_districts": [ + { + "code": "460202", + "name": "海棠", + "level": "THREE_LEVEL", + "geoname_id": 7632521, + "sub_districts": [] + }, + { + "code": "460203", + "name": "吉阳", + "level": "THREE_LEVEL", + "geoname_id": 460203, + "sub_districts": [] + }, + { + "code": "460204", + "name": "天涯", + "level": "THREE_LEVEL", + "geoname_id": 1801350, + "sub_districts": [] + }, + { + "code": "460205", + "name": "崖州", + "level": "THREE_LEVEL", + "geoname_id": 460205, + "sub_districts": [] + } + ] + }, + { + "code": "469022", + "name": "屯昌", + "level": "TWO_LEVEL", + "geoname_id": 1792374, + "sub_districts": [ + { + "code": "469022", + "name": "屯昌", + "level": "THREE_LEVEL", + "geoname_id": 8536151, + "sub_districts": [] + } + ] + }, + { + "code": "469005", + "name": "文昌", + "level": "TWO_LEVEL", + "geoname_id": 1791540, + "sub_districts": [ + { + "code": "469005", + "name": "文昌", + "level": "THREE_LEVEL", + "geoname_id": 1791544, + "sub_districts": [] + } + ] + }, + { + "code": "469006", + "name": "万宁", + "level": "TWO_LEVEL", + "geoname_id": 1791778, + "sub_districts": [ + { + "code": "469006", + "name": "万宁", + "level": "THREE_LEVEL", + "geoname_id": 1791779, + "sub_districts": [] + } + ] + }, + { + "code": "469001", + "name": "五指山", + "level": "TWO_LEVEL", + "geoname_id": 1792571, + "sub_districts": [ + { + "code": "469001", + "name": "五指山", + "level": "THREE_LEVEL", + "geoname_id": 1916012, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "22", + "name": "吉林", + "level": "ONE_LEVEL", + "geoname_id": 2036500, + "sub_districts": [ + { + "code": "220800", + "name": "白城", + "level": "TWO_LEVEL", + "geoname_id": 2038569, + "sub_districts": [ + { + "code": "220882", + "name": "大安", + "level": "THREE_LEVEL", + "geoname_id": 2038032, + "sub_districts": [] + }, + { + "code": "220802", + "name": "洮北", + "level": "THREE_LEVEL", + "geoname_id": 6587791, + "sub_districts": [] + }, + { + "code": "220881", + "name": "洮南", + "level": "THREE_LEVEL", + "geoname_id": 2034497, + "sub_districts": [] + }, + { + "code": "220822", + "name": "通榆", + "level": "THREE_LEVEL", + "geoname_id": 2034392, + "sub_districts": [] + }, + { + "code": "220821", + "name": "镇赉", + "level": "THREE_LEVEL", + "geoname_id": 2033127, + "sub_districts": [] + } + ] + }, + { + "code": "220600", + "name": "白山", + "level": "TWO_LEVEL", + "geoname_id": 2036646, + "sub_districts": [ + { + "code": "220623", + "name": "长白", + "level": "THREE_LEVEL", + "geoname_id": 2038184, + "sub_districts": [] + }, + { + "code": "220621", + "name": "抚松", + "level": "THREE_LEVEL", + "geoname_id": 2037350, + "sub_districts": [] + }, + { + "code": "220602", + "name": "浑江", + "level": "THREE_LEVEL", + "geoname_id": 6587810, + "sub_districts": [] + }, + { + "code": "220605", + "name": "江源", + "level": "THREE_LEVEL", + "geoname_id": 2053059, + "sub_districts": [] + }, + { + "code": "220622", + "name": "靖宇", + "level": "THREE_LEVEL", + "geoname_id": 2036461, + "sub_districts": [] + }, + { + "code": "220681", + "name": "临江", + "level": "THREE_LEVEL", + "geoname_id": 6587809, + "sub_districts": [] + } + ] + }, + { + "code": "220100", + "name": "长春", + "level": "TWO_LEVEL", + "geoname_id": 2038180, + "sub_districts": [ + { + "code": "220104", + "name": "朝阳", + "level": "THREE_LEVEL", + "geoname_id": 6587793, + "sub_districts": [] + }, + { + "code": "220183", + "name": "德惠", + "level": "THREE_LEVEL", + "geoname_id": 2037711, + "sub_districts": [] + }, + { + "code": "220105", + "name": "二道", + "level": "THREE_LEVEL", + "geoname_id": 6587796, + "sub_districts": [] + }, + { + "code": "2201840000001", + "name": "公主岭", + "level": "THREE_LEVEL", + "geoname_id": 2037221, + "sub_districts": [] + }, + { + "code": "220113", + "name": "九台", + "level": "THREE_LEVEL", + "geoname_id": 2036400, + "sub_districts": [] + }, + { + "code": "220103", + "name": "宽城", + "level": "THREE_LEVEL", + "geoname_id": 6587795, + "sub_districts": [] + }, + { + "code": "220106", + "name": "绿园", + "level": "THREE_LEVEL", + "geoname_id": 6587797, + "sub_districts": [] + }, + { + "code": "220122", + "name": "农安", + "level": "THREE_LEVEL", + "geoname_id": 2035564, + "sub_districts": [] + }, + { + "code": "220102", + "name": "南关", + "level": "THREE_LEVEL", + "geoname_id": 6587794, + "sub_districts": [] + }, + { + "code": "220112", + "name": "双阳", + "level": "THREE_LEVEL", + "geoname_id": 2034787, + "sub_districts": [] + }, + { + "code": "220182", + "name": "榆树", + "level": "THREE_LEVEL", + "geoname_id": 2033230, + "sub_districts": [] + } + ] + }, + { + "code": "220200", + "name": "吉林", + "level": "TWO_LEVEL", + "geoname_id": 2036502, + "sub_districts": [ + { + "code": "220202", + "name": "昌邑", + "level": "THREE_LEVEL", + "geoname_id": 6587800, + "sub_districts": [] + }, + { + "code": "220204", + "name": "船营", + "level": "THREE_LEVEL", + "geoname_id": 6587801, + "sub_districts": [] + }, + { + "code": "220211", + "name": "丰满", + "level": "THREE_LEVEL", + "geoname_id": 6587802, + "sub_districts": [] + }, + { + "code": "220282", + "name": "桦甸", + "level": "THREE_LEVEL", + "geoname_id": 2036775, + "sub_districts": [] + }, + { + "code": "220281", + "name": "蛟河", + "level": "THREE_LEVEL", + "geoname_id": 2036534, + "sub_districts": [] + }, + { + "code": "220203", + "name": "龙潭", + "level": "THREE_LEVEL", + "geoname_id": 6587799, + "sub_districts": [] + }, + { + "code": "220284", + "name": "磐石", + "level": "THREE_LEVEL", + "geoname_id": 2035510, + "sub_districts": [] + }, + { + "code": "220283", + "name": "舒兰", + "level": "THREE_LEVEL", + "geoname_id": 2034760, + "sub_districts": [] + }, + { + "code": "220221", + "name": "永吉", + "level": "THREE_LEVEL", + "geoname_id": 2033317, + "sub_districts": [] + } + ] + }, + { + "code": "220400", + "name": "辽源", + "level": "TWO_LEVEL", + "geoname_id": 2036107, + "sub_districts": [ + { + "code": "220421", + "name": "东丰", + "level": "THREE_LEVEL", + "geoname_id": 2037651, + "sub_districts": [] + }, + { + "code": "220422", + "name": "东辽", + "level": "THREE_LEVEL", + "geoname_id": 2037621, + "sub_districts": [] + }, + { + "code": "220402", + "name": "龙山", + "level": "THREE_LEVEL", + "geoname_id": 6587806, + "sub_districts": [] + }, + { + "code": "220403", + "name": "西安", + "level": "THREE_LEVEL", + "geoname_id": 6587805, + "sub_districts": [] + } + ] + }, + { + "code": "220300", + "name": "四平", + "level": "TWO_LEVEL", + "geoname_id": 2034711, + "sub_districts": [ + { + "code": "220322", + "name": "梨树", + "level": "THREE_LEVEL", + "geoname_id": 2036051, + "sub_districts": [] + }, + { + "code": "220382", + "name": "双辽", + "level": "THREE_LEVEL", + "geoname_id": 2034813, + "sub_districts": [] + }, + { + "code": "220303", + "name": "铁东", + "level": "THREE_LEVEL", + "geoname_id": 6587803, + "sub_districts": [] + }, + { + "code": "220302", + "name": "铁西", + "level": "THREE_LEVEL", + "geoname_id": 6587804, + "sub_districts": [] + }, + { + "code": "220323", + "name": "伊通", + "level": "THREE_LEVEL", + "geoname_id": 2033343, + "sub_districts": [] + } + ] + }, + { + "code": "220700", + "name": "松原", + "level": "TWO_LEVEL", + "geoname_id": 6587798, + "sub_districts": [ + { + "code": "220722", + "name": "长岭", + "level": "THREE_LEVEL", + "geoname_id": 2038157, + "sub_districts": [] + }, + { + "code": "220781", + "name": "扶余", + "level": "THREE_LEVEL", + "geoname_id": 2037328, + "sub_districts": [] + }, + { + "code": "220702", + "name": "宁江", + "level": "THREE_LEVEL", + "geoname_id": 6587792, + "sub_districts": [] + }, + { + "code": "220723", + "name": "乾安", + "level": "THREE_LEVEL", + "geoname_id": 2035408, + "sub_districts": [] + }, + { + "code": "220721", + "name": "前郭尔罗斯", + "level": "THREE_LEVEL", + "geoname_id": 2035401, + "sub_districts": [] + } + ] + }, + { + "code": "220500", + "name": "通化", + "level": "TWO_LEVEL", + "geoname_id": 2034414, + "sub_districts": [ + { + "code": "220502", + "name": "东昌", + "level": "THREE_LEVEL", + "geoname_id": 6587807, + "sub_districts": [] + }, + { + "code": "220503", + "name": "二道江", + "level": "THREE_LEVEL", + "geoname_id": 6587808, + "sub_districts": [] + }, + { + "code": "220523", + "name": "辉南", + "level": "THREE_LEVEL", + "geoname_id": 2036684, + "sub_districts": [] + }, + { + "code": "220582", + "name": "集安", + "level": "THREE_LEVEL", + "geoname_id": 2036579, + "sub_districts": [] + }, + { + "code": "220524", + "name": "柳河", + "level": "THREE_LEVEL", + "geoname_id": 2036023, + "sub_districts": [] + }, + { + "code": "220581", + "name": "梅河口", + "level": "THREE_LEVEL", + "geoname_id": 2035800, + "sub_districts": [] + }, + { + "code": "220521", + "name": "通化", + "level": "THREE_LEVEL", + "geoname_id": 2034412, + "sub_districts": [] + } + ] + }, + { + "code": "222400", + "name": "延边", + "level": "TWO_LEVEL", + "geoname_id": 2033525, + "sub_districts": [ + { + "code": "222426", + "name": "安图", + "level": "THREE_LEVEL", + "geoname_id": 2038627, + "sub_districts": [] + }, + { + "code": "222403", + "name": "敦化", + "level": "THREE_LEVEL", + "geoname_id": 2037533, + "sub_districts": [] + }, + { + "code": "222404", + "name": "珲春", + "level": "THREE_LEVEL", + "geoname_id": 2036651, + "sub_districts": [] + }, + { + "code": "222406", + "name": "和龙", + "level": "THREE_LEVEL", + "geoname_id": 2036931, + "sub_districts": [] + }, + { + "code": "222405", + "name": "龙井", + "level": "THREE_LEVEL", + "geoname_id": 2035964, + "sub_districts": [] + }, + { + "code": "222402", + "name": "图们", + "level": "THREE_LEVEL", + "geoname_id": 2034337, + "sub_districts": [] + }, + { + "code": "222424", + "name": "汪清", + "level": "THREE_LEVEL", + "geoname_id": 2034219, + "sub_districts": [] + }, + { + "code": "222401", + "name": "延吉", + "level": "THREE_LEVEL", + "geoname_id": 2033460, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "32", + "name": "江苏", + "level": "ONE_LEVEL", + "geoname_id": 1806260, + "sub_districts": [ + { + "code": "320400", + "name": "常州", + "level": "TWO_LEVEL", + "geoname_id": 1815456, + "sub_districts": [ + { + "code": "320413", + "name": "金坛", + "level": "THREE_LEVEL", + "geoname_id": 1805351, + "sub_districts": [] + }, + { + "code": "320481", + "name": "溧阳", + "level": "THREE_LEVEL", + "geoname_id": 1802788, + "sub_districts": [] + }, + { + "code": "320402", + "name": "天宁", + "level": "THREE_LEVEL", + "geoname_id": 6567653, + "sub_districts": [] + }, + { + "code": "320412", + "name": "武进", + "level": "THREE_LEVEL", + "geoname_id": 1791159, + "sub_districts": [] + }, + { + "code": "320411", + "name": "新北", + "level": "THREE_LEVEL", + "geoname_id": 6567655, + "sub_districts": [] + }, + { + "code": "320404", + "name": "钟楼", + "level": "THREE_LEVEL", + "geoname_id": 6567652, + "sub_districts": [] + } + ] + }, + { + "code": "320800", + "name": "淮安", + "level": "TWO_LEVEL", + "geoname_id": 1807649, + "sub_districts": [ + { + "code": "3208030000003", + "name": "淮安", + "level": "THREE_LEVEL", + "geoname_id": 320803, + "sub_districts": [] + }, + { + "code": "320804", + "name": "淮阴", + "level": "THREE_LEVEL", + "geoname_id": 1807648, + "sub_districts": [] + }, + { + "code": "3208130000003", + "name": "洪泽", + "level": "THREE_LEVEL", + "geoname_id": 1783570, + "sub_districts": [] + }, + { + "code": "320831", + "name": "金湖", + "level": "THREE_LEVEL", + "geoname_id": 1805519, + "sub_districts": [] + }, + { + "code": "320826", + "name": "涟水", + "level": "THREE_LEVEL", + "geoname_id": 320826, + "sub_districts": [] + }, + { + "code": "3208120000003", + "name": "清江浦", + "level": "THREE_LEVEL", + "geoname_id": 11535094, + "sub_districts": [] + }, + { + "code": "320830", + "name": "盱眙", + "level": "THREE_LEVEL", + "geoname_id": 1787829, + "sub_districts": [] + } + ] + }, + { + "code": "320700", + "name": "连云港", + "level": "TWO_LEVEL", + "geoname_id": 1788694, + "sub_districts": [ + { + "code": "320722", + "name": "东海", + "level": "THREE_LEVEL", + "geoname_id": 1812516, + "sub_districts": [] + }, + { + "code": "320724", + "name": "灌南", + "level": "THREE_LEVEL", + "geoname_id": 1809810, + "sub_districts": [] + }, + { + "code": "320707", + "name": "赣榆", + "level": "THREE_LEVEL", + "geoname_id": 1810641, + "sub_districts": [] + }, + { + "code": "320723", + "name": "灌云", + "level": "THREE_LEVEL", + "geoname_id": 1809671, + "sub_districts": [] + }, + { + "code": "320706", + "name": "海州", + "level": "THREE_LEVEL", + "geoname_id": 6567636, + "sub_districts": [] + }, + { + "code": "320703", + "name": "连云", + "level": "THREE_LEVEL", + "geoname_id": 6567635, + "sub_districts": [] + } + ] + }, + { + "code": "320100", + "name": "南京", + "level": "TWO_LEVEL", + "geoname_id": 1799962, + "sub_districts": [ + { + "code": "320118", + "name": "高淳", + "level": "THREE_LEVEL", + "geoname_id": 1810594, + "sub_districts": [] + }, + { + "code": "320106", + "name": "鼓楼", + "level": "THREE_LEVEL", + "geoname_id": 320106, + "sub_districts": [] + }, + { + "code": "320115", + "name": "江宁", + "level": "THREE_LEVEL", + "geoname_id": 1806288, + "sub_districts": [] + }, + { + "code": "320105", + "name": "建邺", + "level": "THREE_LEVEL", + "geoname_id": 6567623, + "sub_districts": [] + }, + { + "code": "320116", + "name": "六合", + "level": "THREE_LEVEL", + "geoname_id": 1802102, + "sub_districts": [] + }, + { + "code": "320117", + "name": "溧水", + "level": "THREE_LEVEL", + "geoname_id": 1803242, + "sub_districts": [] + }, + { + "code": "320111", + "name": "浦口", + "level": "THREE_LEVEL", + "geoname_id": 1806279, + "sub_districts": [] + }, + { + "code": "320104", + "name": "秦淮", + "level": "THREE_LEVEL", + "geoname_id": 6567622, + "sub_districts": [] + }, + { + "code": "320113", + "name": "栖霞", + "level": "THREE_LEVEL", + "geoname_id": 6567627, + "sub_districts": [] + }, + { + "code": "320102", + "name": "玄武", + "level": "THREE_LEVEL", + "geoname_id": 6567620, + "sub_districts": [] + }, + { + "code": "320114", + "name": "雨花台", + "level": "THREE_LEVEL", + "geoname_id": 6567628, + "sub_districts": [] + } + ] + }, + { + "code": "320600", + "name": "南通", + "level": "TWO_LEVEL", + "geoname_id": 1799722, + "sub_districts": [ + { + "code": "3206130000003", + "name": "崇川", + "level": "THREE_LEVEL", + "geoname_id": 6567648, + "sub_districts": [] + }, + { + "code": "3206850000001", + "name": "海安", + "level": "THREE_LEVEL", + "geoname_id": 1809116, + "sub_districts": [] + }, + { + "code": "3206140000001", + "name": "海门", + "level": "THREE_LEVEL", + "geoname_id": 1801200, + "sub_districts": [] + }, + { + "code": "3206710000003", + "name": "南通经济技术开发区", + "level": "THREE_LEVEL", + "geoname_id": 659010215, + "sub_districts": [] + }, + { + "code": "320681", + "name": "启东", + "level": "THREE_LEVEL", + "geoname_id": 1798079, + "sub_districts": [] + }, + { + "code": "320623", + "name": "如东", + "level": "THREE_LEVEL", + "geoname_id": 1797070, + "sub_districts": [] + }, + { + "code": "320682", + "name": "如皋", + "level": "THREE_LEVEL", + "geoname_id": 1797068, + "sub_districts": [] + }, + { + "code": "320612", + "name": "通州", + "level": "THREE_LEVEL", + "geoname_id": 6567618, + "sub_districts": [] + } + ] + }, + { + "code": "321300", + "name": "宿迁", + "level": "TWO_LEVEL", + "geoname_id": 1793770, + "sub_districts": [ + { + "code": "321302", + "name": "宿城", + "level": "THREE_LEVEL", + "geoname_id": 6567637, + "sub_districts": [] + }, + { + "code": "321324", + "name": "泗洪", + "level": "THREE_LEVEL", + "geoname_id": 1794255, + "sub_districts": [] + }, + { + "code": "321311", + "name": "宿豫", + "level": "THREE_LEVEL", + "geoname_id": 6567638, + "sub_districts": [] + }, + { + "code": "321322", + "name": "沭阳", + "level": "THREE_LEVEL", + "geoname_id": 1794313, + "sub_districts": [] + }, + { + "code": "321323", + "name": "泗阳", + "level": "THREE_LEVEL", + "geoname_id": 1794101, + "sub_districts": [] + } + ] + }, + { + "code": "320500", + "name": "苏州", + "level": "TWO_LEVEL", + "geoname_id": 1886760, + "sub_districts": [ + { + "code": "320581", + "name": "常熟", + "level": "THREE_LEVEL", + "geoname_id": 6685841, + "sub_districts": [] + }, + { + "code": "320508", + "name": "姑苏", + "level": "THREE_LEVEL", + "geoname_id": 320508, + "sub_districts": [] + }, + { + "code": "320505", + "name": "虎丘", + "level": "THREE_LEVEL", + "geoname_id": 6567665, + "sub_districts": [] + }, + { + "code": "320583", + "name": "昆山", + "level": "THREE_LEVEL", + "geoname_id": 1785623, + "sub_districts": [] + }, + { + "code": "3205710000000", + "name": "苏州工业园区", + "level": "THREE_LEVEL", + "geoname_id": 320571, + "sub_districts": [] + }, + { + "code": "320585", + "name": "太仓", + "level": "THREE_LEVEL", + "geoname_id": 1793703, + "sub_districts": [] + }, + { + "code": "320509", + "name": "吴江", + "level": "THREE_LEVEL", + "geoname_id": 1791194, + "sub_districts": [] + }, + { + "code": "3205060000000", + "name": "吴中", + "level": "THREE_LEVEL", + "geoname_id": 1881768, + "sub_districts": [] + }, + { + "code": "320507", + "name": "相城", + "level": "THREE_LEVEL", + "geoname_id": 7925575, + "sub_districts": [] + }, + { + "code": "320582", + "name": "张家港", + "level": "THREE_LEVEL", + "geoname_id": 320582, + "sub_districts": [] + } + ] + }, + { + "code": "321200", + "name": "泰州", + "level": "TWO_LEVEL", + "geoname_id": 1793505, + "sub_districts": [ + { + "code": "321203", + "name": "高港", + "level": "THREE_LEVEL", + "geoname_id": 6567647, + "sub_districts": [] + }, + { + "code": "321202", + "name": "海陵", + "level": "THREE_LEVEL", + "geoname_id": 6567646, + "sub_districts": [] + }, + { + "code": "321282", + "name": "靖江", + "level": "THREE_LEVEL", + "geoname_id": 1805636, + "sub_districts": [] + }, + { + "code": "321204", + "name": "姜堰", + "level": "THREE_LEVEL", + "geoname_id": 1793534, + "sub_districts": [] + }, + { + "code": "321283", + "name": "泰兴", + "level": "THREE_LEVEL", + "geoname_id": 1793533, + "sub_districts": [] + }, + { + "code": "321281", + "name": "兴化", + "level": "THREE_LEVEL", + "geoname_id": 1789017, + "sub_districts": [] + } + ] + }, + { + "code": "320200", + "name": "无锡", + "level": "TWO_LEVEL", + "geoname_id": 1790923, + "sub_districts": [ + { + "code": "320211", + "name": "滨湖", + "level": "THREE_LEVEL", + "geoname_id": 6567659, + "sub_districts": [] + }, + { + "code": "320206", + "name": "惠山", + "level": "THREE_LEVEL", + "geoname_id": 6567660, + "sub_districts": [] + }, + { + "code": "320281", + "name": "江阴", + "level": "THREE_LEVEL", + "geoname_id": 1815251, + "sub_districts": [] + }, + { + "code": "320213", + "name": "梁溪", + "level": "THREE_LEVEL", + "geoname_id": 320213, + "sub_districts": [] + }, + { + "code": "320205", + "name": "锡山", + "level": "THREE_LEVEL", + "geoname_id": 6567661, + "sub_districts": [] + }, + { + "code": "320214", + "name": "新吴", + "level": "THREE_LEVEL", + "geoname_id": 320214, + "sub_districts": [] + }, + { + "code": "320282", + "name": "宜兴", + "level": "THREE_LEVEL", + "geoname_id": 1786760, + "sub_districts": [] + } + ] + }, + { + "code": "320300", + "name": "徐州", + "level": "TWO_LEVEL", + "geoname_id": 1787824, + "sub_districts": [ + { + "code": "320321", + "name": "丰县", + "level": "THREE_LEVEL", + "geoname_id": 1811201, + "sub_districts": [] + }, + { + "code": "3203020000000", + "name": "鼓楼", + "level": "THREE_LEVEL", + "geoname_id": 320302, + "sub_districts": [] + }, + { + "code": "320305", + "name": "贾汪", + "level": "THREE_LEVEL", + "geoname_id": 6567632, + "sub_districts": [] + }, + { + "code": "320322", + "name": "沛县", + "level": "THREE_LEVEL", + "geoname_id": 1798954, + "sub_districts": [] + }, + { + "code": "320382", + "name": "邳州", + "level": "THREE_LEVEL", + "geoname_id": 1798595, + "sub_districts": [] + }, + { + "code": "320311", + "name": "泉山", + "level": "THREE_LEVEL", + "geoname_id": 6567633, + "sub_districts": [] + }, + { + "code": "320324", + "name": "睢宁", + "level": "THREE_LEVEL", + "geoname_id": 1793896, + "sub_districts": [] + }, + { + "code": "3203120000000", + "name": "铜山", + "level": "THREE_LEVEL", + "geoname_id": 1548718, + "sub_districts": [] + }, + { + "code": "320381", + "name": "新沂", + "level": "THREE_LEVEL", + "geoname_id": 1788510, + "sub_districts": [] + }, + { + "code": "320303", + "name": "云龙", + "level": "THREE_LEVEL", + "geoname_id": 6567629, + "sub_districts": [] + } + ] + }, + { + "code": "320900", + "name": "盐城", + "level": "TWO_LEVEL", + "geoname_id": 1787746, + "sub_districts": [ + { + "code": "320922", + "name": "滨海", + "level": "THREE_LEVEL", + "geoname_id": 1816349, + "sub_districts": [] + }, + { + "code": "320904", + "name": "大丰", + "level": "THREE_LEVEL", + "geoname_id": 1814428, + "sub_districts": [] + }, + { + "code": "320981", + "name": "东台", + "level": "THREE_LEVEL", + "geoname_id": 1812228, + "sub_districts": [] + }, + { + "code": "320923", + "name": "阜宁", + "level": "THREE_LEVEL", + "geoname_id": 1810949, + "sub_districts": [] + }, + { + "code": "320925", + "name": "建湖", + "level": "THREE_LEVEL", + "geoname_id": 1806181, + "sub_districts": [] + }, + { + "code": "320924", + "name": "射阳", + "level": "THREE_LEVEL", + "geoname_id": 1795526, + "sub_districts": [] + }, + { + "code": "320902", + "name": "亭湖", + "level": "THREE_LEVEL", + "geoname_id": 6567642, + "sub_districts": [] + }, + { + "code": "320921", + "name": "响水", + "level": "THREE_LEVEL", + "geoname_id": 1790495, + "sub_districts": [] + }, + { + "code": "320903", + "name": "盐都", + "level": "THREE_LEVEL", + "geoname_id": 6567643, + "sub_districts": [] + } + ] + }, + { + "code": "321000", + "name": "扬州", + "level": "TWO_LEVEL", + "geoname_id": 1787227, + "sub_districts": [ + { + "code": "321023", + "name": "宝应", + "level": "THREE_LEVEL", + "geoname_id": 1816888, + "sub_districts": [] + }, + { + "code": "321002", + "name": "广陵", + "level": "THREE_LEVEL", + "geoname_id": 6567644, + "sub_districts": [] + }, + { + "code": "321084", + "name": "高邮", + "level": "THREE_LEVEL", + "geoname_id": 1810309, + "sub_districts": [] + }, + { + "code": "321003", + "name": "邗江", + "level": "THREE_LEVEL", + "geoname_id": 1808903, + "sub_districts": [] + }, + { + "code": "321012", + "name": "江都", + "level": "THREE_LEVEL", + "geoname_id": 1806387, + "sub_districts": [] + }, + { + "code": "321081", + "name": "仪征", + "level": "THREE_LEVEL", + "geoname_id": 1784580, + "sub_districts": [] + } + ] + }, + { + "code": "321100", + "name": "镇江", + "level": "TWO_LEVEL", + "geoname_id": 1784642, + "sub_districts": [ + { + "code": "321112", + "name": "丹徒", + "level": "THREE_LEVEL", + "geoname_id": 1813808, + "sub_districts": [] + }, + { + "code": "321181", + "name": "丹阳", + "level": "THREE_LEVEL", + "geoname_id": 1813801, + "sub_districts": [] + }, + { + "code": "321102", + "name": "京口", + "level": "THREE_LEVEL", + "geoname_id": 6567650, + "sub_districts": [] + }, + { + "code": "321183", + "name": "句容", + "level": "THREE_LEVEL", + "geoname_id": 1804907, + "sub_districts": [] + }, + { + "code": "321111", + "name": "润州", + "level": "THREE_LEVEL", + "geoname_id": 6567651, + "sub_districts": [] + }, + { + "code": "321182", + "name": "扬中", + "level": "THREE_LEVEL", + "geoname_id": 1787229, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "36", + "name": "江西", + "level": "ONE_LEVEL", + "geoname_id": 1806222, + "sub_districts": [ + { + "code": "361000", + "name": "抚州", + "level": "TWO_LEVEL", + "geoname_id": 7739108, + "sub_districts": [ + { + "code": "361024", + "name": "崇仁", + "level": "THREE_LEVEL", + "geoname_id": 1814897, + "sub_districts": [] + }, + { + "code": "3610030000001", + "name": "东乡", + "level": "THREE_LEVEL", + "geoname_id": 1812153, + "sub_districts": [] + }, + { + "code": "361030", + "name": "广昌", + "level": "THREE_LEVEL", + "geoname_id": 1809943, + "sub_districts": [] + }, + { + "code": "361027", + "name": "金溪", + "level": "THREE_LEVEL", + "geoname_id": 1805321, + "sub_districts": [] + }, + { + "code": "361025", + "name": "乐安", + "level": "THREE_LEVEL", + "geoname_id": 1804257, + "sub_districts": [] + }, + { + "code": "361002", + "name": "临川", + "level": "THREE_LEVEL", + "geoname_id": 1803577, + "sub_districts": [] + }, + { + "code": "361022", + "name": "黎川", + "level": "THREE_LEVEL", + "geoname_id": 1803778, + "sub_districts": [] + }, + { + "code": "361021", + "name": "南城", + "level": "THREE_LEVEL", + "geoname_id": 1800151, + "sub_districts": [] + }, + { + "code": "361023", + "name": "南丰", + "level": "THREE_LEVEL", + "geoname_id": 1800084, + "sub_districts": [] + }, + { + "code": "361026", + "name": "宜黄", + "level": "THREE_LEVEL", + "geoname_id": 1786711, + "sub_districts": [] + }, + { + "code": "361028", + "name": "资溪", + "level": "THREE_LEVEL", + "geoname_id": 1783685, + "sub_districts": [] + } + ] + }, + { + "code": "360700", + "name": "赣州", + "level": "TWO_LEVEL", + "geoname_id": 1810638, + "sub_districts": [ + { + "code": "360726", + "name": "安远", + "level": "THREE_LEVEL", + "geoname_id": 1817930, + "sub_districts": [] + }, + { + "code": "360725", + "name": "崇义", + "level": "THREE_LEVEL", + "geoname_id": 1814873, + "sub_districts": [] + }, + { + "code": "360728", + "name": "定南", + "level": "THREE_LEVEL", + "geoname_id": 1812771, + "sub_districts": [] + }, + { + "code": "360723", + "name": "大余", + "level": "THREE_LEVEL", + "geoname_id": 1813124, + "sub_districts": [] + }, + { + "code": "3607040000001", + "name": "赣县", + "level": "THREE_LEVEL", + "geoname_id": 1810652, + "sub_districts": [] + }, + { + "code": "360733", + "name": "会昌", + "level": "THREE_LEVEL", + "geoname_id": 1806884, + "sub_districts": [] + }, + { + "code": "3607830000001", + "name": "龙南", + "level": "THREE_LEVEL", + "geoname_id": 1802495, + "sub_districts": [] + }, + { + "code": "360730", + "name": "宁都", + "level": "THREE_LEVEL", + "geoname_id": 1799390, + "sub_districts": [] + }, + { + "code": "360703", + "name": "南康", + "level": "THREE_LEVEL", + "geoname_id": 1799945, + "sub_districts": [] + }, + { + "code": "360729", + "name": "全南", + "level": "THREE_LEVEL", + "geoname_id": 1797370, + "sub_districts": [] + }, + { + "code": "360781", + "name": "瑞金", + "level": "THREE_LEVEL", + "geoname_id": 1797053, + "sub_districts": [] + }, + { + "code": "360735", + "name": "石城", + "level": "THREE_LEVEL", + "geoname_id": 1795448, + "sub_districts": [] + }, + { + "code": "360724", + "name": "上犹", + "level": "THREE_LEVEL", + "geoname_id": 1812284, + "sub_districts": [] + }, + { + "code": "360722", + "name": "信丰", + "level": "THREE_LEVEL", + "geoname_id": 1806509, + "sub_districts": [] + }, + { + "code": "360732", + "name": "兴国", + "level": "THREE_LEVEL", + "geoname_id": 1789029, + "sub_districts": [] + }, + { + "code": "360734", + "name": "寻乌", + "level": "THREE_LEVEL", + "geoname_id": 1815619, + "sub_districts": [] + }, + { + "code": "360731", + "name": "于都", + "level": "THREE_LEVEL", + "geoname_id": 1810124, + "sub_districts": [] + }, + { + "code": "360702", + "name": "章贡", + "level": "THREE_LEVEL", + "geoname_id": 6567600, + "sub_districts": [] + } + ] + }, + { + "code": "360800", + "name": "吉安", + "level": "TWO_LEVEL", + "geoname_id": 1806445, + "sub_districts": [ + { + "code": "360829", + "name": "安福", + "level": "THREE_LEVEL", + "geoname_id": 1818084, + "sub_districts": [] + }, + { + "code": "360821", + "name": "吉安", + "level": "THREE_LEVEL", + "geoname_id": 1806126, + "sub_districts": [] + }, + { + "code": "360881", + "name": "井冈山", + "level": "THREE_LEVEL", + "geoname_id": 1805666, + "sub_districts": [] + }, + { + "code": "360822", + "name": "吉水", + "level": "THREE_LEVEL", + "geoname_id": 1805266, + "sub_districts": [] + }, + { + "code": "360802", + "name": "吉州", + "level": "THREE_LEVEL", + "geoname_id": 6567602, + "sub_districts": [] + }, + { + "code": "360803", + "name": "青原", + "level": "THREE_LEVEL", + "geoname_id": 6567601, + "sub_districts": [] + }, + { + "code": "360827", + "name": "遂川", + "level": "THREE_LEVEL", + "geoname_id": 1793905, + "sub_districts": [] + }, + { + "code": "360826", + "name": "泰和", + "level": "THREE_LEVEL", + "geoname_id": 1793676, + "sub_districts": [] + }, + { + "code": "360828", + "name": "万安", + "level": "THREE_LEVEL", + "geoname_id": 1792192, + "sub_districts": [] + }, + { + "code": "360824", + "name": "新干", + "level": "THREE_LEVEL", + "geoname_id": 1789054, + "sub_districts": [] + }, + { + "code": "360823", + "name": "峡江", + "level": "THREE_LEVEL", + "geoname_id": 1790695, + "sub_districts": [] + }, + { + "code": "360825", + "name": "永丰", + "level": "THREE_LEVEL", + "geoname_id": 1786352, + "sub_districts": [] + }, + { + "code": "360830", + "name": "永新", + "level": "THREE_LEVEL", + "geoname_id": 1786224, + "sub_districts": [] + } + ] + }, + { + "code": "360200", + "name": "景德镇", + "level": "TWO_LEVEL", + "geoname_id": 1805680, + "sub_districts": [ + { + "code": "360202", + "name": "昌江", + "level": "THREE_LEVEL", + "geoname_id": 1924524, + "sub_districts": [] + }, + { + "code": "360222", + "name": "浮梁", + "level": "THREE_LEVEL", + "geoname_id": 1909612, + "sub_districts": [] + }, + { + "code": "360281", + "name": "乐平", + "level": "THREE_LEVEL", + "geoname_id": 1804156, + "sub_districts": [] + }, + { + "code": "360203", + "name": "珠山", + "level": "THREE_LEVEL", + "geoname_id": 6567610, + "sub_districts": [] + } + ] + }, + { + "code": "360400", + "name": "九江", + "level": "TWO_LEVEL", + "geoname_id": 1805179, + "sub_districts": [ + { + "code": "360404", + "name": "柴桑", + "level": "THREE_LEVEL", + "geoname_id": 360404, + "sub_districts": [] + }, + { + "code": "360426", + "name": "德安", + "level": "THREE_LEVEL", + "geoname_id": 1813040, + "sub_districts": [] + }, + { + "code": "360428", + "name": "都昌", + "level": "THREE_LEVEL", + "geoname_id": 1811930, + "sub_districts": [] + }, + { + "code": "360482", + "name": "共青城", + "level": "THREE_LEVEL", + "geoname_id": 360482, + "sub_districts": [] + }, + { + "code": "360429", + "name": "湖口", + "level": "THREE_LEVEL", + "geoname_id": 1806720, + "sub_districts": [] + }, + { + "code": "360483", + "name": "庐山", + "level": "THREE_LEVEL", + "geoname_id": 6567603, + "sub_districts": [] + }, + { + "code": "360402", + "name": "濂溪", + "level": "THREE_LEVEL", + "geoname_id": 360402, + "sub_districts": [] + }, + { + "code": "360430", + "name": "彭泽", + "level": "THREE_LEVEL", + "geoname_id": 1798899, + "sub_districts": [] + }, + { + "code": "360481", + "name": "瑞昌", + "level": "THREE_LEVEL", + "geoname_id": 7643679, + "sub_districts": [] + }, + { + "code": "360423", + "name": "武宁", + "level": "THREE_LEVEL", + "geoname_id": 1791053, + "sub_districts": [] + }, + { + "code": "360424", + "name": "修水", + "level": "THREE_LEVEL", + "geoname_id": 1788256, + "sub_districts": [] + }, + { + "code": "360403", + "name": "浔阳", + "level": "THREE_LEVEL", + "geoname_id": 6567604, + "sub_districts": [] + }, + { + "code": "360425", + "name": "永修", + "level": "THREE_LEVEL", + "geoname_id": 1786223, + "sub_districts": [] + } + ] + }, + { + "code": "360100", + "name": "南昌", + "level": "TWO_LEVEL", + "geoname_id": 1800163, + "sub_districts": [ + { + "code": "360123", + "name": "安义", + "level": "THREE_LEVEL", + "geoname_id": 1817936, + "sub_districts": [] + }, + { + "code": "360102", + "name": "东湖", + "level": "THREE_LEVEL", + "geoname_id": 6567609, + "sub_districts": [] + }, + { + "code": "360113", + "name": "红谷滩", + "level": "THREE_LEVEL", + "geoname_id": 360113, + "sub_districts": [] + }, + { + "code": "360124", + "name": "进贤", + "level": "THREE_LEVEL", + "geoname_id": 1805328, + "sub_districts": [] + }, + { + "code": "360121", + "name": "南昌", + "level": "THREE_LEVEL", + "geoname_id": 1800158, + "sub_districts": [] + }, + { + "code": "3601110000003", + "name": "青山湖", + "level": "THREE_LEVEL", + "geoname_id": 6567608, + "sub_districts": [] + }, + { + "code": "360104", + "name": "青云谱", + "level": "THREE_LEVEL", + "geoname_id": 6567606, + "sub_districts": [] + }, + { + "code": "360103", + "name": "西湖", + "level": "THREE_LEVEL", + "geoname_id": 6567607, + "sub_districts": [] + }, + { + "code": "3601120000003", + "name": "新建", + "level": "THREE_LEVEL", + "geoname_id": 1788795, + "sub_districts": [] + } + ] + }, + { + "code": "360300", + "name": "萍乡", + "level": "TWO_LEVEL", + "geoname_id": 1798654, + "sub_districts": [ + { + "code": "360302", + "name": "安源", + "level": "THREE_LEVEL", + "geoname_id": 6567614, + "sub_districts": [] + }, + { + "code": "360321", + "name": "莲花", + "level": "THREE_LEVEL", + "geoname_id": 1803904, + "sub_districts": [] + }, + { + "code": "360323", + "name": "芦溪", + "level": "THREE_LEVEL", + "geoname_id": 6567616, + "sub_districts": [] + }, + { + "code": "360322", + "name": "上栗", + "level": "THREE_LEVEL", + "geoname_id": 6567613, + "sub_districts": [] + }, + { + "code": "360313", + "name": "湘东", + "level": "THREE_LEVEL", + "geoname_id": 6567615, + "sub_districts": [] + } + ] + }, + { + "code": "361100", + "name": "上饶", + "level": "TWO_LEVEL", + "geoname_id": 1787858, + "sub_districts": [ + { + "code": "361181", + "name": "德兴", + "level": "THREE_LEVEL", + "geoname_id": 1812962, + "sub_districts": [] + }, + { + "code": "361103", + "name": "广丰", + "level": "THREE_LEVEL", + "geoname_id": 1809931, + "sub_districts": [] + }, + { + "code": "3611040000001", + "name": "广信", + "level": "THREE_LEVEL", + "geoname_id": 1796127, + "sub_districts": [] + }, + { + "code": "361125", + "name": "横峰", + "level": "THREE_LEVEL", + "geoname_id": 1808497, + "sub_districts": [] + }, + { + "code": "361128", + "name": "鄱阳", + "level": "THREE_LEVEL", + "geoname_id": 1816242, + "sub_districts": [] + }, + { + "code": "361129", + "name": "万年", + "level": "THREE_LEVEL", + "geoname_id": 1815063, + "sub_districts": [] + }, + { + "code": "361130", + "name": "婺源", + "level": "THREE_LEVEL", + "geoname_id": 1790859, + "sub_districts": [] + }, + { + "code": "361102", + "name": "信州", + "level": "THREE_LEVEL", + "geoname_id": 6567605, + "sub_districts": [] + }, + { + "code": "361127", + "name": "余干", + "level": "THREE_LEVEL", + "geoname_id": 1785865, + "sub_districts": [] + }, + { + "code": "361123", + "name": "玉山", + "level": "THREE_LEVEL", + "geoname_id": 1785617, + "sub_districts": [] + }, + { + "code": "361124", + "name": "铅山", + "level": "THREE_LEVEL", + "geoname_id": 1787106, + "sub_districts": [] + }, + { + "code": "361126", + "name": "弋阳", + "level": "THREE_LEVEL", + "geoname_id": 1786417, + "sub_districts": [] + } + ] + }, + { + "code": "360500", + "name": "新余", + "level": "TWO_LEVEL", + "geoname_id": 1788508, + "sub_districts": [ + { + "code": "360521", + "name": "分宜", + "level": "THREE_LEVEL", + "geoname_id": 1811113, + "sub_districts": [] + }, + { + "code": "360502", + "name": "渝水", + "level": "THREE_LEVEL", + "geoname_id": 6567611, + "sub_districts": [] + } + ] + }, + { + "code": "360900", + "name": "宜春", + "level": "TWO_LEVEL", + "geoname_id": 1786746, + "sub_districts": [ + { + "code": "360981", + "name": "丰城", + "level": "THREE_LEVEL", + "geoname_id": 1806248, + "sub_districts": [] + }, + { + "code": "360921", + "name": "奉新", + "level": "THREE_LEVEL", + "geoname_id": 1811191, + "sub_districts": [] + }, + { + "code": "360983", + "name": "高安", + "level": "THREE_LEVEL", + "geoname_id": 1810624, + "sub_districts": [] + }, + { + "code": "360925", + "name": "靖安", + "level": "THREE_LEVEL", + "geoname_id": 1805694, + "sub_districts": [] + }, + { + "code": "360923", + "name": "上高", + "level": "THREE_LEVEL", + "geoname_id": 1796252, + "sub_districts": [] + }, + { + "code": "360926", + "name": "铜鼓", + "level": "THREE_LEVEL", + "geoname_id": 1792667, + "sub_districts": [] + }, + { + "code": "360922", + "name": "万载", + "level": "THREE_LEVEL", + "geoname_id": 1804826, + "sub_districts": [] + }, + { + "code": "360924", + "name": "宜丰", + "level": "THREE_LEVEL", + "geoname_id": 1786726, + "sub_districts": [] + }, + { + "code": "360902", + "name": "袁州", + "level": "THREE_LEVEL", + "geoname_id": 6567612, + "sub_districts": [] + }, + { + "code": "360982", + "name": "樟树", + "level": "THREE_LEVEL", + "geoname_id": 1797869, + "sub_districts": [] + } + ] + }, + { + "code": "360600", + "name": "鹰潭", + "level": "TWO_LEVEL", + "geoname_id": 1786577, + "sub_districts": [ + { + "code": "360681", + "name": "贵溪", + "level": "THREE_LEVEL", + "geoname_id": 1788406, + "sub_districts": [] + }, + { + "code": "360602", + "name": "月湖", + "level": "THREE_LEVEL", + "geoname_id": 6567617, + "sub_districts": [] + }, + { + "code": "3606030000001", + "name": "余江", + "level": "THREE_LEVEL", + "geoname_id": 1785819, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "21", + "name": "辽宁", + "level": "ONE_LEVEL", + "geoname_id": 2036115, + "sub_districts": [ + { + "code": "210300", + "name": "鞍山", + "level": "TWO_LEVEL", + "geoname_id": 2038632, + "sub_districts": [ + { + "code": "210381", + "name": "海城", + "level": "THREE_LEVEL", + "geoname_id": 2037084, + "sub_districts": [] + }, + { + "code": "210304", + "name": "立山", + "level": "THREE_LEVEL", + "geoname_id": 6599878, + "sub_districts": [] + }, + { + "code": "210311", + "name": "千山", + "level": "THREE_LEVEL", + "geoname_id": 6599881, + "sub_districts": [] + }, + { + "code": "210321", + "name": "台安", + "level": "THREE_LEVEL", + "geoname_id": 2034609, + "sub_districts": [] + }, + { + "code": "210302", + "name": "铁东", + "level": "THREE_LEVEL", + "geoname_id": 6599879, + "sub_districts": [] + }, + { + "code": "210303", + "name": "铁西", + "level": "THREE_LEVEL", + "geoname_id": 6599880, + "sub_districts": [] + }, + { + "code": "210323", + "name": "岫岩", + "level": "THREE_LEVEL", + "geoname_id": 2033601, + "sub_districts": [] + } + ] + }, + { + "code": "210500", + "name": "本溪", + "level": "TWO_LEVEL", + "geoname_id": 2038300, + "sub_districts": [ + { + "code": "210521", + "name": "本溪", + "level": "THREE_LEVEL", + "geoname_id": 2038298, + "sub_districts": [] + }, + { + "code": "210522", + "name": "桓仁", + "level": "THREE_LEVEL", + "geoname_id": 2036711, + "sub_districts": [] + }, + { + "code": "210504", + "name": "明山", + "level": "THREE_LEVEL", + "geoname_id": 6599904, + "sub_districts": [] + }, + { + "code": "210505", + "name": "南芬", + "level": "THREE_LEVEL", + "geoname_id": 2054303, + "sub_districts": [] + }, + { + "code": "210502", + "name": "平山", + "level": "THREE_LEVEL", + "geoname_id": 6599902, + "sub_districts": [] + }, + { + "code": "210503", + "name": "溪湖", + "level": "THREE_LEVEL", + "geoname_id": 6599903, + "sub_districts": [] + } + ] + }, + { + "code": "211300", + "name": "朝阳", + "level": "TWO_LEVEL", + "geoname_id": 2038101, + "sub_districts": [ + { + "code": "211381", + "name": "北票", + "level": "THREE_LEVEL", + "geoname_id": 2038341, + "sub_districts": [] + }, + { + "code": "211321", + "name": "朝阳", + "level": "THREE_LEVEL", + "geoname_id": 2038099, + "sub_districts": [] + }, + { + "code": "211322", + "name": "建平", + "level": "THREE_LEVEL", + "geoname_id": 2036545, + "sub_districts": [] + }, + { + "code": "211324", + "name": "喀喇沁左翼", + "level": "THREE_LEVEL", + "geoname_id": 2036999, + "sub_districts": [] + }, + { + "code": "211303", + "name": "龙城", + "level": "THREE_LEVEL", + "geoname_id": 6599866, + "sub_districts": [] + }, + { + "code": "211382", + "name": "凌源", + "level": "THREE_LEVEL", + "geoname_id": 2036074, + "sub_districts": [] + }, + { + "code": "211302", + "name": "双塔", + "level": "THREE_LEVEL", + "geoname_id": 6599867, + "sub_districts": [] + } + ] + }, + { + "code": "210600", + "name": "丹东", + "level": "TWO_LEVEL", + "geoname_id": 2037886, + "sub_districts": [ + { + "code": "210681", + "name": "东港", + "level": "THREE_LEVEL", + "geoname_id": 1812547, + "sub_districts": [] + }, + { + "code": "210682", + "name": "凤城", + "level": "THREE_LEVEL", + "geoname_id": 2037410, + "sub_districts": [] + }, + { + "code": "210624", + "name": "宽甸", + "level": "THREE_LEVEL", + "geoname_id": 2036282, + "sub_districts": [] + }, + { + "code": "210602", + "name": "元宝", + "level": "THREE_LEVEL", + "geoname_id": 6599886, + "sub_districts": [] + }, + { + "code": "210604", + "name": "振安", + "level": "THREE_LEVEL", + "geoname_id": 6599885, + "sub_districts": [] + }, + { + "code": "210603", + "name": "振兴", + "level": "THREE_LEVEL", + "geoname_id": 6599887, + "sub_districts": [] + } + ] + }, + { + "code": "210200", + "name": "大连", + "level": "TWO_LEVEL", + "geoname_id": 1814087, + "sub_districts": [ + { + "code": "210224", + "name": "长海", + "level": "THREE_LEVEL", + "geoname_id": 1815726, + "sub_districts": [] + }, + { + "code": "210211", + "name": "甘井子", + "level": "THREE_LEVEL", + "geoname_id": 1922818, + "sub_districts": [] + }, + { + "code": "210213", + "name": "金州", + "level": "THREE_LEVEL", + "geoname_id": 1805337, + "sub_districts": [] + }, + { + "code": "210212", + "name": "旅顺口", + "level": "THREE_LEVEL", + "geoname_id": 1922819, + "sub_districts": [] + }, + { + "code": "210214", + "name": "普兰店", + "level": "THREE_LEVEL", + "geoname_id": 1788767, + "sub_districts": [] + }, + { + "code": "210204", + "name": "沙河口", + "level": "THREE_LEVEL", + "geoname_id": 6599877, + "sub_districts": [] + }, + { + "code": "210281", + "name": "瓦房店", + "level": "THREE_LEVEL", + "geoname_id": 1792259, + "sub_districts": [] + }, + { + "code": "210203", + "name": "西岗", + "level": "THREE_LEVEL", + "geoname_id": 6599876, + "sub_districts": [] + }, + { + "code": "210283", + "name": "庄河", + "level": "THREE_LEVEL", + "geoname_id": 1784054, + "sub_districts": [] + }, + { + "code": "210202", + "name": "中山", + "level": "THREE_LEVEL", + "geoname_id": 6599875, + "sub_districts": [] + } + ] + }, + { + "code": "210400", + "name": "抚顺", + "level": "TWO_LEVEL", + "geoname_id": 2037355, + "sub_districts": [ + { + "code": "210403", + "name": "东洲", + "level": "THREE_LEVEL", + "geoname_id": 6599896, + "sub_districts": [] + }, + { + "code": "210421", + "name": "抚顺", + "level": "THREE_LEVEL", + "geoname_id": 2037352, + "sub_districts": [] + }, + { + "code": "210423", + "name": "清原", + "level": "THREE_LEVEL", + "geoname_id": 2035273, + "sub_districts": [] + }, + { + "code": "210411", + "name": "顺城", + "level": "THREE_LEVEL", + "geoname_id": 6599894, + "sub_districts": [] + }, + { + "code": "210404", + "name": "望花", + "level": "THREE_LEVEL", + "geoname_id": 6599897, + "sub_districts": [] + }, + { + "code": "210422", + "name": "新宾", + "level": "THREE_LEVEL", + "geoname_id": 2033794, + "sub_districts": [] + }, + { + "code": "210402", + "name": "新抚", + "level": "THREE_LEVEL", + "geoname_id": 6599895, + "sub_districts": [] + } + ] + }, + { + "code": "210900", + "name": "阜新", + "level": "TWO_LEVEL", + "geoname_id": 2037346, + "sub_districts": [ + { + "code": "210921", + "name": "阜新", + "level": "THREE_LEVEL", + "geoname_id": 2037338, + "sub_districts": [] + }, + { + "code": "210902", + "name": "海州", + "level": "THREE_LEVEL", + "geoname_id": 6599898, + "sub_districts": [] + }, + { + "code": "210905", + "name": "清河门", + "level": "THREE_LEVEL", + "geoname_id": 2054307, + "sub_districts": [] + }, + { + "code": "210904", + "name": "太平", + "level": "THREE_LEVEL", + "geoname_id": 6599899, + "sub_districts": [] + }, + { + "code": "210911", + "name": "细河", + "level": "THREE_LEVEL", + "geoname_id": 6599900, + "sub_districts": [] + }, + { + "code": "210903", + "name": "新邱", + "level": "THREE_LEVEL", + "geoname_id": 2054308, + "sub_districts": [] + }, + { + "code": "210922", + "name": "彰武", + "level": "THREE_LEVEL", + "geoname_id": 2033178, + "sub_districts": [] + } + ] + }, + { + "code": "211400", + "name": "葫芦岛", + "level": "TWO_LEVEL", + "geoname_id": 2036430, + "sub_districts": [ + { + "code": "211422", + "name": "建昌", + "level": "THREE_LEVEL", + "geoname_id": 2036573, + "sub_districts": [] + }, + { + "code": "211403", + "name": "龙港", + "level": "THREE_LEVEL", + "geoname_id": 2054309, + "sub_districts": [] + }, + { + "code": "211402", + "name": "连山", + "level": "THREE_LEVEL", + "geoname_id": 6599868, + "sub_districts": [] + }, + { + "code": "211404", + "name": "南票", + "level": "THREE_LEVEL", + "geoname_id": 2054310, + "sub_districts": [] + }, + { + "code": "211421", + "name": "绥中", + "level": "THREE_LEVEL", + "geoname_id": 2034646, + "sub_districts": [] + }, + { + "code": "211481", + "name": "兴城", + "level": "THREE_LEVEL", + "geoname_id": 2033763, + "sub_districts": [] + } + ] + }, + { + "code": "210700", + "name": "锦州", + "level": "TWO_LEVEL", + "geoname_id": 2036427, + "sub_districts": [ + { + "code": "210782", + "name": "北镇", + "level": "THREE_LEVEL", + "geoname_id": 2038305, + "sub_districts": [] + }, + { + "code": "210702", + "name": "古塔", + "level": "THREE_LEVEL", + "geoname_id": 6599869, + "sub_districts": [] + }, + { + "code": "210726", + "name": "黑山", + "level": "THREE_LEVEL", + "geoname_id": 2036954, + "sub_districts": [] + }, + { + "code": "210703", + "name": "凌河", + "level": "THREE_LEVEL", + "geoname_id": 6599870, + "sub_districts": [] + }, + { + "code": "210781", + "name": "凌海", + "level": "THREE_LEVEL", + "geoname_id": 2036433, + "sub_districts": [] + }, + { + "code": "210711", + "name": "太和", + "level": "THREE_LEVEL", + "geoname_id": 6599871, + "sub_districts": [] + }, + { + "code": "210727", + "name": "义县", + "level": "THREE_LEVEL", + "geoname_id": 2033340, + "sub_districts": [] + } + ] + }, + { + "code": "211000", + "name": "辽阳", + "level": "TWO_LEVEL", + "geoname_id": 2036113, + "sub_districts": [ + { + "code": "211002", + "name": "白塔", + "level": "THREE_LEVEL", + "geoname_id": 6599882, + "sub_districts": [] + }, + { + "code": "211081", + "name": "灯塔", + "level": "THREE_LEVEL", + "geoname_id": 2037704, + "sub_districts": [] + }, + { + "code": "211005", + "name": "弓长岭", + "level": "THREE_LEVEL", + "geoname_id": 2054302, + "sub_districts": [] + }, + { + "code": "211004", + "name": "宏伟", + "level": "THREE_LEVEL", + "geoname_id": 2054301, + "sub_districts": [] + }, + { + "code": "211021", + "name": "辽阳", + "level": "THREE_LEVEL", + "geoname_id": 2036110, + "sub_districts": [] + }, + { + "code": "211011", + "name": "太子河", + "level": "THREE_LEVEL", + "geoname_id": 6599884, + "sub_districts": [] + }, + { + "code": "211003", + "name": "文圣", + "level": "THREE_LEVEL", + "geoname_id": 6599883, + "sub_districts": [] + } + ] + }, + { + "code": "211100", + "name": "盘锦", + "level": "TWO_LEVEL", + "geoname_id": 2035516, + "sub_districts": [ + { + "code": "211104", + "name": "大洼", + "level": "THREE_LEVEL", + "geoname_id": 2037770, + "sub_districts": [] + }, + { + "code": "211122", + "name": "盘山", + "level": "THREE_LEVEL", + "geoname_id": 2035512, + "sub_districts": [] + }, + { + "code": "211102", + "name": "双台子", + "level": "THREE_LEVEL", + "geoname_id": 2054306, + "sub_districts": [] + }, + { + "code": "211103", + "name": "兴隆台", + "level": "THREE_LEVEL", + "geoname_id": 6599872, + "sub_districts": [] + } + ] + }, + { + "code": "210100", + "name": "沈阳", + "level": "TWO_LEVEL", + "geoname_id": 2034937, + "sub_districts": [ + { + "code": "210104", + "name": "大东", + "level": "THREE_LEVEL", + "geoname_id": 6599890, + "sub_districts": [] + }, + { + "code": "210124", + "name": "法库", + "level": "THREE_LEVEL", + "geoname_id": 2037432, + "sub_districts": [] + }, + { + "code": "210105", + "name": "皇姑", + "level": "THREE_LEVEL", + "geoname_id": 6599891, + "sub_districts": [] + }, + { + "code": "210112", + "name": "浑南", + "level": "THREE_LEVEL", + "geoname_id": 210112, + "sub_districts": [] + }, + { + "code": "210102", + "name": "和平", + "level": "THREE_LEVEL", + "geoname_id": 6599889, + "sub_districts": [] + }, + { + "code": "210123", + "name": "康平", + "level": "THREE_LEVEL", + "geoname_id": 2036324, + "sub_districts": [] + }, + { + "code": "210115", + "name": "辽中", + "level": "THREE_LEVEL", + "geoname_id": 2036105, + "sub_districts": [] + }, + { + "code": "210113", + "name": "沈北", + "level": "THREE_LEVEL", + "geoname_id": 2054311, + "sub_districts": [] + }, + { + "code": "210103", + "name": "沈河", + "level": "THREE_LEVEL", + "geoname_id": 6599888, + "sub_districts": [] + }, + { + "code": "210111", + "name": "苏家屯", + "level": "THREE_LEVEL", + "geoname_id": 2054300, + "sub_districts": [] + }, + { + "code": "210106", + "name": "铁西", + "level": "THREE_LEVEL", + "geoname_id": 6599892, + "sub_districts": [] + }, + { + "code": "210181", + "name": "新民", + "level": "THREE_LEVEL", + "geoname_id": 2033670, + "sub_districts": [] + }, + { + "code": "210114", + "name": "于洪", + "level": "THREE_LEVEL", + "geoname_id": 6599893, + "sub_districts": [] + } + ] + }, + { + "code": "211200", + "name": "铁岭", + "level": "TWO_LEVEL", + "geoname_id": 2034437, + "sub_districts": [ + { + "code": "211224", + "name": "昌图", + "level": "THREE_LEVEL", + "geoname_id": 2038137, + "sub_districts": [] + }, + { + "code": "211281", + "name": "调兵山", + "level": "THREE_LEVEL", + "geoname_id": 2034444, + "sub_districts": [] + }, + { + "code": "211282", + "name": "开原", + "level": "THREE_LEVEL", + "geoname_id": 2036335, + "sub_districts": [] + }, + { + "code": "211204", + "name": "清河", + "level": "THREE_LEVEL", + "geoname_id": 2054298, + "sub_districts": [] + }, + { + "code": "211221", + "name": "铁岭", + "level": "THREE_LEVEL", + "geoname_id": 2034436, + "sub_districts": [] + }, + { + "code": "211223", + "name": "西丰", + "level": "THREE_LEVEL", + "geoname_id": 2033862, + "sub_districts": [] + }, + { + "code": "211202", + "name": "银州", + "level": "THREE_LEVEL", + "geoname_id": 6599901, + "sub_districts": [] + } + ] + }, + { + "code": "210800", + "name": "营口", + "level": "TWO_LEVEL", + "geoname_id": 2033369, + "sub_districts": [ + { + "code": "210804", + "name": "鲅鱼圈", + "level": "THREE_LEVEL", + "geoname_id": 210804, + "sub_districts": [] + }, + { + "code": "210882", + "name": "大石桥", + "level": "THREE_LEVEL", + "geoname_id": 2033368, + "sub_districts": [] + }, + { + "code": "210881", + "name": "盖州", + "level": "THREE_LEVEL", + "geoname_id": 2037326, + "sub_districts": [] + }, + { + "code": "210811", + "name": "老边", + "level": "THREE_LEVEL", + "geoname_id": 2054304, + "sub_districts": [] + }, + { + "code": "210803", + "name": "西市", + "level": "THREE_LEVEL", + "geoname_id": 6599874, + "sub_districts": [] + }, + { + "code": "210802", + "name": "站前", + "level": "THREE_LEVEL", + "geoname_id": 6599873, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "15", + "name": "内蒙古", + "level": "ONE_LEVEL", + "geoname_id": 2035607, + "sub_districts": [ + { + "code": "152900", + "name": "阿拉善", + "level": "TWO_LEVEL", + "geoname_id": 1818128, + "sub_districts": [ + { + "code": "152922", + "name": "阿拉善右", + "level": "THREE_LEVEL", + "geoname_id": 1818127, + "sub_districts": [] + }, + { + "code": "152921", + "name": "阿拉善左", + "level": "THREE_LEVEL", + "geoname_id": 1818126, + "sub_districts": [] + }, + { + "code": "152923", + "name": "额济纳", + "level": "THREE_LEVEL", + "geoname_id": 2037525, + "sub_districts": [] + } + ] + }, + { + "code": "150200", + "name": "包头", + "level": "TWO_LEVEL", + "geoname_id": 2038432, + "sub_districts": [ + { + "code": "150206", + "name": "白云鄂博矿区", + "level": "THREE_LEVEL", + "geoname_id": 8054542, + "sub_districts": [] + }, + { + "code": "150223", + "name": "达尔罕茂明安", + "level": "THREE_LEVEL", + "geoname_id": 2037840, + "sub_districts": [] + }, + { + "code": "150202", + "name": "东河", + "level": "THREE_LEVEL", + "geoname_id": 150202, + "sub_districts": [] + }, + { + "code": "150222", + "name": "固阳", + "level": "THREE_LEVEL", + "geoname_id": 2037108, + "sub_districts": [] + }, + { + "code": "150207", + "name": "九原", + "level": "THREE_LEVEL", + "geoname_id": 6643405, + "sub_districts": [] + }, + { + "code": "150203", + "name": "昆都仑", + "level": "THREE_LEVEL", + "geoname_id": 6643406, + "sub_districts": [] + }, + { + "code": "150204", + "name": "青山", + "level": "THREE_LEVEL", + "geoname_id": 6643403, + "sub_districts": [] + }, + { + "code": "150205", + "name": "石拐", + "level": "THREE_LEVEL", + "geoname_id": 6643445, + "sub_districts": [] + }, + { + "code": "150221", + "name": "土默特右", + "level": "THREE_LEVEL", + "geoname_id": 2034342, + "sub_districts": [] + } + ] + }, + { + "code": "150800", + "name": "巴彦淖尔", + "level": "TWO_LEVEL", + "geoname_id": 2038392, + "sub_districts": [ + { + "code": "150822", + "name": "磴口", + "level": "THREE_LEVEL", + "geoname_id": 2037707, + "sub_districts": [] + }, + { + "code": "150826", + "name": "杭锦后", + "level": "THREE_LEVEL", + "geoname_id": 2034062, + "sub_districts": [] + }, + { + "code": "150802", + "name": "临河", + "level": "THREE_LEVEL", + "geoname_id": 2036070, + "sub_districts": [] + }, + { + "code": "150825", + "name": "乌拉特后", + "level": "THREE_LEVEL", + "geoname_id": 2034286, + "sub_districts": [] + }, + { + "code": "150823", + "name": "乌拉特前", + "level": "THREE_LEVEL", + "geoname_id": 2034285, + "sub_districts": [] + }, + { + "code": "150824", + "name": "乌拉特中", + "level": "THREE_LEVEL", + "geoname_id": 2034284, + "sub_districts": [] + }, + { + "code": "150821", + "name": "五原", + "level": "THREE_LEVEL", + "geoname_id": 2034070, + "sub_districts": [] + } + ] + }, + { + "code": "150400", + "name": "赤峰", + "level": "TWO_LEVEL", + "geoname_id": 2038067, + "sub_districts": [ + { + "code": "150430", + "name": "敖汉", + "level": "THREE_LEVEL", + "geoname_id": 2038622, + "sub_districts": [] + }, + { + "code": "150421", + "name": "阿鲁科尔沁", + "level": "THREE_LEVEL", + "geoname_id": 2038617, + "sub_districts": [] + }, + { + "code": "150423", + "name": "巴林右", + "level": "THREE_LEVEL", + "geoname_id": 2038538, + "sub_districts": [] + }, + { + "code": "150422", + "name": "巴林左", + "level": "THREE_LEVEL", + "geoname_id": 2038537, + "sub_districts": [] + }, + { + "code": "150402", + "name": "红山", + "level": "THREE_LEVEL", + "geoname_id": 6643409, + "sub_districts": [] + }, + { + "code": "150428", + "name": "喀喇沁", + "level": "THREE_LEVEL", + "geoname_id": 2037000, + "sub_districts": [] + }, + { + "code": "150425", + "name": "克什克腾", + "level": "THREE_LEVEL", + "geoname_id": 2036901, + "sub_districts": [] + }, + { + "code": "150424", + "name": "林西", + "level": "THREE_LEVEL", + "geoname_id": 2036061, + "sub_districts": [] + }, + { + "code": "150429", + "name": "宁城", + "level": "THREE_LEVEL", + "geoname_id": 2035586, + "sub_districts": [] + }, + { + "code": "150404", + "name": "松山", + "level": "THREE_LEVEL", + "geoname_id": 6643408, + "sub_districts": [] + }, + { + "code": "150426", + "name": "翁牛特", + "level": "THREE_LEVEL", + "geoname_id": 2035537, + "sub_districts": [] + }, + { + "code": "150403", + "name": "元宝山", + "level": "THREE_LEVEL", + "geoname_id": 6643416, + "sub_districts": [] + } + ] + }, + { + "code": "150600", + "name": "鄂尔多斯", + "level": "TWO_LEVEL", + "geoname_id": 8347664, + "sub_districts": [ + { + "code": "150621", + "name": "达拉特", + "level": "THREE_LEVEL", + "geoname_id": 2037932, + "sub_districts": [] + }, + { + "code": "150602", + "name": "东胜", + "level": "THREE_LEVEL", + "geoname_id": 1812255, + "sub_districts": [] + }, + { + "code": "150624", + "name": "鄂托克", + "level": "THREE_LEVEL", + "geoname_id": 1799152, + "sub_districts": [] + }, + { + "code": "150623", + "name": "鄂托克前", + "level": "THREE_LEVEL", + "geoname_id": 1799151, + "sub_districts": [] + }, + { + "code": "150625", + "name": "杭锦", + "level": "THREE_LEVEL", + "geoname_id": 1808938, + "sub_districts": [] + }, + { + "code": "150603", + "name": "康巴什", + "level": "THREE_LEVEL", + "geoname_id": 150603, + "sub_districts": [] + }, + { + "code": "150626", + "name": "乌审", + "level": "THREE_LEVEL", + "geoname_id": 1792275, + "sub_districts": [] + }, + { + "code": "150627", + "name": "伊金霍洛", + "level": "THREE_LEVEL", + "geoname_id": 1811740, + "sub_districts": [] + }, + { + "code": "150622", + "name": "准格尔", + "level": "THREE_LEVEL", + "geoname_id": 1804940, + "sub_districts": [] + } + ] + }, + { + "code": "150100", + "name": "呼和浩特", + "level": "TWO_LEVEL", + "geoname_id": 2036892, + "sub_districts": [ + { + "code": "150123", + "name": "和林格尔", + "level": "THREE_LEVEL", + "geoname_id": 2033051, + "sub_districts": [] + }, + { + "code": "150103", + "name": "回民", + "level": "THREE_LEVEL", + "geoname_id": 6643396, + "sub_districts": [] + }, + { + "code": "150124", + "name": "清水河", + "level": "THREE_LEVEL", + "geoname_id": 1797730, + "sub_districts": [] + }, + { + "code": "150105", + "name": "赛罕", + "level": "THREE_LEVEL", + "geoname_id": 6643398, + "sub_districts": [] + }, + { + "code": "150122", + "name": "托克托", + "level": "THREE_LEVEL", + "geoname_id": 2034427, + "sub_districts": [] + }, + { + "code": "150121", + "name": "土默特左", + "level": "THREE_LEVEL", + "geoname_id": 2034341, + "sub_districts": [] + }, + { + "code": "150125", + "name": "武川", + "level": "THREE_LEVEL", + "geoname_id": 2034139, + "sub_districts": [] + }, + { + "code": "150102", + "name": "新城", + "level": "THREE_LEVEL", + "geoname_id": 6643399, + "sub_districts": [] + }, + { + "code": "150104", + "name": "玉泉", + "level": "THREE_LEVEL", + "geoname_id": 6643397, + "sub_districts": [] + } + ] + }, + { + "code": "150700", + "name": "呼伦贝尔", + "level": "TWO_LEVEL", + "geoname_id": 2036660, + "sub_districts": [ + { + "code": "150721", + "name": "阿荣", + "level": "THREE_LEVEL", + "geoname_id": 6643411, + "sub_districts": [] + }, + { + "code": "150725", + "name": "陈巴尔虎", + "level": "THREE_LEVEL", + "geoname_id": 2038088, + "sub_districts": [] + }, + { + "code": "150784", + "name": "额尔古纳", + "level": "THREE_LEVEL", + "geoname_id": 2037477, + "sub_districts": [] + }, + { + "code": "150723", + "name": "鄂伦春", + "level": "THREE_LEVEL", + "geoname_id": 2035531, + "sub_districts": [] + }, + { + "code": "150724", + "name": "鄂温克族", + "level": "THREE_LEVEL", + "geoname_id": 2037435, + "sub_districts": [] + }, + { + "code": "150785", + "name": "根河", + "level": "THREE_LEVEL", + "geoname_id": 2037478, + "sub_districts": [] + }, + { + "code": "150702", + "name": "海拉尔", + "level": "THREE_LEVEL", + "geoname_id": 2037076, + "sub_districts": [] + }, + { + "code": "150722", + "name": "莫力达瓦", + "level": "THREE_LEVEL", + "geoname_id": 6643412, + "sub_districts": [] + }, + { + "code": "150781", + "name": "满洲里", + "level": "THREE_LEVEL", + "geoname_id": 2035835, + "sub_districts": [] + }, + { + "code": "150727", + "name": "新巴尔虎右", + "level": "THREE_LEVEL", + "geoname_id": 2033796, + "sub_districts": [] + }, + { + "code": "150726", + "name": "新巴尔虎左", + "level": "THREE_LEVEL", + "geoname_id": 2033797, + "sub_districts": [] + }, + { + "code": "150782", + "name": "牙克石", + "level": "THREE_LEVEL", + "geoname_id": 2033535, + "sub_districts": [] + }, + { + "code": "150703", + "name": "扎赉诺尔", + "level": "THREE_LEVEL", + "geoname_id": 2036595, + "sub_districts": [] + }, + { + "code": "150783", + "name": "扎兰屯", + "level": "THREE_LEVEL", + "geoname_id": 2033224, + "sub_districts": [] + } + ] + }, + { + "code": "150500", + "name": "通辽", + "level": "TWO_LEVEL", + "geoname_id": 2034400, + "sub_districts": [ + { + "code": "150581", + "name": "霍林郭勒", + "level": "THREE_LEVEL", + "geoname_id": 6569942, + "sub_districts": [] + }, + { + "code": "150502", + "name": "科尔沁", + "level": "THREE_LEVEL", + "geoname_id": 2034398, + "sub_districts": [] + }, + { + "code": "150522", + "name": "科尔沁左翼后", + "level": "THREE_LEVEL", + "geoname_id": 2036806, + "sub_districts": [] + }, + { + "code": "150521", + "name": "科尔沁左翼中", + "level": "THREE_LEVEL", + "geoname_id": 2036805, + "sub_districts": [] + }, + { + "code": "150524", + "name": "库伦", + "level": "THREE_LEVEL", + "geoname_id": 2036629, + "sub_districts": [] + }, + { + "code": "150523", + "name": "开鲁", + "level": "THREE_LEVEL", + "geoname_id": 2036340, + "sub_districts": [] + }, + { + "code": "150525", + "name": "奈曼", + "level": "THREE_LEVEL", + "geoname_id": 2035682, + "sub_districts": [] + }, + { + "code": "150526", + "name": "扎鲁特", + "level": "THREE_LEVEL", + "geoname_id": 2036588, + "sub_districts": [] + } + ] + }, + { + "code": "150300", + "name": "乌海", + "level": "TWO_LEVEL", + "geoname_id": 1791249, + "sub_districts": [ + { + "code": "150302", + "name": "海勃湾", + "level": "THREE_LEVEL", + "geoname_id": 6643401, + "sub_districts": [] + }, + { + "code": "150303", + "name": "海南", + "level": "THREE_LEVEL", + "geoname_id": 6643400, + "sub_districts": [] + }, + { + "code": "150304", + "name": "乌达", + "level": "THREE_LEVEL", + "geoname_id": 6643402, + "sub_districts": [] + } + ] + }, + { + "code": "150900", + "name": "乌兰察布", + "level": "TWO_LEVEL", + "geoname_id": 2034303, + "sub_districts": [ + { + "code": "150928", + "name": "察哈尔右翼后", + "level": "THREE_LEVEL", + "geoname_id": 2035423, + "sub_districts": [] + }, + { + "code": "150926", + "name": "察哈尔右翼前", + "level": "THREE_LEVEL", + "geoname_id": 2035422, + "sub_districts": [] + }, + { + "code": "150927", + "name": "察哈尔右翼中", + "level": "THREE_LEVEL", + "geoname_id": 2035421, + "sub_districts": [] + }, + { + "code": "150981", + "name": "丰镇", + "level": "THREE_LEVEL", + "geoname_id": 2037390, + "sub_districts": [] + }, + { + "code": "150922", + "name": "化德", + "level": "THREE_LEVEL", + "geoname_id": 2036777, + "sub_districts": [] + }, + { + "code": "150902", + "name": "集宁", + "level": "THREE_LEVEL", + "geoname_id": 2036457, + "sub_districts": [] + }, + { + "code": "150925", + "name": "凉城", + "level": "THREE_LEVEL", + "geoname_id": 2036166, + "sub_districts": [] + }, + { + "code": "150923", + "name": "商都", + "level": "THREE_LEVEL", + "geoname_id": 2035030, + "sub_districts": [] + }, + { + "code": "150929", + "name": "四子王", + "level": "THREE_LEVEL", + "geoname_id": 2034704, + "sub_districts": [] + }, + { + "code": "150924", + "name": "兴和", + "level": "THREE_LEVEL", + "geoname_id": 2033758, + "sub_districts": [] + }, + { + "code": "150921", + "name": "卓资", + "level": "THREE_LEVEL", + "geoname_id": 2033066, + "sub_districts": [] + } + ] + }, + { + "code": "152200", + "name": "兴安", + "level": "TWO_LEVEL", + "geoname_id": 2036898, + "sub_districts": [ + { + "code": "152202", + "name": "阿尔山", + "level": "THREE_LEVEL", + "geoname_id": 6643414, + "sub_districts": [] + }, + { + "code": "152221", + "name": "科尔沁右翼前", + "level": "THREE_LEVEL", + "geoname_id": 2036808, + "sub_districts": [] + }, + { + "code": "152222", + "name": "科尔沁右翼中", + "level": "THREE_LEVEL", + "geoname_id": 2036807, + "sub_districts": [] + }, + { + "code": "152224", + "name": "突泉", + "level": "THREE_LEVEL", + "geoname_id": 2034322, + "sub_districts": [] + }, + { + "code": "152201", + "name": "乌兰浩特", + "level": "THREE_LEVEL", + "geoname_id": 2034311, + "sub_districts": [] + }, + { + "code": "152223", + "name": "扎赉特", + "level": "THREE_LEVEL", + "geoname_id": 2036596, + "sub_districts": [] + } + ] + }, + { + "code": "152500", + "name": "锡林郭勒", + "level": "TWO_LEVEL", + "geoname_id": 2033827, + "sub_districts": [ + { + "code": "152522", + "name": "阿巴嘎", + "level": "THREE_LEVEL", + "geoname_id": 2038681, + "sub_districts": [] + }, + { + "code": "152531", + "name": "多伦", + "level": "THREE_LEVEL", + "geoname_id": 2037529, + "sub_districts": [] + }, + { + "code": "152525", + "name": "东乌珠穆沁", + "level": "THREE_LEVEL", + "geoname_id": 2037587, + "sub_districts": [] + }, + { + "code": "152501", + "name": "二连浩特", + "level": "THREE_LEVEL", + "geoname_id": 2037484, + "sub_districts": [] + }, + { + "code": "152524", + "name": "苏尼特右", + "level": "THREE_LEVEL", + "geoname_id": 2034671, + "sub_districts": [] + }, + { + "code": "152523", + "name": "苏尼特左", + "level": "THREE_LEVEL", + "geoname_id": 2034670, + "sub_districts": [] + }, + { + "code": "152527", + "name": "太仆寺", + "level": "THREE_LEVEL", + "geoname_id": 2034608, + "sub_districts": [] + }, + { + "code": "152528", + "name": "镶黄", + "level": "THREE_LEVEL", + "geoname_id": 2034017, + "sub_districts": [] + }, + { + "code": "152502", + "name": "锡林浩特", + "level": "THREE_LEVEL", + "geoname_id": 2033823, + "sub_districts": [] + }, + { + "code": "152526", + "name": "西乌珠穆沁", + "level": "THREE_LEVEL", + "geoname_id": 2033607, + "sub_districts": [] + }, + { + "code": "152530", + "name": "正蓝", + "level": "THREE_LEVEL", + "geoname_id": 2033134, + "sub_districts": [] + }, + { + "code": "152529", + "name": "正镶白", + "level": "THREE_LEVEL", + "geoname_id": 2033132, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "64", + "name": "宁夏", + "level": "ONE_LEVEL", + "geoname_id": 1799355, + "sub_districts": [ + { + "code": "640400", + "name": "固原", + "level": "TWO_LEVEL", + "geoname_id": 1809151, + "sub_districts": [ + { + "code": "640424", + "name": "泾源", + "level": "THREE_LEVEL", + "geoname_id": 1805548, + "sub_districts": [] + }, + { + "code": "640423", + "name": "隆德", + "level": "THREE_LEVEL", + "geoname_id": 1802671, + "sub_districts": [] + }, + { + "code": "640425", + "name": "彭阳", + "level": "THREE_LEVEL", + "geoname_id": 1798902, + "sub_districts": [] + }, + { + "code": "640422", + "name": "西吉", + "level": "THREE_LEVEL", + "geoname_id": 640422, + "sub_districts": [] + }, + { + "code": "640402", + "name": "原州", + "level": "THREE_LEVEL", + "geoname_id": 1809150, + "sub_districts": [] + } + ] + }, + { + "code": "640200", + "name": "石嘴山", + "level": "TWO_LEVEL", + "geoname_id": 1794805, + "sub_districts": [ + { + "code": "640202", + "name": "大武口", + "level": "THREE_LEVEL", + "geoname_id": 6643244, + "sub_districts": [] + }, + { + "code": "640205", + "name": "惠农", + "level": "THREE_LEVEL", + "geoname_id": 6643243, + "sub_districts": [] + }, + { + "code": "640221", + "name": "平罗", + "level": "THREE_LEVEL", + "geoname_id": 1798743, + "sub_districts": [] + } + ] + }, + { + "code": "640300", + "name": "吴忠", + "level": "TWO_LEVEL", + "geoname_id": 1786512, + "sub_districts": [ + { + "code": "640303", + "name": "红寺堡", + "level": "THREE_LEVEL", + "geoname_id": 8066511, + "sub_districts": [] + }, + { + "code": "640302", + "name": "利通", + "level": "THREE_LEVEL", + "geoname_id": 1790841, + "sub_districts": [] + }, + { + "code": "640381", + "name": "青铜峡", + "level": "THREE_LEVEL", + "geoname_id": 1797692, + "sub_districts": [] + }, + { + "code": "640324", + "name": "同心", + "level": "THREE_LEVEL", + "geoname_id": 1792542, + "sub_districts": [] + }, + { + "code": "640323", + "name": "盐池", + "level": "THREE_LEVEL", + "geoname_id": 1787736, + "sub_districts": [] + } + ] + }, + { + "code": "640100", + "name": "银川", + "level": "TWO_LEVEL", + "geoname_id": 1786657, + "sub_districts": [ + { + "code": "640122", + "name": "贺兰", + "level": "THREE_LEVEL", + "geoname_id": 1808551, + "sub_districts": [] + }, + { + "code": "640106", + "name": "金凤", + "level": "THREE_LEVEL", + "geoname_id": 6643241, + "sub_districts": [] + }, + { + "code": "640181", + "name": "灵武", + "level": "THREE_LEVEL", + "geoname_id": 1803449, + "sub_districts": [] + }, + { + "code": "640104", + "name": "兴庆", + "level": "THREE_LEVEL", + "geoname_id": 6643242, + "sub_districts": [] + }, + { + "code": "640105", + "name": "西夏", + "level": "THREE_LEVEL", + "geoname_id": 6643240, + "sub_districts": [] + }, + { + "code": "640121", + "name": "永宁", + "level": "THREE_LEVEL", + "geoname_id": 1786280, + "sub_districts": [] + } + ] + }, + { + "code": "640500", + "name": "中卫", + "level": "TWO_LEVEL", + "geoname_id": 6643239, + "sub_districts": [ + { + "code": "640522", + "name": "海原", + "level": "THREE_LEVEL", + "geoname_id": 1809007, + "sub_districts": [] + }, + { + "code": "640502", + "name": "沙坡头", + "level": "THREE_LEVEL", + "geoname_id": 1784284, + "sub_districts": [] + }, + { + "code": "640521", + "name": "中宁", + "level": "THREE_LEVEL", + "geoname_id": 1784343, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "63", + "name": "青海", + "level": "ONE_LEVEL", + "geoname_id": 1280239, + "sub_districts": [ + { + "code": "632600", + "name": "果洛", + "level": "TWO_LEVEL", + "geoname_id": 1281178, + "sub_districts": [ + { + "code": "632622", + "name": "班玛", + "level": "THREE_LEVEL", + "geoname_id": 1817513, + "sub_districts": [] + }, + { + "code": "632624", + "name": "达日", + "level": "THREE_LEVEL", + "geoname_id": 1281407, + "sub_districts": [] + }, + { + "code": "632623", + "name": "甘德", + "level": "THREE_LEVEL", + "geoname_id": 1281265, + "sub_districts": [] + }, + { + "code": "632625", + "name": "久治", + "level": "THREE_LEVEL", + "geoname_id": 1805808, + "sub_districts": [] + }, + { + "code": "632626", + "name": "玛多", + "level": "THREE_LEVEL", + "geoname_id": 1280650, + "sub_districts": [] + }, + { + "code": "632621", + "name": "玛沁", + "level": "THREE_LEVEL", + "geoname_id": 1801093, + "sub_districts": [] + } + ] + }, + { + "code": "632200", + "name": "海北", + "level": "TWO_LEVEL", + "geoname_id": 1809111, + "sub_districts": [ + { + "code": "632224", + "name": "刚察", + "level": "THREE_LEVEL", + "geoname_id": 1810771, + "sub_districts": [] + }, + { + "code": "632223", + "name": "海晏", + "level": "THREE_LEVEL", + "geoname_id": 1809014, + "sub_districts": [] + }, + { + "code": "632221", + "name": "门源", + "level": "THREE_LEVEL", + "geoname_id": 1800654, + "sub_districts": [] + }, + { + "code": "632222", + "name": "祁连", + "level": "THREE_LEVEL", + "geoname_id": 1798012, + "sub_districts": [] + } + ] + }, + { + "code": "630200", + "name": "海东", + "level": "TWO_LEVEL", + "geoname_id": 1809101, + "sub_districts": [ + { + "code": "630224", + "name": "化隆", + "level": "THREE_LEVEL", + "geoname_id": 1807615, + "sub_districts": [] + }, + { + "code": "630223", + "name": "互助", + "level": "THREE_LEVEL", + "geoname_id": 1806531, + "sub_districts": [] + }, + { + "code": "630202", + "name": "乐都", + "level": "THREE_LEVEL", + "geoname_id": 1804249, + "sub_districts": [] + }, + { + "code": "630222", + "name": "民和", + "level": "THREE_LEVEL", + "geoname_id": 1800477, + "sub_districts": [] + }, + { + "code": "630203", + "name": "平安", + "level": "THREE_LEVEL", + "geoname_id": 1798864, + "sub_districts": [] + }, + { + "code": "630225", + "name": "循化", + "level": "THREE_LEVEL", + "geoname_id": 1787896, + "sub_districts": [] + } + ] + }, + { + "code": "632500", + "name": "海南州", + "level": "TWO_LEVEL", + "geoname_id": 1809051, + "sub_districts": [ + { + "code": "632523", + "name": "贵德", + "level": "THREE_LEVEL", + "geoname_id": 1809527, + "sub_districts": [] + }, + { + "code": "632521", + "name": "共和", + "level": "THREE_LEVEL", + "geoname_id": 1810130, + "sub_districts": [] + }, + { + "code": "632525", + "name": "贵南", + "level": "THREE_LEVEL", + "geoname_id": 1809487, + "sub_districts": [] + }, + { + "code": "632522", + "name": "同德", + "level": "THREE_LEVEL", + "geoname_id": 1792688, + "sub_districts": [] + }, + { + "code": "632524", + "name": "兴海", + "level": "THREE_LEVEL", + "geoname_id": 1789027, + "sub_districts": [] + } + ] + }, + { + "code": "632300", + "name": "黄南", + "level": "TWO_LEVEL", + "geoname_id": 1807329, + "sub_districts": [ + { + "code": "632324", + "name": "河南", + "level": "THREE_LEVEL", + "geoname_id": 1808521, + "sub_districts": [] + }, + { + "code": "632322", + "name": "尖扎", + "level": "THREE_LEVEL", + "geoname_id": 1806525, + "sub_districts": [] + }, + { + "code": "6323010000001", + "name": "同仁", + "level": "THREE_LEVEL", + "geoname_id": 1792589, + "sub_districts": [] + }, + { + "code": "632323", + "name": "泽库", + "level": "THREE_LEVEL", + "geoname_id": 1785440, + "sub_districts": [] + } + ] + }, + { + "code": "632800", + "name": "海西", + "level": "TWO_LEVEL", + "geoname_id": 1281075, + "sub_districts": [ + { + "code": "632857", + "name": "大柴旦", + "level": "THREE_LEVEL", + "geoname_id": 632857, + "sub_districts": [] + }, + { + "code": "632802", + "name": "德令哈", + "level": "THREE_LEVEL", + "geoname_id": 6643155, + "sub_districts": [] + }, + { + "code": "632822", + "name": "都兰", + "level": "THREE_LEVEL", + "geoname_id": 1281290, + "sub_districts": [] + }, + { + "code": "632801", + "name": "格尔木", + "level": "THREE_LEVEL", + "geoname_id": 1281181, + "sub_districts": [] + }, + { + "code": "632803", + "name": "茫崖", + "level": "THREE_LEVEL", + "geoname_id": 8074301, + "sub_districts": [] + }, + { + "code": "632823", + "name": "天峻", + "level": "THREE_LEVEL", + "geoname_id": 1279885, + "sub_districts": [] + }, + { + "code": "632821", + "name": "乌兰", + "level": "THREE_LEVEL", + "geoname_id": 1279831, + "sub_districts": [] + } + ] + }, + { + "code": "630100", + "name": "西宁", + "level": "TWO_LEVEL", + "geoname_id": 1788852, + "sub_districts": [ + { + "code": "630105", + "name": "城北", + "level": "THREE_LEVEL", + "geoname_id": 6643150, + "sub_districts": [] + }, + { + "code": "630102", + "name": "城东", + "level": "THREE_LEVEL", + "geoname_id": 6643153, + "sub_districts": [] + }, + { + "code": "630104", + "name": "城西", + "level": "THREE_LEVEL", + "geoname_id": 6643151, + "sub_districts": [] + }, + { + "code": "630103", + "name": "城中", + "level": "THREE_LEVEL", + "geoname_id": 6643152, + "sub_districts": [] + }, + { + "code": "630121", + "name": "大通", + "level": "THREE_LEVEL", + "geoname_id": 1813441, + "sub_districts": [] + }, + { + "code": "630123", + "name": "湟源", + "level": "THREE_LEVEL", + "geoname_id": 1807127, + "sub_districts": [] + }, + { + "code": "6301060000001", + "name": "湟中", + "level": "THREE_LEVEL", + "geoname_id": 1807113, + "sub_districts": [] + } + ] + }, + { + "code": "632700", + "name": "玉树", + "level": "TWO_LEVEL", + "geoname_id": 1279540, + "sub_districts": [ + { + "code": "632723", + "name": "称多", + "level": "THREE_LEVEL", + "geoname_id": 1281521, + "sub_districts": [] + }, + { + "code": "632725", + "name": "囊谦", + "level": "THREE_LEVEL", + "geoname_id": 1280488, + "sub_districts": [] + }, + { + "code": "632726", + "name": "曲麻莱", + "level": "THREE_LEVEL", + "geoname_id": 1280200, + "sub_districts": [] + }, + { + "code": "632701", + "name": "玉树", + "level": "THREE_LEVEL", + "geoname_id": 1279541, + "sub_districts": [] + }, + { + "code": "632722", + "name": "杂多", + "level": "THREE_LEVEL", + "geoname_id": 1279535, + "sub_districts": [] + }, + { + "code": "632724", + "name": "治多", + "level": "THREE_LEVEL", + "geoname_id": 1279466, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "51", + "name": "四川", + "level": "ONE_LEVEL", + "geoname_id": 1794299, + "sub_districts": [ + { + "code": "513200", + "name": "阿坝", + "level": "TWO_LEVEL", + "geoname_id": 1818175, + "sub_districts": [ + { + "code": "513231", + "name": "阿坝", + "level": "THREE_LEVEL", + "geoname_id": 1818176, + "sub_districts": [] + }, + { + "code": "513228", + "name": "黑水", + "level": "THREE_LEVEL", + "geoname_id": 1808646, + "sub_districts": [] + }, + { + "code": "513233", + "name": "红原", + "level": "THREE_LEVEL", + "geoname_id": 1807922, + "sub_districts": [] + }, + { + "code": "513226", + "name": "金川", + "level": "THREE_LEVEL", + "geoname_id": 1805731, + "sub_districts": [] + }, + { + "code": "513225", + "name": "九寨沟", + "level": "THREE_LEVEL", + "geoname_id": 1799836, + "sub_districts": [] + }, + { + "code": "513222", + "name": "理县", + "level": "THREE_LEVEL", + "geoname_id": 1802816, + "sub_districts": [] + }, + { + "code": "513201", + "name": "马尔康", + "level": "THREE_LEVEL", + "geoname_id": 10200107, + "sub_districts": [] + }, + { + "code": "513223", + "name": "茂县", + "level": "THREE_LEVEL", + "geoname_id": 1801130, + "sub_districts": [] + }, + { + "code": "513232", + "name": "若尔盖", + "level": "THREE_LEVEL", + "geoname_id": 1783665, + "sub_districts": [] + }, + { + "code": "513230", + "name": "壤塘", + "level": "THREE_LEVEL", + "geoname_id": 1785513, + "sub_districts": [] + }, + { + "code": "513224", + "name": "松潘", + "level": "THREE_LEVEL", + "geoname_id": 1793997, + "sub_districts": [] + }, + { + "code": "513221", + "name": "汶川", + "level": "THREE_LEVEL", + "geoname_id": 1791528, + "sub_districts": [] + }, + { + "code": "513227", + "name": "小金", + "level": "THREE_LEVEL", + "geoname_id": 1790120, + "sub_districts": [] + } + ] + }, + { + "code": "511900", + "name": "巴中", + "level": "TWO_LEVEL", + "geoname_id": 6643375, + "sub_districts": [ + { + "code": "511902", + "name": "巴州", + "level": "THREE_LEVEL", + "geoname_id": 1816808, + "sub_districts": [] + }, + { + "code": "511903", + "name": "恩阳", + "level": "THREE_LEVEL", + "geoname_id": 1811718, + "sub_districts": [] + }, + { + "code": "511922", + "name": "南江", + "level": "THREE_LEVEL", + "geoname_id": 1799979, + "sub_districts": [] + }, + { + "code": "511923", + "name": "平昌", + "level": "THREE_LEVEL", + "geoname_id": 1798852, + "sub_districts": [] + }, + { + "code": "511921", + "name": "通江", + "level": "THREE_LEVEL", + "geoname_id": 1792643, + "sub_districts": [] + } + ] + }, + { + "code": "510100", + "name": "成都", + "level": "TWO_LEVEL", + "geoname_id": 1815286, + "sub_districts": [ + { + "code": "510108", + "name": "成华", + "level": "THREE_LEVEL", + "geoname_id": 6642924, + "sub_districts": [] + }, + { + "code": "510184", + "name": "崇州", + "level": "THREE_LEVEL", + "geoname_id": 1814903, + "sub_districts": [] + }, + { + "code": "510181", + "name": "都江堰", + "level": "THREE_LEVEL", + "geoname_id": 1809831, + "sub_districts": [] + }, + { + "code": "510129", + "name": "大邑", + "level": "THREE_LEVEL", + "geoname_id": 1813176, + "sub_districts": [] + }, + { + "code": "510104", + "name": "锦江", + "level": "THREE_LEVEL", + "geoname_id": 6642922, + "sub_districts": [] + }, + { + "code": "510106", + "name": "金牛", + "level": "THREE_LEVEL", + "geoname_id": 6642918, + "sub_districts": [] + }, + { + "code": "510121", + "name": "金堂", + "level": "THREE_LEVEL", + "geoname_id": 1805352, + "sub_districts": [] + }, + { + "code": "510185", + "name": "简阳", + "level": "THREE_LEVEL", + "geoname_id": 1806119, + "sub_districts": [] + }, + { + "code": "510112", + "name": "龙泉驿", + "level": "THREE_LEVEL", + "geoname_id": 6642925, + "sub_districts": [] + }, + { + "code": "5101170000001", + "name": "郫都", + "level": "THREE_LEVEL", + "geoname_id": 510124, + "sub_districts": [] + }, + { + "code": "510131", + "name": "蒲江", + "level": "THREE_LEVEL", + "geoname_id": 1798496, + "sub_districts": [] + }, + { + "code": "510182", + "name": "彭州", + "level": "THREE_LEVEL", + "geoname_id": 1798906, + "sub_districts": [] + }, + { + "code": "510113", + "name": "青白江", + "level": "THREE_LEVEL", + "geoname_id": 6642931, + "sub_districts": [] + }, + { + "code": "510183", + "name": "邛崃", + "level": "THREE_LEVEL", + "geoname_id": 1797540, + "sub_districts": [] + }, + { + "code": "510105", + "name": "青羊", + "level": "THREE_LEVEL", + "geoname_id": 6642920, + "sub_districts": [] + }, + { + "code": "510116", + "name": "双流", + "level": "THREE_LEVEL", + "geoname_id": 1794651, + "sub_districts": [] + }, + { + "code": "510107", + "name": "武侯", + "level": "THREE_LEVEL", + "geoname_id": 6642917, + "sub_districts": [] + }, + { + "code": "510115", + "name": "温江", + "level": "THREE_LEVEL", + "geoname_id": 1791482, + "sub_districts": [] + }, + { + "code": "510114", + "name": "新都", + "level": "THREE_LEVEL", + "geoname_id": 1789091, + "sub_districts": [] + }, + { + "code": "5101180000001", + "name": "新津", + "level": "THREE_LEVEL", + "geoname_id": 1788768, + "sub_districts": [] + } + ] + }, + { + "code": "510600", + "name": "德阳", + "level": "TWO_LEVEL", + "geoname_id": 1812961, + "sub_districts": [ + { + "code": "510681", + "name": "广汉", + "level": "THREE_LEVEL", + "geoname_id": 510681, + "sub_districts": [] + }, + { + "code": "510603", + "name": "旌阳", + "level": "THREE_LEVEL", + "geoname_id": 1812960, + "sub_districts": [] + }, + { + "code": "5106040000001", + "name": "罗江", + "level": "THREE_LEVEL", + "geoname_id": 6642948, + "sub_districts": [] + }, + { + "code": "510683", + "name": "绵竹", + "level": "THREE_LEVEL", + "geoname_id": 1800623, + "sub_districts": [] + }, + { + "code": "510682", + "name": "什邡", + "level": "THREE_LEVEL", + "geoname_id": 1795399, + "sub_districts": [] + }, + { + "code": "510623", + "name": "中江", + "level": "THREE_LEVEL", + "geoname_id": 1784372, + "sub_districts": [] + } + ] + }, + { + "code": "511700", + "name": "达州", + "level": "TWO_LEVEL", + "geoname_id": 1813325, + "sub_districts": [ + { + "code": "511703", + "name": "达川", + "level": "THREE_LEVEL", + "geoname_id": 511703, + "sub_districts": [] + }, + { + "code": "511724", + "name": "大竹", + "level": "THREE_LEVEL", + "geoname_id": 1813059, + "sub_districts": [] + }, + { + "code": "511723", + "name": "开江", + "level": "THREE_LEVEL", + "geoname_id": 1804868, + "sub_districts": [] + }, + { + "code": "511725", + "name": "渠县", + "level": "THREE_LEVEL", + "geoname_id": 1797277, + "sub_districts": [] + }, + { + "code": "511702", + "name": "通川", + "level": "THREE_LEVEL", + "geoname_id": 1813320, + "sub_districts": [] + }, + { + "code": "511781", + "name": "万源", + "level": "THREE_LEVEL", + "geoname_id": 1791738, + "sub_districts": [] + }, + { + "code": "511722", + "name": "宣汉", + "level": "THREE_LEVEL", + "geoname_id": 1788072, + "sub_districts": [] + } + ] + }, + { + "code": "511600", + "name": "广安", + "level": "TWO_LEVEL", + "geoname_id": 6643373, + "sub_districts": [ + { + "code": "511602", + "name": "广安", + "level": "THREE_LEVEL", + "geoname_id": 1809946, + "sub_districts": [] + }, + { + "code": "511681", + "name": "华蓥", + "level": "THREE_LEVEL", + "geoname_id": 1806983, + "sub_districts": [] + }, + { + "code": "511623", + "name": "邻水", + "level": "THREE_LEVEL", + "geoname_id": 1803351, + "sub_districts": [] + }, + { + "code": "511603", + "name": "前锋", + "level": "THREE_LEVEL", + "geoname_id": 9640804, + "sub_districts": [] + }, + { + "code": "511622", + "name": "武胜", + "level": "THREE_LEVEL", + "geoname_id": 1790996, + "sub_districts": [] + }, + { + "code": "511621", + "name": "岳池", + "level": "THREE_LEVEL", + "geoname_id": 1785945, + "sub_districts": [] + } + ] + }, + { + "code": "510800", + "name": "广元", + "level": "TWO_LEVEL", + "geoname_id": 1806466, + "sub_districts": [ + { + "code": "510812", + "name": "朝天", + "level": "THREE_LEVEL", + "geoname_id": 6642908, + "sub_districts": [] + }, + { + "code": "510824", + "name": "苍溪", + "level": "THREE_LEVEL", + "geoname_id": 1816082, + "sub_districts": [] + }, + { + "code": "510823", + "name": "剑阁", + "level": "THREE_LEVEL", + "geoname_id": 1806385, + "sub_districts": [] + }, + { + "code": "510802", + "name": "利州", + "level": "THREE_LEVEL", + "geoname_id": 7925035, + "sub_districts": [] + }, + { + "code": "510822", + "name": "青川", + "level": "THREE_LEVEL", + "geoname_id": 1797935, + "sub_districts": [] + }, + { + "code": "510821", + "name": "旺苍", + "level": "THREE_LEVEL", + "geoname_id": 1792162, + "sub_districts": [] + }, + { + "code": "510811", + "name": "昭化", + "level": "THREE_LEVEL", + "geoname_id": 1784914, + "sub_districts": [] + } + ] + }, + { + "code": "513300", + "name": "甘孜", + "level": "TWO_LEVEL", + "geoname_id": 1810269, + "sub_districts": [ + { + "code": "513335", + "name": "巴塘", + "level": "THREE_LEVEL", + "geoname_id": 1281661, + "sub_districts": [] + }, + { + "code": "513331", + "name": "白玉", + "level": "THREE_LEVEL", + "geoname_id": 1281695, + "sub_districts": [] + }, + { + "code": "513323", + "name": "丹巴", + "level": "THREE_LEVEL", + "geoname_id": 1813896, + "sub_districts": [] + }, + { + "code": "513337", + "name": "稻城", + "level": "THREE_LEVEL", + "geoname_id": 1813787, + "sub_districts": [] + }, + { + "code": "513326", + "name": "道孚", + "level": "THREE_LEVEL", + "geoname_id": 1813340, + "sub_districts": [] + }, + { + "code": "513330", + "name": "德格", + "level": "THREE_LEVEL", + "geoname_id": 1281383, + "sub_districts": [] + }, + { + "code": "513338", + "name": "得荣", + "level": "THREE_LEVEL", + "geoname_id": 1281361, + "sub_districts": [] + }, + { + "code": "513328", + "name": "甘孜", + "level": "THREE_LEVEL", + "geoname_id": 1810270, + "sub_districts": [] + }, + { + "code": "513324", + "name": "九龙", + "level": "THREE_LEVEL", + "geoname_id": 1805133, + "sub_districts": [] + }, + { + "code": "513301", + "name": "康定", + "level": "THREE_LEVEL", + "geoname_id": 1804839, + "sub_districts": [] + }, + { + "code": "513322", + "name": "泸定", + "level": "THREE_LEVEL", + "geoname_id": 1802142, + "sub_districts": [] + }, + { + "code": "513327", + "name": "炉霍", + "level": "THREE_LEVEL", + "geoname_id": 1802087, + "sub_districts": [] + }, + { + "code": "513334", + "name": "理塘", + "level": "THREE_LEVEL", + "geoname_id": 1803228, + "sub_districts": [] + }, + { + "code": "513333", + "name": "色达", + "level": "THREE_LEVEL", + "geoname_id": 1796483, + "sub_districts": [] + }, + { + "code": "513332", + "name": "石渠", + "level": "THREE_LEVEL", + "geoname_id": 1280040, + "sub_districts": [] + }, + { + "code": "513336", + "name": "乡城", + "level": "THREE_LEVEL", + "geoname_id": 1279737, + "sub_districts": [] + }, + { + "code": "513329", + "name": "新龙", + "level": "THREE_LEVEL", + "geoname_id": 1788737, + "sub_districts": [] + }, + { + "code": "513325", + "name": "雅江", + "level": "THREE_LEVEL", + "geoname_id": 1787784, + "sub_districts": [] + } + ] + }, + { + "code": "511100", + "name": "乐山", + "level": "TWO_LEVEL", + "geoname_id": 1804153, + "sub_districts": [ + { + "code": "511132", + "name": "峨边", + "level": "THREE_LEVEL", + "geoname_id": 1811752, + "sub_districts": [] + }, + { + "code": "511181", + "name": "峨眉山", + "level": "THREE_LEVEL", + "geoname_id": 1811732, + "sub_districts": [] + }, + { + "code": "511126", + "name": "夹江", + "level": "THREE_LEVEL", + "geoname_id": 1806482, + "sub_districts": [] + }, + { + "code": "511113", + "name": "金口河", + "level": "THREE_LEVEL", + "geoname_id": 6642894, + "sub_districts": [] + }, + { + "code": "511124", + "name": "井研", + "level": "THREE_LEVEL", + "geoname_id": 1805554, + "sub_districts": [] + }, + { + "code": "511133", + "name": "马边", + "level": "THREE_LEVEL", + "geoname_id": 1801606, + "sub_districts": [] + }, + { + "code": "511129", + "name": "沐川", + "level": "THREE_LEVEL", + "geoname_id": 1800339, + "sub_districts": [] + }, + { + "code": "511123", + "name": "犍为", + "level": "THREE_LEVEL", + "geoname_id": 1798232, + "sub_districts": [] + }, + { + "code": "511111", + "name": "沙湾", + "level": "THREE_LEVEL", + "geoname_id": 6642895, + "sub_districts": [] + }, + { + "code": "511102", + "name": "市中", + "level": "THREE_LEVEL", + "geoname_id": 1809862, + "sub_districts": [] + }, + { + "code": "511112", + "name": "五通桥", + "level": "THREE_LEVEL", + "geoname_id": 6642897, + "sub_districts": [] + } + ] + }, + { + "code": "513400", + "name": "凉山", + "level": "TWO_LEVEL", + "geoname_id": 1803984, + "sub_districts": [ + { + "code": "513429", + "name": "布拖", + "level": "THREE_LEVEL", + "geoname_id": 1816199, + "sub_districts": [] + }, + { + "code": "513424", + "name": "德昌", + "level": "THREE_LEVEL", + "geoname_id": 1813036, + "sub_districts": [] + }, + { + "code": "513435", + "name": "甘洛", + "level": "THREE_LEVEL", + "geoname_id": 1810688, + "sub_districts": [] + }, + { + "code": "513426", + "name": "会东", + "level": "THREE_LEVEL", + "geoname_id": 1806873, + "sub_districts": [] + }, + { + "code": "5134020000001", + "name": "会理", + "level": "THREE_LEVEL", + "geoname_id": 1806848, + "sub_districts": [] + }, + { + "code": "513430", + "name": "金阳", + "level": "THREE_LEVEL", + "geoname_id": 1805317, + "sub_districts": [] + }, + { + "code": "513437", + "name": "雷波", + "level": "THREE_LEVEL", + "geoname_id": 1804245, + "sub_districts": [] + }, + { + "code": "513436", + "name": "美姑", + "level": "THREE_LEVEL", + "geoname_id": 1800865, + "sub_districts": [] + }, + { + "code": "513422", + "name": "木里", + "level": "THREE_LEVEL", + "geoname_id": 1800288, + "sub_districts": [] + }, + { + "code": "513433", + "name": "冕宁", + "level": "THREE_LEVEL", + "geoname_id": 1800635, + "sub_districts": [] + }, + { + "code": "513427", + "name": "宁南", + "level": "THREE_LEVEL", + "geoname_id": 1799363, + "sub_districts": [] + }, + { + "code": "513428", + "name": "普格", + "level": "THREE_LEVEL", + "geoname_id": 1798517, + "sub_districts": [] + }, + { + "code": "513401", + "name": "西昌", + "level": "THREE_LEVEL", + "geoname_id": 1789645, + "sub_districts": [] + }, + { + "code": "513432", + "name": "喜德", + "level": "THREE_LEVEL", + "geoname_id": 1789602, + "sub_districts": [] + }, + { + "code": "513434", + "name": "越西", + "level": "THREE_LEVEL", + "geoname_id": 1785888, + "sub_districts": [] + }, + { + "code": "513423", + "name": "盐源", + "level": "THREE_LEVEL", + "geoname_id": 1787039, + "sub_districts": [] + }, + { + "code": "513431", + "name": "昭觉", + "level": "THREE_LEVEL", + "geoname_id": 1784875, + "sub_districts": [] + } + ] + }, + { + "code": "510500", + "name": "泸州", + "level": "TWO_LEVEL", + "geoname_id": 1801637, + "sub_districts": [ + { + "code": "510525", + "name": "古蔺", + "level": "THREE_LEVEL", + "geoname_id": 1809403, + "sub_districts": [] + }, + { + "code": "510522", + "name": "合江", + "level": "THREE_LEVEL", + "geoname_id": 1808609, + "sub_districts": [] + }, + { + "code": "510502", + "name": "江阳", + "level": "THREE_LEVEL", + "geoname_id": 6642903, + "sub_districts": [] + }, + { + "code": "510504", + "name": "龙马潭", + "level": "THREE_LEVEL", + "geoname_id": 6642904, + "sub_districts": [] + }, + { + "code": "510521", + "name": "泸县", + "level": "THREE_LEVEL", + "geoname_id": 1801683, + "sub_districts": [] + }, + { + "code": "510503", + "name": "纳溪", + "level": "THREE_LEVEL", + "geoname_id": 1799506, + "sub_districts": [] + }, + { + "code": "510524", + "name": "叙永", + "level": "THREE_LEVEL", + "geoname_id": 1787827, + "sub_districts": [] + } + ] + }, + { + "code": "511400", + "name": "眉山", + "level": "TWO_LEVEL", + "geoname_id": 1800818, + "sub_districts": [ + { + "code": "511424", + "name": "丹棱", + "level": "THREE_LEVEL", + "geoname_id": 1813819, + "sub_districts": [] + }, + { + "code": "511402", + "name": "东坡", + "level": "THREE_LEVEL", + "geoname_id": 1800811, + "sub_districts": [] + }, + { + "code": "511423", + "name": "洪雅", + "level": "THREE_LEVEL", + "geoname_id": 1807928, + "sub_districts": [] + }, + { + "code": "511403", + "name": "彭山", + "level": "THREE_LEVEL", + "geoname_id": 1798916, + "sub_districts": [] + }, + { + "code": "511425", + "name": "青神", + "level": "THREE_LEVEL", + "geoname_id": 1797760, + "sub_districts": [] + }, + { + "code": "511421", + "name": "仁寿", + "level": "THREE_LEVEL", + "geoname_id": 1797176, + "sub_districts": [] + } + ] + }, + { + "code": "510700", + "name": "绵阳", + "level": "TWO_LEVEL", + "geoname_id": 1800627, + "sub_districts": [ + { + "code": "510705", + "name": "安州", + "level": "THREE_LEVEL", + "geoname_id": 510705, + "sub_districts": [] + }, + { + "code": "510726", + "name": "北川", + "level": "THREE_LEVEL", + "geoname_id": 1816762, + "sub_districts": [] + }, + { + "code": "510703", + "name": "涪城", + "level": "THREE_LEVEL", + "geoname_id": 6642911, + "sub_districts": [] + }, + { + "code": "510781", + "name": "江油", + "level": "THREE_LEVEL", + "geoname_id": 1806207, + "sub_districts": [] + }, + { + "code": "510727", + "name": "平武", + "level": "THREE_LEVEL", + "geoname_id": 1798664, + "sub_districts": [] + }, + { + "code": "510722", + "name": "三台", + "level": "THREE_LEVEL", + "geoname_id": 1796597, + "sub_districts": [] + }, + { + "code": "510723", + "name": "盐亭", + "level": "THREE_LEVEL", + "geoname_id": 1787069, + "sub_districts": [] + }, + { + "code": "510704", + "name": "游仙", + "level": "THREE_LEVEL", + "geoname_id": 6642910, + "sub_districts": [] + }, + { + "code": "510725", + "name": "梓潼", + "level": "THREE_LEVEL", + "geoname_id": 1783697, + "sub_districts": [] + } + ] + }, + { + "code": "511300", + "name": "南充", + "level": "TWO_LEVEL", + "geoname_id": 1800146, + "sub_districts": [ + { + "code": "511303", + "name": "高坪", + "level": "THREE_LEVEL", + "geoname_id": 6642907, + "sub_districts": [] + }, + { + "code": "511304", + "name": "嘉陵", + "level": "THREE_LEVEL", + "geoname_id": 1800144, + "sub_districts": [] + }, + { + "code": "511381", + "name": "阆中", + "level": "THREE_LEVEL", + "geoname_id": 1804485, + "sub_districts": [] + }, + { + "code": "511321", + "name": "南部", + "level": "THREE_LEVEL", + "geoname_id": 1800173, + "sub_districts": [] + }, + { + "code": "511323", + "name": "蓬安", + "level": "THREE_LEVEL", + "geoname_id": 1798948, + "sub_districts": [] + }, + { + "code": "511302", + "name": "顺庆", + "level": "THREE_LEVEL", + "geoname_id": 1800143, + "sub_districts": [] + }, + { + "code": "511325", + "name": "西充", + "level": "THREE_LEVEL", + "geoname_id": 1789629, + "sub_districts": [] + }, + { + "code": "511324", + "name": "仪陇", + "level": "THREE_LEVEL", + "geoname_id": 1786680, + "sub_districts": [] + }, + { + "code": "511322", + "name": "营山", + "level": "THREE_LEVEL", + "geoname_id": 1786583, + "sub_districts": [] + } + ] + }, + { + "code": "511000", + "name": "内江", + "level": "TWO_LEVEL", + "geoname_id": 1799491, + "sub_districts": [ + { + "code": "511011", + "name": "东兴", + "level": "THREE_LEVEL", + "geoname_id": 1799489, + "sub_districts": [] + }, + { + "code": "5110830000001", + "name": "隆昌", + "level": "THREE_LEVEL", + "geoname_id": 1802690, + "sub_districts": [] + }, + { + "code": "511002", + "name": "市中", + "level": "THREE_LEVEL", + "geoname_id": 6642902, + "sub_districts": [] + }, + { + "code": "511024", + "name": "威远", + "level": "THREE_LEVEL", + "geoname_id": 1791571, + "sub_districts": [] + }, + { + "code": "511025", + "name": "资中", + "level": "THREE_LEVEL", + "geoname_id": 1783668, + "sub_districts": [] + } + ] + }, + { + "code": "510400", + "name": "攀枝花", + "level": "TWO_LEVEL", + "geoname_id": 1798997, + "sub_districts": [ + { + "code": "510402", + "name": "东区", + "level": "THREE_LEVEL", + "geoname_id": 6642891, + "sub_districts": [] + }, + { + "code": "510421", + "name": "米易", + "level": "THREE_LEVEL", + "geoname_id": 1800429, + "sub_districts": [] + }, + { + "code": "510411", + "name": "仁和", + "level": "THREE_LEVEL", + "geoname_id": 6642889, + "sub_districts": [] + }, + { + "code": "510403", + "name": "西区", + "level": "THREE_LEVEL", + "geoname_id": 6642888, + "sub_districts": [] + }, + { + "code": "510422", + "name": "盐边", + "level": "THREE_LEVEL", + "geoname_id": 1787759, + "sub_districts": [] + } + ] + }, + { + "code": "510900", + "name": "遂宁", + "level": "TWO_LEVEL", + "geoname_id": 6643374, + "sub_districts": [ + { + "code": "510904", + "name": "安居", + "level": "THREE_LEVEL", + "geoname_id": 6642905, + "sub_districts": [] + }, + { + "code": "510903", + "name": "船山", + "level": "THREE_LEVEL", + "geoname_id": 1793898, + "sub_districts": [] + }, + { + "code": "510923", + "name": "大英", + "level": "THREE_LEVEL", + "geoname_id": 6642906, + "sub_districts": [] + }, + { + "code": "510921", + "name": "蓬溪", + "level": "THREE_LEVEL", + "geoname_id": 1798904, + "sub_districts": [] + }, + { + "code": "5109810000001", + "name": "射洪", + "level": "THREE_LEVEL", + "geoname_id": 1795715, + "sub_districts": [] + } + ] + }, + { + "code": "511800", + "name": "雅安", + "level": "TWO_LEVEL", + "geoname_id": 1787815, + "sub_districts": [ + { + "code": "511827", + "name": "宝兴", + "level": "THREE_LEVEL", + "geoname_id": 1816898, + "sub_districts": [] + }, + { + "code": "511823", + "name": "汉源", + "level": "THREE_LEVEL", + "geoname_id": 1808860, + "sub_districts": [] + }, + { + "code": "511826", + "name": "芦山", + "level": "THREE_LEVEL", + "geoname_id": 1801737, + "sub_districts": [] + }, + { + "code": "511803", + "name": "名山", + "level": "THREE_LEVEL", + "geoname_id": 1800500, + "sub_districts": [] + }, + { + "code": "511824", + "name": "石棉", + "level": "THREE_LEVEL", + "geoname_id": 1795102, + "sub_districts": [] + }, + { + "code": "511825", + "name": "天全", + "level": "THREE_LEVEL", + "geoname_id": 1792904, + "sub_districts": [] + }, + { + "code": "511802", + "name": "雨城", + "level": "THREE_LEVEL", + "geoname_id": 1787814, + "sub_districts": [] + }, + { + "code": "511822", + "name": "荥经", + "level": "THREE_LEVEL", + "geoname_id": 1786611, + "sub_districts": [] + } + ] + }, + { + "code": "511500", + "name": "宜宾", + "level": "TWO_LEVEL", + "geoname_id": 1786770, + "sub_districts": [ + { + "code": "511524", + "name": "长宁", + "level": "THREE_LEVEL", + "geoname_id": 1815607, + "sub_districts": [] + }, + { + "code": "511502", + "name": "翠屏", + "level": "THREE_LEVEL", + "geoname_id": 1786768, + "sub_districts": [] + }, + { + "code": "511525", + "name": "高县", + "level": "THREE_LEVEL", + "geoname_id": 1810340, + "sub_districts": [] + }, + { + "code": "511526", + "name": "珙县", + "level": "THREE_LEVEL", + "geoname_id": 1810079, + "sub_districts": [] + }, + { + "code": "511523", + "name": "江安", + "level": "THREE_LEVEL", + "geoname_id": 1806417, + "sub_districts": [] + }, + { + "code": "511527", + "name": "筠连", + "level": "THREE_LEVEL", + "geoname_id": 1804933, + "sub_districts": [] + }, + { + "code": "511503", + "name": "南溪", + "level": "THREE_LEVEL", + "geoname_id": 1799645, + "sub_districts": [] + }, + { + "code": "511529", + "name": "屏山", + "level": "THREE_LEVEL", + "geoname_id": 1798699, + "sub_districts": [] + }, + { + "code": "511528", + "name": "兴文", + "level": "THREE_LEVEL", + "geoname_id": 1788914, + "sub_districts": [] + }, + { + "code": "5115040000001", + "name": "叙州", + "level": "THREE_LEVEL", + "geoname_id": 511521, + "sub_districts": [] + } + ] + }, + { + "code": "510300", + "name": "自贡", + "level": "TWO_LEVEL", + "geoname_id": 1783745, + "sub_districts": [ + { + "code": "510304", + "name": "大安", + "level": "THREE_LEVEL", + "geoname_id": 6642898, + "sub_districts": [] + }, + { + "code": "510322", + "name": "富顺", + "level": "THREE_LEVEL", + "geoname_id": 1810901, + "sub_districts": [] + }, + { + "code": "510303", + "name": "贡井", + "level": "THREE_LEVEL", + "geoname_id": 6642901, + "sub_districts": [] + }, + { + "code": "510321", + "name": "荣县", + "level": "THREE_LEVEL", + "geoname_id": 1797087, + "sub_districts": [] + }, + { + "code": "510311", + "name": "沿滩", + "level": "THREE_LEVEL", + "geoname_id": 6642900, + "sub_districts": [] + }, + { + "code": "510302", + "name": "自流井", + "level": "THREE_LEVEL", + "geoname_id": 6642899, + "sub_districts": [] + } + ] + }, + { + "code": "512000", + "name": "资阳", + "level": "TWO_LEVEL", + "geoname_id": 8594180, + "sub_districts": [ + { + "code": "512021", + "name": "安岳", + "level": "THREE_LEVEL", + "geoname_id": 1817929, + "sub_districts": [] + }, + { + "code": "512022", + "name": "乐至", + "level": "THREE_LEVEL", + "geoname_id": 1804128, + "sub_districts": [] + }, + { + "code": "512002", + "name": "雁江", + "level": "THREE_LEVEL", + "geoname_id": 1783680, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "37", + "name": "山东", + "level": "ONE_LEVEL", + "geoname_id": 1796328, + "sub_districts": [ + { + "code": "371600", + "name": "滨州", + "level": "TWO_LEVEL", + "geoname_id": 1816336, + "sub_districts": [ + { + "code": "371602", + "name": "滨城", + "level": "THREE_LEVEL", + "geoname_id": 1816341, + "sub_districts": [] + }, + { + "code": "371625", + "name": "博兴", + "level": "THREE_LEVEL", + "geoname_id": 1816250, + "sub_districts": [] + }, + { + "code": "371621", + "name": "惠民", + "level": "THREE_LEVEL", + "geoname_id": 1806822, + "sub_districts": [] + }, + { + "code": "371623", + "name": "无棣", + "level": "THREE_LEVEL", + "geoname_id": 1791301, + "sub_districts": [] + }, + { + "code": "371622", + "name": "阳信", + "level": "THREE_LEVEL", + "geoname_id": 1787259, + "sub_districts": [] + }, + { + "code": "371603", + "name": "沾化", + "level": "THREE_LEVEL", + "geoname_id": 1784993, + "sub_districts": [] + }, + { + "code": "3716810000001", + "name": "邹平", + "level": "THREE_LEVEL", + "geoname_id": 1783640, + "sub_districts": [] + } + ] + }, + { + "code": "370500", + "name": "东营", + "level": "TWO_LEVEL", + "geoname_id": 1812101, + "sub_districts": [ + { + "code": "370502", + "name": "东营", + "level": "THREE_LEVEL", + "geoname_id": 6573958, + "sub_districts": [] + }, + { + "code": "370523", + "name": "广饶", + "level": "THREE_LEVEL", + "geoname_id": 1809882, + "sub_districts": [] + }, + { + "code": "370503", + "name": "河口", + "level": "THREE_LEVEL", + "geoname_id": 6573959, + "sub_districts": [] + }, + { + "code": "370505", + "name": "垦利", + "level": "THREE_LEVEL", + "geoname_id": 1804755, + "sub_districts": [] + }, + { + "code": "370522", + "name": "利津", + "level": "THREE_LEVEL", + "geoname_id": 1803630, + "sub_districts": [] + } + ] + }, + { + "code": "371400", + "name": "德州", + "level": "TWO_LEVEL", + "geoname_id": 1812955, + "sub_districts": [ + { + "code": "371402", + "name": "德城", + "level": "THREE_LEVEL", + "geoname_id": 6573957, + "sub_districts": [] + }, + { + "code": "371403", + "name": "陵城", + "level": "THREE_LEVEL", + "geoname_id": 1803437, + "sub_districts": [] + }, + { + "code": "371481", + "name": "乐陵", + "level": "THREE_LEVEL", + "geoname_id": 1804194, + "sub_districts": [] + }, + { + "code": "371424", + "name": "临邑", + "level": "THREE_LEVEL", + "geoname_id": 1803311, + "sub_districts": [] + }, + { + "code": "371422", + "name": "宁津", + "level": "THREE_LEVEL", + "geoname_id": 1799371, + "sub_districts": [] + }, + { + "code": "371426", + "name": "平原", + "level": "THREE_LEVEL", + "geoname_id": 1798620, + "sub_districts": [] + }, + { + "code": "371425", + "name": "齐河", + "level": "THREE_LEVEL", + "geoname_id": 1798048, + "sub_districts": [] + }, + { + "code": "371423", + "name": "庆云", + "level": "THREE_LEVEL", + "geoname_id": 1797614, + "sub_districts": [] + }, + { + "code": "371428", + "name": "武城", + "level": "THREE_LEVEL", + "geoname_id": 1791338, + "sub_districts": [] + }, + { + "code": "371427", + "name": "夏津", + "level": "THREE_LEVEL", + "geoname_id": 1790687, + "sub_districts": [] + }, + { + "code": "371482", + "name": "禹城", + "level": "THREE_LEVEL", + "geoname_id": 1785977, + "sub_districts": [] + } + ] + }, + { + "code": "371700", + "name": "菏泽", + "level": "TWO_LEVEL", + "geoname_id": 1808198, + "sub_districts": [ + { + "code": "371723", + "name": "成武", + "level": "THREE_LEVEL", + "geoname_id": 1815195, + "sub_districts": [] + }, + { + "code": "371721", + "name": "曹县", + "level": "THREE_LEVEL", + "geoname_id": 1815954, + "sub_districts": [] + }, + { + "code": "371728", + "name": "东明", + "level": "THREE_LEVEL", + "geoname_id": 1812351, + "sub_districts": [] + }, + { + "code": "371703", + "name": "定陶", + "level": "THREE_LEVEL", + "geoname_id": 1812753, + "sub_districts": [] + }, + { + "code": "371726", + "name": "鄄城", + "level": "THREE_LEVEL", + "geoname_id": 1804993, + "sub_districts": [] + }, + { + "code": "371724", + "name": "巨野", + "level": "THREE_LEVEL", + "geoname_id": 1804891, + "sub_districts": [] + }, + { + "code": "371702", + "name": "牡丹", + "level": "THREE_LEVEL", + "geoname_id": 6573987, + "sub_districts": [] + }, + { + "code": "371722", + "name": "单县", + "level": "THREE_LEVEL", + "geoname_id": 1795921, + "sub_districts": [] + }, + { + "code": "371725", + "name": "郓城", + "level": "THREE_LEVEL", + "geoname_id": 1785734, + "sub_districts": [] + } + ] + }, + { + "code": "370100", + "name": "济南", + "level": "TWO_LEVEL", + "geoname_id": 1805753, + "sub_districts": [ + { + "code": "370113", + "name": "长清", + "level": "THREE_LEVEL", + "geoname_id": 1815582, + "sub_districts": [] + }, + { + "code": "3701170000001", + "name": "钢城", + "level": "THREE_LEVEL", + "geoname_id": 6573944, + "sub_districts": [] + }, + { + "code": "370104", + "name": "槐荫", + "level": "THREE_LEVEL", + "geoname_id": 6573948, + "sub_districts": [] + }, + { + "code": "3701150000001", + "name": "济阳", + "level": "THREE_LEVEL", + "geoname_id": 1805018, + "sub_districts": [] + }, + { + "code": "370112", + "name": "历城", + "level": "THREE_LEVEL", + "geoname_id": 1803785, + "sub_districts": [] + }, + { + "code": "3701160000001", + "name": "莱芜", + "level": "THREE_LEVEL", + "geoname_id": 6573943, + "sub_districts": [] + }, + { + "code": "370102", + "name": "历下", + "level": "THREE_LEVEL", + "geoname_id": 6573950, + "sub_districts": [] + }, + { + "code": "370124", + "name": "平阴", + "level": "THREE_LEVEL", + "geoname_id": 1798631, + "sub_districts": [] + }, + { + "code": "370126", + "name": "商河", + "level": "THREE_LEVEL", + "geoname_id": 1796219, + "sub_districts": [] + }, + { + "code": "370103", + "name": "市中", + "level": "THREE_LEVEL", + "geoname_id": 370103, + "sub_districts": [] + }, + { + "code": "370105", + "name": "天桥", + "level": "THREE_LEVEL", + "geoname_id": 6573949, + "sub_districts": [] + }, + { + "code": "3701140000001", + "name": "章丘", + "level": "THREE_LEVEL", + "geoname_id": 1785093, + "sub_districts": [] + } + ] + }, + { + "code": "370800", + "name": "济宁", + "level": "TWO_LEVEL", + "geoname_id": 1805518, + "sub_districts": [ + { + "code": "370828", + "name": "金乡", + "level": "THREE_LEVEL", + "geoname_id": 1805329, + "sub_districts": [] + }, + { + "code": "370829", + "name": "嘉祥", + "level": "THREE_LEVEL", + "geoname_id": 1805954, + "sub_districts": [] + }, + { + "code": "370832", + "name": "梁山", + "level": "THREE_LEVEL", + "geoname_id": 1803985, + "sub_districts": [] + }, + { + "code": "370881", + "name": "曲阜", + "level": "THREE_LEVEL", + "geoname_id": 1797333, + "sub_districts": [] + }, + { + "code": "370811", + "name": "任城", + "level": "THREE_LEVEL", + "geoname_id": 6573986, + "sub_districts": [] + }, + { + "code": "370831", + "name": "泗水", + "level": "THREE_LEVEL", + "geoname_id": 1794139, + "sub_districts": [] + }, + { + "code": "370826", + "name": "微山", + "level": "THREE_LEVEL", + "geoname_id": 1791613, + "sub_districts": [] + }, + { + "code": "370830", + "name": "汶上", + "level": "THREE_LEVEL", + "geoname_id": 1791426, + "sub_districts": [] + }, + { + "code": "370827", + "name": "鱼台", + "level": "THREE_LEVEL", + "geoname_id": 1785606, + "sub_districts": [] + }, + { + "code": "370812", + "name": "兖州", + "level": "THREE_LEVEL", + "geoname_id": 1787030, + "sub_districts": [] + }, + { + "code": "370883", + "name": "邹城", + "level": "THREE_LEVEL", + "geoname_id": 1783633, + "sub_districts": [] + } + ] + }, + { + "code": "371500", + "name": "聊城", + "level": "TWO_LEVEL", + "geoname_id": 1803834, + "sub_districts": [ + { + "code": "3715030000001", + "name": "茌平", + "level": "THREE_LEVEL", + "geoname_id": 1814985, + "sub_districts": [] + }, + { + "code": "371502", + "name": "东昌府", + "level": "THREE_LEVEL", + "geoname_id": 6573956, + "sub_districts": [] + }, + { + "code": "371524", + "name": "东阿", + "level": "THREE_LEVEL", + "geoname_id": 1812593, + "sub_districts": [] + }, + { + "code": "371526", + "name": "高唐", + "level": "THREE_LEVEL", + "geoname_id": 1810357, + "sub_districts": [] + }, + { + "code": "371525", + "name": "冠县", + "level": "THREE_LEVEL", + "geoname_id": 1809727, + "sub_districts": [] + }, + { + "code": "371581", + "name": "临清", + "level": "THREE_LEVEL", + "geoname_id": 1803366, + "sub_districts": [] + }, + { + "code": "371522", + "name": "莘县", + "level": "THREE_LEVEL", + "geoname_id": 1795581, + "sub_districts": [] + }, + { + "code": "371521", + "name": "阳谷", + "level": "THREE_LEVEL", + "geoname_id": 1787593, + "sub_districts": [] + } + ] + }, + { + "code": "371300", + "name": "临沂", + "level": "TWO_LEVEL", + "geoname_id": 1803316, + "sub_districts": [ + { + "code": "371325", + "name": "费县", + "level": "THREE_LEVEL", + "geoname_id": 1811441, + "sub_districts": [] + }, + { + "code": "371312", + "name": "河东", + "level": "THREE_LEVEL", + "geoname_id": 6573978, + "sub_districts": [] + }, + { + "code": "371327", + "name": "莒南", + "level": "THREE_LEVEL", + "geoname_id": 1804953, + "sub_districts": [] + }, + { + "code": "371324", + "name": "兰陵", + "level": "THREE_LEVEL", + "geoname_id": 371324, + "sub_districts": [] + }, + { + "code": "371302", + "name": "兰山", + "level": "THREE_LEVEL", + "geoname_id": 6573976, + "sub_districts": [] + }, + { + "code": "371329", + "name": "临沭", + "level": "THREE_LEVEL", + "geoname_id": 1803350, + "sub_districts": [] + }, + { + "code": "371311", + "name": "罗庄", + "level": "THREE_LEVEL", + "geoname_id": 6573977, + "sub_districts": [] + }, + { + "code": "371328", + "name": "蒙阴", + "level": "THREE_LEVEL", + "geoname_id": 1800674, + "sub_districts": [] + }, + { + "code": "371326", + "name": "平邑", + "level": "THREE_LEVEL", + "geoname_id": 1798630, + "sub_districts": [] + }, + { + "code": "371322", + "name": "郯城", + "level": "THREE_LEVEL", + "geoname_id": 1793473, + "sub_districts": [] + }, + { + "code": "371321", + "name": "沂南", + "level": "THREE_LEVEL", + "geoname_id": 1786662, + "sub_districts": [] + }, + { + "code": "371323", + "name": "沂水", + "level": "THREE_LEVEL", + "geoname_id": 1786452, + "sub_districts": [] + } + ] + }, + { + "code": "370200", + "name": "青岛", + "level": "TWO_LEVEL", + "geoname_id": 1797929, + "sub_districts": [ + { + "code": "370214", + "name": "城阳", + "level": "THREE_LEVEL", + "geoname_id": 6573973, + "sub_districts": [] + }, + { + "code": "370211", + "name": "黄岛", + "level": "THREE_LEVEL", + "geoname_id": 6573972, + "sub_districts": [] + }, + { + "code": "3702150000001", + "name": "即墨", + "level": "THREE_LEVEL", + "geoname_id": 1805756, + "sub_districts": [] + }, + { + "code": "370281", + "name": "胶州", + "level": "THREE_LEVEL", + "geoname_id": 1806003, + "sub_districts": [] + }, + { + "code": "370213", + "name": "李沧", + "level": "THREE_LEVEL", + "geoname_id": 6573974, + "sub_districts": [] + }, + { + "code": "370212", + "name": "崂山", + "level": "THREE_LEVEL", + "geoname_id": 1804332, + "sub_districts": [] + }, + { + "code": "370285", + "name": "莱西", + "level": "THREE_LEVEL", + "geoname_id": 1804588, + "sub_districts": [] + }, + { + "code": "370283", + "name": "平度", + "level": "THREE_LEVEL", + "geoname_id": 1798819, + "sub_districts": [] + }, + { + "code": "370203", + "name": "市北", + "level": "THREE_LEVEL", + "geoname_id": 6573970, + "sub_districts": [] + }, + { + "code": "370202", + "name": "市南", + "level": "THREE_LEVEL", + "geoname_id": 6573969, + "sub_districts": [] + } + ] + }, + { + "code": "371100", + "name": "日照", + "level": "TWO_LEVEL", + "geoname_id": 1797132, + "sub_districts": [ + { + "code": "371102", + "name": "东港", + "level": "THREE_LEVEL", + "geoname_id": 6573975, + "sub_districts": [] + }, + { + "code": "371122", + "name": "莒县", + "level": "THREE_LEVEL", + "geoname_id": 1804897, + "sub_districts": [] + }, + { + "code": "371103", + "name": "岚山", + "level": "THREE_LEVEL", + "geoname_id": 1818098, + "sub_districts": [] + }, + { + "code": "371121", + "name": "五莲", + "level": "THREE_LEVEL", + "geoname_id": 1791136, + "sub_districts": [] + } + ] + }, + { + "code": "370900", + "name": "泰安", + "level": "TWO_LEVEL", + "geoname_id": 1793722, + "sub_districts": [ + { + "code": "370923", + "name": "东平", + "level": "THREE_LEVEL", + "geoname_id": 1812323, + "sub_districts": [] + }, + { + "code": "370911", + "name": "岱岳", + "level": "THREE_LEVEL", + "geoname_id": 6573946, + "sub_districts": [] + }, + { + "code": "370983", + "name": "肥城", + "level": "THREE_LEVEL", + "geoname_id": 1811458, + "sub_districts": [] + }, + { + "code": "370921", + "name": "宁阳", + "level": "THREE_LEVEL", + "geoname_id": 1799347, + "sub_districts": [] + }, + { + "code": "370902", + "name": "泰山", + "level": "THREE_LEVEL", + "geoname_id": 6573945, + "sub_districts": [] + }, + { + "code": "370982", + "name": "新泰", + "level": "THREE_LEVEL", + "geoname_id": 1788616, + "sub_districts": [] + } + ] + }, + { + "code": "370700", + "name": "潍坊", + "level": "TWO_LEVEL", + "geoname_id": 1791681, + "sub_districts": [ + { + "code": "370784", + "name": "安丘", + "level": "THREE_LEVEL", + "geoname_id": 1817989, + "sub_districts": [] + }, + { + "code": "370725", + "name": "昌乐", + "level": "THREE_LEVEL", + "geoname_id": 1815661, + "sub_districts": [] + }, + { + "code": "370786", + "name": "昌邑", + "level": "THREE_LEVEL", + "geoname_id": 1815479, + "sub_districts": [] + }, + { + "code": "370704", + "name": "坊子", + "level": "THREE_LEVEL", + "geoname_id": 6573962, + "sub_districts": [] + }, + { + "code": "370785", + "name": "高密", + "level": "THREE_LEVEL", + "geoname_id": 1810451, + "sub_districts": [] + }, + { + "code": "370703", + "name": "寒亭", + "level": "THREE_LEVEL", + "geoname_id": 6573961, + "sub_districts": [] + }, + { + "code": "370705", + "name": "奎文", + "level": "THREE_LEVEL", + "geoname_id": 6573963, + "sub_districts": [] + }, + { + "code": "370724", + "name": "临朐", + "level": "THREE_LEVEL", + "geoname_id": 1803360, + "sub_districts": [] + }, + { + "code": "370781", + "name": "青州", + "level": "THREE_LEVEL", + "geoname_id": 1797603, + "sub_districts": [] + }, + { + "code": "370783", + "name": "寿光", + "level": "THREE_LEVEL", + "geoname_id": 1794793, + "sub_districts": [] + }, + { + "code": "370702", + "name": "潍城", + "level": "THREE_LEVEL", + "geoname_id": 6573960, + "sub_districts": [] + }, + { + "code": "370782", + "name": "诸城", + "level": "THREE_LEVEL", + "geoname_id": 1783987, + "sub_districts": [] + } + ] + }, + { + "code": "371000", + "name": "威海", + "level": "TWO_LEVEL", + "geoname_id": 1791673, + "sub_districts": [ + { + "code": "371002", + "name": "环翠", + "level": "THREE_LEVEL", + "geoname_id": 6573968, + "sub_districts": [] + }, + { + "code": "371082", + "name": "荣成", + "level": "THREE_LEVEL", + "geoname_id": 1786855, + "sub_districts": [] + }, + { + "code": "371083", + "name": "乳山", + "level": "THREE_LEVEL", + "geoname_id": 8541400, + "sub_districts": [] + }, + { + "code": "371003", + "name": "文登", + "level": "THREE_LEVEL", + "geoname_id": 1791526, + "sub_districts": [] + } + ] + }, + { + "code": "370600", + "name": "烟台", + "level": "TWO_LEVEL", + "geoname_id": 1787093, + "sub_districts": [ + { + "code": "370611", + "name": "福山", + "level": "THREE_LEVEL", + "geoname_id": 1810920, + "sub_districts": [] + }, + { + "code": "370687", + "name": "海阳", + "level": "THREE_LEVEL", + "geoname_id": 1809017, + "sub_districts": [] + }, + { + "code": "370681", + "name": "龙口", + "level": "THREE_LEVEL", + "geoname_id": 1802548, + "sub_districts": [] + }, + { + "code": "370613", + "name": "莱山", + "level": "THREE_LEVEL", + "geoname_id": 6573966, + "sub_districts": [] + }, + { + "code": "370682", + "name": "莱阳", + "level": "THREE_LEVEL", + "geoname_id": 1804585, + "sub_districts": [] + }, + { + "code": "370683", + "name": "莱州", + "level": "THREE_LEVEL", + "geoname_id": 1804578, + "sub_districts": [] + }, + { + "code": "370612", + "name": "牟平", + "level": "THREE_LEVEL", + "geoname_id": 1800283, + "sub_districts": [] + }, + { + "code": "3706140000001", + "name": "蓬莱", + "level": "THREE_LEVEL", + "geoname_id": 1812988, + "sub_districts": [] + }, + { + "code": "370686", + "name": "栖霞", + "level": "THREE_LEVEL", + "geoname_id": 1797438, + "sub_districts": [] + }, + { + "code": "370602", + "name": "芝罘", + "level": "THREE_LEVEL", + "geoname_id": 6573964, + "sub_districts": [] + }, + { + "code": "370685", + "name": "招远", + "level": "THREE_LEVEL", + "geoname_id": 1784953, + "sub_districts": [] + } + ] + }, + { + "code": "370300", + "name": "淄博", + "level": "TWO_LEVEL", + "geoname_id": 1785286, + "sub_districts": [ + { + "code": "370304", + "name": "博山", + "level": "THREE_LEVEL", + "geoname_id": 6573951, + "sub_districts": [] + }, + { + "code": "370322", + "name": "高青", + "level": "THREE_LEVEL", + "geoname_id": 1810401, + "sub_districts": [] + }, + { + "code": "370321", + "name": "桓台", + "level": "THREE_LEVEL", + "geoname_id": 1807084, + "sub_districts": [] + }, + { + "code": "370305", + "name": "临淄", + "level": "THREE_LEVEL", + "geoname_id": 6573954, + "sub_districts": [] + }, + { + "code": "370323", + "name": "沂源", + "level": "THREE_LEVEL", + "geoname_id": 1786414, + "sub_districts": [] + }, + { + "code": "370302", + "name": "淄川", + "level": "THREE_LEVEL", + "geoname_id": 6573952, + "sub_districts": [] + }, + { + "code": "370306", + "name": "周村", + "level": "THREE_LEVEL", + "geoname_id": 6573953, + "sub_districts": [] + }, + { + "code": "370303", + "name": "张店", + "level": "THREE_LEVEL", + "geoname_id": 6573955, + "sub_districts": [] + } + ] + }, + { + "code": "370400", + "name": "枣庄", + "level": "TWO_LEVEL", + "geoname_id": 1785453, + "sub_districts": [ + { + "code": "370406", + "name": "山亭", + "level": "THREE_LEVEL", + "geoname_id": 6573983, + "sub_districts": [] + }, + { + "code": "370402", + "name": "市中", + "level": "THREE_LEVEL", + "geoname_id": 370402, + "sub_districts": [] + }, + { + "code": "370405", + "name": "台儿庄", + "level": "THREE_LEVEL", + "geoname_id": 6573982, + "sub_districts": [] + }, + { + "code": "370481", + "name": "滕州", + "level": "THREE_LEVEL", + "geoname_id": 1793036, + "sub_districts": [] + }, + { + "code": "370403", + "name": "薛城", + "level": "THREE_LEVEL", + "geoname_id": 6573980, + "sub_districts": [] + }, + { + "code": "370404", + "name": "峄城", + "level": "THREE_LEVEL", + "geoname_id": 6573981, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "31", + "name": "上海", + "level": "ONE_LEVEL", + "geoname_id": 1796231, + "sub_districts": [ + { + "code": "310000", + "name": "上海", + "level": "TWO_LEVEL", + "geoname_id": 1796236, + "sub_districts": [ + { + "code": "310113", + "name": "宝山", + "level": "THREE_LEVEL", + "geoname_id": 1816914, + "sub_districts": [] + }, + { + "code": "310151", + "name": "崇明", + "level": "THREE_LEVEL", + "geoname_id": 1814912, + "sub_districts": [] + }, + { + "code": "310105", + "name": "长宁", + "level": "THREE_LEVEL", + "geoname_id": 1815609, + "sub_districts": [] + }, + { + "code": "310120", + "name": "奉贤", + "level": "THREE_LEVEL", + "geoname_id": 1811193, + "sub_districts": [] + }, + { + "code": "310109", + "name": "虹口", + "level": "THREE_LEVEL", + "geoname_id": 1808089, + "sub_districts": [] + }, + { + "code": "310101", + "name": "黄浦", + "level": "THREE_LEVEL", + "geoname_id": 1807293, + "sub_districts": [] + }, + { + "code": "310106", + "name": "静安", + "level": "THREE_LEVEL", + "geoname_id": 1805695, + "sub_districts": [] + }, + { + "code": "310114", + "name": "嘉定", + "level": "THREE_LEVEL", + "geoname_id": 1806507, + "sub_districts": [] + }, + { + "code": "310116", + "name": "金山", + "level": "THREE_LEVEL", + "geoname_id": 1805390, + "sub_districts": [] + }, + { + "code": "310112", + "name": "闵行", + "level": "THREE_LEVEL", + "geoname_id": 6569431, + "sub_districts": [] + }, + { + "code": "310115", + "name": "浦东", + "level": "THREE_LEVEL", + "geoname_id": 1798524, + "sub_districts": [] + }, + { + "code": "310107", + "name": "普陀", + "level": "THREE_LEVEL", + "geoname_id": 1798438, + "sub_districts": [] + }, + { + "code": "310118", + "name": "青浦", + "level": "THREE_LEVEL", + "geoname_id": 1797797, + "sub_districts": [] + }, + { + "code": "310117", + "name": "松江", + "level": "THREE_LEVEL", + "geoname_id": 1794034, + "sub_districts": [] + }, + { + "code": "310104", + "name": "徐汇", + "level": "THREE_LEVEL", + "geoname_id": 1787956, + "sub_districts": [] + }, + { + "code": "310110", + "name": "杨浦", + "level": "THREE_LEVEL", + "geoname_id": 1787372, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "14", + "name": "山西", + "level": "ONE_LEVEL", + "geoname_id": 1795912, + "sub_districts": [ + { + "code": "140400", + "name": "长治", + "level": "TWO_LEVEL", + "geoname_id": 1808956, + "sub_districts": [ + { + "code": "140427", + "name": "壶关", + "level": "THREE_LEVEL", + "geoname_id": 1806901, + "sub_districts": [] + }, + { + "code": "1404060000001", + "name": "潞城", + "level": "THREE_LEVEL", + "geoname_id": 1802164, + "sub_districts": [] + }, + { + "code": "140426", + "name": "黎城", + "level": "THREE_LEVEL", + "geoname_id": 1803786, + "sub_districts": [] + }, + { + "code": "140403", + "name": "潞州", + "level": "THREE_LEVEL", + "geoname_id": 140403, + "sub_districts": [] + }, + { + "code": "140425", + "name": "平顺", + "level": "THREE_LEVEL", + "geoname_id": 1798688, + "sub_districts": [] + }, + { + "code": "140430", + "name": "沁县", + "level": "THREE_LEVEL", + "geoname_id": 1797560, + "sub_districts": [] + }, + { + "code": "140431", + "name": "沁源", + "level": "THREE_LEVEL", + "geoname_id": 1797553, + "sub_districts": [] + }, + { + "code": "1404040000001", + "name": "上党", + "level": "THREE_LEVEL", + "geoname_id": 140421, + "sub_districts": [] + }, + { + "code": "1404050000001", + "name": "屯留", + "level": "THREE_LEVEL", + "geoname_id": 1792364, + "sub_districts": [] + }, + { + "code": "140429", + "name": "武乡", + "level": "THREE_LEVEL", + "geoname_id": 1790914, + "sub_districts": [] + }, + { + "code": "140423", + "name": "襄垣", + "level": "THREE_LEVEL", + "geoname_id": 1790444, + "sub_districts": [] + }, + { + "code": "140428", + "name": "长子", + "level": "THREE_LEVEL", + "geoname_id": 1784996, + "sub_districts": [] + } + ] + }, + { + "code": "140200", + "name": "大同", + "level": "TWO_LEVEL", + "geoname_id": 2037799, + "sub_districts": [ + { + "code": "140223", + "name": "广灵", + "level": "THREE_LEVEL", + "geoname_id": 1809907, + "sub_districts": [] + }, + { + "code": "140225", + "name": "浑源", + "level": "THREE_LEVEL", + "geoname_id": 1806686, + "sub_districts": [] + }, + { + "code": "140224", + "name": "灵丘", + "level": "THREE_LEVEL", + "geoname_id": 1803485, + "sub_districts": [] + }, + { + "code": "140213", + "name": "平城", + "level": "THREE_LEVEL", + "geoname_id": 140213, + "sub_districts": [] + }, + { + "code": "140222", + "name": "天镇", + "level": "THREE_LEVEL", + "geoname_id": 2034450, + "sub_districts": [] + }, + { + "code": "140212", + "name": "新荣", + "level": "THREE_LEVEL", + "geoname_id": 6642580, + "sub_districts": [] + }, + { + "code": "140214", + "name": "云冈", + "level": "THREE_LEVEL", + "geoname_id": 140214, + "sub_districts": [] + }, + { + "code": "140221", + "name": "阳高", + "level": "THREE_LEVEL", + "geoname_id": 2033509, + "sub_districts": [] + }, + { + "code": "1402150000001", + "name": "云州", + "level": "THREE_LEVEL", + "geoname_id": 140227, + "sub_districts": [] + }, + { + "code": "140226", + "name": "左云", + "level": "THREE_LEVEL", + "geoname_id": 1783586, + "sub_districts": [] + } + ] + }, + { + "code": "140500", + "name": "晋城", + "level": "TWO_LEVEL", + "geoname_id": 1805739, + "sub_districts": [ + { + "code": "140581", + "name": "高平", + "level": "THREE_LEVEL", + "geoname_id": 1810434, + "sub_districts": [] + }, + { + "code": "140502", + "name": "城区", + "level": "THREE_LEVEL", + "geoname_id": 8053996, + "sub_districts": [] + }, + { + "code": "140524", + "name": "陵川", + "level": "THREE_LEVEL", + "geoname_id": 1803544, + "sub_districts": [] + }, + { + "code": "140521", + "name": "沁水", + "level": "THREE_LEVEL", + "geoname_id": 1797567, + "sub_districts": [] + }, + { + "code": "140522", + "name": "阳城", + "level": "THREE_LEVEL", + "geoname_id": 1787662, + "sub_districts": [] + }, + { + "code": "140525", + "name": "泽州", + "level": "THREE_LEVEL", + "geoname_id": 6642566, + "sub_districts": [] + } + ] + }, + { + "code": "140700", + "name": "晋中", + "level": "TWO_LEVEL", + "geoname_id": 1805302, + "sub_districts": [ + { + "code": "140723", + "name": "和顺", + "level": "THREE_LEVEL", + "geoname_id": 1808273, + "sub_districts": [] + }, + { + "code": "140781", + "name": "介休", + "level": "THREE_LEVEL", + "geoname_id": 1805832, + "sub_districts": [] + }, + { + "code": "140729", + "name": "灵石", + "level": "THREE_LEVEL", + "geoname_id": 1803467, + "sub_districts": [] + }, + { + "code": "140728", + "name": "平遥", + "level": "THREE_LEVEL", + "geoname_id": 1798635, + "sub_districts": [] + }, + { + "code": "140727", + "name": "祁县", + "level": "THREE_LEVEL", + "geoname_id": 1797435, + "sub_districts": [] + }, + { + "code": "140725", + "name": "寿阳", + "level": "THREE_LEVEL", + "geoname_id": 1794777, + "sub_districts": [] + }, + { + "code": "1407030000001", + "name": "太谷", + "level": "THREE_LEVEL", + "geoname_id": 1793690, + "sub_districts": [] + }, + { + "code": "140724", + "name": "昔阳", + "level": "THREE_LEVEL", + "geoname_id": 1788158, + "sub_districts": [] + }, + { + "code": "140702", + "name": "榆次", + "level": "THREE_LEVEL", + "geoname_id": 1785973, + "sub_districts": [] + }, + { + "code": "140721", + "name": "榆社", + "level": "THREE_LEVEL", + "geoname_id": 1785613, + "sub_districts": [] + }, + { + "code": "140722", + "name": "左权", + "level": "THREE_LEVEL", + "geoname_id": 1783599, + "sub_districts": [] + } + ] + }, + { + "code": "141000", + "name": "临汾", + "level": "TWO_LEVEL", + "geoname_id": 1803567, + "sub_districts": [ + { + "code": "141026", + "name": "安泽", + "level": "THREE_LEVEL", + "geoname_id": 1817927, + "sub_districts": [] + }, + { + "code": "141030", + "name": "大宁", + "level": "THREE_LEVEL", + "geoname_id": 1813835, + "sub_districts": [] + }, + { + "code": "141027", + "name": "浮山", + "level": "THREE_LEVEL", + "geoname_id": 1810916, + "sub_districts": [] + }, + { + "code": "141034", + "name": "汾西", + "level": "THREE_LEVEL", + "geoname_id": 1811118, + "sub_districts": [] + }, + { + "code": "141025", + "name": "古县", + "level": "THREE_LEVEL", + "geoname_id": 1809191, + "sub_districts": [] + }, + { + "code": "141024", + "name": "洪洞", + "level": "THREE_LEVEL", + "geoname_id": 1807980, + "sub_districts": [] + }, + { + "code": "141081", + "name": "侯马", + "level": "THREE_LEVEL", + "geoname_id": 1807818, + "sub_districts": [] + }, + { + "code": "141082", + "name": "霍州", + "level": "THREE_LEVEL", + "geoname_id": 1806624, + "sub_districts": [] + }, + { + "code": "141028", + "name": "吉县", + "level": "THREE_LEVEL", + "geoname_id": 1805030, + "sub_districts": [] + }, + { + "code": "141033", + "name": "蒲县", + "level": "THREE_LEVEL", + "geoname_id": 1798428, + "sub_districts": [] + }, + { + "code": "141021", + "name": "曲沃", + "level": "THREE_LEVEL", + "geoname_id": 1797286, + "sub_districts": [] + }, + { + "code": "141023", + "name": "襄汾", + "level": "THREE_LEVEL", + "geoname_id": 1790584, + "sub_districts": [] + }, + { + "code": "141029", + "name": "乡宁", + "level": "THREE_LEVEL", + "geoname_id": 1790533, + "sub_districts": [] + }, + { + "code": "141031", + "name": "隰县", + "level": "THREE_LEVEL", + "geoname_id": 1788209, + "sub_districts": [] + }, + { + "code": "141022", + "name": "翼城", + "level": "THREE_LEVEL", + "geoname_id": 1786756, + "sub_districts": [] + }, + { + "code": "141002", + "name": "尧都", + "level": "THREE_LEVEL", + "geoname_id": 6642564, + "sub_districts": [] + }, + { + "code": "141032", + "name": "永和", + "level": "THREE_LEVEL", + "geoname_id": 1786331, + "sub_districts": [] + } + ] + }, + { + "code": "141100", + "name": "吕梁", + "level": "TWO_LEVEL", + "geoname_id": 1802029, + "sub_districts": [ + { + "code": "141128", + "name": "方山", + "level": "THREE_LEVEL", + "geoname_id": 1811540, + "sub_districts": [] + }, + { + "code": "141182", + "name": "汾阳", + "level": "THREE_LEVEL", + "geoname_id": 1811115, + "sub_districts": [] + }, + { + "code": "141122", + "name": "交城", + "level": "THREE_LEVEL", + "geoname_id": 1806093, + "sub_districts": [] + }, + { + "code": "141130", + "name": "交口", + "level": "THREE_LEVEL", + "geoname_id": 1806048, + "sub_districts": [] + }, + { + "code": "141125", + "name": "柳林", + "level": "THREE_LEVEL", + "geoname_id": 1802979, + "sub_districts": [] + }, + { + "code": "141102", + "name": "离石", + "level": "THREE_LEVEL", + "geoname_id": 1803255, + "sub_districts": [] + }, + { + "code": "141124", + "name": "临县", + "level": "THREE_LEVEL", + "geoname_id": 1803328, + "sub_districts": [] + }, + { + "code": "141127", + "name": "岚县", + "level": "THREE_LEVEL", + "geoname_id": 1804438, + "sub_districts": [] + }, + { + "code": "141126", + "name": "石楼", + "level": "THREE_LEVEL", + "geoname_id": 1795169, + "sub_districts": [] + }, + { + "code": "141121", + "name": "文水", + "level": "THREE_LEVEL", + "geoname_id": 1791419, + "sub_districts": [] + }, + { + "code": "141123", + "name": "兴县", + "level": "THREE_LEVEL", + "geoname_id": 1788913, + "sub_districts": [] + }, + { + "code": "141181", + "name": "孝义", + "level": "THREE_LEVEL", + "geoname_id": 1789888, + "sub_districts": [] + }, + { + "code": "141129", + "name": "中阳", + "level": "THREE_LEVEL", + "geoname_id": 1784234, + "sub_districts": [] + } + ] + }, + { + "code": "140600", + "name": "朔州", + "level": "TWO_LEVEL", + "geoname_id": 6642609, + "sub_districts": [ + { + "code": "1406810000001", + "name": "怀仁", + "level": "THREE_LEVEL", + "geoname_id": 1807670, + "sub_districts": [] + }, + { + "code": "140603", + "name": "平鲁", + "level": "THREE_LEVEL", + "geoname_id": 1798740, + "sub_districts": [] + }, + { + "code": "140602", + "name": "朔城", + "level": "THREE_LEVEL", + "geoname_id": 1794329, + "sub_districts": [] + }, + { + "code": "140621", + "name": "山阴", + "level": "THREE_LEVEL", + "geoname_id": 1795899, + "sub_districts": [] + }, + { + "code": "140622", + "name": "应县", + "level": "THREE_LEVEL", + "geoname_id": 1786560, + "sub_districts": [] + }, + { + "code": "140623", + "name": "右玉", + "level": "THREE_LEVEL", + "geoname_id": 1786132, + "sub_districts": [] + } + ] + }, + { + "code": "140100", + "name": "太原", + "level": "TWO_LEVEL", + "geoname_id": 1793511, + "sub_districts": [ + { + "code": "140181", + "name": "古交", + "level": "THREE_LEVEL", + "geoname_id": 6643157, + "sub_districts": [] + }, + { + "code": "140108", + "name": "尖草坪", + "level": "THREE_LEVEL", + "geoname_id": 6642575, + "sub_districts": [] + }, + { + "code": "140110", + "name": "晋源", + "level": "THREE_LEVEL", + "geoname_id": 6642569, + "sub_districts": [] + }, + { + "code": "140123", + "name": "娄烦", + "level": "THREE_LEVEL", + "geoname_id": 1802229, + "sub_districts": [] + }, + { + "code": "1401210000003", + "name": "清徐", + "level": "THREE_LEVEL", + "geoname_id": 1797661, + "sub_districts": [] + }, + { + "code": "140109", + "name": "万柏林", + "level": "THREE_LEVEL", + "geoname_id": 6642572, + "sub_districts": [] + }, + { + "code": "1401050000003", + "name": "小店", + "level": "THREE_LEVEL", + "geoname_id": 6642570, + "sub_districts": [] + }, + { + "code": "140107", + "name": "杏花岭", + "level": "THREE_LEVEL", + "geoname_id": 6642574, + "sub_districts": [] + }, + { + "code": "140122", + "name": "阳曲", + "level": "THREE_LEVEL", + "geoname_id": 1787344, + "sub_districts": [] + }, + { + "code": "140106", + "name": "迎泽", + "level": "THREE_LEVEL", + "geoname_id": 6642573, + "sub_districts": [] + } + ] + }, + { + "code": "140900", + "name": "忻州", + "level": "TWO_LEVEL", + "geoname_id": 1788450, + "sub_districts": [ + { + "code": "140931", + "name": "保德", + "level": "THREE_LEVEL", + "geoname_id": 1816977, + "sub_districts": [] + }, + { + "code": "140923", + "name": "代县", + "level": "THREE_LEVEL", + "geoname_id": 1814215, + "sub_districts": [] + }, + { + "code": "140921", + "name": "定襄", + "level": "THREE_LEVEL", + "geoname_id": 1812746, + "sub_districts": [] + }, + { + "code": "140924", + "name": "繁峙", + "level": "THREE_LEVEL", + "geoname_id": 1811477, + "sub_districts": [] + }, + { + "code": "140930", + "name": "河曲", + "level": "THREE_LEVEL", + "geoname_id": 1808321, + "sub_districts": [] + }, + { + "code": "140926", + "name": "静乐", + "level": "THREE_LEVEL", + "geoname_id": 1805621, + "sub_districts": [] + }, + { + "code": "140929", + "name": "岢岚", + "level": "THREE_LEVEL", + "geoname_id": 1804774, + "sub_districts": [] + }, + { + "code": "140925", + "name": "宁武", + "level": "THREE_LEVEL", + "geoname_id": 1799357, + "sub_districts": [] + }, + { + "code": "140932", + "name": "偏关", + "level": "THREE_LEVEL", + "geoname_id": 1798887, + "sub_districts": [] + }, + { + "code": "140927", + "name": "神池", + "level": "THREE_LEVEL", + "geoname_id": 1795700, + "sub_districts": [] + }, + { + "code": "1409710000001", + "name": "五台山风景名胜", + "level": "THREE_LEVEL", + "geoname_id": 60000479, + "sub_districts": [] + }, + { + "code": "140922", + "name": "五台", + "level": "THREE_LEVEL", + "geoname_id": 1790954, + "sub_districts": [] + }, + { + "code": "140928", + "name": "五寨", + "level": "THREE_LEVEL", + "geoname_id": 1790852, + "sub_districts": [] + }, + { + "code": "140902", + "name": "忻府", + "level": "THREE_LEVEL", + "geoname_id": 1788447, + "sub_districts": [] + }, + { + "code": "140981", + "name": "原平", + "level": "THREE_LEVEL", + "geoname_id": 1786060, + "sub_districts": [] + } + ] + }, + { + "code": "140800", + "name": "运城", + "level": "TWO_LEVEL", + "geoname_id": 1785738, + "sub_districts": [ + { + "code": "140882", + "name": "河津", + "level": "THREE_LEVEL", + "geoname_id": 1808593, + "sub_districts": [] + }, + { + "code": "140824", + "name": "稷山", + "level": "THREE_LEVEL", + "geoname_id": 1805277, + "sub_districts": [] + }, + { + "code": "140826", + "name": "绛县", + "level": "THREE_LEVEL", + "geoname_id": 1806233, + "sub_districts": [] + }, + { + "code": "140821", + "name": "临猗", + "level": "THREE_LEVEL", + "geoname_id": 1786458, + "sub_districts": [] + }, + { + "code": "140829", + "name": "平陆", + "level": "THREE_LEVEL", + "geoname_id": 1798741, + "sub_districts": [] + }, + { + "code": "140830", + "name": "芮城", + "level": "THREE_LEVEL", + "geoname_id": 1797059, + "sub_districts": [] + }, + { + "code": "140822", + "name": "万荣", + "level": "THREE_LEVEL", + "geoname_id": 1789586, + "sub_districts": [] + }, + { + "code": "140823", + "name": "闻喜", + "level": "THREE_LEVEL", + "geoname_id": 1791400, + "sub_districts": [] + }, + { + "code": "140825", + "name": "新绛", + "level": "THREE_LEVEL", + "geoname_id": 1788796, + "sub_districts": [] + }, + { + "code": "140828", + "name": "夏县", + "level": "THREE_LEVEL", + "geoname_id": 1789753, + "sub_districts": [] + }, + { + "code": "140802", + "name": "盐湖", + "level": "THREE_LEVEL", + "geoname_id": 1785735, + "sub_districts": [] + }, + { + "code": "140881", + "name": "永济", + "level": "THREE_LEVEL", + "geoname_id": 1784818, + "sub_districts": [] + }, + { + "code": "140827", + "name": "垣曲", + "level": "THREE_LEVEL", + "geoname_id": 1786054, + "sub_districts": [] + } + ] + }, + { + "code": "140300", + "name": "阳泉", + "level": "TWO_LEVEL", + "geoname_id": 1787346, + "sub_districts": [ + { + "code": "140321", + "name": "平定", + "level": "THREE_LEVEL", + "geoname_id": 1798825, + "sub_districts": [] + }, + { + "code": "140302", + "name": "城区", + "level": "THREE_LEVEL", + "geoname_id": 8053962, + "sub_districts": [] + }, + { + "code": "140311", + "name": "郊区", + "level": "THREE_LEVEL", + "geoname_id": 1786487, + "sub_districts": [] + }, + { + "code": "140303", + "name": "矿区", + "level": "THREE_LEVEL", + "geoname_id": 8053963, + "sub_districts": [] + }, + { + "code": "140322", + "name": "盂县", + "level": "THREE_LEVEL", + "geoname_id": 1785568, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "61", + "name": "陕西", + "level": "ONE_LEVEL", + "geoname_id": 1796480, + "sub_districts": [ + { + "code": "610900", + "name": "安康", + "level": "TWO_LEVEL", + "geoname_id": 1789065, + "sub_districts": [ + { + "code": "610929", + "name": "白河", + "level": "THREE_LEVEL", + "geoname_id": 1817683, + "sub_districts": [] + }, + { + "code": "610902", + "name": "汉滨", + "level": "THREE_LEVEL", + "geoname_id": 9165898, + "sub_districts": [] + }, + { + "code": "610921", + "name": "汉阴", + "level": "THREE_LEVEL", + "geoname_id": 1808862, + "sub_districts": [] + }, + { + "code": "610925", + "name": "岚皋", + "level": "THREE_LEVEL", + "geoname_id": 1804549, + "sub_districts": [] + }, + { + "code": "610923", + "name": "宁陕", + "level": "THREE_LEVEL", + "geoname_id": 1799360, + "sub_districts": [] + }, + { + "code": "610926", + "name": "平利", + "level": "THREE_LEVEL", + "geoname_id": 1798750, + "sub_districts": [] + }, + { + "code": "610922", + "name": "石泉", + "level": "THREE_LEVEL", + "geoname_id": 1795022, + "sub_districts": [] + }, + { + "code": "6109810000001", + "name": "旬阳", + "level": "THREE_LEVEL", + "geoname_id": 1787871, + "sub_districts": [] + }, + { + "code": "610927", + "name": "镇坪", + "level": "THREE_LEVEL", + "geoname_id": 1784616, + "sub_districts": [] + }, + { + "code": "610924", + "name": "紫阳", + "level": "THREE_LEVEL", + "geoname_id": 1783679, + "sub_districts": [] + } + ] + }, + { + "code": "610300", + "name": "宝鸡", + "level": "TWO_LEVEL", + "geoname_id": 11417275, + "sub_districts": [ + { + "code": "610304", + "name": "陈仓", + "level": "THREE_LEVEL", + "geoname_id": 1809263, + "sub_districts": [] + }, + { + "code": "610324", + "name": "扶风", + "level": "THREE_LEVEL", + "geoname_id": 1811043, + "sub_districts": [] + }, + { + "code": "610330", + "name": "凤县", + "level": "THREE_LEVEL", + "geoname_id": 1794593, + "sub_districts": [] + }, + { + "code": "6103050000001", + "name": "凤翔", + "level": "THREE_LEVEL", + "geoname_id": 7353795, + "sub_districts": [] + }, + { + "code": "610303", + "name": "金台", + "level": "THREE_LEVEL", + "geoname_id": 6599417, + "sub_districts": [] + }, + { + "code": "610327", + "name": "陇县", + "level": "THREE_LEVEL", + "geoname_id": 1802302, + "sub_districts": [] + }, + { + "code": "610329", + "name": "麟游", + "level": "THREE_LEVEL", + "geoname_id": 1803310, + "sub_districts": [] + }, + { + "code": "610326", + "name": "眉县", + "level": "THREE_LEVEL", + "geoname_id": 7352544, + "sub_districts": [] + }, + { + "code": "610323", + "name": "岐山", + "level": "THREE_LEVEL", + "geoname_id": 1797503, + "sub_districts": [] + }, + { + "code": "610328", + "name": "千阳", + "level": "THREE_LEVEL", + "geoname_id": 7428592, + "sub_districts": [] + }, + { + "code": "610331", + "name": "太白", + "level": "THREE_LEVEL", + "geoname_id": 1793708, + "sub_districts": [] + }, + { + "code": "610302", + "name": "渭滨", + "level": "THREE_LEVEL", + "geoname_id": 6599416, + "sub_districts": [] + } + ] + }, + { + "code": "610700", + "name": "汉中", + "level": "TWO_LEVEL", + "geoname_id": 1808857, + "sub_districts": [ + { + "code": "610722", + "name": "城固", + "level": "THREE_LEVEL", + "geoname_id": 1815272, + "sub_districts": [] + }, + { + "code": "610730", + "name": "佛坪", + "level": "THREE_LEVEL", + "geoname_id": 1811104, + "sub_districts": [] + }, + { + "code": "610702", + "name": "汉台", + "level": "THREE_LEVEL", + "geoname_id": 6599419, + "sub_districts": [] + }, + { + "code": "610729", + "name": "留坝", + "level": "THREE_LEVEL", + "geoname_id": 1803208, + "sub_districts": [] + }, + { + "code": "610727", + "name": "略阳", + "level": "THREE_LEVEL", + "geoname_id": 1802135, + "sub_districts": [] + }, + { + "code": "610725", + "name": "勉县", + "level": "THREE_LEVEL", + "geoname_id": 1800630, + "sub_districts": [] + }, + { + "code": "610726", + "name": "宁强", + "level": "THREE_LEVEL", + "geoname_id": 1799361, + "sub_districts": [] + }, + { + "code": "6107030000001", + "name": "南郑", + "level": "THREE_LEVEL", + "geoname_id": 1799555, + "sub_districts": [] + }, + { + "code": "610724", + "name": "西乡", + "level": "THREE_LEVEL", + "geoname_id": 1788203, + "sub_districts": [] + }, + { + "code": "610723", + "name": "洋县", + "level": "THREE_LEVEL", + "geoname_id": 1787266, + "sub_districts": [] + }, + { + "code": "610728", + "name": "镇巴", + "level": "THREE_LEVEL", + "geoname_id": 1784739, + "sub_districts": [] + } + ] + }, + { + "code": "611000", + "name": "商洛", + "level": "TWO_LEVEL", + "geoname_id": 1796165, + "sub_districts": [ + { + "code": "611022", + "name": "丹凤", + "level": "THREE_LEVEL", + "geoname_id": 1813883, + "sub_districts": [] + }, + { + "code": "611021", + "name": "洛南", + "level": "THREE_LEVEL", + "geoname_id": 1801869, + "sub_districts": [] + }, + { + "code": "611023", + "name": "商南", + "level": "THREE_LEVEL", + "geoname_id": 1796151, + "sub_districts": [] + }, + { + "code": "611024", + "name": "山阳", + "level": "THREE_LEVEL", + "geoname_id": 1795903, + "sub_districts": [] + }, + { + "code": "611002", + "name": "商州", + "level": "THREE_LEVEL", + "geoname_id": 6599421, + "sub_districts": [] + }, + { + "code": "611025", + "name": "镇安", + "level": "THREE_LEVEL", + "geoname_id": 1784742, + "sub_districts": [] + }, + { + "code": "611026", + "name": "柞水", + "level": "THREE_LEVEL", + "geoname_id": 1784795, + "sub_districts": [] + } + ] + }, + { + "code": "610200", + "name": "铜川", + "level": "TWO_LEVEL", + "geoname_id": 7064006, + "sub_districts": [ + { + "code": "610202", + "name": "王益", + "level": "THREE_LEVEL", + "geoname_id": 6599414, + "sub_districts": [] + }, + { + "code": "610222", + "name": "宜君", + "level": "THREE_LEVEL", + "geoname_id": 1786692, + "sub_districts": [] + }, + { + "code": "610203", + "name": "印台", + "level": "THREE_LEVEL", + "geoname_id": 6599415, + "sub_districts": [] + }, + { + "code": "610204", + "name": "耀州", + "level": "THREE_LEVEL", + "geoname_id": 1786901, + "sub_districts": [] + } + ] + }, + { + "code": "610500", + "name": "渭南", + "level": "TWO_LEVEL", + "geoname_id": 1791636, + "sub_districts": [ + { + "code": "610527", + "name": "白水", + "level": "THREE_LEVEL", + "geoname_id": 1817355, + "sub_districts": [] + }, + { + "code": "610525", + "name": "澄城", + "level": "THREE_LEVEL", + "geoname_id": 1815300, + "sub_districts": [] + }, + { + "code": "610523", + "name": "大荔", + "level": "THREE_LEVEL", + "geoname_id": 1814024, + "sub_districts": [] + }, + { + "code": "610528", + "name": "富平", + "level": "THREE_LEVEL", + "geoname_id": 1810945, + "sub_districts": [] + }, + { + "code": "610581", + "name": "韩城", + "level": "THREE_LEVEL", + "geoname_id": 1808978, + "sub_districts": [] + }, + { + "code": "610582", + "name": "华阴", + "level": "THREE_LEVEL", + "geoname_id": 1806982, + "sub_districts": [] + }, + { + "code": "610524", + "name": "合阳", + "level": "THREE_LEVEL", + "geoname_id": 1808209, + "sub_districts": [] + }, + { + "code": "610503", + "name": "华州", + "level": "THREE_LEVEL", + "geoname_id": 1807005, + "sub_districts": [] + }, + { + "code": "610502", + "name": "临渭", + "level": "THREE_LEVEL", + "geoname_id": 7577125, + "sub_districts": [] + }, + { + "code": "610526", + "name": "蒲城", + "level": "THREE_LEVEL", + "geoname_id": 1798528, + "sub_districts": [] + }, + { + "code": "610522", + "name": "潼关", + "level": "THREE_LEVEL", + "geoname_id": 1792673, + "sub_districts": [] + } + ] + }, + { + "code": "610100", + "name": "西安", + "level": "TWO_LEVEL", + "geoname_id": 1790630, + "sub_districts": [ + { + "code": "610103", + "name": "碑林", + "level": "THREE_LEVEL", + "geoname_id": 6599410, + "sub_districts": [] + }, + { + "code": "610111", + "name": "灞桥", + "level": "THREE_LEVEL", + "geoname_id": 2001376, + "sub_districts": [] + }, + { + "code": "610116", + "name": "长安", + "level": "THREE_LEVEL", + "geoname_id": 1815800, + "sub_districts": [] + }, + { + "code": "610117", + "name": "高陵", + "level": "THREE_LEVEL", + "geoname_id": 1810475, + "sub_districts": [] + }, + { + "code": "6101180000001", + "name": "鄠邑", + "level": "THREE_LEVEL", + "geoname_id": 610125, + "sub_districts": [] + }, + { + "code": "610104", + "name": "莲湖", + "level": "THREE_LEVEL", + "geoname_id": 2001418, + "sub_districts": [] + }, + { + "code": "610115", + "name": "临潼", + "level": "THREE_LEVEL", + "geoname_id": 1803345, + "sub_districts": [] + }, + { + "code": "610122", + "name": "蓝田", + "level": "THREE_LEVEL", + "geoname_id": 1804446, + "sub_districts": [] + }, + { + "code": "610112", + "name": "未央", + "level": "THREE_LEVEL", + "geoname_id": 2001377, + "sub_districts": [] + }, + { + "code": "610102", + "name": "新城", + "level": "THREE_LEVEL", + "geoname_id": 2001379, + "sub_districts": [] + }, + { + "code": "610114", + "name": "阎良", + "level": "THREE_LEVEL", + "geoname_id": 6599411, + "sub_districts": [] + }, + { + "code": "610113", + "name": "雁塔", + "level": "THREE_LEVEL", + "geoname_id": 2001381, + "sub_districts": [] + }, + { + "code": "610124", + "name": "周至", + "level": "THREE_LEVEL", + "geoname_id": 1784075, + "sub_districts": [] + } + ] + }, + { + "code": "610400", + "name": "咸阳", + "level": "TWO_LEVEL", + "geoname_id": 1790353, + "sub_districts": [ + { + "code": "6104820000001", + "name": "彬州", + "level": "THREE_LEVEL", + "geoname_id": 610427, + "sub_districts": [] + }, + { + "code": "610430", + "name": "淳化", + "level": "THREE_LEVEL", + "geoname_id": 1814779, + "sub_districts": [] + }, + { + "code": "610428", + "name": "长武", + "level": "THREE_LEVEL", + "geoname_id": 1815508, + "sub_districts": [] + }, + { + "code": "610423", + "name": "泾阳", + "level": "THREE_LEVEL", + "geoname_id": 1805555, + "sub_districts": [] + }, + { + "code": "610425", + "name": "礼泉", + "level": "THREE_LEVEL", + "geoname_id": 1803280, + "sub_districts": [] + }, + { + "code": "610402", + "name": "秦都", + "level": "THREE_LEVEL", + "geoname_id": 2001073, + "sub_districts": [] + }, + { + "code": "610424", + "name": "乾县", + "level": "THREE_LEVEL", + "geoname_id": 1798229, + "sub_districts": [] + }, + { + "code": "610422", + "name": "三原", + "level": "THREE_LEVEL", + "geoname_id": 1796520, + "sub_districts": [] + }, + { + "code": "610404", + "name": "渭城", + "level": "THREE_LEVEL", + "geoname_id": 2001074, + "sub_districts": [] + }, + { + "code": "610431", + "name": "武功", + "level": "THREE_LEVEL", + "geoname_id": 1791261, + "sub_districts": [] + }, + { + "code": "610481", + "name": "兴平", + "level": "THREE_LEVEL", + "geoname_id": 1788947, + "sub_districts": [] + }, + { + "code": "610429", + "name": "旬邑", + "level": "THREE_LEVEL", + "geoname_id": 1787869, + "sub_districts": [] + }, + { + "code": "610403", + "name": "杨陵", + "level": "THREE_LEVEL", + "geoname_id": 1787458, + "sub_districts": [] + }, + { + "code": "610426", + "name": "永寿", + "level": "THREE_LEVEL", + "geoname_id": 1786262, + "sub_districts": [] + } + ] + }, + { + "code": "610600", + "name": "延安", + "level": "TWO_LEVEL", + "geoname_id": 1787763, + "sub_districts": [ + { + "code": "6106030000001", + "name": "安塞", + "level": "THREE_LEVEL", + "geoname_id": 1817976, + "sub_districts": [] + }, + { + "code": "610602", + "name": "宝塔", + "level": "THREE_LEVEL", + "geoname_id": 6599413, + "sub_districts": [] + }, + { + "code": "610628", + "name": "富县", + "level": "THREE_LEVEL", + "geoname_id": 1810877, + "sub_districts": [] + }, + { + "code": "610627", + "name": "甘泉", + "level": "THREE_LEVEL", + "geoname_id": 1810679, + "sub_districts": [] + }, + { + "code": "610631", + "name": "黄龙", + "level": "THREE_LEVEL", + "geoname_id": 1807357, + "sub_districts": [] + }, + { + "code": "610632", + "name": "黄陵", + "level": "THREE_LEVEL", + "geoname_id": 1807378, + "sub_districts": [] + }, + { + "code": "610629", + "name": "洛川", + "level": "THREE_LEVEL", + "geoname_id": 1801979, + "sub_districts": [] + }, + { + "code": "610626", + "name": "吴起", + "level": "THREE_LEVEL", + "geoname_id": 1791025, + "sub_districts": [] + }, + { + "code": "610621", + "name": "延长", + "level": "THREE_LEVEL", + "geoname_id": 1787748, + "sub_districts": [] + }, + { + "code": "610622", + "name": "延川", + "level": "THREE_LEVEL", + "geoname_id": 1787734, + "sub_districts": [] + }, + { + "code": "610630", + "name": "宜川", + "level": "THREE_LEVEL", + "geoname_id": 1786748, + "sub_districts": [] + }, + { + "code": "610625", + "name": "志丹", + "level": "THREE_LEVEL", + "geoname_id": 1784547, + "sub_districts": [] + }, + { + "code": "6106810000001", + "name": "子长", + "level": "THREE_LEVEL", + "geoname_id": 1783748, + "sub_districts": [] + } + ] + }, + { + "code": "610800", + "name": "榆林", + "level": "TWO_LEVEL", + "geoname_id": 1785769, + "sub_districts": [ + { + "code": "610825", + "name": "定边", + "level": "THREE_LEVEL", + "geoname_id": 1812822, + "sub_districts": [] + }, + { + "code": "610822", + "name": "府谷", + "level": "THREE_LEVEL", + "geoname_id": 1811037, + "sub_districts": [] + }, + { + "code": "610803", + "name": "横山", + "level": "THREE_LEVEL", + "geoname_id": 1808407, + "sub_districts": [] + }, + { + "code": "610824", + "name": "靖边", + "level": "THREE_LEVEL", + "geoname_id": 1805690, + "sub_districts": [] + }, + { + "code": "610828", + "name": "佳县", + "level": "THREE_LEVEL", + "geoname_id": 1805958, + "sub_districts": [] + }, + { + "code": "610827", + "name": "米脂", + "level": "THREE_LEVEL", + "geoname_id": 1800424, + "sub_districts": [] + }, + { + "code": "610830", + "name": "清涧", + "level": "THREE_LEVEL", + "geoname_id": 1797867, + "sub_districts": [] + }, + { + "code": "610826", + "name": "绥德", + "level": "THREE_LEVEL", + "geoname_id": 1793904, + "sub_districts": [] + }, + { + "code": "6108810000001", + "name": "神木", + "level": "THREE_LEVEL", + "geoname_id": 1795616, + "sub_districts": [] + }, + { + "code": "610829", + "name": "吴堡", + "level": "THREE_LEVEL", + "geoname_id": 1791353, + "sub_districts": [] + }, + { + "code": "610802", + "name": "榆阳", + "level": "THREE_LEVEL", + "geoname_id": 6599412, + "sub_districts": [] + }, + { + "code": "610831", + "name": "子洲", + "level": "THREE_LEVEL", + "geoname_id": 1783667, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "12", + "name": "天津", + "level": "ONE_LEVEL", + "geoname_id": 1792943, + "sub_districts": [ + { + "code": "120000", + "name": "天津", + "level": "TWO_LEVEL", + "geoname_id": 1792947, + "sub_districts": [ + { + "code": "1201130000000", + "name": "北辰", + "level": "THREE_LEVEL", + "geoname_id": 1816677, + "sub_districts": [] + }, + { + "code": "120115", + "name": "宝坻", + "level": "THREE_LEVEL", + "geoname_id": 1816968, + "sub_districts": [] + }, + { + "code": "120116", + "name": "滨海", + "level": "THREE_LEVEL", + "geoname_id": 120116, + "sub_districts": [] + }, + { + "code": "120110", + "name": "东丽", + "level": "THREE_LEVEL", + "geoname_id": 1812452, + "sub_districts": [] + }, + { + "code": "120105", + "name": "河北", + "level": "THREE_LEVEL", + "geoname_id": 8426818, + "sub_districts": [] + }, + { + "code": "120102", + "name": "河东", + "level": "THREE_LEVEL", + "geoname_id": 1808724, + "sub_districts": [] + }, + { + "code": "120101", + "name": "和平", + "level": "THREE_LEVEL", + "geoname_id": 1808339, + "sub_districts": [] + }, + { + "code": "1201060000000", + "name": "红桥", + "level": "THREE_LEVEL", + "geoname_id": 1808042, + "sub_districts": [] + }, + { + "code": "120103", + "name": "河西", + "level": "THREE_LEVEL", + "geoname_id": 1808215, + "sub_districts": [] + }, + { + "code": "120118", + "name": "静海", + "level": "THREE_LEVEL", + "geoname_id": 1805657, + "sub_districts": [] + }, + { + "code": "120112", + "name": "津南", + "level": "THREE_LEVEL", + "geoname_id": 1799971, + "sub_districts": [] + }, + { + "code": "1201190000001", + "name": "蓟州", + "level": "THREE_LEVEL", + "geoname_id": 120225, + "sub_districts": [] + }, + { + "code": "120117", + "name": "宁河", + "level": "THREE_LEVEL", + "geoname_id": 1799380, + "sub_districts": [] + }, + { + "code": "120104", + "name": "南开", + "level": "THREE_LEVEL", + "geoname_id": 1799949, + "sub_districts": [] + }, + { + "code": "120114", + "name": "武清", + "level": "THREE_LEVEL", + "geoname_id": 120114, + "sub_districts": [] + }, + { + "code": "120111", + "name": "西青", + "level": "THREE_LEVEL", + "geoname_id": 1789395, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "71", + "name": "台湾", + "level": "ONE_LEVEL", + "geoname_id": 7280291, + "sub_districts": [] + }, + { + "code": "81", + "name": "香港", + "level": "ONE_LEVEL", + "geoname_id": 1819729, + "sub_districts": [] + }, + { + "code": "65", + "name": "新疆", + "level": "ONE_LEVEL", + "geoname_id": 1529047, + "sub_districts": [ + { + "code": "652900", + "name": "阿克苏", + "level": "TWO_LEVEL", + "geoname_id": 1529658, + "sub_districts": [ + { + "code": "652901", + "name": "阿克苏", + "level": "THREE_LEVEL", + "geoname_id": 1529655, + "sub_districts": [] + }, + { + "code": "652928", + "name": "阿瓦提", + "level": "THREE_LEVEL", + "geoname_id": 1529633, + "sub_districts": [] + }, + { + "code": "652926", + "name": "拜城", + "level": "THREE_LEVEL", + "geoname_id": 1529628, + "sub_districts": [] + }, + { + "code": "6529020000001", + "name": "库车", + "level": "THREE_LEVEL", + "geoname_id": 1529360, + "sub_districts": [] + }, + { + "code": "652929", + "name": "柯坪", + "level": "THREE_LEVEL", + "geoname_id": 1529407, + "sub_districts": [] + }, + { + "code": "652924", + "name": "沙雅", + "level": "THREE_LEVEL", + "geoname_id": 1529074, + "sub_districts": [] + }, + { + "code": "652922", + "name": "温宿", + "level": "THREE_LEVEL", + "geoname_id": 1529087, + "sub_districts": [] + }, + { + "code": "652927", + "name": "乌什", + "level": "THREE_LEVEL", + "geoname_id": 1529082, + "sub_districts": [] + }, + { + "code": "652925", + "name": "新和", + "level": "THREE_LEVEL", + "geoname_id": 1529048, + "sub_districts": [] + } + ] + }, + { + "code": "659002", + "name": "阿拉尔", + "level": "TWO_LEVEL", + "geoname_id": 8080717, + "sub_districts": [ + { + "code": "659002", + "name": "阿拉尔", + "level": "THREE_LEVEL", + "geoname_id": 1529641, + "sub_districts": [] + } + ] + }, + { + "code": "654300", + "name": "阿勒泰", + "level": "TWO_LEVEL", + "geoname_id": 1529650, + "sub_districts": [ + { + "code": "654301", + "name": "阿勒泰", + "level": "THREE_LEVEL", + "geoname_id": 1529649, + "sub_districts": [] + }, + { + "code": "654321", + "name": "布尔津", + "level": "THREE_LEVEL", + "geoname_id": 1529572, + "sub_districts": [] + }, + { + "code": "654323", + "name": "福海", + "level": "THREE_LEVEL", + "geoname_id": 1529507, + "sub_districts": [] + }, + { + "code": "654322", + "name": "富蕴", + "level": "THREE_LEVEL", + "geoname_id": 1529503, + "sub_districts": [] + }, + { + "code": "654324", + "name": "哈巴河", + "level": "THREE_LEVEL", + "geoname_id": 1529488, + "sub_districts": [] + }, + { + "code": "654326", + "name": "吉木乃", + "level": "THREE_LEVEL", + "geoname_id": 1528988, + "sub_districts": [] + }, + { + "code": "654325", + "name": "青河", + "level": "THREE_LEVEL", + "geoname_id": 1529254, + "sub_districts": [] + } + ] + }, + { + "code": "652700", + "name": "博尔塔拉", + "level": "TWO_LEVEL", + "geoname_id": 1529581, + "sub_districts": [ + { + "code": "652702", + "name": "阿拉山口", + "level": "THREE_LEVEL", + "geoname_id": 11606030, + "sub_districts": [] + }, + { + "code": "652701", + "name": "博乐", + "level": "THREE_LEVEL", + "geoname_id": 1529586, + "sub_districts": [] + }, + { + "code": "652722", + "name": "精河", + "level": "THREE_LEVEL", + "geoname_id": 1529416, + "sub_districts": [] + }, + { + "code": "652723", + "name": "温泉", + "level": "THREE_LEVEL", + "geoname_id": 1529089, + "sub_districts": [] + } + ] + }, + { + "code": "659005", + "name": "北屯", + "level": "TWO_LEVEL", + "geoname_id": 1529594, + "sub_districts": [ + { + "code": "659005", + "name": "北屯", + "level": "THREE_LEVEL", + "geoname_id": 659005, + "sub_districts": [] + } + ] + }, + { + "code": "652800", + "name": "巴音郭楞", + "level": "TWO_LEVEL", + "geoname_id": 1529604, + "sub_districts": [ + { + "code": "652829", + "name": "博湖", + "level": "THREE_LEVEL", + "geoname_id": 1529588, + "sub_districts": [] + }, + { + "code": "652827", + "name": "和静", + "level": "THREE_LEVEL", + "geoname_id": 1529475, + "sub_districts": [] + }, + { + "code": "652828", + "name": "和硕", + "level": "THREE_LEVEL", + "geoname_id": 1529451, + "sub_districts": [] + }, + { + "code": "652801", + "name": "库尔勒", + "level": "THREE_LEVEL", + "geoname_id": 1529375, + "sub_districts": [] + }, + { + "code": "652822", + "name": "轮台", + "level": "THREE_LEVEL", + "geoname_id": 1529332, + "sub_districts": [] + }, + { + "code": "652825", + "name": "且末", + "level": "THREE_LEVEL", + "geoname_id": 1280248, + "sub_districts": [] + }, + { + "code": "652824", + "name": "若羌", + "level": "THREE_LEVEL", + "geoname_id": 1280120, + "sub_districts": [] + }, + { + "code": "652823", + "name": "尉犁", + "level": "THREE_LEVEL", + "geoname_id": 1529000, + "sub_districts": [] + }, + { + "code": "652826", + "name": "焉耆", + "level": "THREE_LEVEL", + "geoname_id": 1529030, + "sub_districts": [] + } + ] + }, + { + "code": "652300", + "name": "昌吉", + "level": "TWO_LEVEL", + "geoname_id": 1529568, + "sub_districts": [ + { + "code": "652301", + "name": "昌吉", + "level": "THREE_LEVEL", + "geoname_id": 1529569, + "sub_districts": [] + }, + { + "code": "652302", + "name": "阜康", + "level": "THREE_LEVEL", + "geoname_id": 1529505, + "sub_districts": [] + }, + { + "code": "652323", + "name": "呼图壁", + "level": "THREE_LEVEL", + "geoname_id": 1529436, + "sub_districts": [] + }, + { + "code": "652327", + "name": "吉木萨尔", + "level": "THREE_LEVEL", + "geoname_id": 1529418, + "sub_districts": [] + }, + { + "code": "652328", + "name": "木垒", + "level": "THREE_LEVEL", + "geoname_id": 1529302, + "sub_districts": [] + }, + { + "code": "652324", + "name": "玛纳斯", + "level": "THREE_LEVEL", + "geoname_id": 1529320, + "sub_districts": [] + }, + { + "code": "652325", + "name": "奇台", + "level": "THREE_LEVEL", + "geoname_id": 1529249, + "sub_districts": [] + } + ] + }, + { + "code": "650500", + "name": "哈密", + "level": "TWO_LEVEL", + "geoname_id": 1529484, + "sub_districts": [ + { + "code": "650521", + "name": "巴里坤", + "level": "THREE_LEVEL", + "geoname_id": 1529612, + "sub_districts": [] + }, + { + "code": "650522", + "name": "伊吾", + "level": "THREE_LEVEL", + "geoname_id": 1529006, + "sub_districts": [] + }, + { + "code": "650502", + "name": "伊州", + "level": "THREE_LEVEL", + "geoname_id": 650502, + "sub_districts": [] + } + ] + }, + { + "code": "653200", + "name": "和田", + "level": "TWO_LEVEL", + "geoname_id": 1281018, + "sub_districts": [ + { + "code": "653225", + "name": "策勒", + "level": "THREE_LEVEL", + "geoname_id": 1280226, + "sub_districts": [] + }, + { + "code": "653201", + "name": "和田市", + "level": "THREE_LEVEL", + "geoname_id": 1281017, + "sub_districts": [] + }, + { + "code": "653221", + "name": "和田县", + "level": "THREE_LEVEL", + "geoname_id": 1281016, + "sub_districts": [] + }, + { + "code": "653224", + "name": "洛浦", + "level": "THREE_LEVEL", + "geoname_id": 1280689, + "sub_districts": [] + }, + { + "code": "653227", + "name": "民丰", + "level": "THREE_LEVEL", + "geoname_id": 1280554, + "sub_districts": [] + }, + { + "code": "653222", + "name": "墨玉", + "level": "THREE_LEVEL", + "geoname_id": 1280540, + "sub_districts": [] + }, + { + "code": "653223", + "name": "皮山", + "level": "THREE_LEVEL", + "geoname_id": 1280326, + "sub_districts": [] + }, + { + "code": "653226", + "name": "于田", + "level": "THREE_LEVEL", + "geoname_id": 1279539, + "sub_districts": [] + } + ] + }, + { + "code": "659010", + "name": "胡杨河", + "level": "TWO_LEVEL", + "geoname_id": 659010, + "sub_districts": [ + { + "code": "659010", + "name": "胡杨河", + "level": "THREE_LEVEL", + "geoname_id": 6590100, + "sub_districts": [] + } + ] + }, + { + "code": "659008", + "name": "可克达拉", + "level": "TWO_LEVEL", + "geoname_id": 659008, + "sub_districts": [ + { + "code": "659008", + "name": "可克达拉", + "level": "THREE_LEVEL", + "geoname_id": 65900802, + "sub_districts": [] + } + ] + }, + { + "code": "650200", + "name": "克拉玛依", + "level": "TWO_LEVEL", + "geoname_id": 1529401, + "sub_districts": [ + { + "code": "6502040000000", + "name": "白碱滩", + "level": "THREE_LEVEL", + "geoname_id": 8079494, + "sub_districts": [] + }, + { + "code": "650202", + "name": "独山子", + "level": "THREE_LEVEL", + "geoname_id": 8079496, + "sub_districts": [] + }, + { + "code": "6502030000000", + "name": "克拉玛依", + "level": "THREE_LEVEL", + "geoname_id": 8079493, + "sub_districts": [] + }, + { + "code": "650205", + "name": "乌尔禾", + "level": "THREE_LEVEL", + "geoname_id": 8079495, + "sub_districts": [] + } + ] + }, + { + "code": "653100", + "name": "喀什", + "level": "TWO_LEVEL", + "geoname_id": 1280848, + "sub_districts": [ + { + "code": "653130", + "name": "巴楚", + "level": "THREE_LEVEL", + "geoname_id": 1281721, + "sub_districts": [] + }, + { + "code": "653129", + "name": "伽师", + "level": "THREE_LEVEL", + "geoname_id": 1280958, + "sub_districts": [] + }, + { + "code": "653101", + "name": "喀什", + "level": "THREE_LEVEL", + "geoname_id": 1280847, + "sub_districts": [] + }, + { + "code": "653127", + "name": "麦盖提", + "level": "THREE_LEVEL", + "geoname_id": 1280603, + "sub_districts": [] + }, + { + "code": "653125", + "name": "莎车", + "level": "THREE_LEVEL", + "geoname_id": 1280036, + "sub_districts": [] + }, + { + "code": "653121", + "name": "疏附", + "level": "THREE_LEVEL", + "geoname_id": 1279994, + "sub_districts": [] + }, + { + "code": "653122", + "name": "疏勒", + "level": "THREE_LEVEL", + "geoname_id": 1279985, + "sub_districts": [] + }, + { + "code": "653131", + "name": "塔什库尔干", + "level": "THREE_LEVEL", + "geoname_id": 1279900, + "sub_districts": [] + }, + { + "code": "653126", + "name": "叶城", + "level": "THREE_LEVEL", + "geoname_id": 1279601, + "sub_districts": [] + }, + { + "code": "653123", + "name": "英吉沙", + "level": "THREE_LEVEL", + "geoname_id": 1279589, + "sub_districts": [] + }, + { + "code": "653128", + "name": "岳普湖", + "level": "THREE_LEVEL", + "geoname_id": 1279563, + "sub_districts": [] + }, + { + "code": "653124", + "name": "泽普", + "level": "THREE_LEVEL", + "geoname_id": 1279500, + "sub_districts": [] + } + ] + }, + { + "code": "659009", + "name": "昆玉", + "level": "TWO_LEVEL", + "geoname_id": 659009, + "sub_districts": [ + { + "code": "659009", + "name": "昆玉", + "level": "THREE_LEVEL", + "geoname_id": 65900902, + "sub_districts": [] + } + ] + }, + { + "code": "653000", + "name": "克孜勒苏", + "level": "TWO_LEVEL", + "geoname_id": 1280828, + "sub_districts": [ + { + "code": "653023", + "name": "阿合奇", + "level": "THREE_LEVEL", + "geoname_id": 1529661, + "sub_districts": [] + }, + { + "code": "653022", + "name": "阿克陶", + "level": "THREE_LEVEL", + "geoname_id": 1281773, + "sub_districts": [] + }, + { + "code": "653001", + "name": "阿图什", + "level": "THREE_LEVEL", + "geoname_id": 1281742, + "sub_districts": [] + }, + { + "code": "653024", + "name": "乌恰", + "level": "THREE_LEVEL", + "geoname_id": 1279782, + "sub_districts": [] + } + ] + }, + { + "code": "659007", + "name": "双河", + "level": "TWO_LEVEL", + "geoname_id": 659007, + "sub_districts": [ + { + "code": "659007", + "name": "双河", + "level": "THREE_LEVEL", + "geoname_id": 65900702, + "sub_districts": [] + } + ] + }, + { + "code": "659001", + "name": "石河子", + "level": "TWO_LEVEL", + "geoname_id": 1529195, + "sub_districts": [ + { + "code": "659001", + "name": "石河子", + "level": "THREE_LEVEL", + "geoname_id": 1529194, + "sub_districts": [] + } + ] + }, + { + "code": "654200", + "name": "塔城", + "level": "TWO_LEVEL", + "geoname_id": 1529166, + "sub_districts": [ + { + "code": "654221", + "name": "额敏", + "level": "THREE_LEVEL", + "geoname_id": 1529520, + "sub_districts": [] + }, + { + "code": "654226", + "name": "和布克赛尔", + "level": "THREE_LEVEL", + "geoname_id": 1529472, + "sub_districts": [] + }, + { + "code": "6542030000001", + "name": "沙湾", + "level": "THREE_LEVEL", + "geoname_id": 1529209, + "sub_districts": [] + }, + { + "code": "654201", + "name": "塔城", + "level": "THREE_LEVEL", + "geoname_id": 1529165, + "sub_districts": [] + }, + { + "code": "654224", + "name": "托里", + "level": "THREE_LEVEL", + "geoname_id": 1529123, + "sub_districts": [] + }, + { + "code": "654202", + "name": "乌苏", + "level": "THREE_LEVEL", + "geoname_id": 1529098, + "sub_districts": [] + }, + { + "code": "654225", + "name": "裕民", + "level": "THREE_LEVEL", + "geoname_id": 1528997, + "sub_districts": [] + } + ] + }, + { + "code": "650400", + "name": "吐鲁番", + "level": "TWO_LEVEL", + "geoname_id": 1529111, + "sub_districts": [ + { + "code": "650402", + "name": "高昌", + "level": "THREE_LEVEL", + "geoname_id": 650402, + "sub_districts": [] + }, + { + "code": "650421", + "name": "鄯善", + "level": "THREE_LEVEL", + "geoname_id": 1529214, + "sub_districts": [] + }, + { + "code": "650422", + "name": "托克逊", + "level": "THREE_LEVEL", + "geoname_id": 1529126, + "sub_districts": [] + } + ] + }, + { + "code": "659006", + "name": "铁门关", + "level": "TWO_LEVEL", + "geoname_id": 659006, + "sub_districts": [ + { + "code": "659006", + "name": "铁门关", + "level": "THREE_LEVEL", + "geoname_id": 65900602, + "sub_districts": [] + } + ] + }, + { + "code": "659003", + "name": "图木舒克", + "level": "TWO_LEVEL", + "geoname_id": 8080762, + "sub_districts": [ + { + "code": "659003", + "name": "图木舒克", + "level": "THREE_LEVEL", + "geoname_id": 12022102, + "sub_districts": [] + } + ] + }, + { + "code": "659004", + "name": "五家渠", + "level": "TWO_LEVEL", + "geoname_id": 8079473, + "sub_districts": [ + { + "code": "659004", + "name": "五家渠", + "level": "THREE_LEVEL", + "geoname_id": 1529085, + "sub_districts": [] + } + ] + }, + { + "code": "650100", + "name": "乌鲁木齐", + "level": "TWO_LEVEL", + "geoname_id": 1529102, + "sub_districts": [ + { + "code": "650107", + "name": "达坂城", + "level": "THREE_LEVEL", + "geoname_id": 8078641, + "sub_districts": [] + }, + { + "code": "650109", + "name": "米东", + "level": "THREE_LEVEL", + "geoname_id": 1529307, + "sub_districts": [] + }, + { + "code": "650105", + "name": "水磨沟", + "level": "THREE_LEVEL", + "geoname_id": 8075951, + "sub_districts": [] + }, + { + "code": "650103", + "name": "沙依巴克", + "level": "THREE_LEVEL", + "geoname_id": 9275960, + "sub_districts": [] + }, + { + "code": "650102", + "name": "天山", + "level": "THREE_LEVEL", + "geoname_id": 7874240, + "sub_districts": [] + }, + { + "code": "650106", + "name": "头屯河", + "level": "THREE_LEVEL", + "geoname_id": 8078640, + "sub_districts": [] + }, + { + "code": "650121", + "name": "乌鲁木齐", + "level": "THREE_LEVEL", + "geoname_id": 1529100, + "sub_districts": [] + }, + { + "code": "650104", + "name": "新市", + "level": "THREE_LEVEL", + "geoname_id": 8075952, + "sub_districts": [] + } + ] + }, + { + "code": "6590110008001", + "name": "新星", + "level": "TWO_LEVEL", + "geoname_id": 60000483, + "sub_districts": [ + { + "code": "6590110000001", + "name": "新星", + "level": "THREE_LEVEL", + "geoname_id": 60000516, + "sub_districts": [] + } + ] + }, + { + "code": "654000", + "name": "伊犁", + "level": "TWO_LEVEL", + "geoname_id": 1529434, + "sub_districts": [ + { + "code": "654022", + "name": "察布查尔", + "level": "THREE_LEVEL", + "geoname_id": 1529278, + "sub_districts": [] + }, + { + "code": "654024", + "name": "巩留", + "level": "THREE_LEVEL", + "geoname_id": 1529497, + "sub_districts": [] + }, + { + "code": "654023", + "name": "霍城", + "level": "THREE_LEVEL", + "geoname_id": 11694038, + "sub_districts": [] + }, + { + "code": "654004", + "name": "霍尔果斯", + "level": "THREE_LEVEL", + "geoname_id": 11980795, + "sub_districts": [] + }, + { + "code": "654003", + "name": "奎屯", + "level": "THREE_LEVEL", + "geoname_id": 1529353, + "sub_districts": [] + }, + { + "code": "654028", + "name": "尼勒克", + "level": "THREE_LEVEL", + "geoname_id": 1529289, + "sub_districts": [] + }, + { + "code": "654027", + "name": "特克斯", + "level": "THREE_LEVEL", + "geoname_id": 1529145, + "sub_districts": [] + }, + { + "code": "654025", + "name": "新源", + "level": "THREE_LEVEL", + "geoname_id": 1529045, + "sub_districts": [] + }, + { + "code": "654002", + "name": "伊宁市", + "level": "THREE_LEVEL", + "geoname_id": 1529012, + "sub_districts": [] + }, + { + "code": "654021", + "name": "伊宁县", + "level": "THREE_LEVEL", + "geoname_id": 1529013, + "sub_districts": [] + }, + { + "code": "654026", + "name": "昭苏", + "level": "THREE_LEVEL", + "geoname_id": 1528991, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "54", + "name": "西藏", + "level": "ONE_LEVEL", + "geoname_id": 1279685, + "sub_districts": [ + { + "code": "542500", + "name": "阿里", + "level": "TWO_LEVEL", + "geoname_id": 1280456, + "sub_districts": [ + { + "code": "542527", + "name": "措勤", + "level": "THREE_LEVEL", + "geoname_id": 1281478, + "sub_districts": [] + }, + { + "code": "542523", + "name": "噶尔", + "level": "THREE_LEVEL", + "geoname_id": 1281220, + "sub_districts": [] + }, + { + "code": "542525", + "name": "革吉", + "level": "THREE_LEVEL", + "geoname_id": 1281206, + "sub_districts": [] + }, + { + "code": "542526", + "name": "改则", + "level": "THREE_LEVEL", + "geoname_id": 1281200, + "sub_districts": [] + }, + { + "code": "542521", + "name": "普兰", + "level": "THREE_LEVEL", + "geoname_id": 1281592, + "sub_districts": [] + }, + { + "code": "542524", + "name": "日土", + "level": "THREE_LEVEL", + "geoname_id": 1280115, + "sub_districts": [] + }, + { + "code": "542522", + "name": "札达", + "level": "THREE_LEVEL", + "geoname_id": 1279526, + "sub_districts": [] + } + ] + }, + { + "code": "540300", + "name": "昌都", + "level": "TWO_LEVEL", + "geoname_id": 1280280, + "sub_districts": [ + { + "code": "540330", + "name": "边坝", + "level": "THREE_LEVEL", + "geoname_id": 1281688, + "sub_districts": [] + }, + { + "code": "540326", + "name": "八宿", + "level": "THREE_LEVEL", + "geoname_id": 1281657, + "sub_districts": [] + }, + { + "code": "540325", + "name": "察雅", + "level": "THREE_LEVEL", + "geoname_id": 1279493, + "sub_districts": [] + }, + { + "code": "540324", + "name": "丁青", + "level": "THREE_LEVEL", + "geoname_id": 1281371, + "sub_districts": [] + }, + { + "code": "540322", + "name": "贡觉", + "level": "THREE_LEVEL", + "geoname_id": 1281166, + "sub_districts": [] + }, + { + "code": "540321", + "name": "江达", + "level": "THREE_LEVEL", + "geoname_id": 1280926, + "sub_districts": [] + }, + { + "code": "540302", + "name": "卡若", + "level": "THREE_LEVEL", + "geoname_id": 8041923, + "sub_districts": [] + }, + { + "code": "540329", + "name": "洛隆", + "level": "THREE_LEVEL", + "geoname_id": 1280723, + "sub_districts": [] + }, + { + "code": "540323", + "name": "类乌齐", + "level": "THREE_LEVEL", + "geoname_id": 1280141, + "sub_districts": [] + }, + { + "code": "540328", + "name": "芒康", + "level": "THREE_LEVEL", + "geoname_id": 1280605, + "sub_districts": [] + }, + { + "code": "540327", + "name": "左贡", + "level": "THREE_LEVEL", + "geoname_id": 1279433, + "sub_districts": [] + } + ] + }, + { + "code": "540100", + "name": "拉萨", + "level": "TWO_LEVEL", + "geoname_id": 1280737, + "sub_districts": [ + { + "code": "540102", + "name": "城关", + "level": "THREE_LEVEL", + "geoname_id": 6643440, + "sub_districts": [] + }, + { + "code": "540103", + "name": "堆龙德庆", + "level": "THREE_LEVEL", + "geoname_id": 1281329, + "sub_districts": [] + }, + { + "code": "540122", + "name": "当雄", + "level": "THREE_LEVEL", + "geoname_id": 1281423, + "sub_districts": [] + }, + { + "code": "5401040000001", + "name": "达孜", + "level": "THREE_LEVEL", + "geoname_id": 1281446, + "sub_districts": [] + }, + { + "code": "540121", + "name": "林周", + "level": "THREE_LEVEL", + "geoname_id": 1280717, + "sub_districts": [] + }, + { + "code": "540127", + "name": "墨竹工卡", + "level": "THREE_LEVEL", + "geoname_id": 1280638, + "sub_districts": [] + }, + { + "code": "540123", + "name": "尼木", + "level": "THREE_LEVEL", + "geoname_id": 1280401, + "sub_districts": [] + }, + { + "code": "540124", + "name": "曲水", + "level": "THREE_LEVEL", + "geoname_id": 1280180, + "sub_districts": [] + } + ] + }, + { + "code": "540400", + "name": "林芝", + "level": "TWO_LEVEL", + "geoname_id": 1280390, + "sub_districts": [ + { + "code": "540424", + "name": "波密", + "level": "THREE_LEVEL", + "geoname_id": 1281613, + "sub_districts": [] + }, + { + "code": "540402", + "name": "巴宜", + "level": "THREE_LEVEL", + "geoname_id": 540402, + "sub_districts": [] + }, + { + "code": "540425", + "name": "察隅", + "level": "THREE_LEVEL", + "geoname_id": 1279505, + "sub_districts": [] + }, + { + "code": "540421", + "name": "工布江达", + "level": "THREE_LEVEL", + "geoname_id": 1281172, + "sub_districts": [] + }, + { + "code": "540426", + "name": "朗县", + "level": "THREE_LEVEL", + "geoname_id": 1280486, + "sub_districts": [] + }, + { + "code": "540422", + "name": "米林", + "level": "THREE_LEVEL", + "geoname_id": 1280642, + "sub_districts": [] + }, + { + "code": "540423", + "name": "墨脱", + "level": "THREE_LEVEL", + "geoname_id": 1280587, + "sub_districts": [] + } + ] + }, + { + "code": "542400", + "name": "那曲", + "level": "TWO_LEVEL", + "geoname_id": 1280515, + "sub_districts": [ + { + "code": "5424240009001", + "name": "安多", + "level": "THREE_LEVEL", + "geoname_id": 1281765, + "sub_districts": [] + }, + { + "code": "5424270009001", + "name": "班戈", + "level": "THREE_LEVEL", + "geoname_id": 1281704, + "sub_districts": [] + }, + { + "code": "5424280009001", + "name": "巴青", + "level": "THREE_LEVEL", + "geoname_id": 1281669, + "sub_districts": [] + }, + { + "code": "5424220009001", + "name": "比如", + "level": "THREE_LEVEL", + "geoname_id": 1281623, + "sub_districts": [] + }, + { + "code": "5424210009001", + "name": "嘉黎", + "level": "THREE_LEVEL", + "geoname_id": 1280738, + "sub_districts": [] + }, + { + "code": "5424290009001", + "name": "尼玛", + "level": "THREE_LEVEL", + "geoname_id": 1280392, + "sub_districts": [] + }, + { + "code": "5424230009001", + "name": "聂荣", + "level": "THREE_LEVEL", + "geoname_id": 1280408, + "sub_districts": [] + }, + { + "code": "5424300009001", + "name": "双湖", + "level": "THREE_LEVEL", + "geoname_id": 542431, + "sub_districts": [] + }, + { + "code": "5424020009001", + "name": "色尼", + "level": "THREE_LEVEL", + "geoname_id": 542421, + "sub_districts": [] + }, + { + "code": "5424260009001", + "name": "索县", + "level": "THREE_LEVEL", + "geoname_id": 1279531, + "sub_districts": [] + }, + { + "code": "5424250009001", + "name": "申扎", + "level": "THREE_LEVEL", + "geoname_id": 1279770, + "sub_districts": [] + } + ] + }, + { + "code": "540200", + "name": "日喀则", + "level": "TWO_LEVEL", + "geoname_id": 1279713, + "sub_districts": [ + { + "code": "540226", + "name": "昂仁", + "level": "THREE_LEVEL", + "geoname_id": 1280467, + "sub_districts": [] + }, + { + "code": "540228", + "name": "白朗", + "level": "THREE_LEVEL", + "geoname_id": 1280425, + "sub_districts": [] + }, + { + "code": "540231", + "name": "定结", + "level": "THREE_LEVEL", + "geoname_id": 1281124, + "sub_districts": [] + }, + { + "code": "540223", + "name": "定日", + "level": "THREE_LEVEL", + "geoname_id": 1279749, + "sub_districts": [] + }, + { + "code": "540237", + "name": "岗巴", + "level": "THREE_LEVEL", + "geoname_id": 1281256, + "sub_districts": [] + }, + { + "code": "540234", + "name": "吉隆", + "level": "THREE_LEVEL", + "geoname_id": 1279429, + "sub_districts": [] + }, + { + "code": "540222", + "name": "江孜", + "level": "THREE_LEVEL", + "geoname_id": 1281118, + "sub_districts": [] + }, + { + "code": "540230", + "name": "康马", + "level": "THREE_LEVEL", + "geoname_id": 1280887, + "sub_districts": [] + }, + { + "code": "540225", + "name": "拉孜", + "level": "THREE_LEVEL", + "geoname_id": 1280181, + "sub_districts": [] + }, + { + "code": "540235", + "name": "聂拉木", + "level": "THREE_LEVEL", + "geoname_id": 1281484, + "sub_districts": [] + }, + { + "code": "540221", + "name": "南木林", + "level": "THREE_LEVEL", + "geoname_id": 8049689, + "sub_districts": [] + }, + { + "code": "540229", + "name": "仁布", + "level": "THREE_LEVEL", + "geoname_id": 1280277, + "sub_districts": [] + }, + { + "code": "540236", + "name": "萨嘎", + "level": "THREE_LEVEL", + "geoname_id": 1280110, + "sub_districts": [] + }, + { + "code": "540224", + "name": "萨迦", + "level": "THREE_LEVEL", + "geoname_id": 1280108, + "sub_districts": [] + }, + { + "code": "540202", + "name": "桑珠孜", + "level": "THREE_LEVEL", + "geoname_id": 1279715, + "sub_districts": [] + }, + { + "code": "540227", + "name": "谢通门", + "level": "THREE_LEVEL", + "geoname_id": 1281208, + "sub_districts": [] + }, + { + "code": "540233", + "name": "亚东", + "level": "THREE_LEVEL", + "geoname_id": 1279754, + "sub_districts": [] + }, + { + "code": "540232", + "name": "仲巴", + "level": "THREE_LEVEL", + "geoname_id": 1279497, + "sub_districts": [] + } + ] + }, + { + "code": "540500", + "name": "山南", + "level": "TWO_LEVEL", + "geoname_id": 1280019, + "sub_districts": [ + { + "code": "540526", + "name": "措美", + "level": "THREE_LEVEL", + "geoname_id": 1281491, + "sub_districts": [] + }, + { + "code": "540530", + "name": "错那", + "level": "THREE_LEVEL", + "geoname_id": 1281486, + "sub_districts": [] + }, + { + "code": "540522", + "name": "贡嘎", + "level": "THREE_LEVEL", + "geoname_id": 1281170, + "sub_districts": [] + }, + { + "code": "540528", + "name": "加查", + "level": "THREE_LEVEL", + "geoname_id": 1281138, + "sub_districts": [] + }, + { + "code": "540531", + "name": "浪卡子", + "level": "THREE_LEVEL", + "geoname_id": 1280520, + "sub_districts": [] + }, + { + "code": "540527", + "name": "洛扎", + "level": "THREE_LEVEL", + "geoname_id": 1280721, + "sub_districts": [] + }, + { + "code": "540529", + "name": "隆子", + "level": "THREE_LEVEL", + "geoname_id": 1280719, + "sub_districts": [] + }, + { + "code": "540502", + "name": "乃东", + "level": "THREE_LEVEL", + "geoname_id": 1280470, + "sub_districts": [] + }, + { + "code": "540524", + "name": "琼结", + "level": "THREE_LEVEL", + "geoname_id": 1280215, + "sub_districts": [] + }, + { + "code": "540525", + "name": "曲松", + "level": "THREE_LEVEL", + "geoname_id": 1280183, + "sub_districts": [] + }, + { + "code": "540523", + "name": "桑日", + "level": "THREE_LEVEL", + "geoname_id": 1280080, + "sub_districts": [] + }, + { + "code": "540521", + "name": "扎囊", + "level": "THREE_LEVEL", + "geoname_id": 1279488, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "53", + "name": "云南", + "level": "ONE_LEVEL", + "geoname_id": 1785694, + "sub_districts": [ + { + "code": "530500", + "name": "保山", + "level": "TWO_LEVEL", + "geoname_id": 1281672, + "sub_districts": [ + { + "code": "530524", + "name": "昌宁", + "level": "THREE_LEVEL", + "geoname_id": 1281541, + "sub_districts": [] + }, + { + "code": "530523", + "name": "龙陵", + "level": "THREE_LEVEL", + "geoname_id": 1280695, + "sub_districts": [] + }, + { + "code": "530502", + "name": "隆阳", + "level": "THREE_LEVEL", + "geoname_id": 6643310, + "sub_districts": [] + }, + { + "code": "530521", + "name": "施甸", + "level": "THREE_LEVEL", + "geoname_id": 1280007, + "sub_districts": [] + }, + { + "code": "530581", + "name": "腾冲", + "level": "THREE_LEVEL", + "geoname_id": 1279890, + "sub_districts": [] + } + ] + }, + { + "code": "532300", + "name": "楚雄", + "level": "TWO_LEVEL", + "geoname_id": 1814758, + "sub_districts": [ + { + "code": "532301", + "name": "楚雄", + "level": "THREE_LEVEL", + "geoname_id": 1814759, + "sub_districts": [] + }, + { + "code": "532326", + "name": "大姚", + "level": "THREE_LEVEL", + "geoname_id": 1813209, + "sub_districts": [] + }, + { + "code": "5323020000001", + "name": "禄丰", + "level": "THREE_LEVEL", + "geoname_id": 1802129, + "sub_districts": [] + }, + { + "code": "532323", + "name": "牟定", + "level": "THREE_LEVEL", + "geoname_id": 1800369, + "sub_districts": [] + }, + { + "code": "532324", + "name": "南华", + "level": "THREE_LEVEL", + "geoname_id": 1799997, + "sub_districts": [] + }, + { + "code": "532322", + "name": "双柏", + "level": "THREE_LEVEL", + "geoname_id": 1794767, + "sub_districts": [] + }, + { + "code": "532329", + "name": "武定", + "level": "THREE_LEVEL", + "geoname_id": 1791302, + "sub_districts": [] + }, + { + "code": "532325", + "name": "姚安", + "level": "THREE_LEVEL", + "geoname_id": 1787009, + "sub_districts": [] + }, + { + "code": "532328", + "name": "元谋", + "level": "THREE_LEVEL", + "geoname_id": 1786062, + "sub_districts": [] + }, + { + "code": "532327", + "name": "永仁", + "level": "THREE_LEVEL", + "geoname_id": 1786267, + "sub_districts": [] + } + ] + }, + { + "code": "533100", + "name": "德宏", + "level": "TWO_LEVEL", + "geoname_id": 1281381, + "sub_districts": [ + { + "code": "533124", + "name": "陇川", + "level": "THREE_LEVEL", + "geoname_id": 1280698, + "sub_districts": [] + }, + { + "code": "533122", + "name": "梁河", + "level": "THREE_LEVEL", + "geoname_id": 1280716, + "sub_districts": [] + }, + { + "code": "533103", + "name": "芒市", + "level": "THREE_LEVEL", + "geoname_id": 1280623, + "sub_districts": [] + }, + { + "code": "533102", + "name": "瑞丽", + "level": "THREE_LEVEL", + "geoname_id": 1280123, + "sub_districts": [] + }, + { + "code": "533123", + "name": "盈江", + "level": "THREE_LEVEL", + "geoname_id": 1279577, + "sub_districts": [] + } + ] + }, + { + "code": "532900", + "name": "大理", + "level": "TWO_LEVEL", + "geoname_id": 1814065, + "sub_districts": [ + { + "code": "532924", + "name": "宾川", + "level": "THREE_LEVEL", + "geoname_id": 1816363, + "sub_districts": [] + }, + { + "code": "532901", + "name": "大理", + "level": "THREE_LEVEL", + "geoname_id": 1814039, + "sub_districts": [] + }, + { + "code": "532930", + "name": "洱源", + "level": "THREE_LEVEL", + "geoname_id": 1281274, + "sub_districts": [] + }, + { + "code": "532932", + "name": "鹤庆", + "level": "THREE_LEVEL", + "geoname_id": 1808325, + "sub_districts": [] + }, + { + "code": "532931", + "name": "剑川", + "level": "THREE_LEVEL", + "geoname_id": 1280966, + "sub_districts": [] + }, + { + "code": "532925", + "name": "弥渡", + "level": "THREE_LEVEL", + "geoname_id": 1800543, + "sub_districts": [] + }, + { + "code": "532926", + "name": "南涧", + "level": "THREE_LEVEL", + "geoname_id": 1799978, + "sub_districts": [] + }, + { + "code": "532927", + "name": "巍山", + "level": "THREE_LEVEL", + "geoname_id": 1791612, + "sub_districts": [] + }, + { + "code": "532923", + "name": "祥云", + "level": "THREE_LEVEL", + "geoname_id": 1790441, + "sub_districts": [] + }, + { + "code": "532922", + "name": "漾濞", + "level": "THREE_LEVEL", + "geoname_id": 1787683, + "sub_districts": [] + }, + { + "code": "532929", + "name": "云龙", + "level": "THREE_LEVEL", + "geoname_id": 1279544, + "sub_districts": [] + }, + { + "code": "532928", + "name": "永平", + "level": "THREE_LEVEL", + "geoname_id": 1279565, + "sub_districts": [] + } + ] + }, + { + "code": "533400", + "name": "迪庆", + "level": "TWO_LEVEL", + "geoname_id": 1281365, + "sub_districts": [ + { + "code": "533422", + "name": "德钦", + "level": "THREE_LEVEL", + "geoname_id": 1281366, + "sub_districts": [] + }, + { + "code": "533423", + "name": "维西", + "level": "THREE_LEVEL", + "geoname_id": 1279803, + "sub_districts": [] + }, + { + "code": "533401", + "name": "香格里拉", + "level": "THREE_LEVEL", + "geoname_id": 1279460, + "sub_districts": [] + } + ] + }, + { + "code": "532500", + "name": "红河", + "level": "TWO_LEVEL", + "geoname_id": 1808130, + "sub_districts": [ + { + "code": "532501", + "name": "个旧", + "level": "THREE_LEVEL", + "geoname_id": 1810239, + "sub_districts": [] + }, + { + "code": "532529", + "name": "红河", + "level": "THREE_LEVEL", + "geoname_id": 1808127, + "sub_districts": [] + }, + { + "code": "532532", + "name": "河口", + "level": "THREE_LEVEL", + "geoname_id": 1808557, + "sub_districts": [] + }, + { + "code": "532530", + "name": "金平", + "level": "THREE_LEVEL", + "geoname_id": 1805429, + "sub_districts": [] + }, + { + "code": "532524", + "name": "建水", + "level": "THREE_LEVEL", + "geoname_id": 1806144, + "sub_districts": [] + }, + { + "code": "532502", + "name": "开远", + "level": "THREE_LEVEL", + "geoname_id": 1804849, + "sub_districts": [] + }, + { + "code": "532531", + "name": "绿春", + "level": "THREE_LEVEL", + "geoname_id": 1802161, + "sub_districts": [] + }, + { + "code": "532527", + "name": "泸西", + "level": "THREE_LEVEL", + "geoname_id": 1801677, + "sub_districts": [] + }, + { + "code": "532504", + "name": "弥勒", + "level": "THREE_LEVEL", + "geoname_id": 1800535, + "sub_districts": [] + }, + { + "code": "532503", + "name": "蒙自", + "level": "THREE_LEVEL", + "geoname_id": 1800662, + "sub_districts": [] + }, + { + "code": "532523", + "name": "屏边", + "level": "THREE_LEVEL", + "geoname_id": 1798854, + "sub_districts": [] + }, + { + "code": "532525", + "name": "石屏", + "level": "THREE_LEVEL", + "geoname_id": 1795072, + "sub_districts": [] + }, + { + "code": "532528", + "name": "元阳", + "level": "THREE_LEVEL", + "geoname_id": 1786015, + "sub_districts": [] + } + ] + }, + { + "code": "530100", + "name": "昆明", + "level": "TWO_LEVEL", + "geoname_id": 1804651, + "sub_districts": [ + { + "code": "530181", + "name": "安宁", + "level": "THREE_LEVEL", + "geoname_id": 1818007, + "sub_districts": [] + }, + { + "code": "530114", + "name": "呈贡", + "level": "THREE_LEVEL", + "geoname_id": 1815278, + "sub_districts": [] + }, + { + "code": "530113", + "name": "东川", + "level": "THREE_LEVEL", + "geoname_id": 1812626, + "sub_districts": [] + }, + { + "code": "530124", + "name": "富民", + "level": "THREE_LEVEL", + "geoname_id": 1810956, + "sub_districts": [] + }, + { + "code": "530111", + "name": "官渡", + "level": "THREE_LEVEL", + "geoname_id": 6643299, + "sub_districts": [] + }, + { + "code": "5301150000001", + "name": "晋宁", + "level": "THREE_LEVEL", + "geoname_id": 1805445, + "sub_districts": [] + }, + { + "code": "530128", + "name": "禄劝", + "level": "THREE_LEVEL", + "geoname_id": 1801749, + "sub_districts": [] + }, + { + "code": "530103", + "name": "盘龙", + "level": "THREE_LEVEL", + "geoname_id": 6643298, + "sub_districts": [] + }, + { + "code": "530126", + "name": "石林", + "level": "THREE_LEVEL", + "geoname_id": 1802011, + "sub_districts": [] + }, + { + "code": "530127", + "name": "嵩明", + "level": "THREE_LEVEL", + "geoname_id": 1794002, + "sub_districts": [] + }, + { + "code": "530102", + "name": "五华", + "level": "THREE_LEVEL", + "geoname_id": 6643300, + "sub_districts": [] + }, + { + "code": "530129", + "name": "寻甸", + "level": "THREE_LEVEL", + "geoname_id": 1787898, + "sub_districts": [] + }, + { + "code": "530112", + "name": "西山", + "level": "THREE_LEVEL", + "geoname_id": 1788353, + "sub_districts": [] + }, + { + "code": "530125", + "name": "宜良", + "level": "THREE_LEVEL", + "geoname_id": 1804685, + "sub_districts": [] + } + ] + }, + { + "code": "530900", + "name": "临沧", + "level": "TWO_LEVEL", + "geoname_id": 1803589, + "sub_districts": [ + { + "code": "530927", + "name": "沧源", + "level": "THREE_LEVEL", + "geoname_id": 1281580, + "sub_districts": [] + }, + { + "code": "530921", + "name": "凤庆", + "level": "THREE_LEVEL", + "geoname_id": 1281271, + "sub_districts": [] + }, + { + "code": "530926", + "name": "耿马", + "level": "THREE_LEVEL", + "geoname_id": 1281202, + "sub_districts": [] + }, + { + "code": "530902", + "name": "临翔", + "level": "THREE_LEVEL", + "geoname_id": 6643308, + "sub_districts": [] + }, + { + "code": "530925", + "name": "双江", + "level": "THREE_LEVEL", + "geoname_id": 1279997, + "sub_districts": [] + }, + { + "code": "530923", + "name": "永德", + "level": "THREE_LEVEL", + "geoname_id": 1279567, + "sub_districts": [] + }, + { + "code": "530922", + "name": "云县", + "level": "THREE_LEVEL", + "geoname_id": 1785664, + "sub_districts": [] + }, + { + "code": "530924", + "name": "镇康", + "level": "THREE_LEVEL", + "geoname_id": 1279469, + "sub_districts": [] + } + ] + }, + { + "code": "530700", + "name": "丽江", + "level": "TWO_LEVEL", + "geoname_id": 1803666, + "sub_districts": [ + { + "code": "530702", + "name": "古城", + "level": "THREE_LEVEL", + "geoname_id": 6643315, + "sub_districts": [] + }, + { + "code": "530723", + "name": "华坪", + "level": "THREE_LEVEL", + "geoname_id": 1807069, + "sub_districts": [] + }, + { + "code": "530724", + "name": "宁蒗", + "level": "THREE_LEVEL", + "geoname_id": 1799369, + "sub_districts": [] + }, + { + "code": "530721", + "name": "玉龙", + "level": "THREE_LEVEL", + "geoname_id": 6642883, + "sub_districts": [] + }, + { + "code": "530722", + "name": "永胜", + "level": "THREE_LEVEL", + "geoname_id": 1786264, + "sub_districts": [] + } + ] + }, + { + "code": "533300", + "name": "怒江", + "level": "TWO_LEVEL", + "geoname_id": 1280418, + "sub_districts": [ + { + "code": "533323", + "name": "福贡", + "level": "THREE_LEVEL", + "geoname_id": 1281267, + "sub_districts": [] + }, + { + "code": "533324", + "name": "贡山", + "level": "THREE_LEVEL", + "geoname_id": 1281167, + "sub_districts": [] + }, + { + "code": "533325", + "name": "兰坪", + "level": "THREE_LEVEL", + "geoname_id": 1280761, + "sub_districts": [] + }, + { + "code": "533301", + "name": "泸水", + "level": "THREE_LEVEL", + "geoname_id": 1280661, + "sub_districts": [] + } + ] + }, + { + "code": "530800", + "name": "普洱", + "level": "TWO_LEVEL", + "geoname_id": 1794208, + "sub_districts": [ + { + "code": "530826", + "name": "江城", + "level": "THREE_LEVEL", + "geoname_id": 1806405, + "sub_districts": [] + }, + { + "code": "530823", + "name": "景东", + "level": "THREE_LEVEL", + "geoname_id": 1805676, + "sub_districts": [] + }, + { + "code": "530824", + "name": "景谷", + "level": "THREE_LEVEL", + "geoname_id": 1805660, + "sub_districts": [] + }, + { + "code": "530828", + "name": "澜沧", + "level": "THREE_LEVEL", + "geoname_id": 1280771, + "sub_districts": [] + }, + { + "code": "530822", + "name": "墨江", + "level": "THREE_LEVEL", + "geoname_id": 1800397, + "sub_districts": [] + }, + { + "code": "530827", + "name": "孟连", + "level": "THREE_LEVEL", + "geoname_id": 1280572, + "sub_districts": [] + }, + { + "code": "530821", + "name": "宁洱", + "level": "THREE_LEVEL", + "geoname_id": 1798519, + "sub_districts": [] + }, + { + "code": "530802", + "name": "思茅", + "level": "THREE_LEVEL", + "geoname_id": 1794207, + "sub_districts": [] + }, + { + "code": "530829", + "name": "西盟", + "level": "THREE_LEVEL", + "geoname_id": 1279707, + "sub_districts": [] + }, + { + "code": "530825", + "name": "镇沅", + "level": "THREE_LEVEL", + "geoname_id": 1784584, + "sub_districts": [] + } + ] + }, + { + "code": "530300", + "name": "曲靖", + "level": "TWO_LEVEL", + "geoname_id": 1797318, + "sub_districts": [ + { + "code": "530325", + "name": "富源", + "level": "THREE_LEVEL", + "geoname_id": 1810823, + "sub_districts": [] + }, + { + "code": "530326", + "name": "会泽", + "level": "THREE_LEVEL", + "geoname_id": 1806777, + "sub_districts": [] + }, + { + "code": "530322", + "name": "陆良", + "level": "THREE_LEVEL", + "geoname_id": 1802026, + "sub_districts": [] + }, + { + "code": "530324", + "name": "罗平", + "level": "THREE_LEVEL", + "geoname_id": 1801861, + "sub_districts": [] + }, + { + "code": "5303040000001", + "name": "马龙", + "level": "THREE_LEVEL", + "geoname_id": 1801331, + "sub_districts": [] + }, + { + "code": "530302", + "name": "麒麟", + "level": "THREE_LEVEL", + "geoname_id": 6643324, + "sub_districts": [] + }, + { + "code": "530323", + "name": "师宗", + "level": "THREE_LEVEL", + "geoname_id": 1794809, + "sub_districts": [] + }, + { + "code": "530381", + "name": "宣威", + "level": "THREE_LEVEL", + "geoname_id": 1788059, + "sub_districts": [] + }, + { + "code": "530303", + "name": "沾益", + "level": "THREE_LEVEL", + "geoname_id": 6643436, + "sub_districts": [] + } + ] + }, + { + "code": "532600", + "name": "文山", + "level": "TWO_LEVEL", + "geoname_id": 1791424, + "sub_districts": [ + { + "code": "532628", + "name": "富宁", + "level": "THREE_LEVEL", + "geoname_id": 1810950, + "sub_districts": [] + }, + { + "code": "532627", + "name": "广南", + "level": "THREE_LEVEL", + "geoname_id": 1809894, + "sub_districts": [] + }, + { + "code": "532625", + "name": "马关", + "level": "THREE_LEVEL", + "geoname_id": 1801504, + "sub_districts": [] + }, + { + "code": "532624", + "name": "麻栗坡", + "level": "THREE_LEVEL", + "geoname_id": 1801341, + "sub_districts": [] + }, + { + "code": "532626", + "name": "丘北", + "level": "THREE_LEVEL", + "geoname_id": 1797478, + "sub_districts": [] + }, + { + "code": "532601", + "name": "文山", + "level": "THREE_LEVEL", + "geoname_id": 8505006, + "sub_districts": [] + }, + { + "code": "532623", + "name": "西畴", + "level": "THREE_LEVEL", + "geoname_id": 1789628, + "sub_districts": [] + }, + { + "code": "532622", + "name": "砚山", + "level": "THREE_LEVEL", + "geoname_id": 1787107, + "sub_districts": [] + } + ] + }, + { + "code": "532800", + "name": "西双版纳", + "level": "TWO_LEVEL", + "geoname_id": 1788323, + "sub_districts": [ + { + "code": "532801", + "name": "景洪", + "level": "THREE_LEVEL", + "geoname_id": 1805645, + "sub_districts": [] + }, + { + "code": "532822", + "name": "勐海", + "level": "THREE_LEVEL", + "geoname_id": 1800745, + "sub_districts": [] + }, + { + "code": "532823", + "name": "勐腊", + "level": "THREE_LEVEL", + "geoname_id": 1800715, + "sub_districts": [] + } + ] + }, + { + "code": "530400", + "name": "玉溪", + "level": "TWO_LEVEL", + "geoname_id": 1784185, + "sub_districts": [ + { + "code": "5304810000001", + "name": "澄江", + "level": "THREE_LEVEL", + "geoname_id": 1815250, + "sub_districts": [] + }, + { + "code": "530426", + "name": "峨山", + "level": "THREE_LEVEL", + "geoname_id": 1811629, + "sub_districts": [] + }, + { + "code": "530424", + "name": "华宁", + "level": "THREE_LEVEL", + "geoname_id": 1807093, + "sub_districts": [] + }, + { + "code": "530402", + "name": "红塔", + "level": "THREE_LEVEL", + "geoname_id": 6643303, + "sub_districts": [] + }, + { + "code": "530403", + "name": "江川", + "level": "THREE_LEVEL", + "geoname_id": 1814169, + "sub_districts": [] + }, + { + "code": "530423", + "name": "通海", + "level": "THREE_LEVEL", + "geoname_id": 1792662, + "sub_districts": [] + }, + { + "code": "530427", + "name": "新平", + "level": "THREE_LEVEL", + "geoname_id": 1788700, + "sub_districts": [] + }, + { + "code": "530428", + "name": "元江", + "level": "THREE_LEVEL", + "geoname_id": 1786081, + "sub_districts": [] + }, + { + "code": "530425", + "name": "易门", + "level": "THREE_LEVEL", + "geoname_id": 1786665, + "sub_districts": [] + } + ] + }, + { + "code": "530600", + "name": "昭通", + "level": "TWO_LEVEL", + "geoname_id": 1784841, + "sub_districts": [ + { + "code": "530624", + "name": "大关", + "level": "THREE_LEVEL", + "geoname_id": 1814376, + "sub_districts": [] + }, + { + "code": "530621", + "name": "鲁甸", + "level": "THREE_LEVEL", + "geoname_id": 1802143, + "sub_districts": [] + }, + { + "code": "530622", + "name": "巧家", + "level": "THREE_LEVEL", + "geoname_id": 1798171, + "sub_districts": [] + }, + { + "code": "5306810000001", + "name": "水富", + "level": "THREE_LEVEL", + "geoname_id": 1794488, + "sub_districts": [] + }, + { + "code": "530626", + "name": "绥江", + "level": "THREE_LEVEL", + "geoname_id": 1793901, + "sub_districts": [] + }, + { + "code": "530629", + "name": "威信", + "level": "THREE_LEVEL", + "geoname_id": 1791581, + "sub_districts": [] + }, + { + "code": "530623", + "name": "盐津", + "level": "THREE_LEVEL", + "geoname_id": 1787157, + "sub_districts": [] + }, + { + "code": "530628", + "name": "彝良", + "level": "THREE_LEVEL", + "geoname_id": 1786686, + "sub_districts": [] + }, + { + "code": "530625", + "name": "永善", + "level": "THREE_LEVEL", + "geoname_id": 1786265, + "sub_districts": [] + }, + { + "code": "530627", + "name": "镇雄", + "level": "THREE_LEVEL", + "geoname_id": 1784591, + "sub_districts": [] + }, + { + "code": "530602", + "name": "昭阳", + "level": "THREE_LEVEL", + "geoname_id": 6643328, + "sub_districts": [] + } + ] + } + ] + }, + { + "code": "33", + "name": "浙江", + "level": "ONE_LEVEL", + "geoname_id": 1784764, + "sub_districts": [ + { + "code": "330100", + "name": "杭州", + "level": "TWO_LEVEL", + "geoname_id": 1808926, + "sub_districts": [ + { + "code": "330108", + "name": "滨江", + "level": "THREE_LEVEL", + "geoname_id": 6607385, + "sub_districts": [] + }, + { + "code": "330127", + "name": "淳安", + "level": "THREE_LEVEL", + "geoname_id": 1814787, + "sub_districts": [] + }, + { + "code": "330111", + "name": "富阳", + "level": "THREE_LEVEL", + "geoname_id": 1810846, + "sub_districts": [] + }, + { + "code": "3301050000000", + "name": "拱墅", + "level": "THREE_LEVEL", + "geoname_id": 6607380, + "sub_districts": [] + }, + { + "code": "330182", + "name": "建德", + "level": "THREE_LEVEL", + "geoname_id": 1806431, + "sub_districts": [] + }, + { + "code": "3301120000001", + "name": "临安", + "level": "THREE_LEVEL", + "geoname_id": 1803594, + "sub_districts": [] + }, + { + "code": "3301130000000", + "name": "临平区", + "level": "THREE_LEVEL", + "geoname_id": 330113, + "sub_districts": [] + }, + { + "code": "3301140000000", + "name": "钱塘区", + "level": "THREE_LEVEL", + "geoname_id": 330114, + "sub_districts": [] + }, + { + "code": "3301020000000", + "name": "上城", + "level": "THREE_LEVEL", + "geoname_id": 6607382, + "sub_districts": [] + }, + { + "code": "330122", + "name": "桐庐", + "level": "THREE_LEVEL", + "geoname_id": 1792615, + "sub_districts": [] + }, + { + "code": "330106", + "name": "西湖", + "level": "THREE_LEVEL", + "geoname_id": 6607381, + "sub_districts": [] + }, + { + "code": "3301090000000", + "name": "萧山", + "level": "THREE_LEVEL", + "geoname_id": 1789993, + "sub_districts": [] + }, + { + "code": "3301100000000", + "name": "余杭", + "level": "THREE_LEVEL", + "geoname_id": 1785857, + "sub_districts": [] + } + ] + }, + { + "code": "330500", + "name": "湖州", + "level": "TWO_LEVEL", + "geoname_id": 1806535, + "sub_districts": [ + { + "code": "330523", + "name": "安吉", + "level": "THREE_LEVEL", + "geoname_id": 1818043, + "sub_districts": [] + }, + { + "code": "330522", + "name": "长兴", + "level": "THREE_LEVEL", + "geoname_id": 1815492, + "sub_districts": [] + }, + { + "code": "330521", + "name": "德清", + "level": "THREE_LEVEL", + "geoname_id": 1812981, + "sub_districts": [] + }, + { + "code": "330503", + "name": "南浔", + "level": "THREE_LEVEL", + "geoname_id": 6607480, + "sub_districts": [] + }, + { + "code": "330502", + "name": "吴兴", + "level": "THREE_LEVEL", + "geoname_id": 6607479, + "sub_districts": [] + } + ] + }, + { + "code": "330700", + "name": "金华", + "level": "TWO_LEVEL", + "geoname_id": 1805528, + "sub_districts": [ + { + "code": "330783", + "name": "东阳", + "level": "THREE_LEVEL", + "geoname_id": 1812113, + "sub_districts": [] + }, + { + "code": "330703", + "name": "金东", + "level": "THREE_LEVEL", + "geoname_id": 1805524, + "sub_districts": [] + }, + { + "code": "330781", + "name": "兰溪", + "level": "THREE_LEVEL", + "geoname_id": 1804437, + "sub_districts": [] + }, + { + "code": "330727", + "name": "磐安", + "level": "THREE_LEVEL", + "geoname_id": 1799101, + "sub_districts": [] + }, + { + "code": "330726", + "name": "浦江", + "level": "THREE_LEVEL", + "geoname_id": 1798497, + "sub_districts": [] + }, + { + "code": "330702", + "name": "婺城", + "level": "THREE_LEVEL", + "geoname_id": 6607482, + "sub_districts": [] + }, + { + "code": "330723", + "name": "武义", + "level": "THREE_LEVEL", + "geoname_id": 1790870, + "sub_districts": [] + }, + { + "code": "330784", + "name": "永康", + "level": "THREE_LEVEL", + "geoname_id": 1786317, + "sub_districts": [] + }, + { + "code": "330782", + "name": "义乌", + "level": "THREE_LEVEL", + "geoname_id": 1786431, + "sub_districts": [] + } + ] + }, + { + "code": "330400", + "name": "嘉兴", + "level": "TWO_LEVEL", + "geoname_id": 1805953, + "sub_districts": [ + { + "code": "330481", + "name": "海宁", + "level": "THREE_LEVEL", + "geoname_id": 1809050, + "sub_districts": [] + }, + { + "code": "330424", + "name": "海盐", + "level": "THREE_LEVEL", + "geoname_id": 1809015, + "sub_districts": [] + }, + { + "code": "330421", + "name": "嘉善", + "level": "THREE_LEVEL", + "geoname_id": 1805971, + "sub_districts": [] + }, + { + "code": "330402", + "name": "南湖", + "level": "THREE_LEVEL", + "geoname_id": 6607478, + "sub_districts": [] + }, + { + "code": "330482", + "name": "平湖", + "level": "THREE_LEVEL", + "geoname_id": 1798786, + "sub_districts": [] + }, + { + "code": "330483", + "name": "桐乡", + "level": "THREE_LEVEL", + "geoname_id": 1790942, + "sub_districts": [] + }, + { + "code": "330411", + "name": "秀洲", + "level": "THREE_LEVEL", + "geoname_id": 6607477, + "sub_districts": [] + } + ] + }, + { + "code": "331100", + "name": "丽水", + "level": "TWO_LEVEL", + "geoname_id": 1803245, + "sub_districts": [ + { + "code": "331127", + "name": "景宁", + "level": "THREE_LEVEL", + "geoname_id": 1805605, + "sub_districts": [] + }, + { + "code": "331122", + "name": "缙云", + "level": "THREE_LEVEL", + "geoname_id": 1805309, + "sub_districts": [] + }, + { + "code": "331102", + "name": "莲都", + "level": "THREE_LEVEL", + "geoname_id": 6607484, + "sub_districts": [] + }, + { + "code": "331181", + "name": "龙泉", + "level": "THREE_LEVEL", + "geoname_id": 1802459, + "sub_districts": [] + }, + { + "code": "331121", + "name": "青田", + "level": "THREE_LEVEL", + "geoname_id": 1797696, + "sub_districts": [] + }, + { + "code": "331126", + "name": "庆元", + "level": "THREE_LEVEL", + "geoname_id": 1793952, + "sub_districts": [] + }, + { + "code": "331123", + "name": "遂昌", + "level": "THREE_LEVEL", + "geoname_id": 1793909, + "sub_districts": [] + }, + { + "code": "331124", + "name": "松阳", + "level": "THREE_LEVEL", + "geoname_id": 1793960, + "sub_districts": [] + }, + { + "code": "331125", + "name": "云和", + "level": "THREE_LEVEL", + "geoname_id": 1785715, + "sub_districts": [] + } + ] + }, + { + "code": "330200", + "name": "宁波", + "level": "TWO_LEVEL", + "geoname_id": 1799397, + "sub_districts": [ + { + "code": "330206", + "name": "北仑", + "level": "THREE_LEVEL", + "geoname_id": 1816625, + "sub_districts": [] + }, + { + "code": "330282", + "name": "慈溪", + "level": "THREE_LEVEL", + "geoname_id": 1806602, + "sub_districts": [] + }, + { + "code": "3302130000001", + "name": "奉化", + "level": "THREE_LEVEL", + "geoname_id": 1813658, + "sub_districts": [] + }, + { + "code": "330203", + "name": "海曙", + "level": "THREE_LEVEL", + "geoname_id": 6607394, + "sub_districts": [] + }, + { + "code": "330205", + "name": "江北", + "level": "THREE_LEVEL", + "geoname_id": 6607401, + "sub_districts": [] + }, + { + "code": "330226", + "name": "宁海", + "level": "THREE_LEVEL", + "geoname_id": 1799381, + "sub_districts": [] + }, + { + "code": "330225", + "name": "象山", + "level": "THREE_LEVEL", + "geoname_id": 1790512, + "sub_districts": [] + }, + { + "code": "330281", + "name": "余姚", + "level": "THREE_LEVEL", + "geoname_id": 1785543, + "sub_districts": [] + }, + { + "code": "330212", + "name": "鄞州", + "level": "THREE_LEVEL", + "geoname_id": 1786496, + "sub_districts": [] + }, + { + "code": "330211", + "name": "镇海", + "level": "THREE_LEVEL", + "geoname_id": 1784647, + "sub_districts": [] + } + ] + }, + { + "code": "330800", + "name": "衢州", + "level": "TWO_LEVEL", + "geoname_id": 1797264, + "sub_districts": [ + { + "code": "330822", + "name": "常山", + "level": "THREE_LEVEL", + "geoname_id": 1815556, + "sub_districts": [] + }, + { + "code": "330881", + "name": "江山", + "level": "THREE_LEVEL", + "geoname_id": 1806269, + "sub_districts": [] + }, + { + "code": "330802", + "name": "柯城", + "level": "THREE_LEVEL", + "geoname_id": 6607483, + "sub_districts": [] + }, + { + "code": "330824", + "name": "开化", + "level": "THREE_LEVEL", + "geoname_id": 1804871, + "sub_districts": [] + }, + { + "code": "330825", + "name": "龙游", + "level": "THREE_LEVEL", + "geoname_id": 1802261, + "sub_districts": [] + }, + { + "code": "330803", + "name": "衢江", + "level": "THREE_LEVEL", + "geoname_id": 1797278, + "sub_districts": [] + } + ] + }, + { + "code": "330600", + "name": "绍兴", + "level": "TWO_LEVEL", + "geoname_id": 1795855, + "sub_districts": [ + { + "code": "330603", + "name": "柯桥", + "level": "THREE_LEVEL", + "geoname_id": 1804753, + "sub_districts": [] + }, + { + "code": "3306040000000", + "name": "上虞", + "level": "THREE_LEVEL", + "geoname_id": 330604, + "sub_districts": [] + }, + { + "code": "330683", + "name": "嵊州", + "level": "THREE_LEVEL", + "geoname_id": 1795647, + "sub_districts": [] + }, + { + "code": "330624", + "name": "新昌", + "level": "THREE_LEVEL", + "geoname_id": 1789191, + "sub_districts": [] + }, + { + "code": "3306020000000", + "name": "越城", + "level": "THREE_LEVEL", + "geoname_id": 6607481, + "sub_districts": [] + }, + { + "code": "330681", + "name": "诸暨", + "level": "THREE_LEVEL", + "geoname_id": 1783940, + "sub_districts": [] + } + ] + }, + { + "code": "331000", + "name": "台州", + "level": "TWO_LEVEL", + "geoname_id": 1793504, + "sub_districts": [ + { + "code": "331003", + "name": "黄岩", + "level": "THREE_LEVEL", + "geoname_id": 1807133, + "sub_districts": [] + }, + { + "code": "331002", + "name": "椒江", + "level": "THREE_LEVEL", + "geoname_id": 11778432, + "sub_districts": [] + }, + { + "code": "331082", + "name": "临海", + "level": "THREE_LEVEL", + "geoname_id": 1803421, + "sub_districts": [] + }, + { + "code": "331004", + "name": "路桥", + "level": "THREE_LEVEL", + "geoname_id": 1922898, + "sub_districts": [] + }, + { + "code": "331022", + "name": "三门", + "level": "THREE_LEVEL", + "geoname_id": 1796668, + "sub_districts": [] + }, + { + "code": "331023", + "name": "天台", + "level": "THREE_LEVEL", + "geoname_id": 1792886, + "sub_districts": [] + }, + { + "code": "331081", + "name": "温岭", + "level": "THREE_LEVEL", + "geoname_id": 1791462, + "sub_districts": [] + }, + { + "code": "331024", + "name": "仙居", + "level": "THREE_LEVEL", + "geoname_id": 8398287, + "sub_districts": [] + }, + { + "code": "3310830000001", + "name": "玉环", + "level": "THREE_LEVEL", + "geoname_id": 1785838, + "sub_districts": [] + } + ] + }, + { + "code": "330300", + "name": "温州", + "level": "TWO_LEVEL", + "geoname_id": 1791388, + "sub_districts": [ + { + "code": "330327", + "name": "苍南", + "level": "THREE_LEVEL", + "geoname_id": 1816095, + "sub_districts": [] + }, + { + "code": "330305", + "name": "洞头", + "level": "THREE_LEVEL", + "geoname_id": 1812199, + "sub_districts": [] + }, + { + "code": "330302", + "name": "鹿城", + "level": "THREE_LEVEL", + "geoname_id": 6607379, + "sub_districts": [] + }, + { + "code": "330383", + "name": "龙港", + "level": "THREE_LEVEL", + "geoname_id": 330383, + "sub_districts": [] + }, + { + "code": "330303", + "name": "龙湾", + "level": "THREE_LEVEL", + "geoname_id": 1922899, + "sub_districts": [] + }, + { + "code": "330304", + "name": "瓯海", + "level": "THREE_LEVEL", + "geoname_id": 1799146, + "sub_districts": [] + }, + { + "code": "330326", + "name": "平阳", + "level": "THREE_LEVEL", + "geoname_id": 1798639, + "sub_districts": [] + }, + { + "code": "330381", + "name": "瑞安", + "level": "THREE_LEVEL", + "geoname_id": 1797062, + "sub_districts": [] + }, + { + "code": "330329", + "name": "泰顺", + "level": "THREE_LEVEL", + "geoname_id": 1801794, + "sub_districts": [] + }, + { + "code": "330328", + "name": "文成", + "level": "THREE_LEVEL", + "geoname_id": 1791535, + "sub_districts": [] + }, + { + "code": "330324", + "name": "永嘉", + "level": "THREE_LEVEL", + "geoname_id": 1786326, + "sub_districts": [] + }, + { + "code": "330382", + "name": "乐清", + "level": "THREE_LEVEL", + "geoname_id": 1785913, + "sub_districts": [] + } + ] + }, + { + "code": "330900", + "name": "舟山", + "level": "TWO_LEVEL", + "geoname_id": 1784107, + "sub_districts": [ + { + "code": "330902", + "name": "定海", + "level": "THREE_LEVEL", + "geoname_id": 1812802, + "sub_districts": [] + }, + { + "code": "330921", + "name": "岱山", + "level": "THREE_LEVEL", + "geoname_id": 1814229, + "sub_districts": [] + }, + { + "code": "330903", + "name": "普陀", + "level": "THREE_LEVEL", + "geoname_id": 1798436, + "sub_districts": [] + }, + { + "code": "330922", + "name": "嵊泗", + "level": "THREE_LEVEL", + "geoname_id": 1795653, + "sub_districts": [] + } + ] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/video-gen-api/app/utils/douyinApi.py b/video-gen-api/app/utils/douyinApi.py index cd85c8c7..32960f84 100644 --- a/video-gen-api/app/utils/douyinApi.py +++ b/video-gen-api/app/utils/douyinApi.py @@ -52,4 +52,17 @@ class DouyinApi: url, 'POST', options + ) + + #获取区域信息 + async def get_area(self, oauth_id: str, params: Optional[Dict[str, Any]] = None) -> Dict[str, Any]: + if not oauth_id: + raise RuntimeError('OAuth ID is not set.') + + url = "https://api.oceanengine.com/open_api/2/tools/admin/info/" + return await self.request.request_with_token_with_context( + oauth_id, + url, + 'GET', + {'params': params or {}} ) \ No newline at end of file diff --git a/video-gen-app/.env.production b/video-gen-app/.env.production new file mode 100644 index 00000000..f9b4c4cd --- /dev/null +++ b/video-gen-app/.env.production @@ -0,0 +1,5 @@ +#VITE_API_BASE=http://localhost:8000 +VITE_API_BASE=http://apiforeign.minzhong.cn +VITE_USE_MOCK=false +# Encryption disabled for dev — enable in production +VITE_ENCRYPTION_KEY=