本系统基于FastAdmin框架实现了微信小程序和抖音小程序的平台配置管理功能。系统支持配置项的层级管理、数据验证、缓存机制和权限控制。
采用点号分隔的层级结构:
shop.platform # 平台配置根节点
├── shop.platform.WechatMiniProgram # 微信小程序配置组
│ ├── shop.platform.WechatMiniProgram.app_id # 小程序AppID
│ ├── shop.platform.WechatMiniProgram.secret # 小程序密钥
│ ├── shop.platform.WechatMiniProgram.status # 开启状态
│ ├── shop.platform.WechatMiniProgram.auto_login # 自动登录
│ └── shop.platform.WechatMiniProgram.bind_mobile # 绑定手机号
└── shop.platform.DouyinMiniProgram # 抖音小程序配置组
├── shop.platform.DouyinMiniProgram.app_id # 小程序AppID
├── shop.platform.DouyinMiniProgram.secret # 小程序密钥
├── shop.platform.DouyinMiniProgram.status # 开启状态
├── shop.platform.DouyinMiniProgram.auto_login # 自动登录
└── shop.platform.DouyinMiniProgram.bind_mobile # 绑定手机号
├── install_platform_config.sql # 配置数据初始化SQL
├── application/
│ ├── admin/
│ │ ├── controller/
│ │ │ └── Platform.php # 平台配置控制器
│ │ └── view/
│ │ └── platform/
│ │ ├── index.html # 配置列表页面
│ │ └── config.html # 配置表单页面
│ └── common/
│ └── model/
│ └── Config.php # 配置数据模型
├── docs/
│ └── platform_menu.md # 菜单配置说明
└── README_platform_config.md # 本文档
mysql -u username -p database_name < install_platform_config.sql
参考 docs/platform_menu.md
中的说明添加后台菜单项。
为管理员分配平台配置相关权限。
use app\common\model\Config;
// 获取微信小程序配置
$wechatConfig = Config::getConfigByGroup('shop.platform.WechatMiniProgram');
// 获取单个配置值
$appId = Config::getConfigValue('shop.platform.WechatMiniProgram.app_id');
// 判断平台是否开启
$isEnabled = Config::getConfigValue('shop.platform.WechatMiniProgram.status');
配置项 | 类型 | 必填 | 说明 |
---|---|---|---|
app_id | string | 是 | 小程序AppID |
secret | string | 是 | 小程序密钥 |
status | boolean | 否 | 是否开启小程序功能 |
auto_login | boolean | 否 | 是否启用自动登录 |
bind_mobile | boolean | 否 | 是否强制绑定手机号 |
配置项 | 类型 | 必填 | 说明 |
---|---|---|---|
app_id | string | 是 | 小程序AppID |
secret | string | 是 | 小程序密钥 |
status | boolean | 否 | 是否开启小程序功能 |
auto_login | boolean | 否 | 是否启用自动登录 |
bind_mobile | boolean | 否 | 是否强制绑定手机号 |
在控制器中添加新的平台配置方法:
public function new_platform()
{
$group = 'shop.platform.NewPlatform';
return $this->platformConfig($group, '新平台配置');
}
在 getPlatformConfigData
方法中添加新的配置项:
[
'name' => 'shop.platform.NewPlatform.new_config',
'group' => 'shop.platform.NewPlatform',
'title' => '新配置项',
'tip' => '配置项说明',
'type' => 'string',
'value' => '',
'rule' => '',
'extend' => ''
]
在模型中扩展 validateValue
方法以支持新的数据类型。
name
和 group
字段上建立索引如需技术支持或功能扩展,请参考: