import { FormSchema } from '@/components/Form/index' import { useI18n } from '@/hooks/web/useI18n' const { t } = useI18n() export interface ListItem { key: string title: string description: string extra?: string avatar?: string color?: string } // 基础设置 form export const baseSetschemas: FormSchema[] = [ { field: 'nickname', component: 'Input', label: t('profile.user.nickname'), colProps: { span: 18 } }, { field: 'mobile', component: 'Input', label: t('profile.user.mobile'), colProps: { span: 18 } }, { field: 'email', component: 'Input', label: t('profile.user.email'), colProps: { span: 18 } }, { field: 'sex', component: 'RadioGroup', componentProps: { options: [ { label: '男', value: 1 }, { label: '女', value: 2 } ] }, label: t('profile.user.sex'), colProps: { span: 18 } } ] // 安全设置 list export const secureSettingList: ListItem[] = [ { key: '1', title: '账户密码', description: '当前密码强度::强', extra: '修改' }, { key: '2', title: '密保手机', description: '已绑定手机::138****8293', extra: '修改' }, { key: '3', title: '密保问题', description: '未设置密保问题,密保问题可有效保护账户安全', extra: '修改' }, { key: '4', title: '备用邮箱', description: '已绑定邮箱::ant***sign.com', extra: '修改' }, { key: '5', title: 'MFA 设备', description: '未绑定 MFA 设备,绑定后,可以进行二次确认', extra: '修改' } ] // 账号绑定 list export const accountBindList: ListItem[] = [ { key: '20', title: '钉钉', description: '当前未绑定钉钉账号', extra: '绑定', avatar: 'ri:dingding-fill', color: '#2eabff' }, { key: '30', title: '企业微信', description: '当前未绑定企业微信', extra: '绑定', avatar: 'ri:wechat-line', color: '#2eabff' } ] // 新消息通知 list export const msgNotifyList: ListItem[] = [ { key: '1', title: '账户密码', description: '其他用户的消息将以站内信的形式通知' }, { key: '2', title: '系统消息', description: '系统消息将以站内信的形式通知' }, { key: '3', title: '待办任务', description: '待办任务将以站内信的形式通知' } ] export const passwordSchema: FormSchema[] = [ { field: 'oldPassword', label: '当前密码', component: 'InputPassword', required: true }, { field: 'newPassword', label: '新密码', component: 'StrengthMeter', componentProps: { placeholder: '新密码' }, rules: [ { required: true, message: '请输入新密码' } ] }, { field: 'confirmPassword', label: '确认密码', component: 'InputPassword', dynamicRules: ({ values }) => { return [ { required: true, validator: (_, value) => { if (!value) { return Promise.reject('密码不能为空') } if (value !== values.newPassword) { return Promise.reject('两次输入的密码不一致!') } return Promise.resolve() } } ] } } ]