TODO

用户请求需要检查数据权限

前端需要 token 化改造,以避免每次 basic 认证流程中 bcrypt 对比导致的性能对比

用反射实现环境变量解析,以简化函数签名

分离 task 的客户端支持多进程prefork 必要!)

jsonb 类型转换问题,考虑一个高效的 any 到 struct 转换工具


慢速请求底层调用埋点监控

数据库转模型文件

冷数据迁移方案

开发环境

更新表结构的流程

  1. 编辑 scripts/sql/init.sql 文件,参照原有格式,需要注意:
  • 先写 drop table if exists 语句,确保脚本可以幂等执行
  • 编写 create table 语句,按需添加审计字段和软删除字段 (created_at, updated_at, deleted_at)
  • 为有必要的字段添加索引
  • 为数据表及其字段添加注释
  • 在文件末尾创建数据表流程全部结束后,为字段添加外键
  1. 建议用数据库工具检查差异并增量更新,或者手动增量更新
  2. 创建 model 文件,并将其添加到 gen 代码中
  3. 生成查询文件

权限管理

web/core/scopes.go 下定义了系统所有静态权限

新增系统权限需要在数据库中配套添加权限

前端也需要新增配套权限定义

业务逻辑

订单关闭的几种方式

  1. 创建订单后推送异步任务,到时间后尝试完成订单或关闭订单
  2. sse 接口推送订单状态,轮询尝试完成订单
  3. 异步回调事件,收到支付成功事件后自动完成订单
  4. 用户退出支付界面,客户端主动发起关闭订单

产品字典表

代码 产品
short 短效动态代理
long 长效动态代理

节点分配与存储逻辑

提取:

  • 检查用户套餐与白名单
  • 选中代理
    • 找到当前可用端口最多的代理
    • 不考虑分割端口,不够加机器
  • 获取可用端口
  • 获取可用节点
  • 生成批次号,提交到期释放任务
  • 绑定节点与端口,保存到数据库
  • 分别提交连接与配置请求

释放:

  • 根据批次查出所有端口与相关节点
  • 分别提交断开与关闭请求
  • 释放端口
Description
后端
Readme 1.5 MiB
v1.7.0 Latest
2026-04-20 16:47:27 +08:00
Languages
Go 99%
HTML 0.6%
Dockerfile 0.2%
PowerShell 0.2%