2 lines
1.2 KiB
JavaScript
Executable File
2 lines
1.2 KiB
JavaScript
Executable File
const e={username:{rules:[{required:!0},{format:"string"},{minLength:2}],label:"用户名"},password:{rules:[{required:!0},{format:"password"},{minLength:6}],label:"密码"},mobile:{rules:[{format:"string"},{pattern:"^\\+?[0-9-]{3,20}$"}],label:"手机号码"},status:{rules:[{format:"int"},{range:[{text:"正常",value:0},{text:"禁用",value:1},{text:"审核中",value:2},{text:"审核拒绝",value:3}]}],defaultValue:0,label:"用户状态"},email:{rules:[{format:"string"},{format:"email"}],label:"邮箱"},role:{rules:[{format:"array"}],label:"角色"},register_date:{rules:[{format:"timestamp"}]}},t={status_valuetotext:{0:"正常",1:"禁用",2:"审核中",3:"审核拒绝"}};function a(e,t){let a={};for(let l in e){let{type:r,value:s}=e[l];switch(r){case"search":"string"==typeof s&&s.length&&(a[l]=new RegExp(s));break;case"select":if(s.length){let e=[];for(let a of s)e.push(t.eq(a));a[l]=t.or(e)}break;case"range":if(s.length){let e=s[0],r=s[1];a[l]=t.and([t.gte(e),t.lte(r)])}break;case"date":if(s.length){let[e,r]=s,n=new Date(e),u=new Date(r);a[l]=t.and([t.gte(n),t.lte(u)])}break;case"timestamp":if(s.length){let[e,r]=s;a[l]=t.and([t.gte(e),t.lte(r)])}}}return a}export{t as e,a as f,e as v};
|