# 平台配置菜单配置说明 ## 功能概述 平台配置功能提供了微信小程序和抖音小程序的统一配置管理界面,支持: - 平台基本信息配置(AppID、密钥等) - 登录方式配置(自动登录、绑定手机号) - 支付方式配置 - 配置状态管理和缓存机制 ## 菜单配置 ### 1. 添加主菜单 在FastAdmin后台的"权限管理"→"菜单规则"中添加以下菜单项: #### 主菜单 ``` 菜单名称:平台配置 节点:platform 图标:fa fa-cogs 类型:目录 状态:正常 备注:多平台配置管理 ``` #### 平台列表子菜单 ``` 菜单名称:平台列表 节点:platform/index 图标:fa fa-list 类型:文件 状态:正常 备注:查看平台配置列表 父级:platform ``` #### 微信小程序配置子菜单 ``` 菜单名称:微信小程序 节点:platform/wechat_mini_program 图标:fa fa-wechat 类型:文件 状态:正常 备注:微信小程序配置 父级:platform ``` #### 抖音小程序配置子菜单 ``` 菜单名称:抖音小程序 节点:platform/douyin_mini_program 图标:fa fa-music 类型:文件 状态:正常 备注:抖音小程序配置 父级:platform ``` ### 2. SQL快速添加菜单 也可以直接执行以下SQL语句快速添加菜单: ```sql -- 添加主菜单 INSERT INTO `fa_auth_rule` (`name`, `title`, `type`, `status`, `condition`, `remark`, `ismenu`, `createtime`, `updatetime`, `weigh`) VALUES ('platform', '平台配置', 'file', 'normal', '', '多平台配置管理', 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 100); -- 获取主菜单ID SET @parent_id = LAST_INSERT_ID(); -- 添加子菜单 INSERT INTO `fa_auth_rule` (`pid`, `name`, `title`, `type`, `status`, `condition`, `remark`, `ismenu`, `createtime`, `updatetime`, `weigh`) VALUES (@parent_id, 'platform/index', '平台列表', 'file', 'normal', '', '查看平台配置列表', 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 99), (@parent_id, 'platform/wechat_mini_program', '微信小程序', 'file', 'normal', '', '微信小程序配置', 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 98), (@parent_id, 'platform/douyin_mini_program', '抖音小程序', 'file', 'normal', '', '抖音小程序配置', 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 97); -- 为超级管理员组添加权限(假设组ID为1) INSERT INTO `fa_auth_group_access` (`uid`, `group_id`) SELECT 1, 1 FROM DUAL WHERE NOT EXISTS ( SELECT 1 FROM `fa_auth_group_access` WHERE `uid` = 1 AND `group_id` = 1 ); ``` ## 权限配置 ### 1. 角色权限分配 在"权限管理"→"角色组"中为需要的角色分配平台配置权限: 1. 选择角色组(如管理员) 2. 在权限树中勾选"平台配置"及其子菜单 3. 保存权限设置 ### 2. 用户权限分配 在"权限管理"→"管理员"中为具体用户分配权限: 1. 编辑用户信息 2. 选择对应的角色组 3. 或直接分配特定权限节点 ## 配置数据初始化 ### 1. 执行SQL初始化 运行项目根目录下的 `install_platform_config.sql` 文件: ```bash # 方法一:命令行导入 mysql -u 用户名 -p 数据库名 < install_platform_config.sql # 方法二:phpMyAdmin导入 # 登录phpMyAdmin → 选择数据库 → 导入 → 选择文件 → 执行 # 方法三:Navicat等工具 # 连接数据库 → 运行SQL文件 ``` ### 2. 验证数据导入 检查 `fa_config` 表中是否成功导入平台配置数据: ```sql -- 检查配置项数量 SELECT COUNT(*) FROM fa_config WHERE name LIKE 'shop.platform%'; -- 查看微信小程序配置 SELECT * FROM fa_config WHERE name LIKE 'shop.platform.WechatMiniProgram%'; -- 查看抖音小程序配置 SELECT * FROM fa_config WHERE name LIKE 'shop.platform.DouyinMiniProgram%'; ``` ## 使用流程 ### 1. 后台配置操作 1. **登录后台**:使用管理员账号登录FastAdmin后台 2. **访问菜单**:在左侧菜单找到"平台配置" 3. **选择平台**:点击"微信小程序"或"抖音小程序" 4. **填写配置**: - 必填项:AppID、密钥 - 可选项:开启状态、登录配置 5. **保存配置**:点击"保存配置"按钮 ### 2. 微信小程序配置步骤 1. **获取AppID和密钥**: - 登录微信公众平台小程序后台 - 进入"开发"→"开发设置" - 复制AppID和AppSecret 2. **填写配置信息**: - 小程序AppID:粘贴从微信后台获取的AppID - 小程序密钥:粘贴从微信后台获取的AppSecret - 开启状态:选择"开启" - 微信自动登录:根据需要选择 - 绑定手机号:根据需要选择 ### 3. 抖音小程序配置步骤 1. **获取AppID和密钥**: - 登录抖音小程序开发者平台 - 进入"开发管理"→"应用信息" - 复制AppID和AppSecret 2. **填写配置信息**: - 小程序AppID:粘贴从抖音后台获取的AppID - 小程序密钥:粘贴从抖音后台获取的AppSecret - 开启状态:选择"开启" - 自动登录:根据需要选择 - 绑定手机号:根据需要选择 ## 代码调用示例 ### 1. 获取配置信息 ```php use app\common\model\Config; // 获取微信小程序配置 $wechatConfig = Config::getConfigByGroup('shop.platform.WechatMiniProgram'); $wechatAppId = $wechatConfig['app_id'] ?? ''; $wechatSecret = $wechatConfig['secret'] ?? ''; // 获取抖音小程序配置 $douyinConfig = Config::getConfigByGroup('shop.platform.DouyinMiniProgram'); $douyinAppId = $douyinConfig['app_id'] ?? ''; $douyinSecret = $douyinConfig['secret'] ?? ''; // 判断平台是否开启 $wechatEnabled = Config::getConfigValue('shop.platform.WechatMiniProgram.status'); $douyinEnabled = Config::getConfigValue('shop.platform.DouyinMiniProgram.status'); ``` ### 2. 根据渠道获取配置 ```php /** * 根据渠道获取平台配置 * @param string $channel 渠道标识 * @return array */ function getPlatformConfig($channel) { $platformMap = [ 'wechat_mini_program' => 'shop.platform.WechatMiniProgram', 'douyin_mini_program' => 'shop.platform.DouyinMiniProgram', ]; if (!isset($platformMap[$channel])) { return []; } return Config::getConfigByGroup($platformMap[$channel]); } // 使用示例 $config = getPlatformConfig('wechat_mini_program'); if ($config && $config['status']) { // 微信小程序已开启,执行相关逻辑 $appId = $config['app_id']; $secret = $config['secret']; } ``` ## 注意事项 ### 1. 安全性 - **密钥保护**:AppSecret等敏感信息需要严格保护,避免泄露 - **权限控制**:严格控制平台配置的访问和修改权限 - **HTTPS传输**:确保配置数据在传输过程中的安全 ### 2. 配置管理 - **备份配置**:定期备份配置数据,防止数据丢失 - **环境区分**:开发、测试、生产环境使用不同的配置 - **版本控制**:配置变更时做好记录和版本管理 ### 3. 缓存处理 - **自动清除**:配置修改后系统会自动清除相关缓存 - **手动清除**:如需手动清除,可调用 `Config::clearConfigCache()` - **缓存时间**:默认缓存时间为1小时,可根据需要调整 ### 4. 故障排查 - **配置检查**:确认配置项已正确导入数据库 - **权限检查**:确认用户有访问配置的权限 - **日志查看**:查看系统日志定位问题 - **缓存清理**:尝试清除缓存解决配置不生效问题 ## 扩展开发 ### 1. 添加新平台 如需添加其他平台(如支付宝小程序、QQ小程序等): 1. **扩展控制器**:在Platform控制器中添加新方法 2. **添加配置数据**:在SQL文件中添加新平台的配置项 3. **创建菜单**:在后台添加新平台的菜单项 4. **更新视图**:根据需要调整视图模板 ### 2. 自定义配置项 在现有平台基础上添加新的配置项: 1. **数据库添加**:在fa_config表中添加新的配置项 2. **控制器处理**:在getPlatformConfigData方法中添加配置定义 3. **视图展示**:在config.html模板中添加表单项 4. **验证规则**:添加相应的验证规则 ## 技术支持 如遇到问题,可以通过以下方式获取帮助: - 查看FastAdmin官方文档 - 查看ThinkPHP框架文档 - 查看微信小程序开发文档 - 查看抖音小程序开发文档