Extend badge dictionary with optional icon_url, prefer aksrt_wear_badge when assigned, and render medal images in identity chips.
721 lines
72 KiB
PHP
721 lines
72 KiB
PHP
<?php
|
|
/**
|
|
* AKSRT_Admin_Schema_Users schema builder.
|
|
*
|
|
* @package AKSRT
|
|
*/
|
|
|
|
defined('ABSPATH') || exit;
|
|
|
|
class AKSRT_Admin_Schema_Users {
|
|
|
|
public static function build(): array {
|
|
return [
|
|
'domain' => 'users',
|
|
'title' => '用户&互动',
|
|
'sections' => [
|
|
'auth' => [
|
|
'key' => 'auth',
|
|
'title' => '注册登录',
|
|
'version' => '1.0.0',
|
|
'option_key' => 'aksrt_settings',
|
|
'groups' => [
|
|
['key' => 'register', 'title' => '注册设置', 'fields' => [
|
|
['key' => 'close_sign', 'label' => '一键禁用登录注册', 'type' => 'switch', 'default' => false, 'desc' => '开启后前台禁用全部注册/登录入口(含社交登录),不影响后台登录'],
|
|
['key' => 'user_close_signup', 'label' => '关闭注册', 'type' => 'switch', 'default' => false],
|
|
['key' => 'close_signin', 'label' => '禁用账密登录', 'type' => 'switch', 'default' => false, 'desc' => '仅允许社交账号登录'],
|
|
['key' => 'user_agreement_s', 'label' => '用户协议', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_agreement_page', 'label' => '协议页面', 'type' => 'input', 'default' => ''],
|
|
['key' => 'user_privacy_s', 'label' => '隐私政策', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_privacy_page', 'label' => '隐私页面', 'type' => 'input', 'default' => ''],
|
|
['key' => 'user_agreement_check', 'label' => '强制勾选协议', 'type' => 'switch', 'default' => true],
|
|
['key' => 'no_repetition_name', 'label' => '禁止重复昵称', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_nickname_out', 'label' => '昵称黑名单关键词', 'type' => 'textarea', 'default' => "赌博,博彩,代发,代理,刷单,博彩,六合彩,admin,test,管理员,客服", 'desc' => '一行一个关键词,注册昵称包含关键词将被拒绝'],
|
|
['key' => 'user_email_limit_type', 'label' => '邮箱限制类型', 'type' => 'radio', 'default' => 'black', 'options' => [
|
|
['label' => '黑名单(拒绝以下后缀)', 'value' => 'black'],
|
|
['label' => '白名单(仅允许以下后缀)', 'value' => 'white'],
|
|
]],
|
|
['key' => 'user_email_out', 'label' => '邮箱限制后缀', 'type' => 'textarea', 'default' => "@tempmail.com\n@throwaway.email\n@guerrillamail.com", 'desc' => '一行一个邮箱后缀,如 @tempmail.com'],
|
|
]],
|
|
['key' => 'login', 'title' => '登录设置', 'fields' => [
|
|
['key' => 'user_close_login', 'label' => '关闭登录', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_sign_type', 'label' => '登录注册样式', 'type' => 'radio', 'default' => 'page', 'options' => [
|
|
['label' => '弹窗', 'value' => 'modal'],
|
|
['label' => '跳转页面', 'value' => 'page'],
|
|
]],
|
|
['key' => 'sign_modal_auto_s', 'label' => '自动弹出登录窗', 'type' => 'switch', 'default' => false, 'desc' => '仅在 user_sign_type=modal 时生效'],
|
|
['key' => 'sign_modal_auto_waiting_time', 'label' => '弹窗等待秒数', 'type' => 'number', 'default' => 5, 'min' => 0, 'max' => 60, 'desc' => '页面加载多少秒后弹出登录窗'],
|
|
['key' => 'sign_modal_auto_expires', 'label' => '弹窗周期(小时)', 'type' => 'number', 'default' => 1, 'min' => 0, 'max' => 720, 'desc' => '关闭弹窗后多少小时内不再自动弹出,0=每次刷新都弹'],
|
|
['key' => 'replace_wp_login', 'label' => '替换WP登录页', 'type' => 'switch', 'default' => true],
|
|
['key' => 'admin_sign_key', 'label' => '应急登录 Key', 'type' => 'input', 'default' => '', 'desc' => '留空为禁用。管理员可通过 /wp-login.php?aksrt_bypass=<key> 绕过前台替换'],
|
|
['key' => 'user_signin_phone_s', 'label' => '手机号登录', 'type' => 'switch', 'default' => false, 'desc' => '允许用手机号作为用户名登录'],
|
|
['key' => 'user_signin_nopas_s', 'label' => '免密登录', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_signin_nopas_type', 'label' => '免密登录方式', 'type' => 'radio', 'default' => 'email', 'options' => [
|
|
['label' => '邮箱验证码', 'value' => 'email'],
|
|
['label' => '手机验证码', 'value' => 'phone'],
|
|
['label' => '邮箱或手机', 'value' => 'email_phone'],
|
|
]],
|
|
['key' => 'user_signin_nopas_active', 'label' => '免密显示模式', 'type' => 'radio', 'default' => 'nopas_first', 'options' => [
|
|
['label' => '优先免密', 'value' => 'nopas_first'],
|
|
['label' => '优先密码', 'value' => 'password_first'],
|
|
['label' => '仅免密', 'value' => 'nopas_only'],
|
|
]],
|
|
]],
|
|
['key' => 'signup_captcha', 'title' => '注册验证', 'fields' => [
|
|
['key' => 'user_signup_captch', 'label' => '注册需验证', 'type' => 'switch', 'default' => true, 'desc' => '注册时需完成邮箱或手机验证'],
|
|
['key' => 'captch_type', 'label' => '验证方式', 'type' => 'radio', 'default' => 'email', 'options' => [
|
|
['label' => '邮箱', 'value' => 'email'],
|
|
['label' => '手机', 'value' => 'phone'],
|
|
['label' => '邮箱或手机', 'value' => 'email_phone'],
|
|
]],
|
|
['key' => 'user_signup_no_repas', 'label' => '无需重复密码', 'type' => 'switch', 'default' => true, 'desc' => '注册时不要求二次确认密码'],
|
|
['key' => 'user_repas_captch_type', 'label' => '找回密码验证方式', 'type' => 'radio', 'default' => 'email', 'options' => [
|
|
['label' => '邮箱', 'value' => 'email'],
|
|
['label' => '手机', 'value' => 'phone'],
|
|
['label' => '邮箱或手机', 'value' => 'email_phone'],
|
|
]],
|
|
]],
|
|
['key' => 'bind', 'title' => '绑定设置', 'fields' => [
|
|
['key' => 'bind_phone', 'label' => '绑定手机', 'type' => 'switch', 'default' => false],
|
|
['key' => 'bind_reminder', 'label' => '绑定提醒', 'type' => 'radio', 'default' => 'close', 'options' => [
|
|
['label' => '提醒绑定邮箱', 'value' => 'email'],
|
|
['label' => '提醒绑定手机', 'value' => 'phone'],
|
|
['label' => '提醒绑定邮箱和手机', 'value' => 'email_phone'],
|
|
['label' => '关闭', 'value' => 'close'],
|
|
]],
|
|
['key' => 'bind_reminder_text', 'label' => '提醒文案', 'type' => 'input', 'default' => '请绑定手机号以正常使用'],
|
|
['key' => 'bind_reminder_expires', 'label' => '提醒周期(小时)', 'type' => 'number', 'default' => 24, 'min' => 1, 'max' => 720, 'desc' => '用户关闭提醒后多少小时内不再提醒'],
|
|
['key' => 'mandatory_bind', 'label' => '强制绑定', 'type' => 'radio', 'default' => 'close', 'options' => [
|
|
['label' => '强制绑定邮箱', 'value' => 'email'],
|
|
['label' => '强制绑定手机', 'value' => 'phone'],
|
|
['label' => '强制绑定邮箱和手机', 'value' => 'email_phone'],
|
|
['label' => '关闭', 'value' => 'close'],
|
|
]],
|
|
['key' => 'email_set_captch', 'label' => '绑定邮箱需验证', 'type' => 'switch', 'default' => true, 'desc' => '绑定邮箱时需发送验证码确认'],
|
|
]],
|
|
['key' => 'invite_inline', 'title' => '邀请码注册', 'fields' => [
|
|
['key' => 'invit_code_s', 'label' => '启用邀请码', 'type' => 'switch', 'default' => false, 'desc' => '与「邀请码」子页联动,此处开关控制注册表单是否显示邀请码字段'],
|
|
['key' => 'invit_code_mode', 'label' => '邀请模式', 'type' => 'select', 'default' => 'open', 'options' => [
|
|
['label' => '开放注册(邀请码选填)', 'value' => 'open'],
|
|
['label' => '必须邀请码', 'value' => 'must'],
|
|
]],
|
|
['key' => 'invit_code_open_desc', 'label' => '开放注册提示', 'type' => 'input', 'default' => '邀请码为选填,没有邀请码也可以注册'],
|
|
['key' => 'invit_code_must_desc', 'label' => '必填提示', 'type' => 'input', 'default' => '请输入邀请码'],
|
|
]],
|
|
['key' => 'sign_page_ui', 'title' => '页面 UI 配置', 'fields' => [
|
|
['key' => 'sign_page_background', 'label' => '页面背景图', 'type' => 'gallery', 'default' => [], 'desc' => '登录注册页背景图,多图随机'],
|
|
['key' => 'sign_theme_mode', 'label' => '主题模式', 'type' => 'radio', 'default' => 'default', 'options' => [
|
|
['label' => '默认', 'value' => 'default'],
|
|
['label' => '亮色', 'value' => 'light'],
|
|
['label' => '暗色', 'value' => 'dark'],
|
|
]],
|
|
['key' => 'sign_show_header', 'label' => '显示顶部导航', 'type' => 'switch', 'default' => true],
|
|
['key' => 'sign_card_position', 'label' => '卡片位置', 'type' => 'radio', 'default' => 'center', 'options' => [
|
|
['label' => '靠左', 'value' => 'left'],
|
|
['label' => '居中', 'value' => 'center'],
|
|
['label' => '靠右', 'value' => 'right'],
|
|
]],
|
|
['key' => 'sign_show_logo', 'label' => '显示 LOGO', 'type' => 'switch', 'default' => true],
|
|
['key' => 'sign_page_footer', 'label' => '页脚 HTML', 'type' => 'textarea', 'default' => '', 'desc' => '登录注册页自定义页脚内容,支持 HTML'],
|
|
]],
|
|
['key' => 'modal_ui', 'title' => '弹窗 UI 配置', 'fields' => [
|
|
['key' => 'sign_modal_background', 'label' => '弹窗背景图', 'type' => 'gallery', 'default' => [], 'desc' => '弹窗左侧背景图,多图随机'],
|
|
['key' => 'sign_modal_show_logo', 'label' => '弹窗显示 LOGO', 'type' => 'switch', 'default' => true],
|
|
]],
|
|
['key' => 'sign_logo', 'title' => '登录框 LOGO', 'fields' => [
|
|
['key' => 'user_logo', 'label' => '日间 LOGO', 'type' => 'gallery', 'default' => [], 'desc' => '登录框专用日间 LOGO,留空使用站点全局 LOGO'],
|
|
['key' => 'user_logo_dark', 'label' => '夜间 LOGO', 'type' => 'gallery', 'default' => [], 'desc' => '登录框专用夜间 LOGO,留空使用站点全局夜间 LOGO'],
|
|
]],
|
|
],
|
|
],
|
|
'notifications' => [
|
|
'key' => 'notifications',
|
|
'title' => '消息通知',
|
|
'version' => '1.0.0',
|
|
'option_key' => 'aksrt_settings',
|
|
'groups' => [
|
|
['key' => 'basic', 'title' => '基础设置', 'fields' => [
|
|
['key' => 'message_s', 'label' => '站内通知总开关', 'type' => 'switch', 'default' => true],
|
|
['key' => 'msg_center_rewrite_slug', 'label' => '消息中心 URL 别名', 'type' => 'input', 'default' => 'message'],
|
|
['key' => 'message_icon_show', 'label' => '通知图标位置', 'type' => 'checkbox', 'default' => ['nav_menu'], 'options' => [
|
|
['label' => '导航菜单', 'value' => 'nav_menu'],
|
|
['label' => '用户头像', 'value' => 'avatar'],
|
|
['label' => '移动端底部', 'value' => 'mobile_bar'],
|
|
]],
|
|
['key' => 'message_paginate_type', 'label' => '列表翻页模式', 'type' => 'radio', 'default' => 'ajax_lists', 'options' => [
|
|
['label' => 'AJAX 翻页', 'value' => 'ajax_lists'],
|
|
['label' => '传统翻页', 'value' => 'default'],
|
|
]],
|
|
['key' => 'message_user_set', 'label' => '允许用户设置推送', 'type' => 'switch', 'default' => true, 'desc' => '允许用户在前台自行设置通知推送偏好'],
|
|
]],
|
|
['key' => 'types', 'title' => '通知类型', 'fields' => [
|
|
['key' => 'message_close_msg_type', 'label' => '关闭部分推送', 'type' => 'checkbox', 'default' => [], 'options' => [
|
|
['label' => '文章通知', 'value' => 'posts'],
|
|
['label' => '评论回复', 'value' => 'comment'],
|
|
['label' => '收藏通知', 'value' => 'favorite'],
|
|
['label' => '点赞通知', 'value' => 'like'],
|
|
['label' => '热门通知', 'value' => 'hot'],
|
|
['label' => '关注通知', 'value' => 'followed'],
|
|
['label' => '系统通知', 'value' => 'system'],
|
|
['label' => '支付通知', 'value' => 'pay'],
|
|
['label' => '提现回复', 'value' => 'withdraw_reply'],
|
|
['label' => '勋章通知', 'value' => 'medal'],
|
|
['label' => '认证回复', 'value' => 'auth_apply_reply'],
|
|
], 'desc' => '勾选的类型将不向用户推送通知'],
|
|
]],
|
|
['key' => 'auto_clear', 'title' => '自动清理', 'fields' => [
|
|
['key' => 'message_auto_clear_s', 'label' => '自动清理已读消息', 'type' => 'switch', 'default' => true],
|
|
['key' => 'message_auto_clear_time', 'label' => '过期天数', 'type' => 'number', 'default' => 365, 'min' => 1, 'max' => 3650, 'desc' => '已读消息超过此天数将被自动清理'],
|
|
['key' => 'message_auto_clear_types', 'label' => '清理类型', 'type' => 'checkbox', 'default' => ['posts', 'comment', 'favorite', 'like', 'hot', 'followed', 'system'], 'options' => [
|
|
['label' => '文章通知', 'value' => 'posts'],
|
|
['label' => '评论回复', 'value' => 'comment'],
|
|
['label' => '收藏通知', 'value' => 'favorite'],
|
|
['label' => '点赞通知', 'value' => 'like'],
|
|
['label' => '热门通知', 'value' => 'hot'],
|
|
['label' => '关注通知', 'value' => 'followed'],
|
|
['label' => '系统通知', 'value' => 'system'],
|
|
['label' => '支付通知', 'value' => 'pay'],
|
|
['label' => '提现回复', 'value' => 'withdraw_reply'],
|
|
['label' => '勋章通知', 'value' => 'medal'],
|
|
['label' => '认证回复', 'value' => 'auth_apply_reply'],
|
|
['label' => '下载通知', 'value' => 'download'],
|
|
['label' => '积分变动', 'value' => 'credits'],
|
|
['label' => '私信', 'value' => 'private'],
|
|
['label' => '举报反馈', 'value' => 'report'],
|
|
]],
|
|
]],
|
|
['key' => 'private', 'title' => '私信设置', 'fields' => [
|
|
['key' => 'private_s', 'label' => '启用私信功能', 'type' => 'switch', 'default' => true],
|
|
['key' => 'private_smilie_s', 'label' => '支持表情', 'type' => 'switch', 'default' => true],
|
|
['key' => 'private_code_s', 'label' => '支持代码', 'type' => 'switch', 'default' => false],
|
|
['key' => 'private_image_s', 'label' => '支持图片', 'type' => 'switch', 'default' => true],
|
|
['key' => 'private_upload_img', 'label' => '支持上传图片', 'type' => 'switch', 'default' => false],
|
|
['key' => 'private_quick_s', 'label' => '快捷回复', 'type' => 'switch', 'default' => true],
|
|
['key' => 'private_quick_often', 'label' => '常用快捷回复', 'type' => 'textarea', 'default' => "你好,请问有什么可以帮你的?\n感谢你的反馈\n已处理,请查收", 'desc' => '一行一条快捷回复文案'],
|
|
['key' => 'private_submit_text', 'label' => '发送按钮文案', 'type' => 'input', 'default' => '发送'],
|
|
['key' => 'private_placeholder', 'label' => '输入占位符', 'type' => 'input', 'default' => '请输入消息...'],
|
|
]],
|
|
],
|
|
],
|
|
'oauth' => [
|
|
'key' => 'oauth',
|
|
'title' => '第三方登录',
|
|
'version' => '1.0.0',
|
|
'option_key' => 'aksrt_settings',
|
|
'groups' => [
|
|
['key' => 'basic', 'title' => '基础设置', 'fields' => [
|
|
['key' => 'oauth_s', 'label' => '启用第三方登录', 'type' => 'switch', 'default' => false],
|
|
['key' => 'oauth_proxy_mode', 'label' => '代理登录模式', 'type' => 'radio', 'default' => 'close', 'options' => [
|
|
['label' => '关闭', 'value' => 'close'],
|
|
['label' => '服务端', 'value' => 'server'],
|
|
['label' => '客户端', 'value' => 'client'],
|
|
]],
|
|
['key' => 'oauth_proxy_secret', 'label' => '代理 HMAC 密钥', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'oauth_proxy_mode', 'not' => 'close']],
|
|
['key' => 'oauth_proxy_server_url', 'label' => '服务端地址', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'oauth_proxy_mode', 'value' => 'client']],
|
|
['key' => 'oauth_proxy_server_providers', 'label' => '服务端允许平台', 'type' => 'checkbox', 'default' => ['github', 'gitee', 'qq', 'google'], 'options' => [
|
|
['label' => 'GitHub', 'value' => 'github'],
|
|
['label' => 'Gitee', 'value' => 'gitee'],
|
|
['label' => 'QQ', 'value' => 'qq'],
|
|
['label' => 'Google', 'value' => 'google'],
|
|
['label' => '微博', 'value' => 'weibo'],
|
|
['label' => '微信', 'value' => 'weixin'],
|
|
['label' => '百度', 'value' => 'baidu'],
|
|
['label' => '支付宝', 'value' => 'alipay'],
|
|
], 'dependsOn' => ['key' => 'oauth_proxy_mode', 'value' => 'server']],
|
|
['key' => 'oauth_proxy_client_providers', 'label' => '客户端启用平台', 'type' => 'checkbox', 'default' => ['github', 'gitee', 'qq', 'google'], 'options' => [
|
|
['label' => 'GitHub', 'value' => 'github'],
|
|
['label' => 'Gitee', 'value' => 'gitee'],
|
|
['label' => 'QQ', 'value' => 'qq'],
|
|
['label' => 'Google', 'value' => 'google'],
|
|
['label' => '微博', 'value' => 'weibo'],
|
|
['label' => '微信', 'value' => 'weixin'],
|
|
['label' => '百度', 'value' => 'baidu'],
|
|
['label' => '支付宝', 'value' => 'alipay'],
|
|
], 'dependsOn' => ['key' => 'oauth_proxy_mode', 'value' => 'client']],
|
|
['key' => 'oauth_proxy_gzh_type', 'label' => '代理公众号类型', 'type' => 'radio', 'default' => 'service', 'options' => [
|
|
['label' => '服务号', 'value' => 'service'],
|
|
['label' => '订阅号', 'value' => 'subscribe'],
|
|
], 'dependsOn' => ['key' => 'oauth_proxy_mode', 'not' => 'close']],
|
|
['key' => 'oauth_bind_type', 'label' => '绑定方式', 'type' => 'radio', 'default' => 'auto', 'options' => [
|
|
['label' => '自动绑定', 'value' => 'auto'],
|
|
['label' => '手动绑定', 'value' => 'manual'],
|
|
]],
|
|
['key' => 'oauth_button_lg', 'label' => '大按钮样式', 'type' => 'switch', 'default' => false],
|
|
['key' => 'weixingzh_priority', 'label' => 'PC端优先微信扫码', 'type' => 'switch', 'default' => false, 'help' => '开启后 PC 端登录框优先显示微信公众号扫码'],
|
|
['key' => 'weixingzh_auto', 'label' => '微信APP内自动登录', 'type' => 'switch', 'default' => false, 'help' => '在微信内置浏览器中自动使用公众号授权登录'],
|
|
['key' => 'weixingzh_auto_expires', 'label' => '自动登录频率限制 (秒)', 'type' => 'number', 'default' => 3600, 'min' => 0, 'max' => 86400, 'dependsOn' => ['key' => 'weixingzh_auto', 'value' => true]],
|
|
]],
|
|
['key' => 'providers', 'title' => '登录提供商', 'fields' => [
|
|
['key' => 'oauth_github_s', 'label' => 'GitHub登录', 'type' => 'switch', 'default' => false],
|
|
['key' => 'oauth_gitee_s', 'label' => 'Gitee登录', 'type' => 'switch', 'default' => false],
|
|
['key' => 'oauth_qq_s', 'label' => 'QQ登录', 'type' => 'switch', 'default' => false],
|
|
['key' => 'oauth_weixingzh_s', 'label' => '微信公众号登录', 'type' => 'switch', 'default' => false],
|
|
['key' => 'oauth_weixin_s', 'label' => '微信开放平台登录', 'type' => 'switch', 'default' => false],
|
|
['key' => 'oauth_weibo_s', 'label' => '微博登录', 'type' => 'switch', 'default' => false],
|
|
['key' => 'oauth_baidu_s', 'label' => '百度登录', 'type' => 'switch', 'default' => false],
|
|
['key' => 'oauth_alipay_s', 'label' => '支付宝登录', 'type' => 'switch', 'default' => false],
|
|
]],
|
|
['key' => 'github', 'title' => 'GitHub配置', 'fields' => [
|
|
['key' => 'github_appid', 'label' => 'Client ID', 'type' => 'input', 'default' => ''],
|
|
['key' => 'github_appkey', 'label' => 'Client Secret', 'type' => 'input', 'default' => ''],
|
|
]],
|
|
['key' => 'gitee', 'title' => 'Gitee配置', 'fields' => [
|
|
['key' => 'gitee_appid', 'label' => 'Client ID', 'type' => 'input', 'default' => ''],
|
|
['key' => 'gitee_appkey', 'label' => 'Client Secret', 'type' => 'input', 'default' => ''],
|
|
]],
|
|
['key' => 'qq', 'title' => 'QQ配置', 'fields' => [
|
|
['key' => 'qq_appid', 'label' => 'App ID', 'type' => 'input', 'default' => ''],
|
|
['key' => 'qq_appkey', 'label' => 'App Key', 'type' => 'input', 'default' => ''],
|
|
]],
|
|
['key' => 'weixin', 'title' => '微信开放平台配置', 'fields' => [
|
|
['key' => 'weixin_appid', 'label' => 'AppID', 'type' => 'input', 'default' => ''],
|
|
['key' => 'weixin_appsecret', 'label' => 'AppSecret', 'type' => 'input', 'default' => ''],
|
|
]],
|
|
['key' => 'weixingzh', 'title' => '微信公众号配置', 'fields' => [
|
|
['key' => 'weixingzh_gzh_type', 'label' => '公众号类型', 'type' => 'radio', 'default' => 'service', 'options' => [
|
|
['label' => '服务号', 'value' => 'service'],
|
|
['label' => '订阅号', 'value' => 'subscribe'],
|
|
]],
|
|
['key' => 'weixingzh_token', 'label' => 'Token', 'type' => 'input', 'default' => ''],
|
|
['key' => 'weixingzh_token_nocheck', 'label' => '不验证Token', 'type' => 'switch', 'default' => false, 'help' => '开发调试时可跳过 Token 验证'],
|
|
['key' => 'weixingzh_encoding_aes_key', 'label' => 'EncodingAESKey', 'type' => 'input', 'default' => ''],
|
|
['key' => 'weixingzh_appid', 'label' => 'AppID', 'type' => 'input', 'default' => ''],
|
|
['key' => 'weixingzh_appsecret', 'label' => 'AppSecret', 'type' => 'input', 'default' => ''],
|
|
['key' => 'weixingzh_code_qrcode', 'label' => '公众号二维码', 'type' => 'media', 'default' => '', 'help' => '引导用户扫码关注登录的二维码图片'],
|
|
['key' => 'weixingzh_code_keyword', 'label' => '登录回复关键词', 'type' => 'input', 'default' => '登录', 'help' => '用户在公众号内回复此关键词触发登录验证码'],
|
|
['key' => 'weixingzh_code_reply', 'label' => '验证码回复模板', 'type' => 'textarea', 'default' => '您的验证码是:%s,有效期 %d 分钟。', 'help' => '%s=验证码,%d=有效分钟数'],
|
|
['key' => 'weixingzh_code_subscribe_reply', 'label' => '新关注回复模板', 'type' => 'textarea', 'default' => '欢迎关注!回复「%s」获取登录验证码。', 'help' => '%s=登录关键词'],
|
|
['key' => 'weixingzh_subscribe_msg', 'label' => '关注后回复', 'type' => 'textarea', 'default' => '', 'help' => '用户关注公众号后的自动回复文案'],
|
|
['key' => 'weixingzh_new_subscribe_msg', 'label' => '新用户关注回复', 'type' => 'textarea', 'default' => '', 'help' => '首次关注用户的专属回复文案,留空使用通用回复'],
|
|
['key' => 'weixingzh_scan_msg', 'label' => '扫码回复', 'type' => 'textarea', 'default' => '', 'help' => '用户扫码关注公众号后的回复文案'],
|
|
['key' => 'weixingzh_auto_reply_text', 'label' => '文本自动回复', 'type' => 'textarea', 'default' => '', 'help' => '收到文本消息的自动回复'],
|
|
['key' => 'weixingzh_auto_reply_search', 'label' => '搜索回复', 'type' => 'textarea', 'default' => '', 'help' => '未匹配关键词时的搜索提示回复'],
|
|
['key' => 'weixingzh_auto_reply_image', 'label' => '图片回复', 'type' => 'textarea', 'default' => '', 'help' => '收到图片消息的自动回复'],
|
|
['key' => 'weixingzh_auto_reply_voice', 'label' => '语音回复', 'type' => 'textarea', 'default' => '', 'help' => '收到语音消息的自动回复'],
|
|
['key' => 'weixingzh_auto_reply_default', 'label' => '默认回复', 'type' => 'textarea', 'default' => '暂不支持此类型的消息', 'help' => '其他未匹配消息类型的兜底回复'],
|
|
['key' => 'weixingzh_gzh_menu', 'label' => '自定义菜单 JSON', 'type' => 'textarea', 'default' => '', 'help' => '微信公众号自定义菜单 JSON 配置,留空不创建菜单'],
|
|
]],
|
|
['key' => 'weibo', 'title' => '微博配置', 'fields' => [
|
|
['key' => 'weibo_appid', 'label' => 'App Key', 'type' => 'input', 'default' => ''],
|
|
['key' => 'weibo_appkey', 'label' => 'App Secret', 'type' => 'input', 'default' => ''],
|
|
]],
|
|
['key' => 'baidu', 'title' => '百度配置', 'fields' => [
|
|
['key' => 'baidu_appid', 'label' => 'API Key', 'type' => 'input', 'default' => ''],
|
|
['key' => 'baidu_appkey', 'label' => 'Secret Key', 'type' => 'input', 'default' => ''],
|
|
]],
|
|
['key' => 'alipay', 'title' => '支付宝配置', 'fields' => [
|
|
['key' => 'alipay_appid', 'label' => 'AppID', 'type' => 'input', 'default' => ''],
|
|
['key' => 'alipay_privatekey', 'label' => '应用私钥', 'type' => 'input', 'default' => ''],
|
|
['key' => 'alipay_publickey', 'label' => '支付宝公钥', 'type' => 'input', 'default' => ''],
|
|
]],
|
|
],
|
|
],
|
|
'sms' => [
|
|
'key' => 'sms',
|
|
'title' => '短信接口',
|
|
'version' => '1.0.0',
|
|
'option_key' => 'aksrt_settings',
|
|
'groups' => [
|
|
['key' => 'provider', 'title' => '供应商配置', 'fields' => [
|
|
['key' => 'sms_enabled', 'label' => '启用短信', 'type' => 'switch', 'default' => false],
|
|
['key' => 'sms_provider', 'label' => '短信服务商', 'type' => 'select', 'default' => 'aliyun', 'dependsOn' => ['key' => 'sms_enabled', 'value' => true], 'options' => [
|
|
['label' => '阿里云短信', 'value' => 'aliyun'],
|
|
['label' => '腾讯云短信', 'value' => 'tencent'],
|
|
['label' => '华为云短信', 'value' => 'huawei'],
|
|
['label' => '自定义接口', 'value' => 'custom'],
|
|
]],
|
|
['key' => 'sms_number_limit_ch', 'label' => '仅发国内', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'sms_enabled', 'value' => true], 'desc' => '开启后仅支持发送国内短信,关闭后可发送港澳台及国际短信'],
|
|
['key' => 'sms_access_key', 'label' => 'AccessKey / SecretId / AppKey', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_enabled', 'value' => true]],
|
|
['key' => 'sms_access_secret', 'label' => 'AccessSecret / SecretKey / AppSecret', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_enabled', 'value' => true]],
|
|
]],
|
|
['key' => 'aliyun', 'title' => '阿里云配置', 'fields' => [
|
|
['key' => 'sms_ali_api_type', 'label' => '接口类型', 'type' => 'radio', 'default' => 'sms', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'aliyun'], 'options' => [
|
|
['label' => '短信服务', 'value' => 'sms'],
|
|
['label' => '号码认证', 'value' => 'verify'],
|
|
]],
|
|
['key' => 'sms_region_id', 'label' => 'RegionId', 'type' => 'input', 'default' => 'cn-hangzhou', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'aliyun']],
|
|
]],
|
|
['key' => 'tencent', 'title' => '腾讯云配置', 'fields' => [
|
|
['key' => 'sms_tencent_app_id', 'label' => 'AppID', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'tencent']],
|
|
['key' => 'sms_tencent_app_key', 'label' => 'AppKey', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'tencent']],
|
|
['key' => 'sms_tencent_secret_id', 'label' => 'SecretId', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'tencent']],
|
|
['key' => 'sms_tencent_secret_key', 'label' => 'SecretKey', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'tencent']],
|
|
['key' => 'sms_tencent_region', 'label' => '地域', 'type' => 'input', 'default' => 'ap-guangzhou', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'tencent']],
|
|
]],
|
|
['key' => 'huawei', 'title' => '华为云配置', 'fields' => [
|
|
['key' => 'sms_huawei_sender', 'label' => '通道号 (sender)', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'huawei']],
|
|
['key' => 'sms_huawei_signature', 'label' => '短信签名', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'huawei']],
|
|
['key' => 'sms_huawei_endpoint', 'label' => 'API Endpoint', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'huawei']],
|
|
]],
|
|
['key' => 'custom', 'title' => '自定义接口配置', 'fields' => [
|
|
['key' => 'sms_custom_url', 'label' => '请求 URL', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'custom']],
|
|
['key' => 'sms_custom_method', 'label' => '请求方法', 'type' => 'select', 'default' => 'POST', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'custom'], 'options' => [
|
|
['label' => 'POST', 'value' => 'POST'],
|
|
['label' => 'GET', 'value' => 'GET'],
|
|
['label' => 'PUT', 'value' => 'PUT'],
|
|
]],
|
|
['key' => 'sms_custom_auth_type', 'label' => '鉴权方式', 'type' => 'select', 'default' => 'header', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'custom'], 'options' => [
|
|
['label' => 'Header', 'value' => 'header'],
|
|
]],
|
|
['key' => 'sms_custom_auth_key', 'label' => '鉴权 Header 名', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'custom']],
|
|
['key' => 'sms_custom_auth_value', 'label' => '鉴权 Header 值', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'custom']],
|
|
['key' => 'sms_custom_headers', 'label' => '自定义 Headers', 'type' => 'textarea', 'default' => '', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'custom']],
|
|
['key' => 'sms_custom_body', 'label' => '请求 Body', 'type' => 'textarea', 'default' => '', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'custom']],
|
|
['key' => 'sms_custom_success_rule', 'label' => '成功判定规则', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_provider', 'value' => 'custom']],
|
|
]],
|
|
['key' => 'template', 'title' => '短信模板', 'fields' => [
|
|
['key' => 'sms_sign_name', 'label' => '短信签名', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_enabled', 'value' => true]],
|
|
['key' => 'sms_template_code', 'label' => '验证码模板ID', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'sms_enabled', 'value' => true]],
|
|
['key' => 'sms_code_length', 'label' => '验证码长度', 'type' => 'number', 'default' => 6, 'min' => 4, 'max' => 8, 'dependsOn' => ['key' => 'sms_enabled', 'value' => true]],
|
|
['key' => 'sms_code_expire', 'label' => '验证码有效期(秒)', 'type' => 'number', 'default' => 300, 'min' => 60, 'max' => 600, 'dependsOn' => ['key' => 'sms_enabled', 'value' => true]],
|
|
]],
|
|
['key' => 'rate_limit', 'title' => '限流策略', 'fields' => [
|
|
['key' => 'sms_rate_limit', 'label' => '发送间隔(秒)', 'type' => 'number', 'default' => 60, 'min' => 10, 'max' => 300, 'dependsOn' => ['key' => 'sms_enabled', 'value' => true]],
|
|
['key' => 'sms_daily_limit', 'label' => '每日发送上限', 'type' => 'number', 'default' => 10, 'min' => 1, 'max' => 100, 'dependsOn' => ['key' => 'sms_enabled', 'value' => true]],
|
|
]],
|
|
['key' => 'triggers', 'title' => '通知场景', 'fields' => [
|
|
['key' => 'sms_notify_bind', 'label' => '绑定手机验证', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'sms_enabled', 'value' => true]],
|
|
['key' => 'sms_notify_login', 'label' => '短信登录', 'type' => 'switch', 'default' => false, 'dependsOn' => ['key' => 'sms_enabled', 'value' => true]],
|
|
['key' => 'sms_notify_register', 'label' => '注册验证', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'sms_enabled', 'value' => true]],
|
|
['key' => 'sms_notify_reset_password', 'label' => '找回密码', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'sms_enabled', 'value' => true]],
|
|
]],
|
|
],
|
|
],
|
|
'signin' => [
|
|
'key' => 'signin',
|
|
'title' => '签到奖励',
|
|
'version' => '1.0.0',
|
|
'option_key' => 'aksrt_settings',
|
|
'groups' => [
|
|
['key' => 'rules', 'title' => '签到规则', 'fields' => [
|
|
['key' => 'signin_enabled', 'label' => '启用签到', 'type' => 'switch', 'default' => true],
|
|
['key' => 'signin_reward', 'label' => '每日签到奖励', 'type' => 'number', 'default' => 1, 'min' => 0, 'max' => 100],
|
|
['key' => 'signin_consecutive_bonus', 'label' => '连续签到加成', 'type' => 'switch', 'default' => true],
|
|
['key' => 'signin_consecutive_days', 'label' => '加成周期', 'type' => 'number', 'default' => 7, 'min' => 2, 'max' => 30],
|
|
['key' => 'signin_bonus_reward', 'label' => '周期奖励', 'type' => 'number', 'default' => 5, 'min' => 1, 'max' => 100],
|
|
]],
|
|
['key' => 'display', 'title' => '签到展示', 'fields' => [
|
|
['key' => 'signin_header_user_show', 'label' => '导航栏显示签到', 'type' => 'switch', 'default' => true],
|
|
['key' => 'signin_modal_auto_s', 'label' => '自动弹出签到', 'type' => 'switch', 'default' => false],
|
|
['key' => 'signin_modal_auto_expires', 'label' => '弹出间隔(天)', 'type' => 'number', 'default' => 1, 'min' => 1, 'max' => 30],
|
|
]],
|
|
],
|
|
],
|
|
'credits' => [
|
|
'key' => 'credits',
|
|
'title' => '积分设置',
|
|
'version' => '1.0.0',
|
|
'option_key' => 'aksrt_settings',
|
|
'groups' => [
|
|
['key' => 'basic', 'title' => '积分基础', 'fields' => [
|
|
['key' => 'points_s', 'label' => '启用积分系统', 'type' => 'switch', 'default' => true],
|
|
['key' => 'points_pay_s', 'label' => '积分支付', 'type' => 'switch', 'default' => false],
|
|
['key' => 'points_rate', 'label' => '积分兑换比例', 'type' => 'number', 'default' => 100, 'min' => 1, 'max' => 10000],
|
|
['key' => 'points_name', 'label' => '积分名称', 'type' => 'input', 'default' => '积分'],
|
|
['key' => 'points_decimal', 'label' => '积分小数位数', 'type' => 'number', 'default' => 2, 'min' => 0, 'max' => 4],
|
|
]],
|
|
['key' => 'earn', 'title' => '积分获取 / 任务', 'fields' => [
|
|
['key' => 'points_earn_daily_limit', 'label' => '每日免费积分上限', 'type' => 'number', 'default' => 50, 'min' => 0, 'max' => 9999, 'help' => '0为不限制;免费任务合计'],
|
|
['key' => 'points_free_sign_up', 'label' => '注册奖励', 'type' => 'number', 'default' => 10, 'min' => 0, 'max' => 10000],
|
|
['key' => 'points_free_sign_in', 'label' => '签到展示分值', 'type' => 'number', 'default' => 1, 'min' => 0, 'max' => 1000],
|
|
['key' => 'points_free_login', 'label' => '每日登录', 'type' => 'number', 'default' => 1, 'min' => 0, 'max' => 100],
|
|
['key' => 'points_free_post_new', 'label' => '发布文章', 'type' => 'number', 'default' => 5, 'min' => 0, 'max' => 1000],
|
|
['key' => 'points_free_post_like', 'label' => '文章被赞', 'type' => 'number', 'default' => 1, 'min' => 0, 'max' => 100],
|
|
['key' => 'points_free_post_favorite', 'label' => '文章被收藏', 'type' => 'number', 'default' => 1, 'min' => 0, 'max' => 100],
|
|
['key' => 'points_free_comment_new', 'label' => '发表评论', 'type' => 'number', 'default' => 1, 'min' => 0, 'max' => 100],
|
|
['key' => 'points_free_comment_like', 'label' => '评论被赞', 'type' => 'number', 'default' => 1, 'min' => 0, 'max' => 100],
|
|
['key' => 'points_free_followed', 'label' => '被关注', 'type' => 'number', 'default' => 1, 'min' => 0, 'max' => 100],
|
|
['key' => 'points_free_bbs_posts_new', 'label' => '论坛发帖', 'type' => 'number', 'default' => 5, 'min' => 0, 'max' => 1000],
|
|
['key' => 'points_free_bbs_reply', 'label' => '论坛回复', 'type' => 'number', 'default' => 2, 'min' => 0, 'max' => 1000],
|
|
['key' => 'points_free_bbs_essence', 'label' => '帖子加精', 'type' => 'number', 'default' => 10, 'min' => 0, 'max' => 1000],
|
|
['key' => 'points_free_bbs_adopt', 'label' => '回复被采纳', 'type' => 'number', 'default' => 20, 'min' => 0, 'max' => 1000],
|
|
['key' => 'points_free_bbs_posts_hot', 'label' => '热帖奖励', 'type' => 'number', 'default' => 5, 'min' => 0, 'max' => 1000],
|
|
['key' => 'points_free_bbs_comment_hot', 'label' => '神评奖励', 'type' => 'number', 'default' => 5, 'min' => 0, 'max' => 1000],
|
|
['key' => 'points_free_bbs_score_extra', 'label' => '帖子加分', 'type' => 'number', 'default' => 3, 'min' => 0, 'max' => 1000],
|
|
['key' => 'points_earn_invite', 'label' => '邀请注册奖励', 'type' => 'number', 'default' => 10, 'min' => 0, 'max' => 1000, 'help' => '邀请奖励不走免费日上限'],
|
|
]],
|
|
['key' => 'spend', 'title' => '积分消费', 'fields' => [
|
|
['key' => 'points_spend_comment', 'label' => '评论消耗', 'type' => 'number', 'default' => 0, 'min' => 0, 'max' => 100],
|
|
['key' => 'points_spend_download', 'label' => '下载消耗', 'type' => 'number', 'default' => 0, 'min' => 0, 'max' => 100],
|
|
['key' => 'points_spend_view_hidden', 'label' => '查看隐藏内容消耗', 'type' => 'number', 'default' => 0, 'min' => 0, 'max' => 100],
|
|
]],
|
|
['key' => 'transfer', 'title' => '积分转账', 'fields' => [
|
|
['key' => 'points_transfer_s', 'label' => '启用积分转账', 'type' => 'switch', 'default' => false],
|
|
['key' => 'points_service_charge', 'label' => '转账手续费(%)', 'type' => 'number', 'default' => 0, 'min' => 0, 'max' => 50],
|
|
['key' => 'points_transfer_min', 'label' => '最低转账金额', 'type' => 'number', 'default' => 1, 'min' => 1, 'max' => 9999],
|
|
]],
|
|
['key' => 'deduction', 'title' => '积分抵扣(预留)', 'fields' => [
|
|
['key' => 'points_deduction_s', 'label' => '启用积分抵扣', 'type' => 'switch', 'default' => false, 'help' => '对齐 zibll:运行时暂未启用。字段保留供后续接收银台现金单抵扣。'],
|
|
['key' => 'points_deduction_rate', 'label' => '积分换算比例', 'type' => 'number', 'default' => 100, 'min' => 1, 'max' => 10000, 'help' => '多少积分抵 1 元(zibll points_deduction_rate)。当前未参与下单。'],
|
|
['key' => 'points_deduction_max', 'label' => '最大抵扣比例(%)', 'type' => 'number', 'default' => 50, 'min' => 1, 'max' => 100, 'help' => '预留:最多可抵订单金额百分比。当前未参与下单。'],
|
|
]],
|
|
['key' => 'card_pass', 'title' => '积分卡密兑换', 'fields' => [
|
|
['key' => 'points_pass_exchange_s', 'label' => '启用积分卡密兑换', 'type' => 'switch', 'default' => false],
|
|
['key' => 'points_pass_exchange_desc', 'label' => '兑换说明', 'type' => 'textarea', 'default' => '', 'dependsOn' => ['key' => 'points_pass_exchange_s', 'value' => true]],
|
|
['key' => 'points_pass_exchange_only_password', 'label' => '仅密码兑换', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'points_pass_exchange_s', 'value' => true]],
|
|
]],
|
|
['key' => 'display', 'title' => '展示设置', 'fields' => [
|
|
['key' => 'points_show_balance', 'label' => '导航栏显示余额', 'type' => 'switch', 'default' => true],
|
|
['key' => 'points_show_log', 'label' => '显示积分记录', 'type' => 'switch', 'default' => true],
|
|
['key' => 'points_expire_days', 'label' => '积分有效期(天)', 'type' => 'number', 'default' => 0, 'min' => 0, 'help' => '0为永久有效'],
|
|
]],
|
|
],
|
|
],
|
|
'invite' => [
|
|
'key' => 'invite',
|
|
'title' => '邀请码',
|
|
'version' => '1.0.0',
|
|
'option_key' => 'aksrt_settings',
|
|
'groups' => [
|
|
['key' => 'basic', 'title' => '邀请设置', 'fields' => [
|
|
['key' => 'invit_code_s', 'label' => '启用邀请码', 'type' => 'switch', 'default' => false],
|
|
['key' => 'invit_code_open_desc', 'label' => '开放注册提示', 'type' => 'input', 'default' => '邀请码为选填,没有邀请码也可以注册'],
|
|
['key' => 'invit_code_must_desc', 'label' => '必填提示', 'type' => 'input', 'default' => '请输入邀请码'],
|
|
['key' => 'invit_code_mode', 'label' => '邀请模式', 'type' => 'select', 'default' => 'open', 'options' => [
|
|
['label' => '开放注册(邀请码选填)', 'value' => 'open'],
|
|
['label' => '必须邀请码', 'value' => 'must'],
|
|
]],
|
|
]],
|
|
['key' => 'format', 'title' => '码面设置', 'fields' => [
|
|
['key' => 'invit_code_length', 'label' => '邀请码长度', 'type' => 'number', 'default' => 8, 'min' => 4, 'max' => 32],
|
|
['key' => 'invit_code_prefix', 'label' => '邀请码前缀', 'type' => 'input', 'default' => ''],
|
|
['key' => 'invit_code_max_use', 'label' => '单码最大使用次数', 'type' => 'number', 'default' => 1, 'min' => 1, 'max' => 9999],
|
|
['key' => 'invit_code_expiry', 'label' => '有效期(天)', 'type' => 'number', 'default' => 0, 'min' => 0, 'help' => '0为永久有效'],
|
|
['key' => 'invit_code_batch', 'label' => '批量生成数量', 'type' => 'number', 'default' => 20, 'min' => 1, 'max' => 500],
|
|
]],
|
|
['key' => 'reward', 'title' => '邀请奖励', 'fields' => [
|
|
['key' => 'invit_reward_points', 'label' => '邀请奖励积分', 'type' => 'number', 'default' => 0, 'min' => 0, 'max' => 1000],
|
|
['key' => 'invit_reward_level', 'label' => '邀请奖励等级', 'type' => 'number', 'default' => 0, 'min' => 0, 'max' => 10],
|
|
['key' => 'invit_reward_vip_days', 'label' => '奖励VIP天数', 'type' => 'number', 'default' => 0, 'min' => 0, 'max' => 3650],
|
|
['key' => 'invit_invitee_reward', 'label' => '被邀请人奖励', 'type' => 'switch', 'default' => false],
|
|
]],
|
|
['key' => 'display', 'title' => '展示设置', 'fields' => [
|
|
['key' => 'invit_code_show_count', 'label' => '显示已使用次数', 'type' => 'switch', 'default' => true],
|
|
['key' => 'invit_code_show_remain', 'label' => '显示剩余次数', 'type' => 'switch', 'default' => true],
|
|
]],
|
|
],
|
|
],
|
|
'features' => [
|
|
'key' => 'features',
|
|
'title' => '用户功能',
|
|
'version' => '1.0.0',
|
|
'option_key' => 'aksrt_settings',
|
|
'groups' => [
|
|
['key' => 'center', 'title' => '用户中心', 'fields' => [
|
|
['key' => 'user_center_tabs', 'label' => '用户中心 Tab', 'type' => 'input', 'default' => 'profile,posts,comments,credits,favorites'],
|
|
['key' => 'user_avatar_upload', 'label' => '头像上传', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_cover_upload', 'label' => '封面上传', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_social_links', 'label' => '社交链接', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_desc_std', 'label' => '默认签名', 'type' => 'input', 'default' => '这家伙很懒…', 'desc' => '用户未设置个人简介时显示的默认文案'],
|
|
['key' => 'user_city_s', 'label' => '显示城市', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_join_day_my_name', 'label' => '站名', 'type' => 'input', 'default' => '本站', 'desc' => '用于「已加入 X 天」显示中的站点名称'],
|
|
['key' => 'user_avatar_default', 'label' => '默认头像', 'type' => 'media', 'default' => ''],
|
|
['key' => 'user_cover_img', 'label' => '默认封面', 'type' => 'media', 'default' => ''],
|
|
['key' => 'user_rewrite_slug', 'label' => '用户页slug', 'type' => 'input', 'default' => 'user'],
|
|
['key' => 'user_follow_s', 'label' => '启用关注功能', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_message_s', 'label' => '启用私信功能', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_online_s', 'label' => '显示在线状态', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_last_active_s', 'label' => '显示最后活跃', 'type' => 'switch', 'default' => true],
|
|
]],
|
|
['key' => 'profile', 'title' => '资料页字段', 'fields' => [
|
|
['key' => 'user_profile_nickname', 'label' => '昵称', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_profile_email', 'label' => '邮箱', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_profile_url', 'label' => '个人主页', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_profile_desc', 'label' => '个人简介', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_profile_avatar', 'label' => '头像', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_profile_cover', 'label' => '封面图', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_profile_qq', 'label' => 'QQ', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_profile_wechat', 'label' => '微信', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_profile_weibo', 'label' => '微博', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_profile_github', 'label' => 'GitHub', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_profile_bilibili', 'label' => 'B站', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_profile_twitter', 'label' => 'Twitter', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_profile_linkedin', 'label' => 'LinkedIn', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_profile_facebook', 'label' => 'Facebook', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_profile_telegram', 'label' => 'Telegram', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_profile_douyin', 'label' => '抖音', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_profile_zhihu', 'label' => '知乎', 'type' => 'switch', 'default' => false],
|
|
]],
|
|
['key' => 'card', 'title' => '用户卡片', 'fields' => [
|
|
['key' => 'user_card_avatar', 'label' => '显示头像', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_card_name', 'label' => '显示用户名', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_card_desc', 'label' => '显示简介', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_card_count', 'label' => '显示统计', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_card_follow', 'label' => '显示关注按钮', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_card_position', 'label' => '卡片位置', 'type' => 'radio', 'default' => 'right', 'options' => [
|
|
['label' => '右侧', 'value' => 'right'],
|
|
['label' => '左侧', 'value' => 'left'],
|
|
['label' => '顶部', 'value' => 'top'],
|
|
]],
|
|
['key' => 'user_card_style', 'label' => '卡片样式', 'type' => 'radio', 'default' => 'default', 'options' => [
|
|
['label' => '默认', 'value' => 'default'],
|
|
['label' => '简洁', 'value' => 'simple'],
|
|
['label' => '详细', 'value' => 'detail'],
|
|
]],
|
|
['key' => 'user_card_bg', 'label' => '卡片背景', 'type' => 'media', 'default' => ''],
|
|
['key' => 'user_card_avatar_size', 'label' => '头像大小', 'type' => 'number', 'default' => 80, 'min' => 40, 'max' => 200],
|
|
]],
|
|
['key' => 'privacy', 'title' => '隐私设置', 'fields' => [
|
|
['key' => 'user_privacy_posts', 'label' => '隐藏文章', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_privacy_comments', 'label' => '隐藏评论', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_privacy_favorites', 'label' => '隐藏收藏', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_privacy_credits', 'label' => '隐藏积分', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_privacy_level', 'label' => '隐藏等级', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_privacy_badge', 'label' => '隐藏徽章', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_privacy_online', 'label' => '隐藏在线状态', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_privacy_last_active', 'label' => '隐藏最后活跃', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_privacy_ip', 'label' => '隐藏IP归属地', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_privacy_location', 'label' => '隐藏位置', 'type' => 'switch', 'default' => false],
|
|
]],
|
|
['key' => 'rewards', 'title' => '打赏设置', 'fields' => [
|
|
['key' => 'post_rewards_s', 'label' => '启用文章打赏', 'type' => 'switch', 'default' => true],
|
|
['key' => 'post_rewards_text', 'label' => '打赏文案', 'type' => 'input', 'default' => ''],
|
|
['key' => 'post_rewards_img', 'label' => '打赏二维码', 'type' => 'media', 'default' => ''],
|
|
['key' => 'post_rewards_btn_text', 'label' => '打赏按钮文案', 'type' => 'input', 'default' => '赞赏'],
|
|
['key' => 'post_rewards_amounts', 'label' => '打赏金额', 'type' => 'input', 'default' => '5,10,20,50,100'],
|
|
['key' => 'post_rewards_custom', 'label' => '自定义金额', 'type' => 'switch', 'default' => true],
|
|
]],
|
|
],
|
|
],
|
|
'verify' => [
|
|
'key' => 'verify',
|
|
'title' => '身份认证',
|
|
'version' => '1.0.0',
|
|
'option_key' => 'aksrt_settings',
|
|
'groups' => [
|
|
['key' => 'display', 'title' => '公开展示', 'fields' => [
|
|
['key' => 'user_verify_enabled', 'label' => '启用身份认证', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_verify_public_display', 'label' => '公开页显示认证徽标', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_verify_badge_text', 'label' => '认证徽标文案', 'type' => 'input', 'default' => '已认证'],
|
|
]],
|
|
['key' => 'workflow', 'title' => '审核流程', 'fields' => [
|
|
['key' => 'user_verify_accept_email_verified', 'label' => '邮箱验证通过视为已认证', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_verify_require_manual_review', 'label' => '保留人工审核位', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_verify_apply_option', 'label' => '申请选项', 'type' => 'textarea', 'default' => "real_name|实名认证\norganization|企业认证"],
|
|
]],
|
|
['key' => 'restrict', 'title' => '限制设置', 'fields' => [
|
|
['key' => 'user_verify_disable_desc', 'label' => '未认证限制说明', 'type' => 'textarea', 'default' => ''],
|
|
['key' => 'user_verify_limit_level', 'label' => '限制等级', 'type' => 'number', 'default' => 0, 'min' => 0, 'max' => 100],
|
|
['key' => 'user_verify_desc', 'label' => '认证说明', 'type' => 'textarea', 'default' => ''],
|
|
]],
|
|
],
|
|
],
|
|
'level' => [
|
|
'key' => 'level',
|
|
'title' => '用户等级',
|
|
'version' => '1.0.0',
|
|
'option_key' => 'aksrt_settings',
|
|
'groups' => [
|
|
['key' => 'display', 'title' => '等级显示', 'fields' => [
|
|
['key' => 'user_level_enabled', 'label' => '启用等级系统', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_level_public_display', 'label' => '公开页显示等级', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_level_prefix', 'label' => '等级前缀', 'type' => 'input', 'default' => 'Lv.'],
|
|
['key' => 'user_level_color', 'label' => '等级颜色', 'type' => 'color', 'default' => '#f04494'],
|
|
['key' => 'user_level_icon', 'label' => '等级图标', 'type' => 'icon', 'default' => 'fas fa-star'],
|
|
]],
|
|
['key' => 'rules', 'title' => '等级规则', 'fields' => [
|
|
['key' => 'user_level_source', 'label' => '等级来源', 'type' => 'radio', 'default' => 'credits_balance'],
|
|
['key' => 'user_level_thresholds', 'label' => '等级阈值', 'type' => 'textarea', 'default' => "1|0\n2|30\n3|100\n4|300"],
|
|
['key' => 'user_level_max', 'label' => '最高等级', 'type' => 'number', 'default' => 10, 'min' => 1, 'max' => 99],
|
|
['key' => 'user_level_decay', 'label' => '等级衰减', 'type' => 'switch', 'default' => false, 'help' => '长期不活跃自动降级'],
|
|
['key' => 'user_level_decay_days', 'label' => '衰减周期(天)', 'type' => 'number', 'default' => 90, 'min' => 7, 'max' => 365],
|
|
]],
|
|
['key' => 'privilege', 'title' => '等级特权', 'fields' => [
|
|
['key' => 'user_level_download_limit', 'label' => '下载限制加成', 'type' => 'switch', 'default' => false, 'help' => '高等级用户每日下载次数增加'],
|
|
['key' => 'user_level_upload_limit', 'label' => '上传限制加成', 'type' => 'switch', 'default' => false, 'help' => '高等级用户可上传更大文件'],
|
|
['key' => 'user_level_comment_cooldown', 'label' => '评论冷却缩短', 'type' => 'switch', 'default' => false, 'help' => '高等级用户评论间隔更短'],
|
|
['key' => 'user_level_custom_title', 'label' => '自定义头衔', 'type' => 'switch', 'default' => false, 'help' => '允许高等级用户自定义头衔'],
|
|
]],
|
|
['key' => 'notify', 'title' => '升级通知', 'fields' => [
|
|
['key' => 'user_level_notify', 'label' => '升级通知', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_level_notify_style', 'label' => '通知方式', 'type' => 'select', 'default' => 'toast', 'options' => [
|
|
['label' => '弹窗提示', 'value' => 'toast'],
|
|
['label' => '站内信', 'value' => 'message'],
|
|
['label' => '两者都有', 'value' => 'both'],
|
|
]],
|
|
]],
|
|
],
|
|
],
|
|
'badge' => [
|
|
'key' => 'badge',
|
|
'title' => '用户徽章',
|
|
'version' => '1.0.0',
|
|
'option_key' => 'aksrt_settings',
|
|
'groups' => [
|
|
['key' => 'display', 'title' => '徽章展示', 'fields' => [
|
|
['key' => 'user_badge_enabled', 'label' => '启用徽章系统', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_badge_public_display', 'label' => '公开页显示徽章', 'type' => 'switch', 'default' => true],
|
|
['key' => 'user_badge_limit', 'label' => '最多显示数量', 'type' => 'number', 'default' => 3, 'min' => 1, 'max' => 8],
|
|
]],
|
|
['key' => 'dictionary', 'title' => '徽章字典', 'fields' => [
|
|
[
|
|
'key' => 'user_badge_dictionary',
|
|
'label' => '徽章列表',
|
|
'type' => 'textarea',
|
|
'default' => "founder|创始成员|warning\nstaff|站务团队|info",
|
|
'help' => '每行:slug|显示文案|色调(neutral/info/success/warning/brand)|图标URL(可选)。配置 icon_url 后前台显示勋章图;用户 meta aksrt_wear_badge 指定当前佩戴。',
|
|
],
|
|
]],
|
|
],
|
|
],
|
|
'report' => [
|
|
'key' => 'report',
|
|
'title' => '禁封/举报',
|
|
'version' => '1.0.0',
|
|
'option_key' => 'aksrt_settings',
|
|
'groups' => [
|
|
['key' => 'entry', 'title' => '前台入口', 'fields' => [
|
|
['key' => 'user_report_enabled', 'label' => '启用举报/禁封结构', 'type' => 'switch', 'default' => false],
|
|
['key' => 'user_report_public_entry', 'label' => '公开主页展示举报入口', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'user_report_enabled', 'value' => true]],
|
|
['key' => 'user_report_public_notice', 'label' => '公开显示限制提示', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'user_report_enabled', 'value' => true]],
|
|
['key' => 'user_report_ban_notice_text', 'label' => '限制提示文案', 'type' => 'input', 'default' => '当前账号处于限制状态,部分互动能力已关闭。', 'dependsOn' => ['key' => 'user_report_enabled', 'value' => true]],
|
|
]],
|
|
['key' => 'taxonomy', 'title' => '举报分类', 'fields' => [
|
|
['key' => 'user_report_categories', 'label' => '举报分类', 'type' => 'textarea', 'default' => "spam|垃圾信息\nabuse|人身攻击\ncopyright|版权投诉"],
|
|
]],
|
|
['key' => 'ban', 'title' => '禁封设置', 'fields' => [
|
|
['key' => 'ban_preset_reason', 'label' => '预设封禁原因', 'type' => 'textarea', 'default' => "spam|垃圾信息\nabuse|人身攻击\nviolation|违规操作", 'dependsOn' => ['key' => 'user_report_enabled', 'value' => true]],
|
|
['key' => 'ban_appeal_desc', 'label' => '申诉说明', 'type' => 'textarea', 'default' => '', 'dependsOn' => ['key' => 'user_report_enabled', 'value' => true]],
|
|
['key' => 'ban_appeal_keys', 'label' => '申诉关键词', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'user_report_enabled', 'value' => true]],
|
|
]],
|
|
['key' => 'image', 'title' => '图片举报', 'fields' => [
|
|
['key' => 'user_report_img_s', 'label' => '启用图片举报', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'user_report_enabled', 'value' => true]],
|
|
['key' => 'user_report_desc', 'label' => '举报说明', 'type' => 'textarea', 'default' => '', 'dependsOn' => ['key' => 'user_report_enabled', 'value' => true]],
|
|
]],
|
|
],
|
|
],
|
|
'wechat' => [
|
|
'key' => 'wechat',
|
|
'title' => '微信通知',
|
|
'version' => '1.0.0',
|
|
'option_key' => 'aksrt_settings',
|
|
'groups' => [
|
|
['key' => 'account', 'title' => '公众号配置', 'fields' => [
|
|
['key' => 'wechat_notify_enabled', 'label' => '启用微信通知', 'type' => 'switch', 'default' => false],
|
|
['key' => 'wechat_app_id', 'label' => 'AppID', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'wechat_notify_enabled', 'value' => true]],
|
|
['key' => 'wechat_app_secret', 'label' => 'AppSecret', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'wechat_notify_enabled', 'value' => true]],
|
|
]],
|
|
['key' => 'verify', 'title' => '服务器验证', 'fields' => [
|
|
['key' => 'wechat_token', 'label' => 'Token', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'wechat_notify_enabled', 'value' => true]],
|
|
['key' => 'wechat_encoding_aes_key', 'label' => 'EncodingAESKey', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'wechat_notify_enabled', 'value' => true]],
|
|
]],
|
|
['key' => 'templates', 'title' => '模板消息', 'fields' => [
|
|
['key' => 'wechat_template_comment', 'label' => '评论通知模板', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'wechat_notify_enabled', 'value' => true]],
|
|
['key' => 'wechat_template_reply', 'label' => '回复通知模板', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'wechat_notify_enabled', 'value' => true]],
|
|
['key' => 'wechat_template_system', 'label' => '系统通知模板', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'wechat_notify_enabled', 'value' => true]],
|
|
['key' => 'wechat_template_order', 'label' => '订单通知模板', 'type' => 'input', 'default' => '', 'dependsOn' => ['key' => 'wechat_notify_enabled', 'value' => true]],
|
|
]],
|
|
['key' => 'triggers', 'title' => '通知触发器', 'fields' => [
|
|
['key' => 'wechat_notify_comment', 'label' => '新评论通知', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'wechat_notify_enabled', 'value' => true]],
|
|
['key' => 'wechat_notify_reply', 'label' => '评论回复通知', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'wechat_notify_enabled', 'value' => true]],
|
|
['key' => 'wechat_notify_system', 'label' => '系统通知', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'wechat_notify_enabled', 'value' => true]],
|
|
['key' => 'wechat_notify_order', 'label' => '订单通知', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'wechat_notify_enabled', 'value' => true]],
|
|
['key' => 'wechat_bind_entry', 'label' => '显示绑定入口', 'type' => 'switch', 'default' => true, 'dependsOn' => ['key' => 'wechat_notify_enabled', 'value' => true]],
|
|
]],
|
|
],
|
|
],
|
|
],
|
|
];
|
|
}
|
|
}
|