platform_menu.md 8.1 KB

平台配置菜单配置说明

功能概述

平台配置功能提供了微信小程序和抖音小程序的统一配置管理界面,支持:

  • 平台基本信息配置(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语句快速添加菜单:

-- 添加主菜单
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 文件:

# 方法一:命令行导入
mysql -u 用户名 -p 数据库名 < install_platform_config.sql

# 方法二:phpMyAdmin导入
# 登录phpMyAdmin → 选择数据库 → 导入 → 选择文件 → 执行

# 方法三:Navicat等工具
# 连接数据库 → 运行SQL文件

2. 验证数据导入

检查 fa_config 表中是否成功导入平台配置数据:

-- 检查配置项数量
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. 获取配置信息

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. 根据渠道获取配置

/**
 * 根据渠道获取平台配置
 * @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框架文档
  • 查看微信小程序开发文档
  • 查看抖音小程序开发文档