super-yimizi e015a8a371 fix: 商城奖品不自动发货 1 month ago
..
channel e015a8a371 fix: 商城奖品不自动发货 1 month ago
API统一接口使用示例.md 1334473752 fix:计算的 2 months ago
LotteryActivityService文档说明.md 00eb40f01b fix:请求参数规范 1 month ago
LotteryChanceService优化说明.md 576d8df64e fix:增加数量统计 1 month ago
LotteryRecordService重构说明.md 00eb40f01b fix:请求参数规范 1 month ago
LotteryService文档说明.md 4f60035c64 fix: 抽奖记录 1 month ago
OrderService_使用说明.md 1334473752 fix:计算的 2 months ago
OrderService_架构设计说明.md 1334473752 fix:计算的 2 months ago
OrderValidator_使用说明.md 1334473752 fix:计算的 2 months ago
README_platform_config.md e015a8a371 fix: 商城奖品不自动发货 1 month ago
SkuSpec_使用说明.md 1334473752 fix:计算的 2 months ago
install_platform_config.sql e015a8a371 fix: 商城奖品不自动发货 1 month ago
platform_menu.md e015a8a371 fix: 商城奖品不自动发货 1 month ago
test_lottery_record_service.php 00eb40f01b fix:请求参数规范 1 month ago
三种抽奖方式优化总结.md 4f60035c64 fix: 抽奖记录 1 month ago
任务设置表单数据结构测试.html afeab20072 fix:登录状态· 2 months ago
任务设置表单数据结构说明.md afeab20072 fix:登录状态· 2 months ago
优惠券选择功能测试示例.html afeab20072 fix:登录状态· 2 months ago
优惠券选择功能配置说明.md afeab20072 fix:登录状态· 2 months ago
商品选择功能使用说明.md afeab20072 fix:登录状态· 2 months ago
商品选择功能测试示例.html afeab20072 fix:登录状态· 2 months ago
奖品JS重构说明.md 00eb40f01b fix:请求参数规范 1 month ago
奖品商品模板修改说明.md afeab20072 fix:登录状态· 2 months ago
奖品商品模板统一说明.md afeab20072 fix:登录状态· 2 months ago
折扣活动查询使用说明.md ab61edab1c fix:营销折扣 2 months ago
抽奖API接口说明.md 00eb40f01b fix:请求参数规范 1 month ago
文档更新清单.md 4f60035c64 fix: 抽奖记录 1 month ago
消费抽奖系统接口使用说明.md 4b36826592 fix:验货员 2 months ago
消费抽奖系统架构流程图.md 4f60035c64 fix: 抽奖记录 1 month ago
消费抽奖营销活动_产品设计文档.md 6c485fd18a fix:商品 2 months ago
消费抽奖营销活动_使用说明.md 4f60035c64 fix: 抽奖记录 1 month ago
消费抽奖营销活动_数据库建表脚本.sql 4f60035c64 fix: 抽奖记录 1 month ago
消费抽奖营销活动_数据表设计.md 576d8df64e fix:增加数量统计 1 month ago
消费抽奖营销活动_表字段说明.md 576d8df64e fix:增加数量统计 1 month ago
购买指定商品多选功能测试.html afeab20072 fix:登录状态· 2 months ago
验货员申请API接口文档.md c333f75de3 fix:验货员 2 months ago

README_platform_config.md

平台配置系统实现说明

系统概述

本系统基于FastAdmin框架实现了微信小程序和抖音小程序的平台配置管理功能。系统支持配置项的层级管理、数据验证、缓存机制和权限控制。

核心功能

1. 平台配置管理

  • 微信小程序配置:AppID、密钥、登录配置、支付配置
  • 抖音小程序配置:AppID、密钥、登录配置、支付配置
  • 配置状态管理:开启/关闭平台功能
  • 配置项验证:必填项验证、数据格式验证

2. 配置存储结构

采用点号分隔的层级结构:

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 # 绑定手机号

3. 数据类型支持

  • string:字符串类型(AppID、密钥等)
  • boolean:布尔类型(开关状态)
  • int:整数类型(数值配置)
  • array:数组类型(多选配置)
  • group:分组类型(配置组织)

文件结构

├── 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                      # 本文档

安装步骤

1. 导入配置数据

mysql -u username -p database_name < install_platform_config.sql

2. 添加后台菜单

参考 docs/platform_menu.md 中的说明添加后台菜单项。

3. 配置权限

为管理员分配平台配置相关权限。

使用方法

1. 后台配置

  1. 登录FastAdmin后台
  2. 访问"平台配置"菜单
  3. 选择要配置的平台(微信小程序或抖音小程序)
  4. 填写配置信息并保存

2. 代码调用

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');

系统特性

1. 缓存机制

  • 自动缓存配置数据,提高读取性能
  • 配置更新时自动清除相关缓存
  • 支持按分组和单个配置项缓存

2. 数据验证

  • 前端表单验证(必填项、格式验证)
  • 后端数据验证(类型验证、业务逻辑验证)
  • 配置值格式化和解析

3. 扩展性

  • 支持添加更多平台配置
  • 支持自定义配置项类型
  • 支持配置项的动态显示和隐藏

4. 安全性

  • 权限控制:只有授权用户才能访问配置
  • 数据验证:防止非法数据写入
  • 敏感信息保护:密钥等敏感信息的安全存储

配置项说明

微信小程序配置项

配置项 类型 必填 说明
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 是否强制绑定手机号

扩展开发

1. 添加新平台

在控制器中添加新的平台配置方法:

public function new_platform()
{
    $group = 'shop.platform.NewPlatform';
    return $this->platformConfig($group, '新平台配置');
}

2. 添加配置项

getPlatformConfigData 方法中添加新的配置项:

[
    'name' => 'shop.platform.NewPlatform.new_config',
    'group' => 'shop.platform.NewPlatform',
    'title' => '新配置项',
    'tip' => '配置项说明',
    'type' => 'string',
    'value' => '',
    'rule' => '',
    'extend' => ''
]

3. 自定义配置类型

在模型中扩展 validateValue 方法以支持新的数据类型。

性能优化

1. 缓存策略

  • 按分组缓存:缓存整个配置组的数据
  • 单项缓存:缓存单个配置项的值
  • 缓存时间:默认3600秒(1小时)

2. 数据库优化

  • 使用索引:在 namegroup 字段上建立索引
  • 查询优化:避免全表扫描,使用精确条件查询

3. 前端优化

  • 表单验证:客户端验证减少服务器请求
  • 异步提交:AJAX提交表单,提升用户体验

注意事项

  1. 敏感信息:AppSecret等敏感信息需要妥善保管
  2. 权限控制:严格控制配置修改权限
  3. 数据验证:确保配置数据的完整性和正确性
  4. 缓存管理:适当管理缓存,避免数据不一致
  5. 备份恢复:定期备份配置数据,确保数据安全

版本说明

  • v1.0.0:基础功能实现
    • 微信小程序配置管理
    • 抖音小程序配置管理
    • 基础缓存机制
    • 配置验证功能

技术支持

如需技术支持或功能扩展,请参考:

  • FastAdmin官方文档
  • ThinkPHP框架文档
  • 微信小程序开发文档
  • 抖音小程序开发文档