8c268fd7a9a1fdbfb605d35ab2ac072bcd8d82d2
todo
核心流程:
- 注册与登录
- 对接接口
- 人机风险分级验证
- jwt 签发
- 鉴权
- 实名认证
- 对接接口
- 充值余额
- 对接接口
- 选择套餐
- 对接接口
- 提取记录
- 提取 IP
- 长效提取
- 使用记录
- 连接
中间件:
- Limiter
- Compress
更新数据库填充
检查数据库枚举字段,0 值只作为空值使用
实现开发时迁移脚本:
- 检查 sql 注释
- 执行迁移
- 如果有必要则填充数据
查端口需要通过外部接口实现,防止不同环境下的端口覆盖。提供一个额外的简便方法用来实现端口覆盖
业务代码和测试代码共用的控制变量可以优化为环境变量
channel 优化:
- 重新梳理逻辑流程,简化循环
- 端口分配时加锁
- 数据存入顺序,数据库 > 缓存 > 外部接口
remote 令牌问题
用对称加密处理密钥
考虑将鉴权逻辑放到 handler 里,统一动静态鉴权以及解耦服务层
环境变量配置默认会话配置
oauth token 验证授权范围
保存 session 到数据库
环境变量和脚本
在 init/env 中有定义和默认值
开发环境数据库迁移:
pg-schema-diff apply --schema-dir .\scripts\sql --dsn "host=localhost user=test password=test dbname=app port=5432 sslmode=disable TimeZone=Asia/Shanghai" --allow-hazards INDEX_BUILD,INDEX_DROPPE
枚举字典
产品
| 代码 | 缩写 | 产品 |
|---|---|---|
| proxy/shared-static | pss | 动态代理 |
| proxy/shared-rotate | psr | 隧道代理 |
| proxy/private-static | pps | 独享代理 |
订单类型
| 枚举 | 说明 |
|---|---|
| 1 | 充值余额 |
| 2 | 直接购买 |
外部服务
服务器ip 110.40.82.248 api账密:api:123456
业务逻辑
Description