export const smsSchema = { key: 'users.sms', title: '短信接口', icon: 'fa fas fa-comment', description: '设置手机验证码服务。验证码为 6 位数字,有效期 30 分钟。', defaults: { sms_sdk: 'null', sms_number_limit_ch: true, sms_ali_api_type: 'sms', sms_ali_keyid: '', sms_ali_keysecret: '', sms_ali_sign_name: '', sms_ali_template_code: '', sms_region_id: 'cn-hangzhou', sms_tencent_app_id: '', sms_tencent_app_key: '', sms_tencent_sign_name: '', sms_tencent_template_id: '', sms_smsbao_username: '', sms_smsbao_password: '', sms_smsbao_api_key: '', sms_smsbao_template: '', }, groups: [ { key: 'provider', title: '短信接口', icon: 'fa fas fa-plug', fields: [ { key: 'sms_sdk', label: '设置短信接口', type: 'select', default: 'null', options: [ { label: '不使用', value: 'null' }, { label: '阿里云短信', value: 'ali' }, { label: '腾讯云短信', value: 'tencent' }, { label: '短信宝', value: 'smsbao' }, ], }, { key: 'sms_number_limit_ch', label: '限制国内手机号', type: 'switch', default: true, help: '开启后只允许发送到中国大陆手机号。', }, { key: 'sms_test_phone', label: '测试手机号', type: 'input', default: '', ui_only: true, help: '保存接口配置后,发送固定验证码 888888 测试短信。' }, { key: 'sms_test_send', label: '发送测试短信', type: 'button', buttonType: 'primary', buttonText: '发送测试短信', ui_only: true }, ], }, { key: 'aliyun', title: '阿里云', icon: 'fa fas fa-cloud', collapsible: true, defaultCollapsed: true, fields: [ { key: 'sms_ali_api_type', label: '产品', type: 'radio', default: 'sms', options: [ { label: '短信服务', value: 'sms' }, { label: '号码认证:短信认证服务', value: 'verify' }, ], dependsOn: { key: 'sms_sdk', value: 'ali' }, }, { key: 'sms_ali_keyid', label: 'AccessKey Id', type: 'input', default: '', dependsOn: { key: 'sms_sdk', value: 'ali' } }, { key: 'sms_ali_keysecret', label: 'AccessKey Secret', type: 'input', inputType: 'password', secret: true, default: '', dependsOn: { key: 'sms_sdk', value: 'ali' } }, { key: 'sms_ali_sign_name', label: '签名', type: 'input', default: '', dependsOn: { key: 'sms_sdk', value: 'ali' } }, { key: 'sms_ali_template_code', label: '模板 CODE', type: 'input', default: '', dependsOn: { all: [{ key: 'sms_sdk', value: 'ali' }, { key: 'sms_ali_api_type', not: true, value: 'verify' }] }, help: '短信服务需要填写。号码认证产品固定使用平台模板。' }, { key: 'sms_region_id', label: 'RegionId', type: 'input', default: 'cn-hangzhou', dependsOn: { key: 'sms_sdk', value: 'ali' } }, ], }, { key: 'tencent', title: '腾讯云', icon: 'fa fas fa-cloud', collapsible: true, defaultCollapsed: true, fields: [ { key: 'sms_tencent_app_id', label: 'SDK AppID', type: 'input', default: '', dependsOn: { key: 'sms_sdk', value: 'tencent' } }, { key: 'sms_tencent_app_key', label: 'App Key', type: 'input', inputType: 'password', secret: true, default: '', dependsOn: { key: 'sms_sdk', value: 'tencent' } }, { key: 'sms_tencent_sign_name', label: '签名', type: 'input', default: '', dependsOn: { key: 'sms_sdk', value: 'tencent' } }, { key: 'sms_tencent_template_id', label: '模板 ID', type: 'input', default: '', dependsOn: { key: 'sms_sdk', value: 'tencent' }, help: '模板包含验证码和有效分钟数两个参数。' }, ], }, { key: 'smsbao', title: '短信宝', icon: 'fa fas fa-cloud', collapsible: true, defaultCollapsed: true, fields: [ { key: 'sms_smsbao_username', label: '用户名', type: 'input', default: '', dependsOn: { key: 'sms_sdk', value: 'smsbao' } }, { key: 'sms_smsbao_password', label: '密码', type: 'input', inputType: 'password', secret: true, default: '', dependsOn: { key: 'sms_sdk', value: 'smsbao' } }, { key: 'sms_smsbao_api_key', label: 'ApiKey', type: 'input', inputType: 'password', secret: true, default: '', dependsOn: { key: 'sms_sdk', value: 'smsbao' }, help: '可选;填写后以 ApiKey 认证,可与密码任选其一。' }, { key: 'sms_smsbao_template', label: '模板内容', type: 'input', default: '', dependsOn: { key: 'sms_sdk', value: 'smsbao' }, help: '必须包含 {code},有效时间变量为 {time}。' }, ], }, ], }