You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

189 lines
3.7 KiB

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
}
// tab的list
export const settingList = [
{
key: '1',
name: '基本设置',
component: 'BaseSetting'
},
{
key: '2',
name: '安全设置',
component: 'SecureSetting'
},
{
key: '3',
name: '账号绑定',
component: 'AccountBind'
},
{
key: '4',
name: '新消息通知',
component: 'MsgNotify'
}
]
// 基础设置 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()
}
}
]
}
}
]