Files
wordpress-theme-aksrt/assets/admin/src/schema/sections/users/sms.js
T

106 lines
4.8 KiB
JavaScript

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}。' },
],
},
],
}