# 系统设置页面重新设计文档 ## 概述 本次重新设计后台管理页面的系统设置页面,特别是添加了支付功能配置,使管理员可以通过后台界面完整配置和管理支付功能,无需手动修改环境变量。 ## 新增功能 ### 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标记) - 返回配置详情 **响应示例:** ```json { "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` 测试支付功能是否正常工作 **功能:** - 检查支付功能是否启用 - 检查支付宝配置是否完整 - 创建测试订单 - 生成支付链接 **响应示例:** ```json { "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处理函数 ## 配置项说明 ### 支付配置映射 ```python 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`