Kamixitong/docs/system_settings_redesign.md
2025-12-12 11:35:14 +08:00

5.9 KiB
Raw Blame History

系统设置页面重新设计文档

概述

本次重新设计后台管理页面的系统设置页面,特别是添加了支付功能配置,使管理员可以通过后台界面完整配置和管理支付功能,无需手动修改环境变量。

新增功能

1. 支付配置区块

支付功能开关

  • 在配置区块头部添加了支付功能开关
  • 管理员可以一键启用/禁用支付功能

支付宝配置参数

  • 支付宝应用ID (APP_ID) - 从支付宝开放平台获取
  • 应用私钥 - RSA2格式的应用私钥
  • 支付宝公钥 - RSA2格式的应用公钥
  • 支付宝平台公钥 - RSA2格式的支付宝平台公钥
  • 异步通知URL - 支付宝异步通知地址
  • 同步返回URL - 支付完成后的返回地址
  • 支付宝网关地址 - 可配置正式/沙箱环境
  • 支付超时时间 - 可设置5-120分钟
  • 签名算法 - 支持RSA2和RSA
  • 编码格式 - 支持utf-8和gbk
  • API版本 - 当前固定为1.0

辅助功能

  • 测试支付宝配置 - 验证配置参数是否正确
  • 表单验证 - 实时验证必填项
  • 输入提示 - 每个字段都有详细的说明

2. 系统信息增强

在系统信息卡片中新增:

  • 支付功能状态 - 显示是否已启用
  • 支付宝配置状态 - 显示是否已配置

3. 操作按钮增强

在操作卡片中新增:

  • 测试支付功能 - 按钮仅在支付功能启用时显示
  • 点击后创建测试订单并生成支付链接

4. API接口新增

POST /api/v1/settings/test-alipay

测试支付宝配置是否正确

功能:

  • 验证APP_ID格式
  • 验证密钥格式是否包含BEGIN/END标记
  • 返回配置详情

响应示例:

{
    "success": true,
    "message": "支付宝配置测试成功!",
    "details": {
        "app_id": "your_app_id",
        "gateway": "https://openapi.alipay.com/gateway.do",
        "sign_type": "RSA2"
    }
}

POST /api/v1/settings/test-payment

测试支付功能是否正常工作

功能:

  • 检查支付功能是否启用
  • 检查支付宝配置是否完整
  • 创建测试订单
  • 生成支付链接

响应示例:

{
    "success": true,
    "message": "支付功能测试成功!",
    "payment_url": "https://openapi.alipay.com/...",
    "order_number": "TEST123456789"
}

文件修改列表

1. app/api/settings.py

  • 新增支付配置映射
  • 新增 test_alipay_config() 函数
  • 新增 test_payment() 函数
  • 更新 save_settings() 函数支持支付配置保存

2. config.py

  • 新增 ALIPAY_NOTIFY_URL 配置
  • 新增 ALIPAY_RETURN_URL 配置
  • 新增 ALIPAY_TIMEOUT_EXPRESS 配置
  • 新增 PAYMENT_ENABLED 配置

3. app/web/templates/settings/index.html

  • 新增支付配置卡片
  • 新增测试支付宝配置按钮
  • 新增测试支付功能模态框
  • 增强系统信息显示
  • 增强操作按钮
  • 新增前端JavaScript处理函数

配置项说明

支付配置映射

CONFIG_MAPPING = {
    # ... 其他配置 ...

    # 支付设置
    'alipay_app_id': 'ALIPAY_APP_ID',
    'alipay_private_key': 'ALIPAY_PRIVATE_KEY',
    'alipay_public_key': 'ALIPAY_PUBLIC_KEY',
    'alipay_alipay_public_key': 'ALIPAY_ALIPAY_PUBLIC_KEY',
    'alipay_gateway': 'ALIPAY_GATEWAY',
    'alipay_sign_type': 'ALIPAY_SIGN_TYPE',
    'alipay_charset': 'ALIPAY_CHARSET',
    'alipay_version': 'ALIPAY_VERSION',
    'alipay_notify_url': 'ALIPAY_NOTIFY_URL',
    'alipay_return_url': 'ALIPAY_RETURN_URL',
    'alipay_timeout_express': 'ALIPAY_TIMEOUT_EXPRESS',
    'payment_enabled': 'PAYMENT_ENABLED'
}

使用流程

1. 配置支付宝参数

  1. 登录支付宝开放平台 (https://open.alipay.com/)
  2. 创建网站支付应用
  3. 获取以下信息:
    • APP_ID
    • 应用私钥
    • 应用公钥
    • 支付宝平台公钥

2. 在系统设置中配置

  1. 登录后台管理系统
  2. 导航到"系统设置"页面
  3. 滚动到"支付配置"区块
  4. 启用支付功能开关
  5. 填写支付宝配置信息
  6. 点击"测试支付宝配置"验证参数
  7. 点击"保存设置"

3. 测试支付功能

  1. 在支付配置区块下方点击"测试支付宝配置"按钮
  2. 验证配置无误后,点击"保存设置"
  3. 在右侧操作卡片中点击"测试支付功能"按钮
  4. 系统会创建测试订单并生成支付链接
  5. 点击"是"打开支付链接进行测试

4. 上线生产环境

  1. 将支付宝网关地址改为正式环境地址
  2. 使用正式环境的APP_ID和密钥
  3. 配置正确的异步通知URL和返回URL
  4. 再次测试支付功能
  5. 确认无误后正式启用

安全建议

1. 密钥管理

  • 私钥和公钥信息非常重要,请妥善保管
  • 不要将私钥提交到代码仓库
  • 定期更换密钥建议每6个月

2. 配置安全

  • 生产环境启用支付功能前请确保已配置HTTPS
  • 确认异步通知URL可正常访问
  • 验证签名验证功能正常工作

3. 测试建议

  • 先在沙箱环境测试配置
  • 使用测试订单验证支付流程
  • 确认异步通知能够正常更新订单状态

注意事项

1. 配置持久化

当前配置保存在内存中,重启后丢失。如需持久化,建议:

  • 定期导出配置
  • 使用环境变量配置生产环境
  • 未来可扩展为数据库存储

2. 密钥显示

出于安全考虑,私钥字段在保存后不会回显。如需修改,请重新粘贴完整密钥。

3. 测试金额

测试订单使用0.01元作为测试金额,不会产生实际费用。

更新日志

v1.1.0 (2025-12-11)

  • 新增完整的支付配置管理界面
  • 支持支付宝参数配置和测试
  • 新增支付功能开关
  • 增强系统信息显示
  • 新增测试支付功能接口
  • 优化用户体验和操作流程

技术支持

如有问题,请查看:

  • 日志文件:logs/kamaxitong.log
  • 支付宝开放平台文档:https://open.alipay.com/
  • 系统集成文档:docs/alipay_integration.md