立项背景和目标: 在闲鱼/淘宝/拼多多等多平台售卖软件产品,面临激活码管理混乱、手动发货效率低、退款薅羊毛风险高、多平台订单难统一管理的痛点。目标是搭建一套本地部署的软件销售全流程管理系统,实现从商品上架、订单录入、自动发货到财务统计的一体化闭环。
核心功能模块(共12个路由模块):
①授权码管理:支持批量生成格式化激活码(XXXX-XXXX-XXXX-XXXX),多等级(试用/标准/专业/企业版),AES 加密存储,支持绑定机器码、设置有效天数、批次号;
②自动发货引擎:A/B 模板随机轮换,变量替换({{order_no}} 等),随机延迟模拟人工操作,支持强制重发;
③风控模块:买家黑名单库,退款次数自动累计,触发阈值自动拦截高风险订单,支持手动/自动入黑;
④财务统计:多维度聚合(今日/7天/30天/自定义),收入、成本、毛利、退款金额实时汇总,支持 CSV 导出;
⑤定时任务(APScheduler):每日凌晨 2 点自动备份数据库,每5分钟轮询待发货订单,每小时自动标记过期授权码,每日凌晨清理90天前日志。
业务流程: 录入订单 → 匹配商品库 → 风控拦截检查 → 自动/手动发货(分配激活码+渲染模板) → 激活码状态变更 → 财务数据同步 → 定时备份。
整体架构: 前后端分离,后端 Python + FastAPI + SQLAlchemy ORM + SQLite(WAL 模式),前端 Vue + Vite 打包,最终通过 PyInstaller 打包为单文件 EXE,双击即用无需安装环境。JWT 鉴权(HS256),多角色权限(admin/operator/support)。
我的责任模块与量化结果: 独立完成全部代码,共 12 个 Router 模块(auth/users/products/licenses/orders/shipping/customers/finance/logs/settings/backup/risk)。激活码 AES 加密存储 + safe_preview 脱敏展示;风控黑名单命中后自动关联退款记录并实时更新风险计数;财务模块支持按商品/平台/时间段多维聚合,数据误差为0(直接走 SQLAlchemy func.sum)。
难点与解决: ①EXE 打包路径问题:PyInstaller frozen 模式下 sys._MEIPASS 与 sys.executable 路径不同,通过 _get_root() / _get_bundle() 双路径分离解决代码路径和数据路径冲突;②激活码安全:明文存储存在泄露风险,改为 AES 加密入库,查询时解密,前端列表仅展示前8位+掩码;③定时发货任务兼容新旧两套发货引擎(shipping_engine.py / routers/shipping.py),通过 try/except 动态降级保证稳定性