gjm cfb2a36c87 feat: 阶段 2 - /usage/consume、pending 授权惰性激活
- usage.py: POST /usage/consume,事务内校验会话(严格 device_id)、
  激活 pending、按 time/points 分支扣减;失败返回 ok:false + reason
- 积分扣减用条件 UPDATE 原子完成,status 赋值写在自减之前
  (MySQL SET 从左到右求值,否则 IF 读到已减 1 的值,判空差 1)
- 时间授权 usage_logs 按 (user_id, device_id) 60 秒节流;积分每次必写
- auth.py: 新增 activate_pending_authorization(),失效 active 后
  FIFO 激活 pending,时间授权按原时长从当前时刻重新锚定
- get_status/handle_scan 接入惰性激活;get_status 改事务包裹
- _get_active_authorization/_serialize_authorization 改公开供 usage 复用
- config/.env.example: 新增 USAGE_LOG_THROTTLE_SECONDS
2026-09-27 15:00:02 +08:00

微信公众号扫码授权服务

基于 FastAPI 的微信公众号接口服务,支持服务器验证、消息接收与回复。

技术栈

  • FastAPI + Uvicorn
  • MySQL 8.0
  • Redis 6.2
  • Nginx 反向代理

部署

# 服务器上
source venv/bin/activate
pip install -r requirements.txt
python run_server.py

配置

复制 .env.example 为 .env,填入实际值。

S
Description
No description provided
Readme
127 KiB
0 Stars 1 Watchers 0 Forks
Languages
Python 100%