import { modelOptions, prop } from '@typegoose/typegoose'; import { BaseModel } from '../../frame/BaseModel'; import { isString } from 'lodash'; @modelOptions({ schemaOptions: { collection: 'admin' }, }) export class Admin extends BaseModel { @prop({ required: false, index: true, zh: '账号', unique: true, esType: 'keyword', }) account: string; @prop({ required: false, index: false, zh: '昵称', esType: 'text' }) nick_name: string; // 手动删除set前的大括号,处理太麻烦了.就手动删除吧 @prop({ required: false, index: false, zh: '密码', esType: null, select: false, set: val => { if (isString(val)) { return { secret: val }; } return val; }, }) password: object; @prop({ required: false, index: false, zh: '是否是超级管理员', remark: '0:超级管理员;1普通用户', esType: 'keyword', default: '1', }) is_super: string; @prop({ required: false, index: false, zh: '角色', esType: 'keyword' }) role: string; @prop({ required: false, index: false, zh: '微信openid', esType: 'keyword' }) openid: string; @prop({ required: false, index: false, zh: '是否启用', remark: '0:启用;1:禁用', esType: 'keyword', default: '0', }) is_use: string; @prop({ required: false, index: false, zh: '头像' }) icon: Array; }