Initial commit: One Pipe System

完整的管理系统,包含账户管理、卡片管理、套餐管理、财务管理等功能模块。

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
sexygoat
2026-01-22 16:35:33 +08:00
commit 222e5bb11a
495 changed files with 145440 additions and 0 deletions

870
docs/代理账号管理.md Normal file
View File

@@ -0,0 +1,870 @@
# 账号管理下面新增一个代理账号管理, 页面样式可以参考/system/account 都需要token认证
# 代理账号列表
## OpenAPI Specification
```yaml
openapi: 3.0.1
info:
title: ''
description: ''
version: 1.0.0
paths:
/api/admin/shop-accounts:
get:
summary: 代理账号列表
deprecated: false
description: ''
tags:
- 代理账号管理
- 代理账号管理
parameters:
- name: page
in: query
description: 页码
required: false
schema:
description: 页码
minimum: 1
type: integer
- name: page_size
in: query
description: 每页数量
required: false
schema:
description: 每页数量
maximum: 100
minimum: 1
type: integer
- name: shop_id
in: query
description: 店铺ID过滤
required: false
schema:
description: 店铺ID过滤
minimum: 1
type: integer
nullable: true
- name: username
in: query
description: 用户名(模糊查询)
required: false
schema:
description: 用户名(模糊查询)
maxLength: 50
type: string
- name: phone
in: query
description: 手机号(精确查询)
required: false
schema:
description: 手机号(精确查询)
maxLength: 11
minLength: 11
type: string
- name: status
in: query
description: 状态 (0:禁用, 1:启用)
required: false
schema:
description: 状态 (0:禁用, 1:启用)
type: integer
nullable: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ModelShopAccountPageResult'
headers: {}
x-apifox-name: ''
'400':
description: 请求参数错误
content:
application/json:
schema: &ref_0
$ref: '#/components/schemas/ErrorResponse'
headers: {}
x-apifox-name: ''
'401':
description: 未认证或认证已过期
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
'403':
description: 无权访问
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
'500':
description: 服务器内部错误
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
security:
- BearerAuth: []
x-apifox:
schemeGroups:
- id: '-jWpeN1-jYBl-SEBTmsrq'
schemeIds:
- BearerAuth
required: true
use:
id: '-jWpeN1-jYBl-SEBTmsrq'
scopes:
'-jWpeN1-jYBl-SEBTmsrq':
BearerAuth: []
x-apifox-folder: 代理账号管理
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/7591618/apis/api-408366334-run
components:
schemas:
ModelShopAccountPageResult:
properties:
items:
description: 代理账号列表
items:
$ref: '#/components/schemas/ModelShopAccountResponse'
type: array
nullable: true
page:
description: 当前页码
type: integer
size:
description: 每页数量
type: integer
total:
description: 总记录数
type: integer
type: object
x-apifox-orders:
- items
- page
- size
- total
x-apifox-ignore-properties: []
x-apifox-folder: ''
ModelShopAccountResponse:
properties:
created_at:
description: 创建时间
type: string
id:
description: 账号ID
minimum: 0
type: integer
phone:
description: 手机号
type: string
shop_id:
description: 店铺ID
minimum: 0
type: integer
shop_name:
description: 店铺名称
type: string
status:
description: 状态 (0:禁用, 1:启用)
type: integer
updated_at:
description: 更新时间
type: string
user_type:
description: 用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)
type: integer
username:
description: 用户名
type: string
type: object
x-apifox-orders:
- created_at
- id
- phone
- shop_id
- shop_name
- status
- updated_at
- user_type
- username
x-apifox-ignore-properties: []
x-apifox-folder: ''
ErrorResponse:
properties:
code:
description: 错误码
type: integer
message:
description: 错误消息
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- message
- timestamp
type: object
x-apifox-orders:
- code
- message
- timestamp
x-apifox-ignore-properties: []
x-apifox-folder: ''
securitySchemes:
BearerAuth:
bearerFormat: JWT
scheme: bearer
type: jwt
servers:
- url: https://cmp-api.boss160.cn
description: 测试环境
security: []
```
# 创建代理账号
## OpenAPI Specification
```yaml
openapi: 3.0.1
info:
title: ''
description: ''
version: 1.0.0
paths:
/api/admin/shop-accounts:
post:
summary: 创建代理账号
deprecated: false
description: ''
tags:
- 代理账号管理
- 代理账号管理
parameters: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelCreateShopAccountRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ModelShopAccountResponse'
headers: {}
x-apifox-name: ''
'400':
description: 请求参数错误
content:
application/json:
schema: &ref_0
$ref: '#/components/schemas/ErrorResponse'
headers: {}
x-apifox-name: ''
'401':
description: 未认证或认证已过期
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
'403':
description: 无权访问
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
'500':
description: 服务器内部错误
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
security:
- BearerAuth: []
x-apifox:
schemeGroups:
- id: LdX0-6IzkTw-pXBT8t4Km
schemeIds:
- BearerAuth
required: true
use:
id: LdX0-6IzkTw-pXBT8t4Km
scopes:
LdX0-6IzkTw-pXBT8t4Km:
BearerAuth: []
x-apifox-folder: 代理账号管理
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/7591618/apis/api-408366335-run
components:
schemas:
ModelCreateShopAccountRequest:
properties:
password:
description: 密码
maxLength: 32
minLength: 8
type: string
phone:
description: 手机号
maxLength: 11
minLength: 11
type: string
shop_id:
description: 店铺ID
minimum: 1
type: integer
username:
description: 用户名
maxLength: 50
minLength: 3
type: string
required:
- password
- phone
- shop_id
- username
type: object
x-apifox-orders:
- password
- phone
- shop_id
- username
x-apifox-ignore-properties: []
x-apifox-folder: ''
ModelShopAccountResponse:
properties:
created_at:
description: 创建时间
type: string
id:
description: 账号ID
minimum: 0
type: integer
phone:
description: 手机号
type: string
shop_id:
description: 店铺ID
minimum: 0
type: integer
shop_name:
description: 店铺名称
type: string
status:
description: 状态 (0:禁用, 1:启用)
type: integer
updated_at:
description: 更新时间
type: string
user_type:
description: 用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)
type: integer
username:
description: 用户名
type: string
type: object
x-apifox-orders:
- created_at
- id
- phone
- shop_id
- shop_name
- status
- updated_at
- user_type
- username
x-apifox-ignore-properties: []
x-apifox-folder: ''
ErrorResponse:
properties:
code:
description: 错误码
type: integer
message:
description: 错误消息
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- message
- timestamp
type: object
x-apifox-orders:
- code
- message
- timestamp
x-apifox-ignore-properties: []
x-apifox-folder: ''
securitySchemes:
BearerAuth:
bearerFormat: JWT
scheme: bearer
type: jwt
servers:
- url: https://cmp-api.boss160.cn
description: 测试环境
security: []
```
# 更新代理账号
## OpenAPI Specification
```yaml
openapi: 3.0.1
info:
title: ''
description: ''
version: 1.0.0
paths:
/api/admin/shop-accounts/{id}:
put:
summary: 更新代理账号
deprecated: false
description: ''
tags:
- 代理账号管理
- 代理账号管理
parameters:
- name: id
in: path
description: ID
required: true
example: 0
schema:
description: ID
minimum: 0
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelUpdateShopAccountParams'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ModelShopAccountResponse'
headers: {}
x-apifox-name: ''
'400':
description: 请求参数错误
content:
application/json:
schema: &ref_0
$ref: '#/components/schemas/ErrorResponse'
headers: {}
x-apifox-name: ''
'401':
description: 未认证或认证已过期
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
'403':
description: 无权访问
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
'500':
description: 服务器内部错误
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
security:
- BearerAuth: []
x-apifox:
schemeGroups:
- id: TTw5I9JG_CJv8tEsi1Bk6
schemeIds:
- BearerAuth
required: true
use:
id: TTw5I9JG_CJv8tEsi1Bk6
scopes:
TTw5I9JG_CJv8tEsi1Bk6:
BearerAuth: []
x-apifox-folder: 代理账号管理
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/7591618/apis/api-408366336-run
components:
schemas:
ModelUpdateShopAccountParams:
properties:
username:
description: 用户名
maxLength: 50
minLength: 3
type: string
required:
- username
type: object
x-apifox-orders:
- username
x-apifox-ignore-properties: []
x-apifox-folder: ''
ModelShopAccountResponse:
properties:
created_at:
description: 创建时间
type: string
id:
description: 账号ID
minimum: 0
type: integer
phone:
description: 手机号
type: string
shop_id:
description: 店铺ID
minimum: 0
type: integer
shop_name:
description: 店铺名称
type: string
status:
description: 状态 (0:禁用, 1:启用)
type: integer
updated_at:
description: 更新时间
type: string
user_type:
description: 用户类型 (1:超级管理员, 2:平台用户, 3:代理账号, 4:企业账号)
type: integer
username:
description: 用户名
type: string
type: object
x-apifox-orders:
- created_at
- id
- phone
- shop_id
- shop_name
- status
- updated_at
- user_type
- username
x-apifox-ignore-properties: []
x-apifox-folder: ''
ErrorResponse:
properties:
code:
description: 错误码
type: integer
message:
description: 错误消息
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- message
- timestamp
type: object
x-apifox-orders:
- code
- message
- timestamp
x-apifox-ignore-properties: []
x-apifox-folder: ''
securitySchemes:
BearerAuth:
bearerFormat: JWT
scheme: bearer
type: jwt
servers:
- url: https://cmp-api.boss160.cn
description: 测试环境
security: []
```
# 重置代理账号密码
## OpenAPI Specification
```yaml
openapi: 3.0.1
info:
title: ''
description: ''
version: 1.0.0
paths:
/api/admin/shop-accounts/{id}/password:
put:
summary: 重置代理账号密码
deprecated: false
description: ''
tags:
- 代理账号管理
- 代理账号管理
parameters:
- name: id
in: path
description: ID
required: true
example: 0
schema:
description: ID
minimum: 0
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelUpdateShopAccountPasswordParams'
responses:
'400':
description: 请求参数错误
content:
application/json:
schema: &ref_0
$ref: '#/components/schemas/ErrorResponse'
headers: {}
x-apifox-name: ''
'401':
description: 未认证或认证已过期
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
'403':
description: 无权访问
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
'500':
description: 服务器内部错误
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
security:
- BearerAuth: []
x-apifox:
schemeGroups:
- id: IeBLfzHchBWHbFru7Ma0u
schemeIds:
- BearerAuth
required: true
use:
id: IeBLfzHchBWHbFru7Ma0u
scopes:
IeBLfzHchBWHbFru7Ma0u:
BearerAuth: []
x-apifox-folder: 代理账号管理
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/7591618/apis/api-408366337-run
components:
schemas:
ModelUpdateShopAccountPasswordParams:
properties:
new_password:
description: 新密码
maxLength: 32
minLength: 8
type: string
required:
- new_password
type: object
x-apifox-orders:
- new_password
x-apifox-ignore-properties: []
x-apifox-folder: ''
ErrorResponse:
properties:
code:
description: 错误码
type: integer
message:
description: 错误消息
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- message
- timestamp
type: object
x-apifox-orders:
- code
- message
- timestamp
x-apifox-ignore-properties: []
x-apifox-folder: ''
securitySchemes:
BearerAuth:
bearerFormat: JWT
scheme: bearer
type: jwt
servers:
- url: https://cmp-api.boss160.cn
description: 测试环境
security: []
```
列表显示中状态用开关那个组件
# 启用/禁用代理账号
## OpenAPI Specification
```yaml
openapi: 3.0.1
info:
title: ''
description: ''
version: 1.0.0
paths:
/api/admin/shop-accounts/{id}/status:
put:
summary: 启用/禁用代理账号
deprecated: false
description: ''
tags:
- 代理账号管理
- 代理账号管理
parameters:
- name: id
in: path
description: ID
required: true
example: 0
schema:
description: ID
minimum: 0
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelUpdateShopAccountStatusParams'
responses:
'400':
description: 请求参数错误
content:
application/json:
schema: &ref_0
$ref: '#/components/schemas/ErrorResponse'
headers: {}
x-apifox-name: ''
'401':
description: 未认证或认证已过期
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
'403':
description: 无权访问
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
'500':
description: 服务器内部错误
content:
application/json:
schema: *ref_0
headers: {}
x-apifox-name: ''
security:
- BearerAuth: []
x-apifox:
schemeGroups:
- id: QRYgZh2IcZgAVmdF1dNBU
schemeIds:
- BearerAuth
required: true
use:
id: QRYgZh2IcZgAVmdF1dNBU
scopes:
QRYgZh2IcZgAVmdF1dNBU:
BearerAuth: []
x-apifox-folder: 代理账号管理
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/7591618/apis/api-408366338-run
components:
schemas:
ModelUpdateShopAccountStatusParams:
properties:
status:
description: 状态 (0:禁用, 1:启用)
type: integer
required:
- status
type: object
x-apifox-orders:
- status
x-apifox-ignore-properties: []
x-apifox-folder: ''
ErrorResponse:
properties:
code:
description: 错误码
type: integer
message:
description: 错误消息
type: string
timestamp:
description: 时间戳
format: date-time
type: string
required:
- code
- message
- timestamp
type: object
x-apifox-orders:
- code
- message
- timestamp
x-apifox-ignore-properties: []
x-apifox-folder: ''
securitySchemes:
BearerAuth:
bearerFormat: JWT
scheme: bearer
type: jwt
servers:
- url: https://cmp-api.boss160.cn
description: 测试环境
security: []
```