PageSourceSearch

https://nickz.ai/assets/js/index-BXht1SsJ.js

js nickz.ai collected 2026-10-05 14:20:29 UTC 12,477 bytes, 1 lines download raw bytes

1import{r as e,j as t}from"./vendor-react-DejgYtBM.js";import{i as r,f as a,B as s,F as i,k as l,M as n,p as o,s as d,t as c,o as p,Y as _}from"./vendor-semi-D8d7bTtM.js";import{u,ae as m,af as h,ag as y,A as g,s as x,w as f}from"./index-BeIIFw6E.js";import{C as v}from"./CardPro-DfDWu9ok.js";import{C as j}from"./CardTable-Cq0lqlnD.js";import{u as b}from"./useIsMobile-D_kfVI0u.js";import{am as w,X as I,x as C}from"./vendor-icons-EJvJ5X-w.js";import"./vendor-motion-Chfy_MiU.js";const{Text:S}=a,k={success:"green",failed:"red",pending:"orange"},z=()=>{const{t:a}=u(),z=b(),[P,B]=e.useState([]),[V,q]=e.useState(0),[T,W]=e.useState(1),[D,N]=e.useState(10),[O,A]=e.useState(!1),[M,R]=e.useState(""),[H,L]=e.useState(""),[E,$]=e.useState(""),[F,K]=e.useState(""),[U,X]=e.useState(!1),[Y,G]=e.useState(null),[J,Q]=e.useState(!1),[Z,ee]=e.useState({}),[te,re]=e.useState(!1),[ae,se]=e.useState(""),[ie,le]=e.useState(!1),[ne,oe]=e.useState(!1),[de,ce]=e.useState({user_id:"",verify_type:m,cert_name:"",cert_no:"",ep_cert_name:"",ep_cert_no:"",legal_person_cert_name:""}),pe=e.useMemo(()=>({success:{text:a("认证成功"),color:"green"},failed:{text:a("认证失败"),color:"red"},pending:{text:a("待验证"),color:"orange"}}),[a]),_e=async(e=1,t={})=>{A(!0);try{const r=void 0!==t.userId?t.userId:M,s=void 0!==t.keyword?t.keyword:H,i=void 0!==t.verifyType?t.verifyType:E,l=void 0!==t.filterStatus?t.filterStatus:F,n=void 0!==t.pageSize?t.pageSize:D,o=new URLSearchParams;o.set("page",String(e)),o.set("page_size",String(n)),r&&o.set("user_id",r),s&&o.set("keyword",s),i&&o.set("verify_type",i),l&&o.set("status",l);const d=await g.get(`/api/identity_verify/admin/list?${o.toString()}`);d.data.success?(B(d.data.data.data||[]),q(d.data.data.total||0),W(e)):x(d.data.message||a("加载失败"))}catch(r){x(r.message||a("加载失败"))}finally{A(!1)}};e.useEffect(()=>{_e(1)},[]);const ue=e.useCallback(e=>{G(e),ee({verify_type:e.verify_type||m,cert_name:e.cert_name||"",cert_no:e.cert_no||"",ep_cert_name:e.ep_cert_name||"",ep_cert_no:e.ep_cert_no||"",legal_person_cert_name:e.legal_person_cert_name||""}),X(!0)},[]),me=()=>{ce({user_id:"",verify_type:m,cert_name:"",cert_no:"",ep_cert_name:"",ep_cert_no:"",legal_person_cert_name:""})},he=e.useCallback(e=>{se(e||""),re(!0)},[]),ye=e.useMemo(()=>[{title:a("ID"),dataIndex:"id",width:70},{title:a("用户 ID"),dataIndex:"user_id",width:80},{title:a("类型"),dataIndex:"verify_type",width:80,render:e=>t.jsx(r,{color:e===m?"blue":"purple",size:"small",children:a(e===m?"个人":"企业")})},{title:a("状态"),dataIndex:"status",width:100,render:e=>{const s={success:a("认证成功"),failed:a("认证失败"),pending:a("待验证")};return t.jsx(r,{color:k[e]||"grey",size:"small",children:s[e]||e})}},{title:a("姓名 / 企业名称"),dataIndex:"cert_name",render:(e,t)=>t.verify_type===m?e||"-":t.ep_cert_name||"-"},{title:a("失败原因"),dataIndex:"result_message",width:z?160:260,render:(e,r)=>"failed"!==r.status?t.jsx(S,{type:"tertiary",size:"small",children:"—"}):e?z?t.jsxs("div",{className:"flex flex-col gap-1",style:{minWidth:0,width:"100%"},children:[t.jsx("div",{style:{width:"100%",fontSize:12,lineHeight:"18px",color:"hsl(var(--foreground))",overflow:"hidden",wordBreak:"break-word",whiteSpace:"normal",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical"},children:e}),t.jsx("div",{className:"flex justify-end",children:t.jsx(s,{size:"small",theme:"borderless",type:"primary",onClick:()=>he(e),style:{paddingLeft:0,paddingRight:0,height:20},children:a("查看详情")})})]}):t.jsx(S,{size:"small",ellipsis:{showTooltip:!0},style:{maxWidth:240,display:"inline-block"},children:e}):t.jsx(S,{type:"tertiary",size:"small",children:"—"})},{title:a("证件号 / 信用代码"),dataIndex:"cert_no",width:200,render:(e,t)=>t.verify_type===m?e||"-":t.ep_cert_no||"-"},{title:a("法人"),dataIndex:"legal_person_cert_name",width:100,render:(e,t)=>t.verify_type===h&&e||"-"},{title:a("认证时间"),dataIndex:"verified_at",width:170,render:e=>{return(t=e)?new Date(1e3*t).toLocaleString("zh-CN",{hour12:!1}):"-";var t}},{title:a("操作"),dataIndex:"action",width:90,render:(e,r)=>"success"===r.status?t.jsx(s,{size:"small",theme:"light",type:"primary",icon:t.jsx(w,{size:16}),onClick:()=>ue(r),children:a("编辑")}):t.jsx(S,{type:"tertiary",size:"small",children:"—"})}],[a,pe,ue,z,he]);return t.jsxs("div",{className:"px-2",children:[t.jsx(v,{type:"type3",style:{minHeight:"calc(100vh - var(--app-header-offset, 80px))"},actionsArea:t.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[t.jsx(i,{placeholder:a("用户 ID"),value:M,onChange:R,onEnterPress:()=>_e(1),style:{width:120}}),t.jsx(i,{prefix:t.jsx(I,{size:16}),placeholder:a("姓名 / 证件号 / 企业名 / 信用代码"),value:H,onChange:L,onEnterPress:()=>_e(1),style:{width:z?"100%":240}}),t.jsxs(l,{placeholder:a("认证类型"),value:E||void 0,onChange:e=>$(e||""),style:{width:110},allowClear:!0,children:[t.jsx(l.Option,{value:m,children:a("个人")}),t.jsx(l.Option,{value:h,children:a("企业")})]}),t.jsxs(l,{placeholder:a("状态"),value:F||void 0,onChange:e=>K(e||""),style:{width:110},allowClear:!0,children:[t.jsx(l.Option,{value:"success",children:a("认证成功")}),t.jsx(l.Option,{value:"failed",children:a("认证失败")}),t.jsx(l.Option,{value:"pending",children:a("待验证")})]}),t.jsx(s,{type:"primary",onClick:()=>_e(1),children:a("查询")}),t.jsx(s,{onClick:()=>{R(""),L(""),$(""),K(""),_e(1,{userId:"",keyword:"",verifyType:"",filterStatus:""})},children:a("重置")}),t.jsx(s,{type:"primary",theme:"solid",icon:t.jsx(C,{size:16}),onClick:()=>{me(),le(!0)},children:a("新增认证")})]}),paginationArea:y({currentPage:T,pageSize:D,total:V,onPageChange:e=>_e(e),onPageSizeChange:e=>{N(e),_e(1,{pageSize:e})},isMobile:z,t:a}),children:t.jsx(j,{columns:ye,dataSource:P,loading:O,rowKey:"id",hidePagination:!0,size:"small"})}),t.jsx(n,{title:a("失败原因详情"),visible:te,onCancel:()=>re(!1),footer:null,width:z?"92%":520,style:{maxWidth:560},children:t.jsx("div",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:z?420:520,overflow:"auto",fontSize:14,lineHeight:"20px"},children:ae||"—"})}),t.jsxs(n,{title:Z.verify_type===m?a("编辑个人认证信息"):a("编辑企业认证信息"),visible:U,onOk:async()=>
1{if(Y){Q(!0);try{const e=await g.put(`/api/identity_verify/admin/${Y.id}`,Z);e.data.success?(f(a("更新成功")),X(!1),_e(T)):_.error(e.data.message||a("更新失败"))}catch(e){x(e.message||a("更新失败"))}finally{Q(!1)}}},onCancel:()=>X(!1),okButtonProps:{loading:J},okText:a("保存"),cancelText:a("取消"),width:480,children:[Y&&t.jsx("div",{style:{marginBottom:12},children:t.jsx(S,{type:"tertiary",size:"small",children:a("记录ID: {{recordId}} | 用户ID: {{userId}}",{recordId:Y.id,userId:Y.user_id})})}),t.jsx(o,{type:"info",description:a("保存时将调用阿里云API重新验证修改后的信息。"),closeIcon:null,style:{marginBottom:16,borderRadius:6}}),t.jsxs("div",{style:{marginBottom:16},children:[t.jsx(S,{strong:!0,style:{display:"block",marginBottom:8},children:a("认证类型")}),t.jsxs(d,{type:"button",value:Z.verify_type,onChange:e=>{const t=e.target.value;ee(e=>({...e,verify_type:t}))},children:[t.jsx(c,{value:m,children:a("个人认证")}),t.jsx(c,{value:h,children:a("企业认证")})]}),Z.verify_type!==Y?.verify_type&&t.jsx(o,{type:"warning",description:a("认证类型已更改,原认证类型对应字段将被清空,请填写新类型所需信息。"),closeIcon:null,style:{marginTop:8,borderRadius:6}})]}),Z.verify_type===m?t.jsxs(p,{labelPosition:"left",labelWidth:100,children:[t.jsx(p.Input,{field:"cert_name",label:a("姓名"),initValue:Z.cert_name,onChange:e=>ee(t=>({...t,cert_name:e})),placeholder:a("请输入真实姓名"),rules:[{required:!0,message:a("姓名不能为空")}]}),t.jsx(p.Input,{field:"cert_no",label:a("身份证号"),initValue:Z.cert_no,onChange:e=>ee(t=>({...t,cert_no:e})),placeholder:a("请输入身份证号"),rules:[{required:!0,message:a("身份证号不能为空")}]})]},m):t.jsxs(p,{labelPosition:"left",labelWidth:130,children:[t.jsx(p.Input,{field:"ep_cert_name",label:a("企业名称"),initValue:Z.ep_cert_name,onChange:e=>ee(t=>({...t,ep_cert_name:e})),placeholder:a("请输入企业名称"),rules:[{required:!0,message:a("企业名称不能为空")}]}),t.jsx(p.Input,{field:"ep_cert_no",label:a("统一社会信用代码"),initValue:Z.ep_cert_no,onChange:e=>ee(t=>({...t,ep_cert_no:e})),placeholder:a("请输入18位信用代码"),rules:[{required:!0,message:a("信用代码不能为空")}]}),t.jsx(p.Input,{field:"legal_person_cert_name",label:a("法人姓名"),initValue:Z.legal_person_cert_name,onChange:e=>ee(t=>({...t,legal_person_cert_name:e})),placeholder:a("请输入法人姓名"),rules:[{required:!0,message:a("法人姓名不能为空")}]})]},h)]}),t.jsxs(n,{title:a("新增实名认证"),visible:ie,onOk:async()=>{if((()=>{const e=Number(de.user_id);if(!e||e<=0)return _.error(a("请输入合法的用户ID")),!1;if(de.verify_type===m){if(!de.cert_name||de.cert_name.trim().length<2)return _.error(a("姓名至少2个字符")),!1;const e=de.cert_no.replace(/\s/g,"");if(15!==e.length&&18!==e.length)return _.error(a("身份证号应为15位或18位")),!1}else{if(!de.ep_cert_name||de.ep_cert_name.trim().length<2)return _.error(a("企业名称至少2个字符")),!1;if(18!==de.ep_cert_no.replace(/\s/g,"").length)return _.error(a("统一社会信用代码应为18位")),!1;if(!de.legal_person_cert_name||de.legal_person_cert_name.trim().length<2)return _.error(a("法人姓名至少2个字符")),!1}return!0})()){oe(!0);try{const e={user_id:Number(de.user_id),verify_type:de.verify_type};de.verify_type===m?(e.cert_name=de.cert_name.trim(),e.cert_no=de.cert_no.replace(/\s/g,"")):(e.ep_cert_name=de.ep_cert_name.trim(),e.ep_cert_no=de.ep_cert_no.replace(/\s/g,""),e.legal_person_cert_name=de.legal_person_cert_name.trim());const t=await g.post("/api/identity_verify/admin/create",e);t.data.success?(f(a("认证创建成功")),le(!1),me(),_e(1)):_.error(t.data.message||a("认证创建失败"))}catch(e){x(e.message||a("认证创建失败"))}finally{oe(!1)}}},onCancel:()=>le(!1),okButtonProps:{loading:ne},okText:a("提交认证"),cancelText:a("取消"),width:520,children:[t.jsx(o,{type:"info",description:a("将调用阿里云API进行实名验证,客服操作不受每日次数限制。"),closeIcon:null,style:{marginBottom:16,borderRadius:6}}),t.jsx(p,{labelPosition:"left",labelWidth:130,children:t.jsx(p.InputNumber,{field:"user_id",label:a("用户 ID"),initValue:de.user_id,onChange:e=>ce(t=>({...t,user_id:e||""})),placeholder:a("请输入目标用户ID"),min:1,hideButtons:!0,style:{width:"100%"},rules:[{required:!0,message:a("请输入合法的用户ID")}]})}),t.jsxs("div",{style:{marginBottom:16},children:[t.jsx(S,{strong:!0,style:{display:"block",marginBottom:8},children:a("认证类型")}
1),t.jsxs(d,{type:"button",value:de.verify_type,onChange:e=>{ce(t=>({...t,verify_type:e.target.value}))},children:[t.jsx(c,{value:m,children:a("个人认证")}),t.jsx(c,{value:h,children:a("企业认证")})]})]}),de.verify_type===m?t.jsxs(p,{labelPosition:"left",labelWidth:130,children:[t.jsx(p.Input,{field:"cert_name",label:a("姓名"),initValue:de.cert_name,onChange:e=>ce(t=>({...t,cert_name:e})),placeholder:a("请输入真实姓名"),rules:[{required:!0,message:a("姓名不能为空")}]}),t.jsx(p.Input,{field:"cert_no",label:a("身份证号"),initValue:de.cert_no,onChange:e=>ce(t=>({...t,cert_no:e})),placeholder:a("请输入身份证号"),rules:[{required:!0,message:a("身份证号不能为空")}]})]},"create_"+m):t.jsxs(p,{labelPosition:"left",labelWidth:130,children:[t.jsx(p.Input,{field:"ep_cert_name",label:a("企业名称"),initValue:de.ep_cert_name,onChange:e=>ce(t=>({...t,ep_cert_name:e})),placeholder:a("请输入企业名称"),rules:[{required:!0,message:a("企业名称不能为空")}]}),t.jsx(p.Input,{field:"ep_cert_no",label:a("统一社会信用代码"),initValue:de.ep_cert_no,onChange:e=>ce(t=>({...t,ep_cert_no:e})),placeholder:a("请输入18位信用代码"),rules:[{required:!0,message:a("信用代码不能为空")}]}),t.jsx(p.Input,{field:"legal_person_cert_name",label:a("法人姓名"),initValue:de.legal_person_cert_name,onChange:e=>ce(t=>({...t,legal_person_cert_name:e})),placeholder:a("请输入法人姓名"),rules:[{required:!0,message:a("法人姓名不能为空")}]})]},"create_"+h)]})]})};export{z as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.