Files
gt-agent-company/docs/API.md
sexygoat 3c62cc1cd1 first
2026-03-31 18:41:52 +08:00

34 KiB
Raw Permalink Blame History

企业端 / 代理端接口清单

baseUrl: https://api.example.com

所有接口统一走 /api/auth + /api/admin/*
使用 JWT 鉴权,通过 user_type 自动区分身份(企业 / 代理)
数据隔离由后端 GORM Callback 自动处理


🔐 认证接口(企业 + 代理共用)

接口 方法 路径 说明
登录 POST /api/auth/login username + password返回 access_token / refresh_token / 权限

统一登录(后台+H5

接口信息

  • 页面/login
  • 按钮名称:登录
  • 权限编码auth_login

URL

POST /api/auth/login


请求参数

Body 参数application/json

参数名 类型 必填 说明
username string 用户名
password string 密码
device string 设备标识

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段(登录响应对象)

字段 类型 说明
access_token string 访问令牌
refresh_token string 刷新令牌
expires_in integer 过期时间(秒)
user object 用户信息

user 字段(用户信息对象)

字段 类型 说明
id integer 用户ID
username string 用户名
phone string 手机号
user_type integer 用户类型1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)
user_type_name string 用户类型名称
enterprise_id integer 企业ID
enterprise_name string 企业名称
shop_id integer 店铺ID
shop_name string 店铺名称


错误响应

HTTP 状态码 说明
400 请求参数错误
500 服务器内部错误

请求示例

{
  "username": "admin",
  "password": "password123",
  "device": "web"
}

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "expires_in": 3600,
    "user": {
      "id": 123,
      "username": "admin",
      "phone": "13800138000",
      "user_type": 1,
      "user_type_name": "超级管理员",
      "enterprise_id": 1,
      "enterprise_name": "测试企业",
      "shop_id": 10,
      "shop_name": "测试店铺"
    }
  }
}

认证

  • 认证方式:无需认证(开放接口)
  • 响应中获取access_token 用于后续请求的认证

使用说明

  1. 登录流程:提交用户名和密码获取 access_token
  2. Token 使用:在后续请求 header 中使用 Authorization: Bearer <access_token>
  3. Token 刷新:使用 refresh_token 刷新过期的 access_token

| 刷新 Token | POST | /api/auth/refresh-token | 使用 refresh_token 换新 token |

刷新 Token

接口信息

  • 页面/path/to/page
  • 按钮名称:刷新 Token
  • 权限编码permission_code

URL

POST /api/auth/refresh-token


请求参数

Body 参数application/json

参数名 类型 必填 说明
param_name string 参数说明

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

{
  "param_name": "value"
}

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 登出 | POST | /api/auth/logout | 🔒 |

统一登出

接口信息

  • 页面/path/to/page
  • 按钮名称:统一登出
  • 权限编码permission_code

URL

POST /api/auth/logout


请求参数

Body 参数application/json

参数名 类型 必填 说明
param_name string 参数说明

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

{
  "param_name": "value"
}

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 获取用户信息 | GET | /api/auth/me | 🔒 返回 user_type / shop_id / enterprise_id |

获取用户信息

接口信息

  • 页面/path/to/page
  • 按钮名称:获取用户信息
  • 权限编码permission_code

URL

GET /api/auth/me


请求参数

无请求参数


响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/auth/me

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 修改密码 | PUT | /api/auth/password | 🔒 |

修改密码

接口信息

  • 页面/path/to/page
  • 按钮名称:修改密码
  • 权限编码permission_code

URL

PUT /api/auth/password


请求参数

Body 参数application/json

参数名 类型 必填 说明
param_name string 参数说明

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

{
  "param_name": "value"
}

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

🏢 企业端可用接口

模块 方法 路径 说明
资产查询 GET /api/admin/assets/resolve/:identifier 通过 ICCID / 虚拟号 / IMEI 查询

解析资产

接口信息

  • 页面/path/to/page
  • 按钮名称:解析资产
  • 权限编码permission_code

URL

GET /api/admin/assets/resolve/{identifier}


请求参数

无请求参数


响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/admin/assets/resolve/{identifier}

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 实时状态 | GET | /api/admin/assets/:asset_type/:id/realtime-status | 查询持久化状态 |

资产实时状态

接口信息

  • 页面/path/to/page
  • 按钮名称:资产实时状态
  • 权限编码permission_code

URL

GET /api/admin/assets/{asset_type}/{id}/realtime-status


请求参数

无请求参数


响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/admin/assets/{asset_type}/{id}/realtime-status

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 刷新状态 | POST | /api/admin/assets/:asset_type/:id/refresh | 主动同步网关 |

刷新资产状态

接口信息

  • 页面/path/to/page
  • 按钮名称:刷新资产状态
  • 权限编码permission_code

URL

POST /api/admin/assets/{asset_type}/{id}/refresh


请求参数

Body 参数application/json

参数名 类型 必填 说明
param_name string 参数说明

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

{
  "param_name": "value"
}

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 套餐列表 | GET | /api/admin/assets/:asset_type/:id/packages | 查询套餐记录 |

资产套餐列表

接口信息

  • 页面/path/to/page
  • 按钮名称:资产套餐列表
  • 权限编码permission_code

URL

GET /api/admin/assets/{asset_type}/{id}/packages


请求参数

Query 参数

参数名 类型 必填 说明
page integer 页码默认1
page_size integer 每页条数默认50最大100

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/admin/assets/{asset_type}/{id}/packages?page=value&page_size=value

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 当前套餐 | GET | /api/admin/assets/:asset_type/:id/current-package | 当前生效套餐 |

当前生效套餐

接口信息

  • 页面/path/to/page
  • 按钮名称:当前生效套餐
  • 权限编码permission_code

URL

GET /api/admin/assets/{asset_type}/{id}/current-package


请求参数

无请求参数


响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/admin/assets/{asset_type}/{id}/current-package

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 设备停机 | POST | /api/admin/assets/device/:device_id/stop | 批量停机 |

设备停机

接口信息

  • 页面/path/to/page
  • 按钮名称:设备停机
  • 权限编码permission_code

URL

POST /api/admin/assets/device/{device_id}/stop


请求参数

Body 参数application/json

参数名 类型 必填 说明
param_name string 参数说明

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

{
  "param_name": "value"
}

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 设备复机 | POST | /api/admin/assets/device/:device_id/start | 批量复机 |

设备复机

接口信息

  • 页面/path/to/page
  • 按钮名称:设备复机
  • 权限编码permission_code

URL

POST /api/admin/assets/device/{device_id}/start


请求参数

Body 参数application/json

参数名 类型 必填 说明
param_name string 参数说明

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

{
  "param_name": "value"
}

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 单卡停机 | POST | /api/admin/assets/card/:iccid/stop | 单卡停机 |

单卡停机

接口信息

  • 页面/path/to/page
  • 按钮名称:单卡停机
  • 权限编码permission_code

URL

POST /api/admin/assets/card/{iccid}/stop


请求参数

Body 参数application/json

参数名 类型 必填 说明
param_name string 参数说明

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

{
  "param_name": "value"
}

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 单卡复机 | POST | /api/admin/assets/card/:iccid/start | 单卡复机 |

单卡复机

接口信息

  • 页面/path/to/page
  • 按钮名称:单卡复机
  • 权限编码permission_code

URL

POST /api/admin/assets/card/{iccid}/start


请求参数

Body 参数application/json

参数名 类型 必填 说明
param_name string 参数说明

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

{
  "param_name": "value"
}

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 企业卡列表 | GET | /api/admin/enterprises/:id/cards | 企业授权卡 |

企业卡列表

接口信息

  • 页面/path/to/page
  • 按钮名称:企业卡列表
  • 权限编码permission_code

URL

GET /api/admin/enterprises/{id}/cards


请求参数

Query 参数

参数名 类型 必填 说明
page integer 页码
page_size integer 每页数量
status integer 卡状态
carrier_id integer 运营商ID
iccid string ICCID模糊查询
virtual_no string 虚拟号(模糊查询)

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/admin/enterprises/{id}/cards?page=value&page_size=value&status=value&carrier_id=value&iccid=value&virtual_no=value

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 企业设备列表 | GET | /api/admin/enterprises/:id/devices | 企业授权设备 |

企业设备列表

接口信息

  • 页面/path/to/page
  • 按钮名称:企业设备列表
  • 权限编码permission_code

URL

GET /api/admin/enterprises/{id}/devices


请求参数

Query 参数

参数名 类型 必填 说明
page integer 页码
page_size integer 每页数量
virtual_no string 虚拟号(模糊搜索)

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/admin/enterprises/{id}/devices?page=value&page_size=value&virtual_no=value

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

企业端不可用接口

  • 钱包相关(/assets/:type/:id/wallet
  • 刷新资产(部分写操作)
  • 订单创建 / 套餐购买
  • 所有管理类接口(账号 / 角色 / 运营商等)

🏪 代理端可用接口

模块 方法 路径
资产查询 GET /api/admin/assets/resolve/:identifier
实时状态 GET /api/admin/assets/:asset_type/:id/realtime-status
刷新状态 POST /api/admin/assets/:asset_type/:id/refresh
套餐列表 GET /api/admin/assets/:asset_type/:id/packages
当前套餐 GET /api/admin/assets/:asset_type/:id/current-package
设备停/复机 POST /api/admin/assets/device/:device_id/stop / start
单卡停/复机 POST /api/admin/assets/card/:iccid/stop / start
资产钱包 GET /api/admin/assets/:type/:id/wallet

资产钱包概况

接口信息

  • 页面/path/to/page
  • 按钮名称:资产钱包概况
  • 权限编码permission_code

URL

GET /api/admin/assets/{asset_type}/{id}/wallet


请求参数

无请求参数


响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/admin/assets/{asset_type}/{id}/wallet

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 钱包流水 | GET | /api/admin/assets/:type/:id/wallet/transactions |

资产钱包流水列表

接口信息

  • 页面/path/to/page
  • 按钮名称:资产钱包流水列表
  • 权限编码permission_code

URL

GET /api/admin/assets/{asset_type}/{id}/wallet/transactions


请求参数

Query 参数

参数名 类型 必填 说明
page integer 页码默认1
page_size integer 每页数量默认20最大100
transaction_type string 交易类型过滤recharge/deduct/refund
start_time string 开始时间RFC3339
end_time string 结束时间RFC3339

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/admin/assets/{asset_type}/{id}/wallet/transactions?page=value&page_size=value&transaction_type=value&start_time=value&end_time=value

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 佣金概览 | GET | /api/admin/my/commission-summary |

我的佣金概览

接口信息

  • 页面/path/to/page
  • 按钮名称:我的佣金概览
  • 权限编码permission_code

URL

GET /api/admin/my/commission-summary


请求参数

无请求参数


响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/admin/my/commission-summary

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 佣金明细 | GET | /api/admin/my/commission-records |

我的佣金明细

接口信息

  • 页面/path/to/page
  • 按钮名称:我的佣金明细
  • 权限编码permission_code

URL

GET /api/admin/my/commission-records


请求参数

Query 参数

参数名 类型 必填 说明
page integer 页码
page_size integer 每页数量
commission_source string 佣金来源 (cost_diff:成本价差, one_time:一次性佣金, tier_bonus(已废弃):梯度奖励)
iccid string ICCID模糊查询
virtual_no string 设备虚拟号(模糊查询)
order_no string 订单号(模糊查询)

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/admin/my/commission-records?page=value&page_size=value&commission_source=value&iccid=value&virtual_no=value&order_no=value

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 佣金统计 | GET | /api/admin/my/commission-stats |

我的佣金统计

接口信息

  • 页面/path/to/page
  • 按钮名称:我的佣金统计
  • 权限编码permission_code

URL

GET /api/admin/my/commission-stats


请求参数

Query 参数

参数名 类型 必填 说明
shop_id integer 店铺ID
start_time string 开始时间
end_time string 结束时间

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/admin/my/commission-stats?shop_id=value&start_time=value&end_time=value

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 每日佣金 | GET | /api/admin/my/commission-daily-stats |

我的每日佣金统计

接口信息

  • 页面/path/to/page
  • 按钮名称:我的每日佣金统计
  • 权限编码permission_code

URL

GET /api/admin/my/commission-daily-stats


请求参数

Query 参数

参数名 类型 必填 说明
shop_id integer 店铺ID
start_date string 开始日期YYYY-MM-DD
end_date string 结束日期YYYY-MM-DD
days integer 查询天数默认30天

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/admin/my/commission-daily-stats?shop_id=value&start_date=value&end_date=value&days=value

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 发起提现 | POST | /api/admin/my/withdrawal-requests |

发起提现申请

接口信息

  • 页面/path/to/page
  • 按钮名称:发起提现申请
  • 权限编码permission_code

URL

POST /api/admin/my/withdrawal-requests


请求参数

Body 参数application/json

参数名 类型 必填 说明
param_name string 参数说明

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

{
  "param_name": "value"
}

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

| 提现记录 | GET | /api/admin/my/withdrawal-requests |

我的提现记录

接口信息

  • 页面/path/to/page
  • 按钮名称:我的提现记录
  • 权限编码permission_code

URL

GET /api/admin/my/withdrawal-requests


请求参数

Query 参数

参数名 类型 必填 说明
page integer 页码
page_size integer 每页数量
status integer 状态1=待审批, 2=已通过, 3=已拒绝)
start_time string 申请开始时间
end_time string 申请结束时间

响应说明

Response 字段

字段 类型 说明
code integer 响应码
msg string 响应消息
timestamp string 时间戳
data object 返回数据

data 字段

字段 类型 说明
field_name string 字段说明

错误响应

HTTP 状态码 说明
400 请求参数错误
401 未认证或认证已过期
403 无权访问
500 服务器内部错误

请求示例

GET /api/admin/my/withdrawal-requests?page=value&page_size=value&status=value&start_time=value&end_time=value

响应示例

{
  "code": 0,
  "msg": "success",
  "timestamp": "2024-03-30T10:30:00Z",
  "data": {
    "field_name": "value"
  }
}

📊 接口可用性矩阵

┌────────────────────────┬──────────┬──────────┬───────────────┐
│ 接口模块               │ 企业端   │ 代理端   │ 备注          │
├────────────────────────┼──────────┼──────────┼───────────────┤
│ 认证(登录/登出/me    │ ✅       │ ✅       │ 共用          │
│ 资产解析               │ ✅       │ ✅       │               │
│ 实时状态               │ ✅       │ ✅       │               │
│ 刷新资产               │ ❌       │ ✅       │ 企业只读      │
│ 套餐列表/当前套餐      │ ✅       │ ✅       │               │
│ 停复机(设备+单卡)    │ ✅       │ ✅       │               │
│ 资产钱包/流水          │ ❌       │ ✅       │ 企业无钱包    │
│ 佣金/提现              │ ❌       │ ✅       │ 企业无佣金    │
│ 企业卡列表             │ ✅       │ ✅       │               │
│ 企业设备列表           │ ✅       │ ✅       │               │
│ 订单/购买/充值         │ ❌       │ ❌(*)    │ *代理走后台   │
│ 管理类(账号/角色等)  │ ❌       │ ❌(*)    │ *后台管理     │
└────────────────────────┴──────────┴──────────┴───────────────┘

⚠️ 前端注意事项

企业端查询接口:

  • /api/admin/enterprises/:id/cards
  • /api/admin/enterprises/:id/devices

👉 :id 获取方式:

const { enterprise_id } = await getUserInfo() // /api/auth/me

然后拼接:

const url = `/api/admin/enterprises/${enterprise_id}/cards`

总结

  • 所有接口统一鉴权JWT
  • 企业 / 代理权限通过 user_type 自动区分
  • 数据隔离后端自动处理(无需前端关心)
  • 前端只需控制:
    • 是否展示功能
    • 是否调用接口