diff --git a/api-doc/PSVT协议模块接口文档.md b/api-doc/PSVT协议模块接口文档.md deleted file mode 100644 index 6c76324..0000000 --- a/api-doc/PSVT协议模块接口文档.md +++ /dev/null @@ -1,250 +0,0 @@ -# PSVT协议模块接口文档 - -## 概述 -协议模块支持4种协议类型:隐私协议、用户协议、法律声明、健康敏感信息处理与AI服务授权告知书。初始4条数据,无创建接口,仅支持修改更新文案。 - -所有接口返回格式统一为: -```json -{ - "code": 0, - "message": "success", - "data": {} -} -``` - -协议类型常量值: -| 常量值 | 含义 | -|--------|------| -| 1 | 隐私协议 | -| 2 | 用户协议 | -| 3 | 法律声明 | -| 4 | 健康敏感信息处理与AI服务授权告知书 | - ---- - -## 一、小程序端接口 - -### 1. 按类型获取协议详情 - -- **路由**: `?r=psvt/agreement/get-by-type` -- **请求方式**: GET -- **是否需要登录**: 否(白名单路由) - -#### 请求参数 - -| 参数名 | 类型 | 必填 | 说明 | -|--------|------|------|------| -| type | int | 是 | 协议类型:1-隐私协议,2-用户协议,3-法律声明,4-健康敏感信息处理与AI服务授权告知书 | - -#### 响应示例 - -```json -{ - "code": 0, - "message": "success", - "data": { - "id": 1, - "type": 1, - "title": "隐私协议", - "content": "隐私协议内容...", - "version": "V1.0", - "updateTime": "2026-07-17 10:00:00" - } -} -``` - -#### data字段说明 - -| 字段名 | 类型 | 说明 | -|--------|------|------| -| id | int | 协议ID | -| type | int | 协议类型 | -| title | string | 协议标题 | -| content | string | 协议内容(富文本) | -| version | string | 版本号 | -| updateTime | string | 最后更新时间 | - -#### 错误码 - -| code | 说明 | -|------|------| -| 1 | 协议类型参数无效 | -| 1 | 协议不存在 | - ---- - -### 2. 获取协议列表 - -- **路由**: `?r=psvt/agreement/get-list` -- **请求方式**: GET -- **是否需要登录**: 否(白名单路由) - -#### 请求参数 - -无 - -#### 响应示例 - -```json -{ - "code": 0, - "message": "success", - "data": [ - { - "id": 1, - "type": 1, - "title": "隐私协议", - "content": "隐私协议内容...", - "version": "V1.0", - "updateTime": "2026-07-17 10:00:00" - }, - { - "id": 2, - "type": 2, - "title": "用户协议", - "content": "用户协议内容...", - "version": "V1.0", - "updateTime": "2026-07-17 10:00:00" - }, - { - "id": 3, - "type": 3, - "title": "法律声明", - "content": "法律声明内容...", - "version": "V1.0", - "updateTime": "2026-07-17 10:00:00" - }, - { - "id": 4, - "type": 4, - "title": "健康敏感信息处理与AI服务授权告知书", - "content": "健康敏感信息处理与AI服务授权告知书内容...", - "version": "V1.0", - "updateTime": "2026-07-17 10:00:00" - } - ] -} -``` - -#### data字段说明 - -data为数组类型,每个元素字段同"按类型获取协议详情"接口的data字段。 - ---- - -## 二、PC后台管理端接口 - -### 1. 获取协议列表 - -- **路由**: `?r=agreement/get-list` -- **请求方式**: GET -- **是否需要登录**: 是 - -#### 请求参数 - -| 参数名 | 类型 | 必填 | 说明 | -|--------|------|------|------| -| search | string | 否 | 搜索关键词(按标题模糊搜索) | -| page | int | 否 | 页码,默认1 | -| count | int | 否 | 每页条数,默认10 | - -#### 响应示例 - -```json -{ - "code": 0, - "message": "success", - "data": { - "total": 4, - "pages": 1, - "list": [ - { - "id": 1, - "type": 1, - "title": "隐私协议", - "content": "隐私协议内容...", - "version": "V1.0", - "updateTime": "2026-07-17 10:00:00" - }, - { - "id": 2, - "type": 2, - "title": "用户协议", - "content": "用户协议内容...", - "version": "V1.0", - "updateTime": "2026-07-17 10:00:00" - }, - { - "id": 3, - "type": 3, - "title": "法律声明", - "content": "法律声明内容...", - "version": "V1.0", - "updateTime": "2026-07-17 10:00:00" - }, - { - "id": 4, - "type": 4, - "title": "健康敏感信息处理与AI服务授权告知书", - "content": "健康敏感信息处理与AI服务授权告知书内容...", - "version": "V1.0", - "updateTime": "2026-07-17 10:00:00" - } - ] - } -} -``` - -#### data字段说明 - -| 字段名 | 类型 | 说明 | -|--------|------|------| -| total | int | 总记录数 | -| pages | int | 总页数 | -| list | array | 协议列表,每个元素字段同小程序端 | - ---- - -### 2. 更新协议文案 - -- **路由**: `?r=agreement/update` -- **请求方式**: POST -- **是否需要登录**: 是 -- **事务**: 是 - -#### 请求参数 - -| 参数名 | 类型 | 必填 | 说明 | -|--------|------|------|------| -| id | int | 是 | 协议ID | -| title | string | 否 | 协议标题 | -| content | string | 否 | 协议内容(富文本) | - -> 注:title和content至少传一个,传入的字段才会更新 - -#### 响应示例 - -```json -{ - "code": 0, - "message": "更新成功", - "data": { - "id": 1 - } -} -``` - -#### data字段说明 - -| 字段名 | 类型 | 说明 | -|--------|------|------| -| id | int | 更新的协议ID | - -#### 错误码 - -| code | 说明 | -|------|------| -| 1 | 用户未登录 | -| 1 | 协议ID不能为空 | -| 1 | 协议不存在 | -| 1 | 更新协议失败 | diff --git a/api-doc/charlie.md b/api-doc/charlie.md deleted file mode 100644 index d4f712d..0000000 --- a/api-doc/charlie.md +++ /dev/null @@ -1,46 +0,0 @@ -# 管理端 -## 大咖说 - -### 列表 -{"target_id":"13828efd30b058","project_id":"69378806e466000","parent_id":"13828efcf0b052","target_type":"api","name":"视频列表","version":127,"sort":6000,"method":"GET","url":"{{home}}?r=video/list&count=10&page=1&Search=&PublishAtBegin=&PublishAtEnd=&Status=&Sort=","protocol":"http/1.1","mark_id":"1","description":"","request":{"auth":{"type":"inherit","kv":{"key":"","value":"","in":"header"},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","default":"","delegation":"","timestamp":"","includePayloadHash":false},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":false},"ntlm":{"username":"","password":"","entity":"","workstation":"","disableRetryRequest":false},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"HMAC-SHA1","addEmptyParamsToSign":true,"includeBodyHash":true,"addParamsToHeader":false,"disableHeaderEncoding":false,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""},"jwt":{"addTokenTo":"header","algorithm":"HS256","secret":"","isSecretBase64Encoded":false,"payload":"","headerPrefix":"Bearer","queryParamKey":"token","header":""},"asap":{"alg":"HS256","iss":"","aud":"","kid":"","privateKey":"","sub":"","claims":"","exp":""}},"body":{"mode":"none","parameter":[],"raw":"","raw_parameter":[],"raw_schema":{"type":"object"},"binary":{}},"pre_tasks":[],"post_tasks":[],"header":{"parameter":[]},"query":{"query_add_equal":1,"parameter":[{"param_id":"392f2fb0d801001","description":"","field_type":"string","is_checked":1,"key":"r","not_null":1,"value":"video/list","schema":{"type":"string"}},{"param_id":"392f2fb0d801002","description":"每页条数","field_type":"string","is_checked":1,"key":"count","not_null":1,"value":"10","schema":{"type":"string"}},{"param_id":"392f2fb0d801003","description":"页码","field_type":"string","is_checked":1,"key":"page","not_null":1,"value":"1","schema":{"type":"string"}},{"param_id":"392f2fb0d801004","description":"标题","field_type":"string","is_checked":1,"key":"Search","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"392f2fb0d801005","description":"发布时间开始","field_type":"string","is_checked":1,"key":"PublishAtBegin","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"392f2fb0d801006","description":"发布时间结束","field_type":"string","is_checked":1,"key":"PublishAtEnd","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"1400149c70b92f","description":"状态,1-待发布,2-已发布","field_type":"string","is_checked":1,"key":"Status","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"1400149c70b930","description":"排序 默认为-sort,time - 更改时间键升序,-time -更改时间降序,sort - 权重升序 ,-sort -权重降序","field_type":"string","is_checked":1,"key":"Sort","not_null":1,"value":"","schema":{"type":"string"}}]},"cookie":{"cookie_encode":1,"parameter":[]},"restful":{"parameter":[]}},"response":{"example":[{"example_id":"1","raw":"{\n\t\"code\": 0,\n\t\"data\": {\n\t\t\"list\": [\n\t\t\t{\n\t\t\t\t\"Id\": \"2\",\n\t\t\t\t\"Title\": \"测试课程2\",\n\t\t\t\t\"Introduction\": \"\",\n\t\t\t\t\"SrcUrl\": \"https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20211118912_1635738115605487.mp4\",\n\t\t\t\t\"CatId\": \"0\",\n\t\t\t\t\"Labels\": [\n\t\t\t\t\t\"头\",\n\t\t\t\t\t\"肩\"\n\t\t\t\t],\n\t\t\t\t\"ImageUrl\": \"https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/29e29a3e9b96c20a90eab757b2c3b158_16372159846708.jpg\",\n\t\t\t\t\"Sort\": \"300\",\n\t\t\t\t\"Status\": \"1\",\n\t\t\t\t\"IsDeleted\": \"0\",\n\t\t\t\t\"PublishAt\": null,\n\t\t\t\t\"CreatorId\": \"50121\",\n\t\t\t\t\"CreatedAt\": \"2026-07-20 19:47:35\",\n\t\t\t\t\"UpdaterId\": \"50121\",\n\t\t\t\t\"UpdatedAt\": \"2026-07-21 14:35:26\",\n\t\t\t\t\"EditorId\": \"\",\n\t\t\t\t\"EditedAt\": null,\n\t\t\t\t\"DeleterId\": \"\",\n\t\t\t\t\"DeletedAt\": null,\n\t\t\t\t\"BasicNum\": \"99\",\n\t\t\t\t\"OpenPeopleNum\": \"0\",\n\t\t\t\t\"OpenNum\": \"0\",\n\t\t\t\t\"CollectionPeopleNum\": \"0\",\n\t\t\t\t\"ComplimentPeopleNum\": \"0\",\n\t\t\t\t\"SharePeopleNum\": \"0\",\n\t\t\t\t\"ShareNum\": \"0\",\n\t\t\t\t\"ComplimentNum\": \"0\",\n\t\t\t\t\"ExpertName\": null,\n\t\t\t\t\"Duration\": \"3.0\",\n\t\t\t\t\"IsBannerRecommend\": \"1\",\n\t\t\t\t\"BannerImageUrl\": \"https://example.com/banner.jpg\",\n\t\t\t\t\"BannerSort\": \"100\",\n\t\t\t\t\"IsRecommend\": \"0\",\n\t\t\t\t\"CategoryIds\": [\n\t\t\t\t\t\"1\",\n\t\t\t\t\t\"3\"\n\t\t\t\t],\n\t\t\t\t\"CateList\": {\n\t\t\t\t\t\"1\": {\n\t\t\t\t\t\t\"Id\": \"1\",\n\t\t\t\t\t\t\"Name\": \"分类1\"\n\t\t\t\t\t},\n\t\t\t\t\t\"3\": {\n\t\t\t\t\t\t\"Id\": \"3\",\n\t\t\t\t\t\t\"Name\": \"分类2\"\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"CateNames\": [\n\t\t\t\t\t\"分类1\",\n\t\t\t\t\t\"分类2\"\n\t\t\t\t],\n\t\t\t\t\"CateName\": \"分类1、分类2\"\n\t\t\t}\n\t\t],\n\t\t\"page\": 1,\n\t\t\"pages\": 1,\n\t\t\"count\": \"1\",\n\t\t\"MaxSort\": \"300\",\n\t\t\"OpenStatus\": \"1\"\n\t}\n}","raw_parameter":[{"param_id":"1500937cb0b0b5","description":"状态码 0-成功,非0-失败","field_type":"integer","is_checked":1,"key":"code","not_null":1,"value":"0","schema":{"type":"integer"}},{"param_id":"1500937cb0b0b6","description":"返回数据","field_type":"object","is_checked":1,"key":"data","not_null":1,"value":"","schema":{"type":"object"}},{"param_id":"1500937cb0b0b7","description":"列表","field_type":"array","is_checked":1,"key":"data.list","not_null":1,"value":"","schema":{"type":"array"}},{"param_id":"1500937cb0b0b8","description":"记录Id","field_type":"string","is_checked":1,"key":"data.list.Id","not_null":1,"value":"2","schema":{"type":"string"}},{"param_id":"1500937cb0b0b9","description":"标题","field_type":"string","is_checked":1,"key":"data.list.Title","not_null":1,"value":"测试课程2","schema":{"type":"string"}},{"param_id":"1500937cb0b0ba","description":"简介","field_type":"string","is_checked":1,"key":"data.list.Introduction","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"1500937cb0b0bb","description":"视频地址","field_type":"string","is_checked":1,"key":"data.list.SrcUrl","not_null":1,"value":"https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20211118912_1635738115605487.mp4","schema":{"type":"string"}},{"param_id":"1500937cf0b0bc","description":"","field_type":"string","is_checked":1,"key":"data.list.CatId","not_null":1,"value":"0","schema":{"type":"string"}},{"param_id":"1500937cf0b0bd","description":"标签,字符串数组","field_type":"string","is_checked":1,"key":"data.list.Labels","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"1500937cf0b0be","description":"封面图地址","field_type":"string","is_checked":1,"key":"data.list.ImageUrl","not_null":1,"value":"https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/29e29a3e9b96c20a90eab757b2c3b158_16372159846708.jpg","schema":{"type":"string"}},{"param_id":"1500937cf0b0bf","description":"排序权重","field_type":"string","is_checked":1,"key":"data.list.Sort","not_null":1,"value":"300","schema":{"type":"string"}},{"param_id":"1500937cf0b0c0","description":"状态,1-待发布,2-已发布","field_type":"string","is_checked":1,"key":"data.list.Status","not_null":1,"value":"1","schema":{"type":"string"}},{"param_id":"1500937cf0b0c1","description":"","field_type":"string","is_checked":1,"key":"data.list.IsDeleted","not_null":1,"value":"0","schema":{"type":"string"}},{"param_id":"1500937cf0b0c2","description":"发布时间","field_type":"string","is_checked":1,"key":"data.list.PublishAt","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"1500937cf0b0c3","description":"","field_type":"string","is_checked":1,"key":"data.list.CreatorId","not_null":1,"value":"50121","schema":{"type":"string"}},{"param_id":"1500937cf0b0c4","description":"","field_type":"string","is_checked":1,"key":"data.list.CreatedAt","not_null":1,"value":"2026-07-20 19:47:35","schema":{"type":"string"}},{"param_id":"1500937cf0b0c5","description":"","field_type":"string","is_checked":1,"key":"data.list.UpdaterId","not_null":1,"value":"50121","schema":{"type":"string"}},{"param_id":"1500937cf0b0c6","description":"最后更新时间","field_type":"string","is_checked":1,"key":"data.list.UpdatedAt","not_null":1,"value":"2026-07-21 14:35:26","schema":{"type":"string"}},{"param_id":"1500937cf0b0c7","description":"","field_type":"string","is_checked":1,"key":"data.list.EditorId","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"1500937cf0b0c8","description":"","field_type":"null","is_checked":1,"key":"data.list.EditedAt","not_null":1,"value":"","schema":{"type":"null"}},{"param_id":"1500937cf0b0c9","description":"","field_type":"string","is_checked":1,"key":"data.list.DeleterId","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"1500937cf0b0ca","description":"","field_type":"null","is_checked":1,"key":"data.list.DeletedAt","not_null":1,"value":"","schema":{"type":"null"}},{"param_id":"1500937d30b0cb","description":"运营基础数","field_type":"string","is_checked":1,"key":"data.list.BasicNum","not_null":1,"value":"99","schema":{"type":"string"}},{"param_id":"1500937d30b0cc","description":"打开人数","field_type":"string","is_checked":1,"key":"data.list.OpenPeopleNum","not_null":1,"value":"0","schema":{"type":"string"}},{"param_id":"1500937d30b0cd","description":"打开次数","field_type":"string","is_checked":1,"key":"data.list.OpenNum","not_null":1,"value":"0","schema":{"type":"string"}},{"param_id":"1500937d30b0ce","description":"收藏人数","field_type":"string","is_checked":1,"key":"data.list.CollectionPeopleNum","not_null":1,"value":"0","schema":{"type":"string"}},{"param_id":"1500937d30b0cf","description":"点赞人数","field_type":"string","is_checked":1,"key":"data.list.ComplimentPeopleNum","not_null":1,"value":"0","schema":{"type":"string"}},{"param_id":"1500937d30b0d0","description":"分享人数","field_type":"string","is_checked":1,"key":"data.list.SharePeopleNum","not_null":1,"value":"0","schema":{"type":"string"}},{"param_id":"1500937d30b0d1","description":"分享次数","field_type":"string","is_checked":1,"key":"data.list.ShareNum","not_null":1,"value":"0","schema":{"type":"string"}},{"param_id":"1500937d30b0d2","description":"","field_type":"string","is_checked":1,"key":"data.list.ComplimentNum","not_null":1,"value":"0","schema":{"type":"string"}},{"param_id":"1500937d30b0d3","description":"","field_type":"null","is_checked":1,"key":"data.list.ExpertName","not_null":1,"value":"","schema":{"type":"null"}},{"param_id":"1500937d30b0d4","description":"时长(分钟)","field_type":"string","is_checked":1,"key":"data.list.Duration","not_null":1,"value":"3.0","schema":{"type":"string"}},{"param_id":"1500937d30b0d5","description":"是否banner推荐 0-否,1-","field_type":"string","is_checked":1,"key":"data.list.IsBannerRecommend","not_null":1,"value":"1","schema":{"type":"string"}},{"param_id":"1500937d30b0d6","description":"banner图 rul","field_type":"null","is_checked":1,"key":"data.list.BannerImageUrl","not_null":1,"value":"https://example.com/banner.jpg","schema":{"type":"null"}},{"param_id":"1500937d30b0d7","description":"banner排序权重","field_type":"string","is_checked":1,"key":"data.list.BannerSort","not_null":1,"value":"100","schema":{"type":"string"}},{"param_id":"1500937d30b0d8","description":"是否推荐 0-否,1-是","field_type":"string","is_checked":1,"key":"data.list.IsRecommend","not_null":1,"value":"0","schema":{"type":"string"}},{"param_id":"1500937d30b0d9","description":"","field_type":"array","is_checked":1,"key":"data.list.CategoryIds","not_null":1,"value":"","schema":{"type":"array"}},{"param_id":"1500937d30b0da","description":"","field_type":"object","is_checked":1,"key":"data.list.CateList","not_null":1,"value":"","schema":{"type":"object"}},{"param_id":"1500937d30b0db","description":"","field_type":"object","is_checked":1,"key":"data.list.CateList.1","not_null":1,"value":"","schema":{"type":"object"}},{"param_id":"1500937d30b0dc","description":"","field_type":"string","is_checked":1,"key":"data.list.CateList.1.Id","not_null":1,"value":"1","schema":{"type":"string"}},{"param_id":"1500937d30b0dd","description":"","field_type":"string","is_checked":1,"key":"data.list.CateList.1.Name","not_null":1,"value":"分类1","schema":{"type":"string"}},{"param_id":"1500937d30b0de","description":"","field_type":"object","is_checked":1,"key":"data.list.CateList.3","not_null":1,"value":"","schema":{"type":"object"}},{"param_id":"1500937d30b0df","description":"","field_type":"string","is_checked":1,"key":"data.list.CateList.3.Id","not_null":1,"value":"3","schema":{"type":"string"}},{"param_id":"1500937d30b0e0","description":"","field_type":"string","is_checked":1,"key":"data.list.CateList.3.Name","not_null":1,"value":"分类2","schema":{"type":"string"}},{"param_id":"1500937d70b0e1","description":"","field_type":"array","is_checked":1,"key":"data.list.CateNames","not_null":1,"value":"","schema":{"type":"array"}},{"param_id":"1500937d70b0e2","description":"","field_type":"string","is_checked":1,"key":"data.list.CateName","not_null":1,"value":"分类1、分类2","schema":{"type":"string"}},{"param_id":"1500937d70b0e3","description":"页码","field_type":"integer","is_checked":1,"key":"data.page","not_null":1,"value":"1","schema":{"type":"integer"}},{"param_id":"1500937d70b0e4","description":"总页数","field_type":"integer","is_checked":1,"key":"data.pages","not_null":1,"value":"1","schema":{"type":"integer"}},{"param_id":"1500937d70b0e5","description":"总条数","field_type":"string","is_checked":1,"key":"data.count","not_null":1,"value":"1","schema":{"type":"string"}},{"param_id":"1500937d70b0e6","description":"最大排序权重","field_type":"string","is_checked":1,"key":"data.MaxSort","not_null":1,"value":"300","schema":{"type":"string"}},{"param_id":"1500937d70b0e7","description":"视频模块状态 1-开启,0-关闭","field_type":"string","is_checked":1,"key":"data.OpenStatus","not_null":1,"value":"1","schema":{"type":"string"}}],"headers":[],"expect":{"code":"200","content_type":"json","is_default":1,"mock":"","name":"成功","schema":[],"verify_type":"schema","sleep":0}},{"example_id":"2","raw":"","raw_parameter":[],"headers":[],"expect":{"code":"404","content_type":"json","is_default":-1,"mock":"","name":"失败","schema":[],"verify_type":"schema","sleep":0}}],"is_check_result":1},"mock_server_enable":1,"mock_ip_white_list_enable":-1,"mock_ip_white_list":"","mock_show_target_id":0,"attribute_info":{},"tags":[],"created_at":"2026-07-20T10:47:11+08:00","created_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"updated_at":"2026-07-21T14:36:43+08:00","updated_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"status":1,"is_locked":-1} - -### 创建 -{"target_id":"13828efd30b057","project_id":"69378806e466000","parent_id":"13828efcf0b052","target_type":"api","name":"创建视频","version":65,"sort":5000,"method":"POST","url":"{{home}}?r=video/create","protocol":"http/1.1","mark_id":"1","description":"","request":{"auth":{"type":"inherit","kv":{"key":"","value":"","in":"header"},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","default":"","delegation":"","timestamp":"","includePayloadHash":false},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":false},"ntlm":{"username":"","password":"","entity":"","workstation":"","disableRetryRequest":false},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"HMAC-SHA1","addEmptyParamsToSign":true,"includeBodyHash":true,"addParamsToHeader":false,"disableHeaderEncoding":false,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""},"jwt":{"addTokenTo":"header","algorithm":"HS256","secret":"","isSecretBase64Encoded":false,"payload":"","headerPrefix":"Bearer","queryParamKey":"token","header":""},"asap":{"alg":"HS256","iss":"","aud":"","kid":"","privateKey":"","sub":"","claims":"","exp":""}},"body":{"mode":"json","parameter":[],"raw":"{\n \"Title\": \"测试课程2\",\n \"SrcUrl\": \"https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20211118912_1635738115605487.mp4\",\n \"ImageUrl\": \"https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/29e29a3e9b96c20a90eab757b2c3b158_16372159846708.jpg\",\n \"CateIds\":[1,3],\n \"ExpertName\":\"\",\n \"Duration\":3,\n \"Labels\":[\"头\",\"肩\"],\n \"Sort\":\"10\",\n \"BasicNum\":99,\n \"Status\":2\n}","raw_parameter":[{"param_id":"13fe1337f0b0c1","description":"标题","field_type":"string","is_checked":1,"key":"Title","not_null":1,"value":"测试课程","schema":{"type":"string"}},{"param_id":"13fe1337f0b0c2","description":"视频地址","field_type":"string","is_checked":1,"key":"SrcUrl","not_null":1,"value":"https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20211118912_1635738115605487.mp4","schema":{"type":"string"}},{"param_id":"13fe1337f0b0c3","description":"图片地址","field_type":"string","is_checked":1,"key":"ImageUrl","not_null":1,"value":"https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/29e29a3e9b96c20a90eab757b2c3b158_16372159846708.jpg","schema":{"type":"string"}},{"param_id":"13fe133830b0c4","description":"分类Id","field_type":"array","is_checked":1,"key":"CateIds","not_null":1,"value":"","schema":{"type":"array"}},{"param_id":"13fe133830b0c5","description":"专家名字","field_type":"string","is_checked":1,"key":"ExpertName","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"13fe133830b0c6","description":"时长(分钟)","field_type":"number","is_checked":1,"key":"Duration","not_null":1,"value":"3","schema":{"type":"number"}},{"param_id":"13fe133830b0c7","description":"标签,字符串数组","field_type":"array","is_checked":1,"key":"Labels","not_null":1,"value":"","schema":{"type":"array"}},{"param_id":"13fe133830b0c8","description":"排序 默认为-sort,time - 更改时间键升序,-time -更改时间降序,sort - 权重升序 ,-sort -权重降序, ptime -发布时间升序,-ptime - 发布时间降序","field_type":"string","is_checked":1,"key":"Sort","not_null":1,"value":"10","schema":{"type":"string"}},{"param_id":"13fe133830b0c9","description":"运营基础数","field_type":"integer","is_checked":1,"key":"BasicNum","not_null":1,"value":"99","schema":{"type":"integer"}},{"param_id":"13fe133830b0ca","description":"状态,保存时传1,保存并发布传2","field_type":"integer","is_checked":1,"key":"Status","not_null":1,"value":"2","schema":{"type":"integer"}}],"raw_schema":{"type":"object"},"binary":{}},"pre_tasks":[],"post_tasks":[],"header":{"parameter":[]},"query":{"query_add_equal":1,"parameter":[{"param_id":"392f2fb0d801000","description":"","field_type":"string","is_checked":1,"key":"r","not_null":1,"value":"video/create","schema":{"type":"string"}}]},"cookie":{"cookie_encode":1,"parameter":[]},"restful":{"parameter":[]}},"response":{"example":[{"example_id":"1","raw":"{\"code\":0,\"data\":1}","raw_parameter":[],"headers":[],"expect":{"code":"200","content_type":"json","is_default":1,"mock":"","name":"成功","schema":[],"verify_type":"schema","sleep":0}},{"example_id":"2","raw":"","raw_parameter":[],"headers":[],"expect":{"code":"404","content_type":"json","is_default":-1,"mock":"","name":"失败","schema":[],"verify_type":"schema","sleep":0}}],"is_check_result":1},"mock_server_enable":1,"mock_ip_white_list_enable":-1,"mock_ip_white_list":"","mock_show_target_id":0,"attribute_info":{},"tags":[],"created_at":"2026-07-20T10:47:11+08:00","created_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"updated_at":"2026-07-20T19:50:04+08:00","updated_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"status":1,"is_locked":-1} - - -### 详情 -{"target_id":"13828efd30b059","project_id":"69378806e466000","parent_id":"13828efcf0b052","target_type":"api","name":"视频详情","version":71,"sort":7000,"method":"GET","url":"{{home}}?r=video/view&Id=2","protocol":"http/1.1","mark_id":"1","description":"","request":{"auth":{"type":"inherit","kv":{"key":"","value":"","in":"header"},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","default":"","delegation":"","timestamp":"","includePayloadHash":false},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":false},"ntlm":{"username":"","password":"","entity":"","workstation":"","disableRetryRequest":false},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"HMAC-SHA1","addEmptyParamsToSign":true,"includeBodyHash":true,"addParamsToHeader":false,"disableHeaderEncoding":false,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""},"jwt":{"addTokenTo":"header","algorithm":"HS256","secret":"","isSecretBase64Encoded":false,"payload":"","headerPrefix":"Bearer","queryParamKey":"token","header":""},"asap":{"alg":"HS256","iss":"","aud":"","kid":"","privateKey":"","sub":"","claims":"","exp":""}},"body":{"mode":"none","parameter":[],"raw":"","raw_parameter":[],"raw_schema":{"type":"object"},"binary":{}},"pre_tasks":[],"post_tasks":[],"header":{"parameter":[]},"query":{"query_add_equal":1,"parameter":[{"param_id":"392f2fb0d801007","description":"","field_type":"string","is_checked":1,"key":"r","not_null":1,"value":"video/view","schema":{"type":"string"}},{"param_id":"392f2fb0d801008","description":"记录Id","field_type":"string","is_checked":1,"key":"Id","not_null":1,"value":"2","schema":{"type":"string"}}]},"cookie":{"cookie_encode":1,"parameter":[]},"restful":{"parameter":[]}},"response":{"example":[{"example_id":"1","raw":"{\n\t\"code\": 0,\n\t\"data\": {\n\t\t\"Id\": 2,\n\t\t\"Title\": \"测试课程2\",\n\t\t\"Introduction\": \"\",\n\t\t\"SrcUrl\": \"https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20211118912_1635738115605487.mp4\",\n\t\t\"CatId\": 0,\n\t\t\"Labels\": [\n\t\t\t\"头\",\n\t\t\t\"肩\"\n\t\t],\n\t\t\"ImageUrl\": \"https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/29e29a3e9b96c20a90eab757b2c3b158_16372159846708.jpg\",\n\t\t\"Sort\": 10,\n\t\t\"Status\": 2,\n\t\t\"IsDeleted\": 0,\n\t\t\"PublishAt\": \"2026-07-20 19:47:35\",\n\t\t\"CreatorId\": \"50121\",\n\t\t\"CreatedAt\": \"2026-07-20 19:47:35\",\n\t\t\"UpdaterId\": \"\",\n\t\t\"UpdatedAt\": \"2026-07-20 19:47:35\",\n\t\t\"EditorId\": \"\",\n\t\t\"EditedAt\": null,\n\t\t\"DeleterId\": \"\",\n\t\t\"DeletedAt\": null,\n\t\t\"BasicNum\": 99,\n\t\t\"OpenPeopleNum\": 0,\n\t\t\"OpenNum\": 0,\n\t\t\"CollectionPeopleNum\": 0,\n\t\t\"ComplimentPeopleNum\": 0,\n\t\t\"SharePeopleNum\": 0,\n\t\t\"ShareNum\": 0,\n\t\t\"ComplimentNum\": 0,\n\t\t\"ExpertName\": null,\n\t\t\"Duration\": \"3.0\",\n\t\t\"IsBannerRecommend\": 0,\n\t\t\"BannerImageUrl\": null,\n\t\t\"BannerSort\": 0,\n\t\t\"CategoryIds\": [\n\t\t\t\"1\",\n\t\t\t\"3\"\n\t\t],\n\t\t\"CateList\": [\n\t\t\t{\n\t\t\t\t\"Id\": \"1\",\n\t\t\t\t\"Name\": \"分类1\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"Id\": \"3\",\n\t\t\t\t\"Name\": \"分类2\"\n\t\t\t}\n\t\t],\n\t\t\"CateNames\": [\n\t\t\t\"分类1\",\n\t\t\t\"分类2\"\n\t\t],\n\t\t\"CateName\": \"分类1、分类2\"\n\t}\n}","raw_parameter":[{"param_id":"14b8b35730b032","description":"状态码 0-成功,非0-失败","field_type":"integer","is_checked":1,"key":"code","not_null":1,"value":"0","schema":{"type":"integer"}},{"param_id":"14b8b35730b033","description":"返回数据","field_type":"object","is_checked":1,"key":"data","not_null":1,"value":"","schema":{"type":"object"}},{"param_id":"14b8b35730b034","description":"记录Id","field_type":"integer","is_checked":1,"key":"data.Id","not_null":1,"value":"2","schema":{"type":"integer"}},{"param_id":"14b8b35730b035","description":"标题","field_type":"string","is_checked":1,"key":"data.Title","not_null":1,"value":"测试课程2","schema":{"type":"string"}},{"param_id":"14b8b35730b036","description":"简介","field_type":"string","is_checked":1,"key":"data.Introduction","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"14b8b35770b037","description":"视频地址","field_type":"string","is_checked":1,"key":"data.SrcUrl","not_null":1,"value":"https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20211118912_1635738115605487.mp4","schema":{"type":"string"}},{"param_id":"14b8b35770b039","description":"标签,字符串数组","field_type":"array","is_checked":1,"key":"data.Labels","not_null":1,"value":"","schema":{"type":"array"}},{"param_id":"14b8b35770b03a","description":"封面图地址","field_type":"string","is_checked":1,"key":"data.ImageUrl","not_null":1,"value":"https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/29e29a3e9b96c20a90eab757b2c3b158_16372159846708.jpg","schema":{"type":"string"}},{"param_id":"14b8b35770b03b","description":"排序","field_type":"integer","is_checked":1,"key":"data.Sort","not_null":1,"value":"10","schema":{"type":"integer"}},{"param_id":"14b8b35770b03c","description":"状态,1-待发布,2-已发布","field_type":"integer","is_checked":1,"key":"data.Status","not_null":1,"value":"2","schema":{"type":"integer"}},{"param_id":"14b8b35770b03d","description":"","field_type":"integer","is_checked":1,"key":"data.IsDeleted","not_null":1,"value":"0","schema":{"type":"integer"}},{"param_id":"14b8b35770b03e","description":"发布时间","field_type":"string","is_checked":1,"key":"data.PublishAt","not_null":1,"value":"2026-07-20 19:47:35","schema":{"type":"string"}},{"param_id":"14b8b35770b03f","description":"","field_type":"string","is_checked":1,"key":"data.CreatorId","not_null":1,"value":"50121","schema":{"type":"string"}},{"param_id":"14b8b35770b040","description":"","field_type":"string","is_checked":1,"key":"data.CreatedAt","not_null":1,"value":"2026-07-20 19:47:35","schema":{"type":"string"}},{"param_id":"14b8b35770b041","description":"","field_type":"string","is_checked":1,"key":"data.UpdaterId","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"14b8b35770b042","description":"最后更新时间","field_type":"string","is_checked":1,"key":"data.UpdatedAt","not_null":1,"value":"2026-07-20 19:47:35","schema":{"type":"string"}},{"param_id":"14b8b35770b043","description":"","field_type":"string","is_checked":1,"key":"data.EditorId","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"14b8b35770b044","description":"","field_type":"null","is_checked":1,"key":"data.EditedAt","not_null":1,"value":"","schema":{"type":"null"}},{"param_id":"14b8b35770b045","description":"","field_type":"string","is_checked":1,"key":"data.DeleterId","not_null":1,"value":"","schema":{"type":"string"}},{"param_id":"14b8b35770b046","description":"","field_type":"null","is_checked":1,"key":"data.DeletedAt","not_null":1,"value":"","schema":{"type":"null"}},{"param_id":"14b8b35770b047","description":"运营基础数","field_type":"integer","is_checked":1,"key":"data.BasicNum","not_null":1,"value":"99","schema":{"type":"integer"}},{"param_id":"14b8b35770b048","description":"打开人数","field_type":"integer","is_checked":1,"key":"data.OpenPeopleNum","not_null":1,"value":"0","schema":{"type":"integer"}},{"param_id":"14b8b35770b049","description":"打开次数","field_type":"integer","is_checked":1,"key":"data.OpenNum","not_null":1,"value":"0","schema":{"type":"integer"}},{"param_id":"14b8b35770b04a","description":"收藏人数","field_type":"integer","is_checked":1,"key":"data.CollectionPeopleNum","not_null":1,"value":"0","schema":{"type":"integer"}},{"param_id":"14b8b35770b04b","description":"点赞人数","field_type":"integer","is_checked":1,"key":"data.ComplimentPeopleNum","not_null":1,"value":"0","schema":{"type":"integer"}},{"param_id":"14b8b35770b04c","description":"分享人数","field_type":"integer","is_checked":1,"key":"data.SharePeopleNum","not_null":1,"value":"0","schema":{"type":"integer"}},{"param_id":"14b8b35770b04d","description":"分享次数","field_type":"integer","is_checked":1,"key":"data.ShareNum","not_null":1,"value":"0","schema":{"type":"integer"}},{"param_id":"14b8b35770b04e","description":"","field_type":"number","is_checked":1,"key":"data.ComplimentNum","not_null":1,"value":"0","schema":{"type":"number"}},{"param_id":"14b8b35770b04f","description":"","field_type":"null","is_checked":1,"key":"data.ExpertName","not_null":1,"value":"","schema":{"type":"null"}},{"param_id":"14b8b35770b050","description":"","field_type":"string","is_checked":1,"key":"data.Duration","not_null":1,"value":"3.0","schema":{"type":"string"}},{"param_id":"14b8b35770b051","description":"","field_type":"number","is_checked":1,"key":"data.IsBannerRecommend","not_null":1,"value":"0","schema":{"type":"number"}},{"param_id":"14b8b357b0b052","description":"","field_type":"null","is_checked":1,"key":"data.BannerImageUrl","not_null":1,"value":"","schema":{"type":"null"}},{"param_id":"14b8b357b0b053","description":"","field_type":"number","is_checked":1,"key":"data.BannerSort","not_null":1,"value":"0","schema":{"type":"number"}},{"param_id":"14b8b357b0b054","description":"","field_type":"array","is_checked":1,"key":"data.CategoryIds","not_null":1,"value":"","schema":{"type":"array"}},{"param_id":"14b8b357b0b055","description":"","field_type":"array","is_checked":1,"key":"data.CateList","not_null":1,"value":"","schema":{"type":"array"}},{"param_id":"14b8b357b0b056","description":"","field_type":"string","is_checked":1,"key":"data.CateList.Id","not_null":1,"value":"1","schema":{"type":"string"}},{"param_id":"14b8b357b0b057","description":"","field_type":"string","is_checked":1,"key":"data.CateList.Name","not_null":1,"value":"分类1","schema":{"type":"string"}},{"param_id":"14b8b357b0b058","description":"","field_type":"array","is_checked":1,"key":"data.CateNames","not_null":1,"value":"","schema":{"type":"array"}},{"param_id":"14b8b357b0b059","description":"分类名","field_type":"string","is_checked":1,"key":"data.CateName","not_null":1,"value":"分类1、分类2","schema":{"type":"string"}}],"headers":[],"expect":{"code":"200","content_type":"json","is_default":1,"mock":"","name":"成功","schema":[],"verify_type":"schema","sleep":0}},{"example_id":"2","raw":"","raw_parameter":[],"headers":[],"expect":{"code":"404","content_type":"json","is_default":-1,"mock":"","name":"失败","schema":[],"verify_type":"schema","sleep":0}}],"is_check_result":1},"mock_server_enable":1,"mock_ip_white_list_enable":-1,"mock_ip_white_list":"","mock_show_target_id":0,"attribute_info":{},"tags":[],"created_at":"2026-07-20T10:47:11+08:00","created_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"updated_at":"2026-07-21T09:23:41+08:00","updated_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"status":1,"is_locked":-1} - -### 编辑 -{"target_id":"13828efd30b05a","project_id":"69378806e466000","parent_id":"13828efcf0b052","target_type":"api","name":"编辑视频","version":72,"sort":8000,"method":"POST","url":"{{home}}?r=video/update","protocol":"http/1.1","mark_id":"1","description":"","request":{"auth":{"type":"inherit","kv":{"key":"","value":"","in":"header"},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","default":"","delegation":"","timestamp":"","includePayloadHash":false},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":false},"ntlm":{"username":"","password":"","entity":"","workstation":"","disableRetryRequest":false},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"HMAC-SHA1","addEmptyParamsToSign":true,"includeBodyHash":true,"addParamsToHeader":false,"disableHeaderEncoding":false,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""},"jwt":{"addTokenTo":"header","algorithm":"HS256","secret":"","isSecretBase64Encoded":false,"payload":"","headerPrefix":"Bearer","queryParamKey":"token","header":""},"asap":{"alg":"HS256","iss":"","aud":"","kid":"","privateKey":"","sub":"","claims":"","exp":""}},"body":{"mode":"json","parameter":[],"raw":"{\n \"Id\":1,\n \"Title\": \"测试课程2\",\n \"SrcUrl\": \"https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20211118912_1635738115605487.mp4\",\n \"ImageUrl\": \"https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/29e29a3e9b96c20a90eab757b2c3b158_16372159846708.jpg\",\n \"CateIds\":[1,3,4],\n \"ExpertName\":\"\",\n \"Duration\":3,\n \"Labels\":[\"头\",\"肩\"],\n \"Sort\":\"10\",\n \"BasicNum\":99,\n \"Status\":2\n}\n","raw_parameter":[{"param_id":"392f2fb0d801009","description":"记录Id","field_type":"integer","is_checked":1,"key":"Id","not_null":1,"value":"1","schema":{"type":"integer"}},{"param_id":"392f2fb0d80100a","description":"标题","field_type":"string","is_checked":1,"key":"Title","not_null":1,"value":"测试视频","schema":{"type":"string"}},{"param_id":"392f2fb0d80100b","description":"视频地址","field_type":"string","is_checked":1,"key":"SrcUrl","not_null":1,"value":"https://circlehbsaas.oss-cn-beijing.aliyuncs.com/video/20211118912_1635738115605487.mp4","schema":{"type":"string"}},{"param_id":"392f2fb0d80100c","description":"封面图地址","field_type":"string","is_checked":1,"key":"ImageUrl","not_null":1,"value":"https://picsissiok-10049618.cos.ap-shanghai.myqcloud.com/29e29a3e9b96c20a90eab757b2c3b158_16372159846708.jpg","schema":{"type":"string"}},{"param_id":"392f2fb0d80100d","description":"分类Id","field_type":"integer","is_checked":1,"key":"CatId","not_null":1,"value":"4","schema":{"type":"integer"}},{"param_id":"392f2fb0d80100e","description":"标签,字符串数组","field_type":"array","is_checked":1,"key":"Labels","not_null":1,"value":"头","schema":{"type":"array"}},{"param_id":"392f2fb0d80100f","description":"排序 默认为-sort,time - 更改时间键升序,-time -更改时间降序,sort - 权重升序 ,-sort -权重降序","field_type":"string","is_checked":1,"key":"Sort","not_null":1,"value":"10","schema":{"type":"string"}},{"param_id":"392f2fb0d801010","description":"运营基础数","field_type":"integer","is_checked":1,"key":"BasicNum","not_null":1,"value":"99","schema":{"type":"integer"}},{"param_id":"392f2fb0d801011","description":"状态,保存时传1,保存并发布传2","field_type":"integer","is_checked":1,"key":"Status","not_null":1,"value":"2","schema":{"type":"integer"}}],"raw_schema":{"type":"object"},"binary":{}},"pre_tasks":[],"post_tasks":[],"header":{"parameter":[]},"query":{"query_add_equal":1,"parameter":[{"param_id":"392f2fb0d801012","description":"","field_type":"string","is_checked":1,"key":"r","not_null":1,"value":"video/update","schema":{"type":"string"}}]},"cookie":{"cookie_encode":1,"parameter":[]},"restful":{"parameter":[]}},"response":{"example":[{"example_id":"1","raw":"{\"code\":0,\"data\":\"编辑成功\"}","raw_parameter":[{"param_id":"14b9110230b05a","description":"状态码 0-成功,非0-失败","field_type":"number","is_checked":1,"key":"code","not_null":1,"value":"0","schema":{"type":"number"}},{"param_id":"14b9110230b05b","description":"返回数据","field_type":"string","is_checked":1,"key":"data","not_null":1,"value":"编辑成功","schema":{"type":"string"}}],"headers":[],"expect":{"code":"200","content_type":"json","is_default":1,"mock":"","name":"成功","schema":[],"verify_type":"schema","sleep":0}},{"example_id":"2","raw":"","raw_parameter":[],"headers":[],"expect":{"code":"404","content_type":"json","is_default":-1,"mock":"","name":"失败","schema":[],"verify_type":"schema","sleep":0}}],"is_check_result":1},"mock_server_enable":1,"mock_ip_white_list_enable":-1,"mock_ip_white_list":"","mock_show_target_id":0,"attribute_info":{},"tags":[],"created_at":"2026-07-20T10:47:11+08:00","created_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"updated_at":"2026-07-21T09:23:52+08:00","updated_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"status":1,"is_locked":-1} - -### 删除 -{"target_id":"13828efd30b05b","project_id":"69378806e466000","parent_id":"13828efcf0b052","target_type":"api","name":"删除视频","version":73,"sort":9000,"method":"POST","url":"{{home}}?r=video/delete","protocol":"http/1.1","mark_id":"1","description":"","request":{"auth":{"type":"inherit","kv":{"key":"","value":"","in":"header"},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","default":"","delegation":"","timestamp":"","includePayloadHash":false},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":false},"ntlm":{"username":"","password":"","entity":"","workstation":"","disableRetryRequest":false},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"HMAC-SHA1","addEmptyParamsToSign":true,"includeBodyHash":true,"addParamsToHeader":false,"disableHeaderEncoding":false,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""},"jwt":{"addTokenTo":"header","algorithm":"HS256","secret":"","isSecretBase64Encoded":false,"payload":"","headerPrefix":"Bearer","queryParamKey":"token","header":""},"asap":{"alg":"HS256","iss":"","aud":"","kid":"","privateKey":"","sub":"","claims":"","exp":""}},"body":{"mode":"json","parameter":[],"raw":"{\n \"Id\":1\n}","raw_parameter":[{"param_id":"392f2fb0d801013","description":"记录Id","field_type":"integer","is_checked":1,"key":"Id","not_null":1,"value":"2","schema":{"type":"integer"}}],"raw_schema":{"type":"object"},"binary":{}},"pre_tasks":[],"post_tasks":[],"header":{"parameter":[]},"query":{"query_add_equal":1,"parameter":[{"param_id":"392f2fb0d801014","description":"","field_type":"string","is_checked":1,"key":"r","not_null":1,"value":"video/delete","schema":{"type":"string"}}]},"cookie":{"cookie_encode":1,"parameter":[]},"restful":{"parameter":[]}},"response":{"example":[{"example_id":"1","raw":"{\"code\":0,\"data\":\"删除成功\"}","raw_parameter":[],"headers":[],"expect":{"code":"200","content_type":"json","is_default":1,"mock":"","name":"成功","schema":[],"verify_type":"schema","sleep":0}},{"example_id":"2","raw":"","raw_parameter":[],"headers":[],"expect":{"code":"404","content_type":"json","is_default":-1,"mock":"","name":"失败","schema":[],"verify_type":"schema","sleep":0}}],"is_check_result":1},"mock_server_enable":1,"mock_ip_white_list_enable":-1,"mock_ip_white_list":"","mock_show_target_id":0,"attribute_info":{},"tags":[],"created_at":"2026-07-20T10:47:11+08:00","created_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"updated_at":"2026-07-21T09:24:03+08:00","updated_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"status":1,"is_locked":-1} - -### 上架 -{"target_id":"13828efd30b05c","project_id":"69378806e466000","parent_id":"13828efcf0b052","target_type":"api","name":"上架视频","version":74,"sort":10000,"method":"POST","url":"{{home}}?r=video/shelve","protocol":"http/1.1","mark_id":"1","description":"","request":{"auth":{"type":"inherit","kv":{"key":"","value":"","in":"header"},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","default":"","delegation":"","timestamp":"","includePayloadHash":false},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":false},"ntlm":{"username":"","password":"","entity":"","workstation":"","disableRetryRequest":false},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"HMAC-SHA1","addEmptyParamsToSign":true,"includeBodyHash":true,"addParamsToHeader":false,"disableHeaderEncoding":false,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""},"jwt":{"addTokenTo":"header","algorithm":"HS256","secret":"","isSecretBase64Encoded":false,"payload":"","headerPrefix":"Bearer","queryParamKey":"token","header":""},"asap":{"alg":"HS256","iss":"","aud":"","kid":"","privateKey":"","sub":"","claims":"","exp":""}},"body":{"mode":"json","parameter":[],"raw":"{\n \"Id\":2\n}","raw_parameter":[{"param_id":"392f2fb0d801015","description":"记录Id","field_type":"integer","is_checked":1,"key":"Id","not_null":1,"value":"2","schema":{"type":"integer"}}],"raw_schema":{"type":"object"},"binary":{}},"pre_tasks":[],"post_tasks":[],"header":{"parameter":[]},"query":{"query_add_equal":1,"parameter":[{"param_id":"392f2fb0d801016","description":"","field_type":"string","is_checked":1,"key":"r","not_null":1,"value":"video/shelve","schema":{"type":"string"}}]},"cookie":{"cookie_encode":1,"parameter":[]},"restful":{"parameter":[]}},"response":{"example":[{"example_id":"1","raw":"{\n\t\"code\": 0,\n\t\"data\": \"操作成功\"\n}","raw_parameter":[{"param_id":"14b9411730b05c","description":"状态码 0-成功,非0-失败","field_type":"number","is_checked":1,"key":"code","not_null":1,"value":"0","schema":{"type":"number"}},{"param_id":"14b9411730b05d","description":"返回数据","field_type":"string","is_checked":1,"key":"data","not_null":1,"value":"操作成功","schema":{"type":"string"}}],"headers":[],"expect":{"code":"200","content_type":"json","is_default":1,"mock":"","name":"成功","schema":[],"verify_type":"schema","sleep":0}},{"example_id":"2","raw":"","raw_parameter":[],"headers":[],"expect":{"code":"404","content_type":"json","is_default":-1,"mock":"","name":"失败","schema":[],"verify_type":"schema","sleep":0}}],"is_check_result":1},"mock_server_enable":1,"mock_ip_white_list_enable":-1,"mock_ip_white_list":"","mock_show_target_id":0,"attribute_info":{},"tags":[],"created_at":"2026-07-20T10:47:11+08:00","created_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"updated_at":"2026-07-21T09:24:46+08:00","updated_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"status":1,"is_locked":-1} - -### 下架 -{"target_id":"13828efd30b05d","project_id":"69378806e466000","parent_id":"13828efcf0b052","target_type":"api","name":"下架视频","version":75,"sort":11000,"method":"POST","url":"{{home}}?r=video/off-shelve","protocol":"http/1.1","mark_id":"1","description":"","request":{"auth":{"type":"inherit","kv":{"key":"","value":"","in":"header"},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","default":"","delegation":"","timestamp":"","includePayloadHash":false},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":false},"ntlm":{"username":"","password":"","entity":"","workstation":"","disableRetryRequest":false},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"HMAC-SHA1","addEmptyParamsToSign":true,"includeBodyHash":true,"addParamsToHeader":false,"disableHeaderEncoding":false,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""},"jwt":{"addTokenTo":"header","algorithm":"HS256","secret":"","isSecretBase64Encoded":false,"payload":"","headerPrefix":"Bearer","queryParamKey":"token","header":""},"asap":{"alg":"HS256","iss":"","aud":"","kid":"","privateKey":"","sub":"","claims":"","exp":""}},"body":{"mode":"json","parameter":[],"raw":"{\n \"Id\":2\n}","raw_parameter":[{"param_id":"392f2fb0d801017","description":"记录Id","field_type":"integer","is_checked":1,"key":"Id","not_null":1,"value":"2","schema":{"type":"integer"}}],"raw_schema":{"type":"object"},"binary":{}},"pre_tasks":[],"post_tasks":[],"header":{"parameter":[]},"query":{"query_add_equal":1,"parameter":[{"param_id":"392f2fb0d801018","description":"","field_type":"string","is_checked":1,"key":"r","not_null":1,"value":"video/off-shelve","schema":{"type":"string"}}]},"cookie":{"cookie_encode":1,"parameter":[]},"restful":{"parameter":[]}},"response":{"example":[{"example_id":"1","raw":"{\n\t\"code\": 0,\n\t\"data\": \"操作成功\"\n}","raw_parameter":[{"param_id":"14b9533530b05e","description":"状态码 0-成功,非0-失败","field_type":"number","is_checked":1,"key":"code","not_null":1,"value":"0","schema":{"type":"number"}},{"param_id":"14b9533530b05f","description":"返回数据","field_type":"string","is_checked":1,"key":"data","not_null":1,"value":"操作成功","schema":{"type":"string"}}],"headers":[],"expect":{"code":"200","content_type":"json","is_default":1,"mock":"","name":"成功","schema":[],"verify_type":"schema","sleep":0}},{"example_id":"2","raw":"","raw_parameter":[],"headers":[],"expect":{"code":"404","content_type":"json","is_default":-1,"mock":"","name":"失败","schema":[],"verify_type":"schema","sleep":0}}],"is_check_result":1},"mock_server_enable":1,"mock_ip_white_list_enable":-1,"mock_ip_white_list":"","mock_show_target_id":0,"attribute_info":{},"tags":[],"created_at":"2026-07-20T10:47:11+08:00","created_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"updated_at":"2026-07-21T09:25:01+08:00","updated_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"status":1,"is_locked":-1} - - -### 编辑是否banner推荐 -{"target_id":"14c021c5b0b220","project_id":"69378806e466000","parent_id":"13828efcf0b052","target_type":"api","name":"编辑是否banner推荐","version":81,"sort":17000,"method":"POST","url":"{{home}}?r=video/edit-is-banner-recommend","protocol":"http/1.1","mark_id":"1","description":"","request":{"auth":{"type":"inherit","kv":{"key":"","value":"","in":"header"},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","default":"","delegation":"","timestamp":"","includePayloadHash":false},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":false},"ntlm":{"username":"","password":"","entity":"","workstation":"","disableRetryRequest":false},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"HMAC-SHA1","addEmptyParamsToSign":true,"includeBodyHash":true,"addParamsToHeader":false,"disableHeaderEncoding":false,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""},"jwt":{"addTokenTo":"header","algorithm":"HS256","secret":"","isSecretBase64Encoded":false,"payload":"","headerPrefix":"Bearer","queryParamKey":"token","header":""},"asap":{"alg":"HS256","iss":"","aud":"","kid":"","privateKey":"","sub":"","claims":"","exp":""}},"body":{"mode":"json","parameter":[],"raw":"{\n \"Id\":2,\n \"IsBannerRecommend\": 1\n}","raw_parameter":[{"param_id":"14c06591f0b064","description":"分类Id","field_type":"integer","is_checked":1,"key":"Id","not_null":1,"value":"2","schema":{"type":"integer"}},{"param_id":"14c06591f0b065","description":"是否banner推荐 0-否,1-是","field_type":"number","is_checked":1,"key":"IsBannerRecommend","not_null":1,"value":"1","schema":{"type":"number"}}],"raw_schema":{"type":"object"},"binary":{}},"pre_tasks":[],"post_tasks":[],"header":{"parameter":[]},"query":{"query_add_equal":1,"parameter":[{"param_id":"392f2fb0d80101b","description":"","field_type":"string","is_checked":1,"key":"r","not_null":1,"value":"video/edit-is-banner-recommend","schema":{"type":"string"}}]},"cookie":{"cookie_encode":1,"parameter":[]},"restful":{"parameter":[]}},"response":{"example":[{"example_id":"1","raw":"{\n\t\"code\": 0,\n\t\"data\": \"操作成功\"\n}","raw_parameter":[{"param_id":"14b964e470b060","description":"状态码 0-成功,非0-失败","field_type":"number","is_checked":1,"key":"code","not_null":1,"value":"0","schema":{"type":"number"}},{"param_id":"14b964e470b061","description":"返回数据","field_type":"string","is_checked":1,"key":"data","not_null":1,"value":"操作成功","schema":{"type":"string"}}],"headers":[],"expect":{"code":"200","content_type":"json","is_default":1,"mock":"","name":"成功","schema":[],"verify_type":"schema","sleep":0}},{"example_id":"2","raw":"","raw_parameter":[],"headers":[],"expect":{"code":"404","content_type":"json","is_default":-1,"mock":"","name":"失败","schema":[],"verify_type":"schema","sleep":0}}],"is_check_result":1},"mock_server_enable":1,"mock_ip_white_list_enable":-1,"mock_ip_white_list":"","mock_show_target_id":0,"attribute_info":{},"tags":[],"created_at":"2026-07-21T09:56:10+08:00","created_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"updated_at":"2026-07-21T09:56:10+08:00","updated_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"status":1,"is_locked":-1} - -### 编辑banner图 -{"target_id":"14c0833070b251","project_id":"69378806e466000","parent_id":"13828efcf0b052","target_type":"api","name":"编辑banner图","version":82,"sort":18000,"method":"POST","url":"{{home}}?r=video/edit-banner-image-url","protocol":"http/1.1","mark_id":"1","description":"","request":{"auth":{"type":"inherit","kv":{"key":"","value":"","in":"header"},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","default":"","delegation":"","timestamp":"","includePayloadHash":false},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":false},"ntlm":{"username":"","password":"","entity":"","workstation":"","disableRetryRequest":false},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"HMAC-SHA1","addEmptyParamsToSign":true,"includeBodyHash":true,"addParamsToHeader":false,"disableHeaderEncoding":false,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""},"jwt":{"addTokenTo":"header","algorithm":"HS256","secret":"","isSecretBase64Encoded":false,"payload":"","headerPrefix":"Bearer","queryParamKey":"token","header":""},"asap":{"alg":"HS256","iss":"","aud":"","kid":"","privateKey":"","sub":"","claims":"","exp":""}},"body":{"mode":"json","parameter":[],"raw":"{\n \"Id\":2,\n \"BannerImageUrl\": \"https://example.com/banner.jpg\"\n}","raw_parameter":[{"param_id":"14c0ad03f0b066","description":"分类Id","field_type":"integer","is_checked":1,"key":"Id","not_null":1,"value":"2","schema":{"type":"integer"}},{"param_id":"14c0ad03f0b067","description":"banner图 url","field_type":"string","is_checked":1,"key":"BannerImageUrl","not_null":1,"value":"https://example.com/banner.jpg","schema":{"type":"string"}}],"raw_schema":{"type":"object"},"binary":{}},"pre_tasks":[],"post_tasks":[],"header":{"parameter":[]},"query":{"query_add_equal":1,"parameter":[{"param_id":"392f2fb0d80101b","description":"","field_type":"string","is_checked":1,"key":"r","not_null":1,"value":"video/edit-banner-image-url","schema":{"type":"string"}}]},"cookie":{"cookie_encode":1,"parameter":[]},"restful":{"parameter":[]}},"response":{"example":[{"example_id":"1","raw":"{\n\t\"code\": 0,\n\t\"data\": \"操作成功\"\n}","raw_parameter":[{"param_id":"14b964e470b060","description":"状态码 0-成功,非0-失败","field_type":"number","is_checked":1,"key":"code","not_null":1,"value":"0","schema":{"type":"number"}},{"param_id":"14b964e470b061","description":"返回数据","field_type":"string","is_checked":1,"key":"data","not_null":1,"value":"操作成功","schema":{"type":"string"}}],"headers":[],"expect":{"code":"200","content_type":"json","is_default":1,"mock":"","name":"成功","schema":[],"verify_type":"schema","sleep":0}},{"example_id":"2","raw":"","raw_parameter":[],"headers":[],"expect":{"code":"404","content_type":"json","is_default":-1,"mock":"","name":"失败","schema":[],"verify_type":"schema","sleep":0}}],"is_check_result":1},"mock_server_enable":1,"mock_ip_white_list_enable":-1,"mock_ip_white_list":"","mock_show_target_id":0,"attribute_info":{},"tags":[],"created_at":"2026-07-21T09:57:12+08:00","created_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"updated_at":"2026-07-21T09:57:12+08:00","updated_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"status":1,"is_locked":-1} -0 - -### 编辑Banner权重 -{"target_id":"14c0c81ab0b282","project_id":"69378806e466000","parent_id":"13828efcf0b052","target_type":"api","name":"编辑Banner权重","version":83,"sort":19000,"method":"POST","url":"{{home}}?r=video/edit-banner-sort","protocol":"http/1.1","mark_id":"1","description":"","request":{"auth":{"type":"inherit","kv":{"key":"","value":"","in":"header"},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","default":"","delegation":"","timestamp":"","includePayloadHash":false},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":false},"ntlm":{"username":"","password":"","entity":"","workstation":"","disableRetryRequest":false},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"HMAC-SHA1","addEmptyParamsToSign":true,"includeBodyHash":true,"addParamsToHeader":false,"disableHeaderEncoding":false,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""},"jwt":{"addTokenTo":"header","algorithm":"HS256","secret":"","isSecretBase64Encoded":false,"payload":"","headerPrefix":"Bearer","queryParamKey":"token","header":""},"asap":{"alg":"HS256","iss":"","aud":"","kid":"","privateKey":"","sub":"","claims":"","exp":""}},"body":{"mode":"json","parameter":[],"raw":"{\n \"Id\":2,\n \"BannerSort\": 100\n}","raw_parameter":[{"param_id":"14c0ad03f0b066","description":"分类Id","field_type":"integer","is_checked":1,"key":"Id","not_null":1,"value":"2","schema":{"type":"integer"}},{"param_id":"14c0ad03f0b067","description":"banner图 url","field_type":"string","is_checked":1,"key":"BannerImageUrl","not_null":1,"value":"https://example.com/banner.jpg","schema":{"type":"string"}}],"raw_schema":{"type":"object"},"binary":{}},"pre_tasks":[],"post_tasks":[],"header":{"parameter":[]},"query":{"query_add_equal":1,"parameter":[{"param_id":"392f2fb0d80101b","description":"","field_type":"string","is_checked":1,"key":"r","not_null":1,"value":"video/edit-banner-sort","schema":{"type":"string"}}]},"cookie":{"cookie_encode":1,"parameter":[]},"restful":{"parameter":[]}},"response":{"example":[{"example_id":"1","raw":"{\n\t\"code\": 0,\n\t\"data\": \"操作成功\"\n}","raw_parameter":[{"param_id":"14b964e470b060","description":"状态码 0-成功,非0-失败","field_type":"number","is_checked":1,"key":"code","not_null":1,"value":"0","schema":{"type":"number"}},{"param_id":"14b964e470b061","description":"返回数据","field_type":"string","is_checked":1,"key":"data","not_null":1,"value":"操作成功","schema":{"type":"string"}}],"headers":[],"expect":{"code":"200","content_type":"json","is_default":1,"mock":"","name":"成功","schema":[],"verify_type":"schema","sleep":0}},{"example_id":"2","raw":"","raw_parameter":[],"headers":[],"expect":{"code":"404","content_type":"json","is_default":-1,"mock":"","name":"失败","schema":[],"verify_type":"schema","sleep":0}}],"is_check_result":1},"mock_server_enable":1,"mock_ip_white_list_enable":-1,"mock_ip_white_list":"","mock_show_target_id":0,"attribute_info":{},"tags":[],"created_at":"2026-07-21T09:57:58+08:00","created_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"updated_at":"2026-07-21T09:57:58+08:00","updated_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"status":1,"is_locked":-1} - -### 编辑是否推荐 -{"target_id":"15006d4ef0b474","project_id":"69378806e466000","parent_id":"13828efcf0b052","target_type":"api","name":"编辑是否推荐","version":126,"sort":20000,"method":"POST","url":"{{home}}?r=video/edit-is-recommend","protocol":"http/1.1","mark_id":"1","description":"","request":{"auth":{"type":"inherit","kv":{"key":"","value":"","in":"header"},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","default":"","delegation":"","timestamp":"","includePayloadHash":false},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":false},"ntlm":{"username":"","password":"","entity":"","workstation":"","disableRetryRequest":false},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"HMAC-SHA1","addEmptyParamsToSign":true,"includeBodyHash":true,"addParamsToHeader":false,"disableHeaderEncoding":false,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""},"jwt":{"addTokenTo":"header","algorithm":"HS256","secret":"","isSecretBase64Encoded":false,"payload":"","headerPrefix":"Bearer","queryParamKey":"token","header":""},"asap":{"alg":"HS256","iss":"","aud":"","kid":"","privateKey":"","sub":"","claims":"","exp":""}},"body":{"mode":"json","parameter":[],"raw":"{\n \"Id\":2,\n \"IsRecommend\": 1\n}","raw_parameter":[{"param_id":"14c06591f0b064","description":"分类Id","field_type":"integer","is_checked":1,"key":"Id","not_null":1,"value":"2","schema":{"type":"integer"}},{"param_id":"14c06591f0b065","description":"是否banner推荐 0-否,1-是","field_type":"number","is_checked":1,"key":"IsBannerRecommend","not_null":1,"value":"1","schema":{"type":"number"}}],"raw_schema":{"type":"object"},"binary":{}},"pre_tasks":[],"post_tasks":[],"header":{"parameter":[]},"query":{"query_add_equal":1,"parameter":[{"param_id":"392f2fb0d80101b","description":"","field_type":"string","is_checked":1,"key":"r","not_null":1,"value":"video/edit-is-recommend","schema":{"type":"string"}}]},"cookie":{"cookie_encode":1,"parameter":[]},"restful":{"parameter":[]}},"response":{"example":[{"example_id":"1","raw":"{\n\t\"code\": 0,\n\t\"data\": \"操作成功\"\n}","raw_parameter":[{"param_id":"14b964e470b060","description":"状态码 0-成功,非0-失败","field_type":"number","is_checked":1,"key":"code","not_null":1,"value":"0","schema":{"type":"number"}},{"param_id":"14b964e470b061","description":"返回数据","field_type":"string","is_checked":1,"key":"data","not_null":1,"value":"操作成功","schema":{"type":"string"}}],"headers":[],"expect":{"code":"200","content_type":"json","is_default":1,"mock":"","name":"成功","schema":[],"verify_type":"schema","sleep":0}},{"example_id":"2","raw":"","raw_parameter":[],"headers":[],"expect":{"code":"404","content_type":"json","is_default":-1,"mock":"","name":"失败","schema":[],"verify_type":"schema","sleep":0}}],"is_check_result":1},"mock_server_enable":1,"mock_ip_white_list_enable":-1,"mock_ip_white_list":"","mock_show_target_id":0,"attribute_info":{},"tags":[],"created_at":"2026-07-21T14:35:40+08:00","created_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"updated_at":"2026-07-21T14:35:40+08:00","updated_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"status":1,"is_locked":-1} - - -## 图文 -### 编辑权重 -{"target_id":"1382675ff0b036","project_id":"69378806e466000","parent_id":"1382675ff0b029","target_type":"api","name":"编辑权重","version":47,"sort":13000,"method":"POST","url":"{{home}}?r=pic-text/edit-sort-weight","protocol":"http/1.1","mark_id":"1","description":"","request":{"auth":{"type":"inherit","kv":{"key":"","value":"","in":"header"},"bearer":{"key":""},"basic":{"username":"","password":""},"digest":{"username":"","password":"","realm":"","nonce":"","algorithm":"","qop":"","nc":"","cnonce":"","opaque":""},"hawk":{"authId":"","authKey":"","algorithm":"","user":"","nonce":"","extraData":"","default":"","delegation":"","timestamp":"","includePayloadHash":false},"awsv4":{"accessKey":"","secretKey":"","region":"","service":"","sessionToken":"","addAuthDataToQuery":false},"ntlm":{"username":"","password":"","entity":"","workstation":"","disableRetryRequest":false},"edgegrid":{"accessToken":"","clientToken":"","clientSecret":"","nonce":"","timestamp":"","baseURi":"","headersToSign":""},"oauth1":{"consumerKey":"","consumerSecret":"","signatureMethod":"HMAC-SHA1","addEmptyParamsToSign":true,"includeBodyHash":true,"addParamsToHeader":false,"disableHeaderEncoding":false,"realm":"","version":"1.0","nonce":"","timestamp":"","verifier":"","callback":"","tokenSecret":"","token":""},"jwt":{"addTokenTo":"header","algorithm":"HS256","secret":"","isSecretBase64Encoded":false,"payload":"","headerPrefix":"Bearer","queryParamKey":"token","header":""},"asap":{"alg":"HS256","iss":"","aud":"","kid":"","privateKey":"","sub":"","claims":"","exp":""}},"body":{"mode":"json","parameter":[],"raw":"{\n \"Id\":2,\n \"Sort\":300\n}","raw_parameter":[{"param_id":"392f2fb0d40102f","description":"记录Id","field_type":"integer","is_checked":1,"key":"Id","not_null":1,"value":"2","schema":{"type":"integer"}},{"param_id":"392f2fb0d401030","description":"权重排序","field_type":"integer","is_checked":1,"key":"Sort","not_null":1,"value":"300","schema":{"type":"integer"}}],"raw_schema":{"type":"object"},"binary":{}},"pre_tasks":[],"post_tasks":[],"header":{"parameter":[]},"query":{"query_add_equal":1,"parameter":[{"param_id":"392f2fb0d401031","description":"","field_type":"string","is_checked":1,"key":"r","not_null":1,"value":"pic-text/edit-sort-weight","schema":{"type":"string"}}]},"cookie":{"cookie_encode":1,"parameter":[]},"restful":{"parameter":[]}},"response":{"example":[{"example_id":"1","raw":"{\n\t\"code\": 0,\n\t\"data\": \"操作成功\"\n}","raw_parameter":[],"headers":[],"expect":{"code":"200","content_type":"json","is_default":1,"mock":"","name":"成功","schema":[],"verify_type":"schema","sleep":0}},{"example_id":"2","raw":"","raw_parameter":[],"headers":[],"expect":{"code":"404","content_type":"json","is_default":-1,"mock":"","name":"失败","schema":[],"verify_type":"schema","sleep":0}}],"is_check_result":1},"mock_server_enable":1,"mock_ip_white_list_enable":-1,"mock_ip_white_list":"","mock_show_target_id":0,"attribute_info":{},"tags":[],"created_at":"2026-07-20T10:46:30+08:00","created_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"updated_at":"2026-07-20T18:29:22+08:00","updated_user":{"uid":"36780","nick_name":"charlie","alias_name":null,"portrait":"https://img.cdn.apipost.cn/user/default_profile_photo/Vector-5.png"},"status":1,"is_locked":-1} - - -# 小程序 diff --git a/api-doc/psvt-patient-api-doc.md b/api-doc/psvt-patient-api-doc.md deleted file mode 100644 index 7d0e86e..0000000 --- a/api-doc/psvt-patient-api-doc.md +++ /dev/null @@ -1,969 +0,0 @@ -# PSVT患者模块接口文档 - -## 一、小程序端接口 - -### 1.1 初始化登录 `GET ?r=psvt/user/init-login` - -**说明**: 小程序端通过wx.login获取code,发送到服务端完成登录初始化,返回登录态及用户状态信息。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| --------- | ------ | ---- | ---------------------- | -| code | string | 是 | wx.login获取的登录凭证 | -| channelId | int | 否 | 扫码渠道ID | - -**响应示例**: - -```json -{ - "code": 0, - "data": { - "loginState": "xxx", - "isLogin": true, - "isReg": true, - "userId": "xxx", - "openId": "xxx" - } -} -``` - -**响应字段说明**: - -| 字段名 | 类型 | 说明 | -| ---------- | ------ | -------------------------- | -| loginState | string | 登录态凭证,后续接口需携带 | -| isLogin | bool | 是否已登录 | -| userId | string | 用户ID | -| openId | string | 小程序OpenId | -| isReg | bool | 是否已信息提交注册 | - -**业务逻辑**: - -1. 调用微信接口获取openid和session_key -2. 创建/更新PSVT用户记录(t_psvt_user_info) -3. 若有channelId参数,更新ScanChannelId(最终渠道,每次扫码都更新) -4. 首次打开时记录FirstOpenTime -5. 返回用户状态信息(isPhoneRegistered、isInfoSubmitted) - ---- - -### 1.2 手机号授权注册 `POST ?r=psvt/login/wx-reg-login` - -**说明**: 解密微信加密数据获取手机号,完成手机号注册。事务操作。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| ------------- | ------ | ---- | -------------------- | -| encryptedData | string | 是 | 微信加密手机号数据 | -| iv | string | 是 | 微信加密iv | -| channelId | int | 否 | 手机号注册时的渠道ID | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "isLogin": true, - "isReg": true - } -} -``` - -**响应字段说明**: - -| 字段名 | 类型 | 说明 | -| ------- | ---- | ------------------ | -| isLogin | bool | 是否已登录 | -| isReg | bool | 是否已信息提交注册 | - -**业务逻辑**: - -1. 解密微信加密数据获取手机号 -2. 更新t_psvt_user_info的Telephone、IsPhoneRegistered=1、PhoneRegisterTime -3. 若有channelId,记录TelChannelId(首次手机号注册渠道,仅记录首次,不更新) -4. 若有channelId,记录邀约记录(InviteType=2手机号注册)并更新统计表 -5. 更新IsFirstOpenPhoneRegistered(首次打开时间和手机号注册时间是同一天时为1) -6. 更新IsPhoneRegisteredNotLost(手机号注册时间和提交信息时间是同一天时为1) -7. 使用事务 - ---- - -### 1.2.1 手机号验证码注册 `POST ?r=psvt/login/reg-login` - -**说明**: 解密微信加密数据获取手机号,完成手机号注册。事务操作。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| --------- | ------ | ---- | -------------------- | -| mobile | string | 是 | 手机号 | -| code | string | 是 | 验证码 | -| channelId | int | 否 | 手机号注册时的渠道ID | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "isLogin": true, - "isReg": true - } -} -``` - -**响应字段说明**: - -| 字段名 | 类型 | 说明 | -| ------- | ---- | ------------------ | -| isLogin | bool | 是否已登录 | -| isReg | bool | 是否已信息提交注册 | - -### 1.3 患者信息提交注册 `POST ?r=psvt/patient/register` - -**说明**: 提交年龄段、性别、确诊状态、手术状态等信息完成注册。事务操作。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| --------------- | ------ | ---- | --------------------------------------------------------------------------------------------- | -| ageRange | int | 是 | 年龄段:1-18~28岁,2-29~40岁,3-41~50岁,4-50岁以上 | -| gender | int | 是 | 性别:1-男,2-女 | -| provinceId | int | 否 | 省份ID | -| provinceName | string | 否 | 省份名称 | -| cityId | int | 否 | 市ID | -| cityName | string | 否 | 市名称 | -| diagnosisStatus | int | 是 | 确诊状态:1-疑似PSVT正在了解中,2-已确诊PSVT,3-心悸/心跳过快 尚未就诊,4-亲友相关 想了解更多 | -| diagnosisTime | string | 否 | 确诊时间(YYYY-MM格式) | -| surgeryStatus | int | 是 | 手术状态:1-已接收射频消融/相关手术,2-尚未接收手术,3-正在评估 | -| channelId | int | 否 | 提交信息渠道ID | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "userId": "xxx", - "nickName": "abcd12345678", - "avatar": "https://psvt.example.com/avatar/3.png", - "isRegistered": true - } -} -``` - -**响应字段说明**: - -| 字段名 | 类型 | 说明 | -| ------------ | ------ | ----------------------------- | -| userId | string | 用户ID | -| nickName | string | 随机生成的昵称(4字母+8数字) | -| avatar | string | 随机分配的头像URL | -| isRegistered | bool | 是否已注册 | - -**业务逻辑**: - -1. 生成随机昵称(4随机字母+8随机数字) -2. 随机分配头像(10张图片池中随机选1) -3. 创建t_psvt_patient_info记录(患者属性) -4. 更新t_psvt_user_info的PatientId、IsInfoSubmitted=1、InfoSubmitTime、SubmitChannelId -5. 更新IsFirstOpenInfoSubmitted(首次打开时间和信息提交时间是同一天时为1) -6. 更新IsPhoneRegisteredNotLost(手机号注册时间和信息提交时间是同一天时为1) -7. 若有channelId,记录邀约记录(InviteType=3信息提交)并更新统计表 -8. 使用事务 - ---- - -### 1.4 获取我的信息 `GET ?r=psvt/patient/my-info` - -**说明**: 返回当前登录用户的完整信息(用户信息+患者属性),小驼峰格式。 - -**请求参数**: 无(通过loginState获取userId) - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "userId": "xxx", - "openId": "xxx", - "telephone": "138xxxx1234", - "isPhoneRegistered": true, - "isInfoSubmitted": true, - "isHeartRateTips": true, - "firstOpenTime": "2023-01-01 10:00:00", - "phoneRegisterTime": "2023-01-01 10:05:00", - "infoSubmitTime": "2023-01-01 10:10:00", - "nickName": "abcd12345678", - "avatar": "https://psvt.example.com/avatar/3.png", - "ageRange": 1, - "gender": 1, - "provinceName": "北京", - "cityName": "北京", - "diagnosisStatus": 2, - "diagnosisTime": "2023-06", - "surgeryStatus": 1 - } -} -``` - -**响应字段说明**: - -| 字段名 | 类型 | 说明 | -| ----------------- | ------ | ------------------------------ | -| userId | string | 用户ID | -| openId | string | 小程序OpenId | -| telephone | string | 手机号 | -| isPhoneRegistered | bool | 是否已手机号注册 | -| isInfoSubmitted | bool | 是否已提交信息 | -| isHeartRateTips | bool | 是否开启心率提醒 | -| firstOpenTime | string | 首次打开时间 | -| phoneRegisterTime | string | 手机号注册时间 | -| infoSubmitTime | string | 信息提交时间 | -| nickName | string | 昵称(未提交信息时为null) | -| avatar | string | 头像URL(未提交信息时为null) | -| ageRange | int | 年龄段(未提交信息时为null) | -| gender | int | 性别(未提交信息时为null) | -| provinceName | string | 省份名称(未提交信息时为null) | -| cityName | string | 市名称(未提交信息时为null) | -| diagnosisStatus | int | 确诊状态(未提交信息时为null) | -| diagnosisTime | string | 确诊时间(未提交信息时为null) | -| surgeryStatus | int | 手术状态(未提交信息时为null) | - ---- - -### 1.5 更新我的信息 `POST ?r=psvt/patient/update-my-info` - -**说明**: 更新当前登录用户的个人信息。若已确诊PSVT(DiagnosisStatus=2),确诊状态和手术状态不可修改。事务操作。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| --------------- | ------ | ---- | -------------------------------- | -| avatar | string | 否 | 头像URL | -| nickName | string | 否 | 昵称 | -| telephone | string | 否 | 手机号 | -| ageRange | int | 否 | 年龄段 | -| gender | int | 否 | 性别 | -| provinceId | int | 否 | 省份ID | -| provinceName | string | 否 | 省份名称 | -| cityId | int | 否 | 市ID | -| cityName | string | 否 | 市名称 | -| diagnosisStatus | int | 否 | 确诊状态(已确诊PSVT后不可修改) | -| diagnosisTime | string | 否 | 确诊时间 | -| surgeryStatus | int | 否 | 手术状态(已确诊PSVT后不可修改) | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "userId": "xxx", - "openId": "xxx", - "telephone": "138xxxx1234", - "isPhoneRegistered": true, - "isInfoSubmitted": true, - "isHeartRateTips": true, - "firstOpenTime": "2023-01-01 10:00:00", - "phoneRegisterTime": "2023-01-01 10:05:00", - "infoSubmitTime": "2023-01-01 10:10:00", - "nickName": "newNickname", - "avatar": "https://...", - "ageRange": 2, - "gender": 1, - "provinceName": "上海", - "cityName": "上海", - "diagnosisStatus": 2, - "diagnosisTime": "2023-06", - "surgeryStatus": 1 - } -} -``` - -**响应字段说明**: 同1.4获取我的信息 - -**业务逻辑**: - -1. 若已确诊PSVT(DiagnosisStatus=2),则diagnosisStatus和surgeryStatus不可修改 -2. 更新t_psvt_patient_info患者属性 -3. 若更新了手机号,同步更新t_psvt_user_info的Telephone -4. 使用事务 - ---- - -### 1.6 渠道码扫码记录 `POST ?r=psvt/?r=channel/scan-channel` - -**说明**: 记录扫码渠道信息,更新用户的ScanChannelId。事务操作。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| --------- | ---- | ---- | -------- | -| channelId | int | 是 | 渠道码ID | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "recorded": true - } -} -``` - -**响应字段说明**: - -| 字段名 | 类型 | 说明 | -| -------- | ---- | ------------ | -| recorded | bool | 是否记录成功 | - -**业务逻辑**: - -1. 验证渠道码存在 -2. 更新用户ScanChannelId(最终渠道,每次扫码都更新) -3. 记录邀约记录(InviteType=1用户打开) -4. 更新统计表 -5. 使用事务 - ---- - -### 1.7 获取基础数据列表 `GET ?r=psvt/patient/base-data` - -**说明**: 返回性别、年龄段、确诊状态、手术状态等枚举数据,供前端渲染下拉选项。 - -**请求参数**: 无 - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "genderList": [{ "1": "男" }, { "2": "女" }], - "ageRangeList": [{ "1": "18~28岁" }, { "2": "29~40岁" }, { "3": "41~50岁" }, { "4": "50岁以上" }], - "diagnosisStatusList": [ - { "1": "疑似PSVT正在了解中" }, - { "2": "已确诊PSVT" }, - { "3": "心悸/心跳过快 尚未就诊" }, - { "4": "亲友相关 想了解更多" } - ], - "surgeryStatusList": [{ "1": "已接收射频消融/相关手术" }, { "2": "尚未接收手术" }, { "3": "正在评估" }] - } -} -``` - -**响应字段说明**: - -| 字段名 | 类型 | 说明 | -| ------------------- | ----- | ------------------------------------- | -| genderList | array | 性别列表,每项为 {value: "label"} | -| ageRangeList | array | 年龄段列表,每项为 {value: "label"} | -| diagnosisStatusList | array | 确诊状态列表,每项为 {value: "label"} | -| surgeryStatusList | array | 手术状态列表,每项为 {value: "label"} | - -**genderList值说明**: - -| 值 | 说明 | -| --- | ---- | -| 1 | 男 | -| 2 | 女 | - -**ageRangeList值说明**: - -| 值 | 说明 | -| --- | -------- | -| 1 | 18~28岁 | -| 2 | 29~40岁 | -| 3 | 41~50岁 | -| 4 | 50岁以上 | - -**diagnosisStatusList值说明**: - -| 值 | 说明 | -| --- | ---------------------- | -| 1 | 疑似PSVT正在了解中 | -| 2 | 已确诊PSVT | -| 3 | 心悸/心跳过快 尚未就诊 | -| 4 | 亲友相关 想了解更多 | - -**surgeryStatusList值说明**: - -| 值 | 说明 | -| --- | ----------------------- | -| 1 | 已接收射频消融/相关手术 | -| 2 | 尚未接收手术 | -| 3 | 正在评估 | - ---- - -## 二、后台管理端接口 - -### 2.1 患者列表 `GET ?r=patient/list` - -**说明**: 获取PSVT患者列表,含分页、搜索、渠道筛选及汇总统计。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| --------- | ------ | ---- | -------------------------------- | -| search | string | 否 | 搜索关键字(手机号/UserId/省市) | -| channelId | int | 否 | 渠道ID筛选 | -| page | int | 否 | 页码,默认1 | -| count | int | 否 | 每页数量,默认10 | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "page": 1, - "pages": 10, - "count": 100, - "summary": { - "totalOpenCount": 1920, - "phoneRegisteredCount": 1900, - "phoneRegisteredRate": "19.9%", - "infoSubmittedCount": 1082, - "infoSubmittedRate": "56.3%", - "diagnosedPsvtCount": 980, - "diagnosedPsvtRate": "90.2%", - "firstOpenPhoneRegisteredCount": 800, - "firstOpenInfoSubmittedCount": 800, - "phoneRegisteredNotLostCount": 700 - }, - "list": [ - { - "userId": "xxx", - "telephone": "138xxxx1234", - "nickName": "abcd12345678", - "avatar": "https://...", - "ageRange": 1, - "gender": 1, - "provinceName": "北京", - "cityName": "北京", - "diagnosisStatus": 2, - "diagnosisTime": "2023-06", - "surgeryStatus": 1, - "firstOpenTime": "2023-01-01 10:00:00", - "phoneRegisterTime": "2023-01-01 10:05:00", - "infoSubmitTime": "2023-01-01 10:10:00", - "isFirstOpenPhoneRegistered": true, - "isFirstOpenInfoSubmitted": true, - "isPhoneRegisteredNotLost": true, - "scanChannelId": 1, - "scanChannelName": "渠道A", - "telChannelId": 2, - "telChannelName": "渠道B", - "submitChannelId": 3, - "submitChannelName": "渠道C" - } - ] - } -} -``` - -**响应字段说明(data层级)**: - -| 字段名 | 类型 | 说明 | -| ------- | ------ | ------------ | -| page | int | 当前页码 | -| pages | int | 总页数 | -| count | int | 总记录数 | -| summary | object | 汇合统计数据 | -| list | array | 患者列表 | - -**summary字段说明**: - -| 字段名 | 类型 | 说明 | -| ----------------------------- | ------ | ------------------------ | -| totalOpenCount | int | 总打开数 | -| phoneRegisteredCount | int | 手机号注册数 | -| phoneRegisteredRate | string | 手机号注册率(百分比) | -| infoSubmittedCount | int | 信息提交数 | -| infoSubmittedRate | string | 信息提交率(百分比) | -| diagnosedPsvtCount | int | 确诊PSVT数 | -| diagnosedPsvtRate | string | 确诊PSVT率(百分比) | -| firstOpenPhoneRegisteredCount | int | 首次打开完成手机号注册数 | -| firstOpenInfoSubmittedCount | int | 首次打开完成信息填写数 | -| phoneRegisteredNotLostCount | int | 手机号注册后未流失数 | - -**list行字段说明**: - -| 字段名 | 类型 | 说明 | -| -------------------------- | ------ | ---------------------- | -| userId | string | 用户ID | -| telephone | string | 手机号 | -| nickName | string | 昵称 | -| avatar | string | 头像URL | -| ageRange | int | 年龄段 | -| gender | int | 性别 | -| provinceName | string | 省份名称 | -| cityName | string | 市名称 | -| diagnosisStatus | int | 确诊状态 | -| diagnosisTime | string | 确诊时间 | -| surgeryStatus | int | 手术状态 | -| firstOpenTime | string | 首次打开时间 | -| phoneRegisterTime | string | 手机号注册时间 | -| infoSubmitTime | string | 信息提交时间 | -| isFirstOpenPhoneRegistered | bool | 首次打开完成手机号注册 | -| isFirstOpenInfoSubmitted | bool | 首次打开完成信息填写 | -| isPhoneRegisteredNotLost | bool | 手机号注册后未流失 | -| scanChannelId | int | 扫码渠道ID | -| scanChannelName | string | 扫码渠道名称 | -| telChannelId | int | 手机号注册渠道ID | -| telChannelName | string | 手机号注册渠道名称 | -| submitChannelId | int | 提交信息渠道ID | -| submitChannelName | string | 提交信息渠道名称 | - ---- - -### 2.2 患者详情 `GET ?r=patient/detail` - -**说明**: 根据用户信息表ID获取完整的用户+患者详情数据。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ---- | ---- | ------------ | -| id | int | 是 | 用户信息表ID | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "userId": "xxx", - "openId": "xxx", - "telephone": "138xxxx1234", - "isPhoneRegistered": true, - "isInfoSubmitted": true, - "isHeartRateTips": true, - "firstOpenTime": "2023-01-01 10:00:00", - "phoneRegisterTime": "2023-01-01 10:05:00", - "infoSubmitTime": "2023-01-01 10:10:00", - "nickName": "abcd12345678", - "avatar": "https://...", - "ageRange": 1, - "gender": 1, - "provinceName": "北京", - "cityName": "北京", - "diagnosisStatus": 2, - "diagnosisTime": "2023-06", - "surgeryStatus": 1, - "scanChannelId": 1, - "scanChannelName": "渠道A", - "telChannelId": 2, - "telChannelName": "渠道B", - "submitChannelId": 3, - "submitChannelName": "渠道C" - } -} -``` - -**响应字段说明**: 同1.4获取我的信息,额外包含渠道信息字段(scanChannelId/scanChannelName、telChannelId/telChannelName、submitChannelId/submitChannelName) - ---- - -### 2.3 渠道码列表 `GET ?r=channel/list` - -**说明**: 获取有效渠道码列表,支持分页。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ---- | ---- | ---------------- | -| page | int | 否 | 页码,默认1 | -| count | int | 否 | 每页数量,默认10 | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "page": 1, - "pages": 5, - "count": 50, - "list": [ - { - "channelId": 1, - "channelName": "渠道A", - "channelDesc": "渠道A说明", - "miniCodeUrl": "https://xxx/minicode_1.png", - "createDate": "2023-01-01", - "updateDate": "2023-01-01" - } - ] - } -} -``` - -**响应字段说明(data层级)**: - -| 字段名 | 类型 | 说明 | -| ------ | ----- | -------- | -| page | int | 当前页码 | -| pages | int | 总页数 | -| count | int | 总记录数 | -| list | array | 渠道列表 | - -**list行字段说明**: - -| 字段名 | 类型 | 说明 | -| ----------- | ------ | --------------- | -| channelId | int | 渠道ID | -| channelName | string | 渠道名称 | -| channelDesc | string | 渠道码说明 | -| miniCodeUrl | string | 小程序码图片URL | -| createDate | string | 创建日期 | -| updateDate | string | 更新日期 | - ---- - -### 2.4 创建渠道码 `POST ?r=channel/create` - -**说明**: 创建新的渠道码。事务操作。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ------ | ---- | ---------- | -| channelName | string | 是 | 渠道名称 | -| channelDesc | string | 否 | 渠道码说明 | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "channelId": 1, - "channelName": "渠道A" - } -} -``` - -**响应字段说明**: - -| 字段名 | 类型 | 说明 | -| ----------- | ------ | -------------- | -| channelId | int | 新创建的渠道ID | -| channelName | string | 渠道名称 | - ---- - -### 2.5 更新渠道码 `POST ?r=channel/update` - -**说明**: 更新渠道码信息。事务操作。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ------ | ---- | ---------- | -| channelId | int | 是 | 渠道ID | -| channelName | string | 否 | 渠道名称 | -| channelDesc | string | 否 | 渠道码说明 | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "channelId": 1, - "channelName": "渠道A(已更新)" - } -} -``` - -**响应字段说明**: - -| 字段名 | 类型 | 说明 | -| ----------- | ------ | ---------------- | -| channelId | int | 渠道ID | -| channelName | string | 更新后的渠道名称 | - ---- - -### 2.6 删除渠道码 `POST ?r=channel/delete` - -**说明**: 逻辑删除渠道码,将Status置为100(删除状态)。事务操作。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| --------- | ---- | ---- | ------ | -| channelId | int | 是 | 渠道ID | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "channelId": 1 - } -} -``` - -**响应字段说明**: - -| 字段名 | 类型 | 说明 | -| --------- | ---- | -------------- | -| channelId | int | 已删除的渠道ID | - -**业务逻辑**: - -1. 校验渠道存在 -2. 将渠道的Status置为100(删除状态),逻辑删除 -3. 更新UpdateBy和UpdateTime -4. 使用事务 - ---- - -### 2.7 获取小程序渠道码 `GET ?r=channel/get-minicode` - -**说明**: 根据渠道ID获取或生成小程序码图片URL。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| --------- | ---- | ---- | ------ | -| channelId | int | 是 | 渠道ID | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "channelId": 1, - "channelName": "渠道A", - "miniCodeUrl": "https://xxx/minicode_1.png" - } -} -``` - -**响应字段说明**: - -| 字段名 | 类型 | 说明 | -| ----------- | ------ | --------------- | -| channelId | int | 渠道ID | -| channelName | string | 渠道名称 | -| miniCodeUrl | string | 小程序码图片URL | - -**业务逻辑**: - -1. 若渠道已有小程序码URL(MiniCodeUrl),直接返回 -2. 若没有,调用微信接口生成小程序码(scene参数包含渠道ID) -3. 保存生成的MiniCodeUrl到渠道记录 - ---- - -### 2.8 渠道码统计 `GET ?r=channel/stat` - -**说明**: 根据日期范围和渠道ID获取渠道统计数据,从统计表获取。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| --------------- | ------ | ---- | --------------------------------- | -| inviteDateBegin | string | 否 | 邀约日期开始(YYYY-MM-DD) | -| inviteDateEnd | string | 否 | 邀约日期结束(YYYY-MM-DD) | -| channelIds | string | 否 | 渠道ID筛选,逗号分隔(如"1,2,3") | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": [ - { - "statDate": "2023-01-01", - "channelId": 1, - "channelName": "渠道A", - "channelDesc": "渠道A说明", - "openPatientCount": 100, - "phoneRegisteredCount": 80, - "infoSubmittedCount": 50, - "diagnosedPsvtCount": 30 - } - ] -} -``` - -**响应字段说明(每行)**: - -| 字段名 | 类型 | 说明 | -| -------------------- | ------ | -------------------- | -| statDate | string | 统计日期 | -| channelId | int | 渠道ID | -| channelName | string | 渠道名称 | -| channelDesc | string | 渠道码说明 | -| openPatientCount | int | 邀约打开患者数 | -| phoneRegisteredCount | int | 邀约注册手机号患者数 | -| infoSubmittedCount | int | 邀约提交信息患者数 | -| diagnosedPsvtCount | int | 确诊PSVT患者数 | - ---- - -### 2.9 渠道码原始数据列表 `GET ?r=channel/raw-list` - -**说明**: 获取渠道邀约的原始记录列表,支持分页。通过JOIN t_psvt_user_info和t_psvt_patient_info获取用户属性和患者属性,不冗余存储。 - -**请求参数**: - -| 参数名 | 类型 | 必填 | 说明 | -| --------------- | ------ | ---- | -------------------------------------------------- | -| inviteDateBegin | string | 否 | 邀约日期开始(YYYY-MM-DD) | -| inviteDateEnd | string | 否 | 邀约日期结束(YYYY-MM-DD) | -| channelId | int | 否 | 渠道ID筛选 | -| inviteType | int | 否 | 邀约类型筛选:1-用户打开,2-手机号注册,3-信息提交 | -| page | int | 否 | 页码,默认1 | -| count | int | 否 | 每页数量,默认10 | - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "page": 1, - "pages": 10, - "count": 100, - "list": [ - { - "id": 1, - "inviteTime": "2023-01-01 10:00:00", - "inviteDate": "2023-01-01", - "channelId": 1, - "channelName": "渠道A", - "channelDesc": "渠道A说明", - "inviteType": 1, - "inviteTypeName": "用户打开", - "userId": "xxx", - "patientId": 5, - "nickName": "abcd12345678", - "gender": 1, - "genderName": "男", - "ageRange": 1, - "ageRangeName": "18-24岁", - "provinceName": "北京", - "cityName": "北京", - "diagnosisStatus": 2, - "diagnosisStatusName": "确诊", - "diagnosisTime": "2023-06", - "surgeryStatus": 1, - "surgeryStatusName": "已手术", - "telephone": "138xxxx1234" - } - ] - } -} -``` - -**响应字段说明(data层级)**: - -| 字段名 | 类型 | 说明 | -| ------ | ----- | ------------ | -| page | int | 当前页码 | -| pages | int | 总页数 | -| count | int | 总记录数 | -| list | array | 原始数据列表 | - -**list行字段说明**: - -| 字段名 | 类型 | 说明 | -| -------------------------- | ------ | ---------------------- | -| id | int | 记录ID | -| inviteTime | string | 邀约时间 | -| channelId | int | 渠道ID | -| channelName | string | 渠道名称 | -| inviteType | int | 邀约类型 | -| userId | string | 用户ID | -| patientId | int | 患者ID | -| nickName | string | 昵称 | -| gender | int | 性别 | -| ageRange | int | 年龄段 | -| provinceName | string | 省份名称 | -| cityName | string | 市名称 | -| diagnosisStatus | int | 确诊状态 | -| diagnosisTime | string | 确诊时间 | -| surgeryStatus | int | 手术状态 | -| telephone | string | 手机号 | -| firstOpenTime | string | 首次打开时间 | -| phoneRegisterTime | string | 手机号注册时间 | -| infoSubmitTime | string | 信息提交时间 | -| isFirstOpenPhoneRegistered | bool | 首次打开完成手机号注册 | -| isFirstOpenInfoSubmitted | bool | 首次打开完成信息填写 | -| isPhoneRegisteredNotLost | bool | 手机号注册后未流失 | -| scanChannelId | int | 扫码渠道ID | -| scanChannelName | string | 扫码渠道名称 | -| telChannelId | int | 手机号注册渠道ID | -| telChannelName | string | 手机号注册渠道名称 | -| submitChannelId | int | 提交信息渠道ID | -| submitChannelName | string | 提交信息渠道名称 | - ---- - -### 2.10 获取基础数据列表 `GET ?r=patient/base-data` - -**说明**: 返回性别、年龄段、确诊状态、手术状态等枚举数据,供后台管理端渲染下拉选项。 - -**请求参数**: 无 - -**响应示例**: - -```json -{ - "code": 0, - "message": "success", - "data": { - "genderList": [{ "1": "男" }, { "2": "女" }], - "ageRangeList": [{ "1": "18~28岁" }, { "2": "29~40岁" }, { "3": "41~50岁" }, { "4": "50岁以上" }], - "diagnosisStatusList": [ - { "1": "疑似PSVT正在了解中" }, - { "2": "已确诊PSVT" }, - { "3": "心悸/心跳过快 尚未就诊" }, - { "4": "亲友相关 想了解更多" } - ], - "surgeryStatusList": [{ "1": "已接收射频消融/相关手术" }, { "2": "尚未接收手术" }, { "3": "正在评估" }] - } -} -``` - -**响应字段说明**: - -| 字段名 | 类型 | 说明 | -| ------------------- | ----- | ------------------------------------- | -| genderList | array | 性别列表,每项为 {value: "label"} | -| ageRangeList | array | 年龄段列表,每项为 {value: "label"} | -| diagnosisStatusList | array | 确诊状态列表,每项为 {value: "label"} | -| surgeryStatusList | array | 手术状态列表,每项为 {value: "label"} | - ---- - diff --git a/dist.ps1 b/dist.ps1 index 56abc95..7af49a3 100644 --- a/dist.ps1 +++ b/dist.ps1 @@ -7,4 +7,4 @@ svn add . --no-ignore --force # Commit the changes with a message svn ci -m "版本更新" -ssh hb127 "cd /data1/wwwroot/default/wutian_xueyoubing_b/shop/frontend/web/ && svn up && exit" +ssh hb127 "cd /data1/wwwroot/default/psvt/shop/frontend/web/ && svn up && exit" diff --git a/project.config.json b/project.config.json index c0c8295..821f750 100644 --- a/project.config.json +++ b/project.config.json @@ -66,7 +66,7 @@ ], "include": [] }, - "appid": "wx903aa29742dad363", + "appid": "wxd9e68fd8ad8cc3f6", "scripts": { "beforeCompile": "pnpm run beforeCompile", "beforePreview": "pnpm run beforeCompile", diff --git a/project.private.config.json b/project.private.config.json index 5354cfd..f6fd786 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -23,13 +23,20 @@ "miniprogram": { "list": [ { - "name": "隐私协议", - "pathName": "doc/pages/doc/index", + "name": "修改手机号", + "pathName": "pages/changeTel/index", "query": "", "scene": null, "launchMode": "default" }, { + "name": "隐私协议", + "pathName": "doc/pages/doc/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { "name": "个人信息", "pathName": "pages/userInfo/index", "query": "", diff --git a/src/app.json b/src/app.json index de9eb45..6e9c517 100644 --- a/src/app.json +++ b/src/app.json @@ -21,6 +21,7 @@ "pages/videoList/index", "pages/videoDetail/index", "pages/articleDetail/index", + "pages/articleVideoDetail/index", "pages/myWall/index", "pages/myComment/index", "pages/myCollection/index", diff --git a/src/app.ts b/src/app.ts index 75d3709..cb440ce 100644 --- a/src/app.ts +++ b/src/app.ts @@ -25,15 +25,15 @@ App({ globalData: { // dev // appid:wx903aa29742dad363 - url: 'https://m.psvt.hbraas.com', - upFileUrl: 'https://m.psvt.hbraas.com/', - imageUrl: 'https://m.psvt.hbraas.com/psvt/', + // url: 'https://m.psvt.hbraas.com', + // upFileUrl: 'https://m.psvt.hbraas.com/', + // imageUrl: 'https://m.psvt.hbraas.com/psvt/', // pro - // appid:wxfc95e2961d481f58 - // url: 'https://m.hbgene.hbsaas.com', - // upFileUrl: 'https://m.hbgene.hbsaas.com/', - // imageUrl: 'https://m.hbgene.hbsaas.com/GeneB/', + // appid:wxd9e68fd8ad8cc3f6 + url: 'https://m.psvt.hbsaas.com', + upFileUrl: 'https://m.psvt.hbsaas.com/', + imageUrl: 'https://m.psvt.hbsaas.com/psvt/', Timestamp: new Date().getTime(), @@ -111,21 +111,42 @@ App({ } if (!isLogin) { - wx.reLaunch({ - url: '/pages/login/index', - }) + this.redirectToLogin('/pages/login/index') return false } if (!isReg) { - wx.reLaunch({ - url: '/pages/confirmInfo/index', - }) + this.redirectToLogin('/pages/confirmInfo/index') return false } return true }, + redirectToLogin(path) { + // 获取当前页面路径 + const pages = getCurrentPages() + const currentPage = pages[pages.length - 1] + const currentUrl = currentPage ? currentPage.route : '' + + // 记录来源页面,登录后返回 + if (currentUrl && currentUrl !== 'pages/login/index') { + const options = currentPage?.options || {} + const query = Object.keys(options) + .map((key) => `${key}=${options[key]}`) + .join('&') + this.globalData.loginRedirectUrl = query ? `${currentUrl}?${query}` : currentUrl + } + if (currentUrl.includes('login/index')) return + wx.reLaunch({ + url: path, + }) + // wx.showModal({ + // title: '提示', + // content: '授权登录后,可体验更好的服务', + // success: () => { + // }, + // }) + }, mpBehavior(data: { PageName: string }) { const url = '?r=wtx/mp-behavior/add' wx.ajax({ diff --git a/src/custom-tab-bar/index.ts b/src/custom-tab-bar/index.ts index 80564b1..66913a4 100644 --- a/src/custom-tab-bar/index.ts +++ b/src/custom-tab-bar/index.ts @@ -16,22 +16,22 @@ Component({ icon: 'tabbar1-1', iconActive: 'tabbar1-1-active', }, + // { + // pagePath: '/pages/wall/index', + // text: '交流墙', + // icon: 'tabbar1-2', + // iconActive: 'tabbar1-2-active', + // }, { - pagePath: '/pages/wall/index', - text: '交流墙', - icon: 'tabbar1-2', - iconActive: 'tabbar1-2-active', - }, - { - pagePath: '/pages/knowledge/index', + pagePath: '', custom: true, }, - { - pagePath: '/pages/health/index', - text: '健康管理', - icon: 'tabbar1-2', - iconActive: 'tabbar1-2-active', - }, + // { + // pagePath: '/pages/health/index', + // text: '健康管理', + // icon: 'tabbar1-2', + // iconActive: 'tabbar1-2-active', + // }, { pagePath: '/pages/my/index', text: '我的', @@ -52,11 +52,16 @@ Component({ }, }, methods: { - onChange() {}, handleNav(e) { const { index } = e.currentTarget.dataset const { list } = this.data const pagePath = list[index].pagePath + if (!pagePath) { + wx.showToast({ + title: '功能开发中,敬请期待', + icon: 'none', + }) + } wx.switchTab({ url: pagePath, }) diff --git a/src/custom-tab-bar/index.wxml b/src/custom-tab-bar/index.wxml index 199643a..0a6be7d 100644 --- a/src/custom-tab-bar/index.wxml +++ b/src/custom-tab-bar/index.wxml @@ -1,12 +1,7 @@ - + - - + + () +const app = getApp() Page({ data: { - content: '1111', + id: '', + detail: {} as any, + content: '', + next: null as any, + }, + onLoad(options: any) { + if (options.id) { + this.setData({ id: options.id }) + app.waitLogin({ type: 'any' }).then(() => { + this.getDetail(options.id) + this.addViewRecord(options.id) + }) + } + }, + getDetail(id: string) { + wx.ajax({ + method: 'GET', + url: '?r=psvt/pic-text/detail', + data: { Id: id }, + }).then((res: any) => { + this.setData({ + detail: res || {}, + content: res.Content || '', + next: res.Next || null, + }) + }) + }, + addViewRecord(id: string) { + wx.ajax({ + method: 'POST', + url: '?r=psvt/pic-text/view', + data: { ContentId: Number(id) }, + }) + }, + handleCompliment() { + if (!app.checkLoginType(1)) return + const { detail, id } = this.data + if (detail.IsCompliment) return + wx.ajax({ + method: 'POST', + url: '?r=psvt/pic-text/compliment', + data: { ContentId: Number(id) }, + }).then(() => { + this.setData({ + 'detail.IsCompliment': 1, + 'detail.ComplimentNum': (detail.ComplimentNum || 0) + 1, + }) + }) + }, + handleCollect() { + if (!app.checkLoginType(1)) return + const { detail, id } = this.data + if (detail.IsCollect) { + wx.ajax({ + method: 'POST', + url: '?r=psvt/pic-text/cancel-collection', + data: { ContentId: Number(id) }, + }).then(() => { + this.setData({ + 'detail.IsCollect': 0, + 'detail.CollectionPeopleNum': Math.max(0, (detail.CollectionPeopleNum * 1 || 0) - 1), + }) + }) + } else { + wx.ajax({ + method: 'POST', + url: '?r=psvt/pic-text/collection', + data: { ContentId: Number(id) }, + }).then(() => { + this.setData({ + 'detail.IsCollect': 1, + 'detail.CollectionPeopleNum': (detail.CollectionPeopleNum * 1 || 0) + 1, + }) + }) + } + }, + handleShare() { + const { detail, id } = this.data + wx.ajax({ + method: 'POST', + url: '?r=psvt/pic-text/share', + data: { ContentId: Number(id) }, + }).then(() => { + this.setData({ + 'detail.IsShare': 1, + 'detail.ShareNum': (detail.ShareNum * 1 || 0) + 1, + }) + }) + }, + handleNext() { + const { next } = this.data + if (!next) return + wx.redirectTo({ + url: `/pages/articleDetail/index?id=${next.Id}`, + }) + }, + handleRecommendTap(e: any) { + const { id } = e.currentTarget.dataset + wx.navigateTo({ + url: `/pages/articleDetail/index?id=${id}`, + }) + }, + onShareAppMessage() { + const { detail } = this.data + this.handleShare() + return { + title: detail.Title || '图文详情', + path: `/pages/articleDetail/index?id=${this.data.id}`, + } }, - onLoad() {}, }) export {} diff --git a/src/pages/articleDetail/index.wxml b/src/pages/articleDetail/index.wxml index 75167b5..2659652 100644 --- a/src/pages/articleDetail/index.wxml +++ b/src/pages/articleDetail/index.wxml @@ -1,45 +1,45 @@ - 疾病知识 + {{item}} - 什么是 PSVT?3 分钟了解阵发性室上性心动过速 + {{detail.Title}} - 2026-06-01 18:10 + {{detail.PublishAt}} | - 1209人阅读 + {{detail.OpenNum}}人阅读 -